:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,sans-serif;color:#0f172a;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0F172A;--blue: #2563EB;--blue-hover: #1D4ED8;--blue-light: #DBEAFE;--blue-soft: rgba(37, 99, 235, .08);--blue-ring: rgba(37, 99, 235, .35);--line: #E2E8F0;--soft-line: #F1F5F9;--muted: #64748B;--muted-fg: #94A3B8;--label-color: #475569;--glass: rgba(248, 250, 252, .9);--glass-strong: rgba(255, 255, 255, .96);--glass-shadow: 0 8px 24px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--glass-shadow-lg: 0 16px 48px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .03);--success: #059669;--success-bg: #ECFDF5;--danger: #DC2626;--danger-bg: #FEF2F2;--warning: #D97706;--warning-bg: #FFFBEB;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}body{margin:0;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select{font:inherit}button{min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--glass-strong);color:var(--navy);cursor:pointer;font-weight:500;font-size:14px;transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}button:active{transform:translateY(0) scale(.98)}button.primary{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:600;box-shadow:0 2px 8px #2563eb40}button.primary:hover{background:var(--blue-hover);box-shadow:0 6px 20px #2563eb59;transform:translateY(-2px)}button.secondary{border-color:var(--blue);background:var(--blue-light);color:var(--blue);font-weight:600}button.secondary:hover{background:var(--blue);color:#fff}button.danger{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}button.danger:hover{background:var(--danger);color:#fff}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--blue-soft);border-color:var(--line)}.download-link{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--blue);border-radius:var(--radius-sm);background:var(--blue-light);color:var(--blue);text-decoration:none;white-space:nowrap;font-weight:500;font-size:13px;transition:all var(--duration-normal) var(--ease-out)}.download-link:hover{background:var(--blue);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}input,select{min-height:38px;width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:0 12px;background:#fff;color:var(--navy);font-size:14px;transition:all var(--duration-normal) var(--ease-out)}input:hover,select:hover{border-color:#cbd5e1}input:focus,select:focus,.table-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-ring)}input::placeholder,select::placeholder{color:var(--muted-fg)}.app-shell{min-height:100vh;background:#fff;animation:appShellIn var(--duration-slow) var(--ease-out)}.login-page{grid-column:1 / -1;min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eff6ff,#fff 40%,#f8fafc);position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:absolute;border-radius:50%;opacity:.15;animation:floatShape 12s ease-in-out infinite}.login-page:before{width:400px;height:400px;background:var(--blue);top:-100px;right:-80px;animation-delay:0s}.login-page:after{width:250px;height:250px;background:#93c5fd;bottom:-60px;left:-40px;animation-delay:-4s}.login-panel{width:min(940px,100%);display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:center;padding:48px;background:var(--glass-strong);border:1px solid var(--soft-line);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:loginSlideUp var(--duration-slow) var(--ease-out);position:relative;z-index:1}.login-wordmark{width:140px;height:140px;object-fit:contain;margin-bottom:24px;animation:logoFadeIn .6s var(--ease-out) .2s both}.login-panel h1,.topbar h1{margin:4px 0 8px;font-size:clamp(26px,3.5vw,40px);letter-spacing:-.02em;font-weight:800;color:var(--navy);animation:logoFadeIn .6s var(--ease-out) .3s both}.login-form{display:grid;gap:18px;animation:logoFadeIn .6s var(--ease-out) .4s both}.login-form label{display:grid;gap:8px;font-size:14px;font-weight:500;color:var(--label-color)}.login-error{margin:-6px 0 0;padding:8px 12px;border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-bg);font-size:13px;text-align:center}.login-unlock-tip{margin:0;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}.user-list-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px}.user-list-pagination button{min-width:80px}.user-list-pagination span{color:var(--muted);font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:250px;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px;background:var(--navy);color:#f8fafc;overflow-y:auto;transition:width var(--duration-normal) var(--ease-out),padding var(--duration-normal) var(--ease-out)}.sidebar.collapsed{width:88px;padding:20px 14px}.sidebar.collapsed .brand-mark{grid-template-columns:48px;justify-content:center}.sidebar.collapsed nav button{grid-template-columns:1fr;justify-items:center;padding:0}.sidebar.collapsed .nav-children{padding-left:0}.sidebar.collapsed .sidebar-toggle,.sidebar.collapsed>.ghost{padding:0;text-align:center}.brand{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.brand-mark img{width:48px;height:48px;border-radius:50%;background:#fff}.brand-mark div{display:grid;gap:4px}.sidebar:has(.sidebar-toggle){scrollbar-width:thin}.sidebar-toggle{min-height:34px;border-color:#ffffff26;background:#ffffff0f;color:#fff;text-align:center}.brand strong{font-size:22px;font-weight:800}.brand span,.muted{color:var(--muted)}.brand span{color:#94a3b8;font-size:13px}.sidebar nav{display:grid;gap:4px}.sidebar button{width:100%;border-color:transparent;color:#cbd5e1;text-align:left;background:transparent;padding:0 12px;border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-out)}.sidebar button:hover{background:#ffffff14;color:#fff;transform:translate(2px)}.sidebar button.active{background:var(--blue);color:#fff;box-shadow:0 2px 8px #2563eb4d}.nav-item{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center}.nav-group{display:grid;gap:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.nav-group-toggle{font-weight:700}.nav-caret{margin-left:auto;color:#94a3b8;font-size:12px}.nav-children{display:grid;gap:2px;padding-left:14px}.nav-child{padding-left:20px}.nav-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#2563eb26;font-size:12px;font-weight:700}.nav-group-toggle.active,.nav-child.active{background:#2563eb33}.sidebar>.ghost{margin-top:auto;text-align:center;border-color:#ffffff26}.workspace{min-width:0;max-width:1440px;margin:0 auto;padding:28px;background:#fff}.page-viewport{min-width:0}.mobile-topbar,.mobile-bottom-nav{display:none}.topbar,.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.topbar{padding:16px 20px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--glass-strong);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideDown var(--duration-slow) var(--ease-out)}.topbar-title{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center}.topbar-title img{width:72px;height:72px;object-fit:contain}.topbar-title span{color:var(--muted);font-size:14px}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.top-nav{position:sticky;top:0;z-index:20;display:flex;gap:6px;align-items:center;margin-bottom:20px;padding:8px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--glass-strong);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-x:auto;animation:slideDown var(--duration-slow) var(--ease-out) 50ms both}.top-nav button{flex:0 0 auto;display:inline-grid;grid-template-columns:26px auto;gap:8px;align-items:center;width:auto;min-width:max-content;padding:8px 14px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:500;font-size:14px}.top-nav button.active,.top-nav button:hover{border-color:var(--blue-light);background:var(--blue-soft);color:var(--blue)}.top-nav button.active{font-weight:700;box-shadow:0 2px 8px #2563eb1a}.top-nav .nav-icon,.portal-card .nav-icon{background:var(--blue-light);color:var(--blue)}.eyebrow{margin:0;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.band{display:grid;gap:20px}.home-head{display:flex;justify-content:space-between;gap:16px;align-items:end;animation:fadeInUp var(--duration-slow) var(--ease-out)}.home-head h2{margin:4px 0 0;color:var(--navy);font-size:28px;font-weight:800;letter-spacing:-.02em}.home-head>span{max-width:520px;color:var(--muted);line-height:1.7;text-align:right}.portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-card{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto 1fr;gap:12px 16px;align-items:start;min-height:128px;padding:22px 20px;text-align:left;background:#fff;border:1px solid var(--soft-line);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);animation:fadeInUp var(--duration-slow) var(--ease-out) both}.portal-card:nth-child(1){animation-delay:50ms}.portal-card:nth-child(2){animation-delay:.1s}.portal-card:nth-child(3){animation-delay:.15s}.portal-card:nth-child(4){animation-delay:.2s}.portal-card:nth-child(5){animation-delay:.25s}.portal-card:nth-child(6){animation-delay:.3s}.portal-card:nth-child(7){animation-delay:.35s}.portal-card:nth-child(8){animation-delay:.4s}.portal-card:nth-child(9){animation-delay:.45s}.portal-card:nth-child(10){animation-delay:.5s}.portal-card:nth-child(11){animation-delay:.55s}.portal-card:nth-child(12){animation-delay:.6s}.portal-card:nth-child(13){animation-delay:.65s}.portal-card:nth-child(14){animation-delay:.7s}.portal-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 12px 32px #2563eb1f}.portal-card .nav-icon{grid-row:1;align-self:center;width:40px;height:40px;border:none;background:var(--blue-light);box-shadow:none;color:var(--blue);font-size:15px;font-weight:800;transition:all var(--duration-normal) var(--ease-out)}.portal-card:hover .nav-icon{background:var(--blue);color:#fff;transform:scale(1.05)}.portal-card strong{align-self:center;color:var(--navy);font-size:22px;line-height:1.2;font-weight:800}.portal-card>span:last-child{grid-column:2;color:var(--muted);line-height:1.6;font-size:13px}.workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.workflow article{display:flex;gap:8px;align-items:center;min-width:0;padding:14px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);background:#fff;overflow-x:auto;transition:all var(--duration-normal) var(--ease-out)}.workflow article:hover{border-color:var(--blue-light);box-shadow:0 4px 12px #2563eb14}.workflow strong{flex:0 0 auto;color:var(--navy)}.workflow span{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-size:13px;font-weight:500;white-space:nowrap}.compact-flow{grid-template-columns:1fr}.compact-flow article{justify-content:flex-start}.metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:16px}.metrics article,.panel{border:1px solid var(--soft-line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--glass-shadow)}.metrics article{display:grid;gap:8px;padding:20px;transition:all var(--duration-normal) var(--ease-out)}.metrics article:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.metrics span{color:var(--muted);font-size:13px;font-weight:500}.metrics strong{color:var(--navy);font-size:32px;font-weight:800;letter-spacing:-.02em}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel{padding:22px;transition:box-shadow var(--duration-normal) var(--ease-out)}.panel:hover{box-shadow:var(--glass-shadow-lg)}.report-stack{display:grid;gap:16px}.report-card{display:grid;gap:14px}.learning-section{display:grid;gap:16px}.learning-subhead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:4px}.learning-subhead h2{margin:4px 0 0;color:var(--navy);font-size:20px}.learning-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-actions .inline-form{align-items:stretch;margin:0}.document-upload-progress{display:flex;align-items:center;gap:8px;margin:12px 0 0;color:var(--muted);font-size:14px}.document-upload-progress:before{width:14px;height:14px;border:2px solid var(--soft-line);border-top-color:var(--primary);border-radius:50%;content:"";animation:documentUploadSpin .8s linear infinite}.file-picker-button{flex:0 0 auto;min-height:38px;color:var(--navy);background:#fff}.selected-file-name{display:block;min-width:0;overflow:hidden;color:var(--muted);font-size:13px;line-height:38px;text-overflow:ellipsis;white-space:nowrap}.inline-form .selected-file-name{flex:1 1 120px}@keyframes documentUploadSpin{to{transform:rotate(360deg)}}.inline-report{padding:16px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:#fafbfc}.empty-state,.placeholder-box{display:grid;gap:8px;padding:20px;border:1.5px dashed var(--line);border-radius:var(--radius-md);background:var(--blue-soft)}.empty-state h2{margin:0}.placeholder-box strong{color:var(--navy)}.placeholder-box span{color:var(--muted);line-height:1.6}.bonus-placeholder{border-left:4px solid var(--blue)}.panel h2,.section-head h2{margin:0 0 16px;font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.01em}.section-head h2,.module-heading h2{margin:4px 0 0}.module-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.module-card-grid article,.module-panel{border-left:4px solid var(--blue)}.module-card-grid article{display:grid;gap:8px;padding:16px;border-top:1px solid var(--soft-line);border-right:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);border-radius:var(--radius-sm);background:#fafbfc;transition:all var(--duration-normal) var(--ease-out)}.module-card-grid article:hover{background:var(--blue-soft);transform:translateY(-1px)}.module-card-grid strong{color:var(--navy)}.module-card-grid p{margin:0;color:var(--muted);line-height:1.55}.module-card-grid article p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.module-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.module-heading>span{color:var(--muted);font-size:13px;line-height:1.7;text-align:right}.identity-grid{display:grid;grid-template-columns:72px 1fr;gap:10px 12px}.identity-grid span{color:var(--muted);font-size:14px}.identity-grid strong{color:var(--navy)}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.report-metrics article{grid-column:span 2}.report-metrics article:nth-child(4),.report-metrics article:nth-child(5){grid-column:span 3}.compact-metrics article{padding:14px}.compact-metrics strong{font-size:24px}.inline-form,.grid-form{display:grid;gap:12px}.inline-form{grid-template-columns:repeat(3,minmax(120px,1fr));align-items:center}.compact-form{grid-template-columns:minmax(180px,1fr) auto}.grid-form{grid-template-columns:repeat(5,minmax(120px,1fr));padding:16px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:#fafbfc}.department-form{grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto}.activity-create-form,.more-actions{border:1px solid var(--soft-line);border-radius:var(--radius-sm);background:#fff}.activity-create-form summary,.more-actions summary{min-height:40px;padding:0 12px;color:var(--blue);cursor:pointer;font-size:14px;font-weight:700;line-height:40px}.activity-create-form[open]>form{margin:0 12px 12px}.more-actions[open]{display:grid;gap:6px;padding-bottom:8px}.more-actions[open]>button{margin-inline:8px}.user-form{grid-template-columns:repeat(6,minmax(110px,1fr));margin-bottom:12px}.profile-completion-page{padding:32px 24px}.profile-completion-panel{width:min(1040px,100%);grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:36px;padding:38px;align-items:stretch}.profile-intro{display:flex;flex-direction:column;justify-content:center;min-width:0}.profile-intro .login-wordmark{width:118px;height:118px;margin-bottom:18px}.profile-intro h1{max-width:8ch;font-size:36px;line-height:1.25}.profile-intro .muted{max-width:26ch;line-height:1.7}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-width:0;margin:0;padding:22px}.profile-form input,.profile-form select{width:100%;min-width:0}.profile-form button{grid-column:1 / -1;justify-self:end;min-width:172px}.create-user-form{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto;padding:0 2px;border:0;border-radius:0;background:transparent}.create-user-form .form-section{display:grid;gap:12px}.create-user-modal{width:min(560px,calc(100% - 32px))}.create-user-modal .modal-panel{max-height:calc(100vh - 48px);overflow-y:auto;padding:22px;scrollbar-gutter:stable;scrollbar-width:thin}.rule-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;padding:18px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:#fafbfc}.rule-form label{display:grid;gap:8px;color:var(--label-color);font-size:14px}.rule-form label:nth-child(1),.rule-form label:nth-child(2),.rule-form label:nth-child(7),.rule-form label:nth-child(8){grid-column:1 / -1}.table-wrap{overflow-x:auto;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:#fff;animation:fadeInUp var(--duration-slow) var(--ease-out) .1s both}.table-textarea{width:min(520px,100%);min-height:72px;resize:vertical;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px;color:var(--navy);font:inherit;transition:all var(--duration-normal) var(--ease-out)}.department-table{min-width:1180px;table-layout:fixed}.department-name-column{width:150px}.department-leader-column{width:130px}.department-plan-column{width:360px}.department-status-column{width:80px}.department-detail-column{width:110px}.department-actions-column{width:350px}.department-table th,.department-table td{vertical-align:middle}.department-table .table-textarea{display:block;width:100%;min-height:64px}.department-table .department-actions-cell{vertical-align:middle}.department-table .department-actions-cell .actions{flex-wrap:nowrap;align-items:center}.department-table .department-actions-cell .actions button{flex:0 0 auto;white-space:nowrap}.department-table .department-actions-cell .more-actions{flex:0 0 auto}.score-input{width:76px}.profile-photo{width:100%;height:100%;object-fit:cover}.personal-top-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.46fr);align-items:stretch}.profile-overview{display:grid;grid-template-columns:154px minmax(0,1fr);gap:24px;padding:24px}.profile-photo-column{display:grid;align-content:start;gap:10px}.profile-photo-frame{width:154px;aspect-ratio:3 / 4;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:#e8f0fb;box-shadow:0 8px 18px #0f2a4e1c}.profile-photo-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#1d4f91;background:#dbeafe;font-size:48px;font-weight:750}.profile-photo-action{width:100%}.profile-photo-note{color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.profile-details{min-width:0}.profile-identity{display:flex;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--soft-line)}.profile-identity h2{margin:7px 0 4px;color:var(--navy);font-size:24px}.profile-identity p{margin:0;color:var(--muted);font-size:14px}.profile-statuses{display:flex;flex-wrap:wrap;align-content:start;justify-content:end;gap:8px}.profile-role,.profile-state{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;white-space:nowrap}.profile-role{color:#1d4f91;background:#e8f1ff}.profile-state{color:#14705f;background:#e5f6ef}.profile-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px}.profile-field-grid>div{display:grid;gap:5px;min-width:0;padding:12px 14px;border-right:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line)}.profile-field-grid>div:nth-child(3n){border-right:0}.profile-field-grid span{color:var(--muted);font-size:12px}.profile-field-grid strong{overflow-wrap:anywhere;color:var(--navy);font-size:14px;line-height:1.4}.profile-field-grid .profile-field-wide{grid-column:span 2}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.schedule-week-label{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--blue-light);color:var(--navy);font-weight:700;white-space:nowrap}.schedule-query-controls{display:grid;grid-template-columns:auto 112px 180px;gap:10px;align-items:center}.schedule-query-controls input{width:100%;min-width:0}.weekly-schedule-panel .module-heading{flex-direction:row;align-items:center}@media(max-width:680px){.weekly-schedule-panel .module-heading{flex-direction:column;align-items:stretch}.schedule-query-controls{grid-template-columns:auto 1fr}.schedule-query-controls input[type=date]{grid-column:1 / -1}}.weekly-schedule-table{min-width:980px;table-layout:fixed}.schedule-section-column{width:92px}.schedule-day-column{width:calc((100% - 92px) / 7)}.weekly-schedule-table th,.weekly-schedule-table td{vertical-align:top;overflow-wrap:anywhere}.weekly-schedule-table td strong{display:inline-block;color:var(--navy);font-size:18px;font-weight:800;line-height:1.35}.course-location{display:inline-block;margin-top:4px;color:var(--navy);font-size:16px;font-weight:700;line-height:1.35}.schedule-summary-cell{display:grid;width:100%;min-height:68px;gap:6px;padding:10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--navy);text-align:left;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.schedule-summary-cell:hover{border-color:var(--blue-light);background:var(--blue-soft)}.schedule-summary-cell strong{color:var(--blue);font-size:17px}.mobile-schedule-board{display:none}@media(min-width:1025px){.activity-actions-more{display:contents}.activity-actions-more summary{display:none}.activity-actions-more:not([open])>.activity-actions-more-list{display:contents}}.schedule-summary-cell span{color:var(--muted);font-size:13px}.segmented{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);background:#fafbfc}.segmented button{border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:500}.segmented button.active{background:var(--blue);color:#fff;font-weight:700;box-shadow:0 2px 8px #2563eb33}.embedded-table{border-radius:var(--radius-sm)}.panel .table-wrap{margin-top:12px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 16px;border-bottom:1px solid var(--soft-line);text-align:left;vertical-align:top;font-size:14px}.user-management-table th,.user-management-table td{vertical-align:middle}th{color:var(--label-color);background:#f8fafc;font-weight:700;font-size:13px;letter-spacing:.01em;position:sticky;top:0;z-index:1}tbody tr{transition:background var(--duration-fast) var(--ease-out)}tbody tr:hover{background:var(--blue-soft)}.list,.review-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.list li,.review-list li{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--soft-line);transition:all var(--duration-normal) var(--ease-out)}.list li:hover,.review-list li:hover{padding-left:8px}.list span,.review-list span{color:var(--muted)}.review-list li{grid-template-columns:1fr auto;align-items:center}.review-list form{display:grid;grid-template-columns:92px 70px;gap:8px}.review-list input[type=number]{min-width:80px;padding:8px 12px;font-size:16px}.file-input-label{display:inline-flex;min-height:38px;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--glass-strong);cursor:pointer;font-size:14px}.file-input-label input[type=file]{display:none}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(min-width:1025px){.user-actions-more{display:contents}.user-actions-more summary{display:none}.user-actions-more:not([open])>.user-actions-more-list{display:contents}}.tag{display:inline-flex;margin:2px 4px 2px 0;padding:3px 10px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-size:12px;font-weight:600}.leader-tags{display:flex;flex-wrap:wrap;gap:6px}.code-pill{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:12px;font-weight:600;white-space:nowrap}.status-pass,.status-fail{display:inline-flex;align-items:center;min-height:26px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}.status-pass{background:var(--success-bg);color:var(--success)}.status-fail{background:var(--danger-bg);color:var(--danger)}.toast-dialog{position:fixed;top:18px;left:50%;z-index:80;margin:0;padding:12px 20px;transform:translate(-50%);border:0;border-radius:var(--radius-sm);background:var(--navy);color:#fff;box-shadow:0 12px 32px #0f172a33;animation:toastIn var(--duration-normal) var(--ease-spring)}.toast-dialog>span{display:inline-grid;width:18px;height:18px;margin-right:8px;place-items:center;border-radius:50%;background:#ffffff3d;font-weight:800}.toast-dialog.toast-error{background:var(--danger)}.action-progress{position:fixed;right:18px;bottom:18px;z-index:90;padding:10px 14px;border-radius:6px;background:var(--navy);color:#fff;box-shadow:0 10px 24px #0f172a33}.home-more-modules{margin-top:14px}.home-more-modules summary{color:var(--blue);font-weight:700;cursor:pointer}.home-more-modules .portal-grid{margin-top:12px}.nav-item,.mobile-bottom-nav button{position:relative}.nav-notice-badge,.mobile-notice-badge{position:absolute;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 3px #fff,0 0 18px #dc2626e6;animation:notificationPulse 1s infinite}.nav-notice-badge{top:3px;right:2px}.mobile-notice-badge{top:2px;right:16%}.notification-alert{width:min(520px,calc(100vw - 32px));padding:0;border:3px solid #dc2626;border-radius:8px;background:#fff;box-shadow:0 24px 80px #7f1d1d73}.notification-alert::backdrop{background:#0f172ab3}.notification-alert-panel{padding:32px;text-align:center}.notification-alert-mark{display:inline-grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-size:34px;font-weight:900;box-shadow:0 0 0 8px #fee2e2}.notification-alert-panel h2{margin:18px 0 12px;color:#991b1b}.notification-alert-panel strong{display:block;font-size:18px}.notification-alert-panel p:not(.eyebrow){margin:10px 0 24px;color:#334155;white-space:pre-wrap}@keyframes notificationPulse{50%{transform:scale(1.14);box-shadow:0 0 0 4px #fff,0 0 24px #dc2626}}.modal-dialog{width:min(420px,calc(100% - 48px));padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:inherit;animation:modalFadeIn var(--duration-normal) var(--ease-out)}.wide-modal{width:min(900px,calc(100% - 48px))}.wide-modal .modal-panel{width:100%}.modal-dialog::backdrop{background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:backdropFadeIn var(--duration-normal) var(--ease-out)}.modal-panel{width:min(420px,100%);display:grid;gap:16px;padding:24px;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--glass-strong);box-shadow:var(--glass-shadow-lg)}.modal-panel h2{margin:0;color:var(--navy);font-weight:800}.modal-panel p{margin:0}.modal-input{min-height:40px;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.portal-card,.workflow article,.module-card-grid article,.rule-form,.grid-form,.table-wrap,.inline-report,.empty-state,.placeholder-box{border-color:var(--soft-line)}input,select,.table-textarea{border-color:var(--line);box-shadow:none}.bar-row{display:grid;grid-template-columns:70px 1fr 36px;gap:10px;align-items:center;margin:12px 0}.bar-row div{height:12px;border-radius:999px;background:var(--blue-light);overflow:hidden}.bar-row i{display:block;height:100%;background:var(--blue);border-radius:999px;animation:barGrow var(--duration-slow) var(--ease-out)}.compact{margin:0;font-size:13px}@keyframes appShellIn{0%{opacity:0}to{opacity:1}}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floatShape{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,15px) scale(.95)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{width:0}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;width:100%;height:auto;min-height:auto}.sidebar nav{grid-template-columns:1fr}.workspace{margin-left:0;padding:16px}.login-panel,.two-col,.metrics,.portal-grid,.module-card-grid,.learning-actions,.workflow,.grid-form,.user-form{grid-template-columns:1fr}.report-metrics article,.report-metrics article:nth-child(4),.report-metrics article:nth-child(5){grid-column:auto}.topbar,.section-head,.home-head{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:flex-start}.home-head>span{max-width:none;text-align:left}.topbar-title{grid-template-columns:58px 1fr}.topbar-title img{width:58px;height:58px}.inline-form,.compact-form,.rule-form{grid-template-columns:1fr}.module-heading{flex-direction:column}.module-heading>span{text-align:left}.profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field-grid>div:nth-child(3n){border-right:1px solid var(--soft-line)}.profile-field-grid>div:nth-child(2n){border-right:0}}.member-user-card-list,.mobile-schedule-list,.notice-list{display:none}.notice-publish-modal{width:min(560px,calc(100% - 48px))}.notice-publish-form textarea{width:100%;min-height:144px;resize:vertical}.create-user-field{display:grid;gap:6px;color:var(--label-color, var(--ink));font-size:13px;font-weight:700}.required-mark{color:var(--danger);font-style:normal}.resource-download-list,.mobile-regex-rule{display:none}@media(max-width:1024px){input[type=datetime-local],input[type=date]{min-height:44px}.action-progress{right:12px;bottom:calc(86px + env(safe-area-inset-bottom))}html,body,#app{width:100%;min-width:0;overflow-x:hidden}.workspace.mobile-workspace{max-width:none;min-height:100vh;padding:0 14px 88px;background:#f8fafc}.mobile-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:48px minmax(0,1fr) 44px 44px;align-items:center;gap:8px;min-height:62px;margin:0 -14px 14px;padding:8px 14px;border-bottom:1px solid var(--soft-line);background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-title{display:grid;min-width:0;gap:2px;text-align:center}.mobile-title span{overflow:hidden;color:var(--navy);font-size:16px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-title small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.mobile-icon-button{min-height:44px;padding:4px;border:0;border-radius:6px;color:var(--blue);background:transparent;font-size:12px;font-weight:700}.mobile-icon-button:disabled{color:var(--muted);cursor:default;opacity:.55}.mobile-workspace .page-viewport{display:grid;gap:14px;min-width:0}.mobile-workspace .page-viewport *,.mobile-workspace .section-head>*,.mobile-workspace .module-heading>*{min-width:0}.mobile-workspace .band{gap:14px}.mobile-workspace .panel,.mobile-workspace .portal-card,.mobile-workspace .metric-card{border-radius:8px}.mobile-workspace .section-head,.mobile-workspace .module-heading,.mobile-workspace .actions,.mobile-workspace .modal-actions{align-items:stretch}.mobile-workspace .actions{display:grid;grid-template-columns:1fr;width:100%}.mobile-workspace .user-admin-actions{grid-template-columns:minmax(0,1fr);gap:8px}.mobile-workspace .user-actions-more{grid-column:1 / -1;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.mobile-workspace .user-actions-more summary{display:grid;min-height:44px;padding:0 12px;align-items:center;color:var(--blue);cursor:pointer;font-size:13px;font-weight:700}.mobile-workspace .user-actions-more-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0 8px 8px}.mobile-workspace .actions button,.mobile-workspace .inline-form button,.mobile-workspace .modal-actions button,.mobile-workspace button{min-height:42px;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}.mobile-workspace input,.mobile-workspace select,.mobile-workspace textarea,.mobile-workspace .inline-form,.mobile-workspace .grid-form{width:100%;min-width:0;max-width:100%}.mobile-workspace .inline-form,.mobile-workspace .grid-form,.mobile-workspace .compact-form,.mobile-workspace .rule-form{grid-template-columns:minmax(0,1fr)}.mobile-workspace .metrics>*,.mobile-workspace .report-metrics>*{min-width:0}.mobile-workspace .table-wrap{margin-inline:-2px;max-width:calc(100vw - 24px);border-radius:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-workspace .panel:has(.mobile-schedule-list)>.table-wrap{display:none}.mobile-workspace .schedule-desktop-table{display:none}.mobile-schedule-list{display:grid;gap:12px}.mobile-schedule-summary-card{overflow:hidden;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.mobile-schedule-summary-card h3{margin:0;padding:10px 12px;border-bottom:1px solid var(--soft-line);color:var(--navy);font-size:15px}.mobile-schedule-summary-card button{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);width:100%;min-height:52px;padding:9px 12px;border:0;border-bottom:1px solid #eef2f7;background:#fff;color:var(--ink);text-align:left}.mobile-schedule-summary-card button:last-child{border-bottom:0}.mobile-schedule-summary-card button>span:last-child{display:grid;gap:3px}.mobile-schedule-summary-card strong{color:var(--blue);font-size:14px}.mobile-schedule-summary-card small{color:var(--muted);font-size:12px}.mobile-schedule-board{display:grid;grid-template-columns:48px repeat(7,82px);width:max-content;min-width:622px;overflow:hidden;border:1px solid #cbd5e1;border-radius:8px;background:#eef4ff;box-shadow:inset 0 1px #fffc}.mobile-workspace .panel:has(.mobile-schedule-board){overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-schedule-corner,.mobile-schedule-day{display:grid;min-height:54px;place-items:center;border-bottom:1px solid #cbd5e1;background:#f8fbff;color:#475569;font-size:12px;font-weight:700}.mobile-schedule-day{gap:2px}.mobile-schedule-day small{color:#94a3b8;font-size:11px;font-weight:600}.mobile-schedule-period{display:grid;align-content:start;gap:5px;min-height:122px;padding:10px 5px;border-right:1px solid #d8e1ef;border-bottom:1px solid #d8e1ef;background:#f8fbff;color:#334155;text-align:center}.mobile-schedule-period strong{font-size:14px}.mobile-schedule-period small{color:#64748b;font-size:10px;line-height:1.4;white-space:pre-line}.mobile-schedule-cell{min-height:122px;padding:4px;border-right:1px solid #d8e1ef;border-bottom:1px solid #d8e1ef;background:#f4f8ff}.mobile-course-block{display:grid;min-height:112px;align-content:start;gap:7px;padding:8px 7px;border:2px solid rgba(255,255,255,.72);border-radius:7px;box-shadow:0 2px 6px #0f172a29;color:#fff;overflow:hidden}.mobile-course-block strong,.mobile-course-block span,.mobile-course-block small{overflow-wrap:anywhere;line-height:1.2}.mobile-course-block strong{font-size:14px;font-weight:800}.mobile-course-block span{font-size:12px}.mobile-course-block small{font-size:11px;opacity:.9}.course-tone-0{background:#2563eb}.course-tone-1{background:#0f766e}.course-tone-2{background:#db2777}.course-tone-3{background:#7c3aed}.course-tone-4{background:#c2410c}.mobile-workspace table{min-width:0}.mobile-workspace .mobile-card-table{display:block;width:100%;min-width:0}.mobile-workspace .member-user-card-list{display:grid;gap:10px}.mobile-workspace .member-user-table{display:none}.mobile-workspace .notice-list{display:grid;gap:10px}.mobile-workspace .notice-table{display:none}.notice-card{padding:12px;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.notice-card header,.notice-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-card h3{margin:0;color:var(--navy);font-size:16px}.notice-card header>span,.notice-card time{color:var(--muted);font-size:12px;white-space:nowrap}.notice-card p{margin:10px 0;color:var(--ink);line-height:1.6;overflow-wrap:anywhere}.notice-card footer .actions{margin-left:auto}.member-user-card{padding:12px;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.member-user-card header{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid #eef2f7}.member-user-card header strong{color:var(--navy);font-size:16px}.member-user-card header span,.member-user-card dt{color:var(--muted);font-size:12px}.member-user-card dl{display:grid;margin:0}.member-user-card dl>div{display:grid;grid-template-columns:minmax(76px,34%) minmax(0,1fr);gap:10px;min-height:34px;align-items:center;border-bottom:1px solid #eef2f7}.member-user-card dt,.member-user-card dd{margin:0;overflow-wrap:anywhere}.member-user-card details summary{padding:11px 0;color:var(--blue);font-size:13px;font-weight:700}.member-user-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.member-user-card-actions button{flex:1 1 120px;min-height:40px}.mobile-workspace .table-wrap:has(.mobile-card-table){overflow-x:hidden}.mobile-workspace .mobile-card-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mobile-workspace .mobile-card-table tbody{display:grid;gap:10px}.mobile-workspace .mobile-card-table tbody tr{display:grid;gap:0;padding:8px 12px;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.mobile-workspace .mobile-card-table tbody tr:has(td[colspan]){display:block;text-align:center}.mobile-workspace .mobile-card-table tbody td{display:grid;grid-template-columns:minmax(76px,34%) minmax(0,1fr);gap:10px;align-items:start;min-height:34px;padding:7px 0;border:0;border-bottom:1px solid #eef2f7;overflow-wrap:anywhere;text-align:left}.mobile-workspace .mobile-card-table tbody td:last-child{border-bottom:0}.mobile-workspace .mobile-card-table tbody td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:700}.mobile-workspace .mobile-card-table tbody tr:has(td[colspan]) td{display:block}.mobile-workspace .mobile-card-table tbody tr:has(td[colspan]) td:before{content:none}.mobile-workspace .mobile-card-table td.actions,.mobile-workspace .mobile-card-table td.department-actions-cell{display:flex;flex-wrap:wrap;gap:6px}.mobile-workspace .mobile-card-table td.actions:before,.mobile-workspace .mobile-card-table td.department-actions-cell:before{flex-basis:100%;margin-bottom:2px}.mobile-workspace .mobile-card-table td.actions>.actions,.mobile-workspace .mobile-card-table td.department-actions-cell>.actions{width:100%}.mobile-workspace .mobile-card-table td.actions>.actions,.mobile-workspace .mobile-card-table td.department-actions-cell>.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-workspace .department-actions-cell .more-actions{grid-column:1 / -1;width:100%}.mobile-workspace .mobile-card-table td.actions>button,.mobile-workspace .mobile-card-table td.actions>.status-pass,.mobile-workspace .mobile-card-table td.actions>.muted,.mobile-workspace .mobile-card-table td.actions>.activity-actions-more{flex:1 1 calc(50% - 3px)}.mobile-workspace .activity-actions-more{position:relative;z-index:1;width:100%;border:1px solid var(--soft-line);border-radius:6px;background:#fff}.mobile-workspace .activity-actions-more summary{display:grid;min-height:36px;padding:0 8px;align-items:center;color:var(--blue);cursor:pointer;font-size:12px;font-weight:700}.mobile-workspace .activity-actions-more-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 6px 6px}.mobile-workspace .mobile-card-table td.actions>button{min-height:36px;padding:5px 7px;font-size:12px}.mobile-workspace .mobile-card-table td .table-textarea{min-height:88px}.mobile-workspace .mobile-card-table .truncate-mobile{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mobile-workspace .mobile-card-table .notice-content-cell,.mobile-workspace .mobile-card-table .resource-title-cell{display:grid;grid-template-columns:1fr;gap:4px;overflow-wrap:anywhere}.mobile-workspace .mobile-card-table .notice-content-cell:before,.mobile-workspace .mobile-card-table .resource-title-cell:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:700}.mobile-workspace .resource-download-list{display:grid;gap:10px}.mobile-workspace .resource-download-table{display:none}.resource-download-card{display:grid;gap:10px;padding:12px;border:1px solid var(--soft-line);border-radius:8px;background:#fff}.resource-download-card>div{display:flex;align-items:start;justify-content:space-between;gap:10px}.resource-download-card h3,.resource-download-card p{margin:0}.resource-download-card h3{min-width:0;overflow:hidden;color:var(--navy);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.resource-download-card>div>span,.resource-download-card p{color:var(--muted);font-size:13px}.resource-download-card>div>span{flex:0 0 auto;padding:3px 7px;border:1px solid var(--soft-line);border-radius:5px}.mobile-workspace .review-list li{grid-template-columns:minmax(0,1fr);align-items:stretch}.mobile-workspace .review-list form{grid-template-columns:minmax(0,1fr) 84px}.mobile-workspace .review-file-title{display:grid;gap:3px;min-width:0}.mobile-workspace .review-file-title span:last-child{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mobile-workspace .regex-rule-input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-workspace .mobile-regex-rule{display:grid;gap:8px;margin-top:8px}.mobile-workspace .mobile-regex-rule summary{color:var(--blue);font-size:13px;font-weight:700}.mobile-workspace .mobile-regex-rule code{display:block;max-height:160px;padding:9px;overflow:auto;border:1px solid var(--soft-line);border-radius:6px;background:#f8fafc;color:var(--ink);font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.mobile-workspace input[type=file]{min-height:44px;padding:4px;font-size:12px}.mobile-workspace input[type=file]::file-selector-button{min-height:34px;margin-right:8px;padding:0 10px;border:0;border-radius:5px;color:#fff;background:var(--blue);font:inherit;font-weight:700}.mobile-workspace .mobile-card-table .download-link{min-height:36px;padding:8px 10px;font-size:13px}.mobile-workspace .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-workspace .home-head+.portal-grid{display:none}.mobile-workspace .portal-card{grid-template-columns:30px minmax(0,1fr);grid-template-rows:1fr;min-height:88px;gap:8px;padding:12px 10px}.mobile-workspace .portal-card .nav-icon{width:30px;height:30px;font-size:14px}.mobile-workspace .portal-card strong{font-size:15px;line-height:1.35}.mobile-workspace .portal-card>span:last-child{display:none}.mobile-workspace .metrics,.mobile-workspace .module-card-grid{grid-template-columns:1fr}.mobile-workspace .modal-dialog{max-width:100vw;padding:12px}.mobile-workspace dialog .modal-panel{width:min(100%,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow:auto}.mobile-workspace .create-user-modal,.mobile-workspace .long-form-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border-radius:0}.mobile-workspace .long-form-modal .modal-panel{width:100%;height:100%;max-height:none;padding:16px 16px 92px;border:0;border-radius:0;overflow-y:auto}.mobile-workspace .long-form-modal form .modal-actions{position:fixed;right:0;bottom:0;left:0;z-index:80;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:12px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--soft-line);background:#fff}.mobile-workspace .create-user-modal .modal-panel{width:100%;height:100%;max-height:none;gap:14px;padding:16px 16px max(16px,env(safe-area-inset-bottom));border:0;border-radius:0;overflow-y:auto}.mobile-workspace .create-user-modal-heading{position:sticky;top:-16px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 0;padding:max(16px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--soft-line);background:#fff}.mobile-workspace .create-user-modal-heading h2{min-width:0}.mobile-workspace .create-user-modal .create-user-form{display:flex;flex-direction:column;gap:20px;width:100%;max-width:none;padding:0}.mobile-workspace .create-user-form .form-section{padding-bottom:16px;border-bottom:1px solid var(--soft-line)}.mobile-workspace .create-user-form .form-section:last-of-type{padding-bottom:0;border-bottom:0}.mobile-workspace .create-user-modal .modal-actions{position:fixed;right:0;bottom:0;left:0;z-index:80;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:12px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--soft-line);background:#fff}.mobile-workspace .create-user-modal .create-user-form{padding-bottom:76px}.mobile-workspace .pagination,.mobile-workspace .schedule-query-controls,.mobile-workspace .date-range-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.mobile-workspace .user-list-pagination{display:flex;flex-direction:row;justify-content:center;gap:10px}.mobile-workspace .profile-overview{grid-template-columns:1fr;justify-items:center;gap:18px;padding:18px}.mobile-workspace .profile-photo-column,.mobile-workspace .profile-photo-frame{width:132px}.mobile-workspace .profile-details{width:100%}.mobile-workspace .profile-identity{align-items:start;flex-direction:column;gap:12px}.mobile-workspace .profile-statuses{justify-content:start}.mobile-workspace .profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-workspace .profile-field-grid>div,.mobile-workspace .profile-field-grid>div:nth-child(3n){border-right:1px solid var(--soft-line)}.mobile-workspace .profile-field-grid>div:nth-child(2n){border-right:0}.mobile-workspace .profile-field-grid .profile-field-wide{grid-column:span 2}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:60;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));min-height:74px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--soft-line);background:#fffffff7;box-shadow:0 -6px 18px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-bottom-nav button{display:grid;place-items:center;gap:2px;min-width:0;min-height:48px;padding:5px 2px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:11px;font-weight:650}.mobile-bottom-nav button.active{color:var(--blue);background:var(--blue-soft)}.mobile-nav-icon{display:grid;place-items:center;min-height:20px;font-size:13px;font-weight:800}.mobile-more-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;background:#0f172a6b}.mobile-more-sheet{max-height:min(70vh,560px);padding:16px 14px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:8px 8px 0 0;background:#fff;box-shadow:0 -12px 32px #0f172a2e}.mobile-more-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:var(--navy)}.mobile-more-heading strong{font-size:16px}.mobile-more-heading button{min-height:34px;padding:4px 8px;border:0;border-radius:6px;color:var(--blue);background:var(--blue-soft);font-size:12px;font-weight:700}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-more-grid button{position:relative;display:grid;min-height:78px;place-items:center;align-content:center;gap:5px;padding:8px 4px;border:1px solid var(--soft-line);border-radius:8px;color:var(--ink);background:#fff}.mobile-more-grid button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.mobile-more-grid button>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:12px;font-weight:800}.mobile-more-grid button small{overflow:hidden;max-width:100%;font-size:12px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-more-grid button b{position:absolute;top:5px;right:5px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border-radius:9px;color:#fff;background:#dc2626;font-size:10px}.login-page{padding:16px}.login-panel{gap:28px;padding:28px 22px}.login-wordmark{width:104px;height:104px;margin-bottom:14px}}@media(max-width:360px){.workspace.mobile-workspace{padding-right:10px;padding-left:10px}.mobile-topbar{grid-template-columns:42px minmax(0,1fr) 40px 40px;gap:2px;margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mobile-title span{font-size:14px}.mobile-icon-button,.mobile-bottom-nav button{font-size:10px}.mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:var(--blue-light);color:var(--navy)}
