.training-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(150px,.45fr) auto auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface)}.training-toolbar label>span,.training-form label>span:first-child,.audience-search label>span{display:block;margin-bottom:7px;color:#59667a;font-size:.72rem;font-weight:750}.training-toolbar input,.training-toolbar select,.training-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.training-form textarea,.assignment-section select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:var(--color-ink)}.training-form textarea{min-height:135px;padding-block:10px;resize:vertical;line-height:1.6}.training-table td:first-child strong,.training-table td:first-child small{display:block}.training-table td:first-child strong{color:#273247}.training-table td:first-child small{margin-top:5px;color:var(--color-muted)}.training-status,.assignment-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf3fb;color:#426185;font-size:.68rem;font-weight:750;white-space:nowrap}.training-status.is-published,.assignment-status.is-confirmed{background:#e8f7f2;color:#13755a}.training-status.is-closed,.assignment-status.is-overdue,.assignment-status.is-confirmed_late{background:var(--color-danger-soft);color:#a53a46}.assignment-status.is-due_soon{background:#fff6dd;color:#946b00}.training-dialog{width:min(100%,720px)}.training-details-dialog{width:min(100%,1020px)}.training-form,.training-details-content,.confirmation-content{padding:21px}.training-form{display:grid;gap:16px}.training-form .editor-actions{margin-top:0}.training-upload-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--color-border);border-radius:10px;background:#f8fafc}.training-upload-panel strong{font-size:.8rem}.training-upload-panel p,.form-hint,.mutation-note{margin:5px 0 0;color:var(--color-muted);font-size:.7rem;line-height:1.55}.upload-picker{position:relative;flex:0 0 auto;cursor:pointer}.upload-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.upload-picker.is-disabled{cursor:wait;opacity:.65}.training-form progress{width:100%;accent-color:var(--color-blue)}.audience-type-fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:14px;border:1px solid var(--color-border);border-radius:10px}.audience-type-fieldset legend{padding:0 7px;color:#59667a;font-size:.73rem;font-weight:750}.audience-type-fieldset label,.employee-choice-list label{display:flex;align-items:start;gap:9px;padding:11px;border-radius:8px;background:#f8fafc;cursor:pointer}.audience-type-fieldset input,.employee-choice-list input{margin-top:3px;accent-color:var(--color-blue)}.audience-type-fieldset span,.audience-type-fieldset strong,.audience-type-fieldset small,.employee-choice-list span,.employee-choice-list strong,.employee-choice-list small{display:block}.audience-type-fieldset strong,.employee-choice-list strong{font-size:.76rem}.audience-type-fieldset small,.employee-choice-list small{margin-top:4px;color:#8995a7;font-size:.65rem;line-height:1.4}.audience-selector{display:grid;gap:11px;padding:14px;border:1px solid var(--color-border);border-radius:10px}.audience-search{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px}.selected-summary{display:flex;align-items:center;justify-content:space-between;color:#56647a;font-size:.72rem}.text-button{padding:0;border:0;background:transparent;color:var(--color-blue);cursor:pointer;font-size:.7rem}.selected-employees{display:flex;flex-wrap:wrap;gap:6px}.selected-employees button{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:0;border-radius:999px;background:var(--color-blue-soft);color:var(--color-blue-deep);cursor:pointer;font-size:.68rem}.employee-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow-y:auto}.mini-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--color-muted);font-size:.7rem}.danger-button{min-height:40px;padding:0 14px;border:0;border-radius:8px;background:var(--color-danger);color:#fff;cursor:pointer;font-weight:750}.danger-button:disabled{cursor:wait;opacity:.65}.training-detail-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.training-detail-heading h3{margin:12px 0 3px;font-size:1.25rem}.training-detail-heading p{margin:0;color:var(--color-muted);font-size:.76rem}.training-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.training-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.training-metadata div{min-width:0;padding:12px;border-radius:9px;background:#f6f8fb}.training-metadata dt{color:var(--color-muted);font-size:.65rem}.training-metadata dd{margin:6px 0 0;overflow-wrap:anywhere;font-size:.74rem;font-weight:700}.training-copy{padding:15px;border:1px solid var(--color-border);border-radius:10px}.training-copy h4,.assignment-section h4{margin:0;font-size:.84rem}.training-copy p{margin:9px 0 0;color:#4f5d71;font-size:.78rem;line-height:1.75;white-space:pre-wrap}.training-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.training-stat-grid>div{padding:13px;border:1px solid var(--color-border);border-radius:9px;background:#fff}.training-stat-grid strong,.training-stat-grid span{display:block}.training-stat-grid strong{color:var(--color-blue);font-size:1.15rem}.training-stat-grid span{margin-top:4px;color:var(--color-muted);font-size:.65rem}.assignment-section{margin-top:18px;border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.assignment-section>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid var(--color-border)}.assignment-section>header p{margin:4px 0 0;color:var(--color-muted);font-size:.66rem}.assignment-section select{min-width:130px}.assignment-table td{font-size:.72rem}.detail-empty,.detail-loading{padding:34px;color:var(--color-muted);text-align:center}.confirmation-content>p:first-child{margin-top:0;color:#4f5d71;line-height:1.65}.mutation-note{text-align:right}@media (max-width:900px){.training-toolbar{grid-template-columns:1fr 1fr auto auto}.training-metadata{grid-template-columns:1fr 1fr}.training-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.training-toolbar{grid-template-columns:1fr auto}.training-toolbar label{grid-column:1 / -1}.training-upload-panel,.training-detail-heading{align-items:stretch;flex-direction:column}.audience-type-fieldset,.employee-choice-list,.audience-search{grid-template-columns:1fr}.training-metadata,.training-stat-grid{grid-template-columns:1fr 1fr}}.approval-buckets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.approval-buckets button{display:grid;gap:5px;padding:18px;text-align:left;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:var(--color-ink);cursor:pointer}.approval-buckets button strong{color:var(--color-blue);font-size:1.65rem}.approval-buckets button span{color:var(--color-muted)}.approval-buckets button[aria-pressed=true]{border-color:var(--color-blue);box-shadow:0 8px 24px #1456d61f}.approval-toolbar{display:flex;justify-content:flex-end;margin:18px 0}.approval-toolbar label{display:grid;gap:6px;min-width:220px}.approval-toolbar label span,.approval-drawer label span{color:var(--color-muted);font-size:.84rem}.approval-table td strong,.approval-table td small{display:block}.approval-table td small{color:var(--color-muted);margin-top:4px}.approval-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eff4ff;color:var(--color-blue);font-size:.82rem}.approval-status.is-completed{background:#eaf8ef;color:#12844b}.approval-status.is-cancelled{background:#f1f3f6;color:var(--color-muted)}.approval-drawer{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 36px);overflow:hidden}.approval-drawer>header h2{margin:4px 0 0}.approval-drawer-body{display:grid;gap:18px;padding:22px 24px;overflow-y:auto;max-height:calc(100vh - 220px)}.approval-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.approval-detail-grid div{padding:12px;background:#f6f8fb;border-radius:10px}.approval-detail-grid .is-wide{grid-column:1 / -1}.approval-detail-grid dt{color:var(--color-muted);font-size:.8rem}.approval-detail-grid dd{margin:5px 0 0;white-space:pre-wrap}.approval-items,.approval-history ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}.approval-items li,.approval-history li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--color-border)}.approval-items span,.approval-history span{color:var(--color-muted)}.approval-drawer label{display:grid;gap:6px}.approval-drawer input,.approval-drawer textarea,.approval-toolbar select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:var(--color-ink)}.approval-drawer textarea{padding-block:10px}.approval-drawer textarea{resize:vertical}.approval-decision-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--color-border);border-radius:12px}.approval-decision-fields legend{padding:0 6px;color:var(--color-muted)}.approval-decision-row{display:grid;gap:9px}.approval-summary-note{margin:0;padding:14px;border-radius:9px;background:#fff7e7;color:#77581c;line-height:1.65}.approval-history h3{margin-top:0}.approval-loading{width:min(460px,calc(100vw - 32px));padding:28px}.approval-actions{margin:0 24px;padding:18px 0 22px}.success-banner{margin-bottom:16px;padding:12px 14px;border:1px solid #cfe6dc;border-radius:9px;background:#f3faf7;color:#236a50;font-size:.76rem}@media (max-width: 900px){.approval-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-detail-grid,.approval-decision-fields{grid-template-columns:1fr}}:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#172033;background:#f3f6fa;font-synthesis:none;text-rendering:optimizeLegibility;--color-ink: #172033;--color-muted: #68758a;--color-border: #dce4ee;--color-border-strong: #c9d4e2;--color-surface: #ffffff;--color-canvas: #f3f6fa;--color-navy: #0d203d;--color-navy-raised: #152a4b;--color-blue: #1261d5;--color-blue-deep: #0b4eaf;--color-blue-soft: #e9f2ff;--color-teal: #0d8d79;--color-danger: #c83d4b;--color-danger-soft: #fff0f1;--shadow-card: 0 18px 45px rgba(18, 38, 68, .08);--radius-card: 14px;--radius-control: 9px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--color-canvas);color:var(--color-ink)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(18,97,213,.24);outline-offset:2px}.eyebrow{margin:0;color:var(--color-blue);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff14;color:#76adff}.brand-mark.is-large{width:50px;height:50px}.primary-button,.quiet-button,.icon-button{border:0;cursor:pointer}.primary-button{min-height:46px;padding:0 20px;border-radius:var(--radius-control);background:var(--color-blue);color:#fff;font-weight:750;box-shadow:0 8px 18px #1261d52e}.primary-button:hover{background:var(--color-blue-deep)}.primary-button:disabled{cursor:wait;opacity:.68}.primary-button.is-link{display:inline-grid;place-items:center;text-decoration:none}.quiet-button{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:#4d5b70}.quiet-button:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.icon-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-ink)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(360px,.95fr) minmax(480px,1.05fr);background:#fff}.login-introduction{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,70px);background:var(--color-navy);color:#fff}.login-introduction:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;content:"";-webkit-mask-image:linear-gradient(to bottom right,#000,transparent 85%);mask-image:linear-gradient(to bottom right,#000,transparent 85%)}.login-introduction:after{position:absolute;right:-160px;bottom:-210px;width:520px;height:520px;border:88px solid rgba(46,122,232,.12);border-radius:50%;content:""}.login-brand,.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.login-brand strong,.brand-lockup strong{display:block;font-size:1.18rem;letter-spacing:.06em}.login-brand small,.brand-lockup small{display:block;margin-top:2px;color:#9eacc1;font-size:.73rem;letter-spacing:.17em}.login-message{position:relative;z-index:1;max-width:620px}.login-message .eyebrow{color:#73aaff}.login-message h1{margin:18px 0 22px;font-size:clamp(2.2rem,4.1vw,4.6rem);line-height:1.12;letter-spacing:-.055em}.login-message>p:last-child{max-width:530px;margin:0;color:#b9c5d7;font-size:1rem;line-height:1.85}.login-security-note{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#9eacc1;font-size:.82rem}.login-panel{display:grid;place-items:center;padding:44px;background:#fbfcfe}.login-card{width:min(100%,430px);padding:42px;border:1px solid var(--color-border);border-radius:18px;background:#fff;box-shadow:var(--shadow-card)}.login-card-heading{display:flex;align-items:center;gap:14px}.login-card-heading h2{margin:5px 0 0;font-size:1.62rem;letter-spacing:-.035em}.login-card-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:var(--color-blue-soft);color:var(--color-blue)}.login-guidance{margin:26px 0 28px;color:var(--color-muted);font-size:.91rem;line-height:1.7}.field-label{display:block;margin:18px 0 8px;color:#354158;font-size:.86rem;font-weight:700}.login-card input{width:100%;height:48px;padding:0 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:#fbfcfe;color:var(--color-ink);transition:border-color .16s,box-shadow .16s}.login-card input:hover{border-color:#9bacc2}.login-card input:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #1261d51a;outline:0}.login-card input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{margin:6px 0 0;color:var(--color-danger);font-size:.78rem}.form-error{margin-top:18px;padding:11px 13px;border:1px solid #f0c7cc;border-radius:8px;background:var(--color-danger-soft);color:#a42e3b;font-size:.84rem;line-height:1.5}.login-button{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:24px}.privacy-note{margin:18px 0 0;color:#8994a5;font-size:.72rem;line-height:1.6;text-align:center}.admin-shell{display:grid;min-height:100vh;grid-template-columns:248px minmax(0,1fr)}.admin-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;width:248px;flex-direction:column;padding:22px 16px;background:var(--color-navy);color:#dce6f4}.brand-lockup{min-height:56px;padding:0 8px 18px;border-bottom:1px solid rgba(255,255,255,.09)}.sidebar-navigation{display:flex;flex:1;flex-direction:column;gap:5px;padding-top:23px}.sidebar-section-label{margin:0 10px 10px;color:#71829c;font-size:.68rem;font-weight:800;letter-spacing:.14em}.sidebar-link{display:flex;min-height:45px;align-items:center;gap:12px;padding:0 13px;border:1px solid transparent;border-radius:9px;color:#adbad0;font-size:.9rem;text-decoration:none;transition:.15s ease}.sidebar-link:hover{background:#ffffff0e;color:#fff}.sidebar-link.is-active{border-color:#76adff1f;background:var(--color-navy-raised);color:#fff;box-shadow:inset 3px 0 #5b9cff}.sidebar-footnote{display:flex;align-items:center;gap:9px;padding:16px 10px 4px;border-top:1px solid rgba(255,255,255,.09);color:#8392a9;font-size:.75rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#21aa78;box-shadow:0 0 0 4px #21aa781a}.admin-main-column{grid-column:2;min-width:0}.admin-header{position:sticky;z-index:20;top:0;display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--color-border);background:#ffffffed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-environment{display:flex;align-items:center;gap:10px;color:#526076;font-size:.81rem;font-weight:700}.header-account{display:flex;align-items:center;gap:18px}.account-copy{display:block;text-align:right}.account-copy small{display:block;color:#8a95a6;font-size:.68rem}.account-copy strong{display:block;margin-top:3px;color:#344056;font-size:.84rem}.mobile-menu-button{display:none}.admin-content{min-height:calc(100vh - 68px);padding:34px clamp(22px,4vw,56px) 60px}.module-page{max-width:1240px;margin:0 auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:6px 0 0;font-size:clamp(1.75rem,3vw,2.4rem);letter-spacing:-.045em}.page-heading p:last-child{max-width:540px;margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.7}.foundation-card{padding:30px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 10px 30px #162e4e0d}.foundation-card h2{margin:0 0 8px;font-size:1rem}.foundation-card p{margin:0;color:var(--color-muted);line-height:1.7}.state-page{width:min(100%,520px);margin:10vh auto 0;padding:40px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card);text-align:center}.state-page .state-icon{display:grid;width:54px;height:54px;place-items:center;margin:0 auto 20px;border-radius:14px;background:var(--color-blue-soft);color:var(--color-blue)}.state-page h1{margin:10px 0;font-size:1.65rem;letter-spacing:-.03em}.state-page>p:not(.eyebrow){margin:0 0 26px;color:var(--color-muted);line-height:1.7}.standalone-state-page{display:grid;min-height:100vh;place-items:center;padding:24px}.standalone-state-page .state-page{margin:0}.navigation-scrim{display:none}.dashboard-heading{align-items:center}.data-freshness{display:flex;align-items:center;gap:10px;color:#536177;font-size:.8rem;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{min-width:0;padding:21px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px #132d4c0b}.metric-card-topline{display:flex;align-items:center;justify-content:space-between;color:#5e6b80;font-size:.8rem;font-weight:700}.metric-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:var(--color-blue-soft);color:var(--color-blue)}.metric-card>strong{display:block;margin:18px 0 8px;color:var(--color-navy);font-size:2rem;line-height:1;letter-spacing:-.04em}.metric-card>small{color:#8a95a5;font-size:.72rem}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;margin-top:18px}.dashboard-panel{min-width:0;padding:22px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px #132d4c0a}.dashboard-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid #e8edf4}.dashboard-panel h2{margin:3px 0 0;font-size:1.03rem}.dashboard-panel>header>span{color:#8b96a7;font-size:.72rem}.panel-kicker{margin:0;color:var(--color-blue);font-size:.62rem;font-weight:800;letter-spacing:.13em}.activity-list{margin:0;padding:0;list-style:none}.activity-row,.approval-row{display:flex;min-height:70px;align-items:center;gap:12px;border-bottom:1px solid #edf1f6}.activity-row:last-child,.approval-row:last-child{border-bottom:0}.activity-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px;background:#edf3fb;color:#38577d;font-size:.78rem;font-weight:800}.activity-main{min-width:0;flex:1}.activity-main strong,.approval-row strong{display:block;font-size:.82rem}.activity-main small,.approval-row small{display:block;overflow:hidden;margin-top:5px;color:#8a95a6;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.activity-meta,.approval-row-meta{display:flex;flex:0 0 auto;align-items:end;flex-direction:column;gap:6px}.activity-meta time,.approval-row-meta time{color:#909aaa;font-size:.66rem}.photo-chip,.status-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#eef8f4;color:#14775e;font-size:.65rem;font-weight:700}.photo-chip.is-missing,.photo-chip.is-expired{background:#f2f4f7;color:#778294}.approval-type-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px;background:#f2efff;color:#6554b7}.approval-row>span:nth-child(2){min-width:0;flex:1}.status-chip{background:#fff4df;color:#94620e}.empty-copy{margin:34px 0;color:#8994a5;font-size:.82rem;text-align:center}.request-id-line{margin-top:16px;color:#8a95a5;font-size:.68rem;text-align:right}.request-id-line code{font-family:Cascadia Mono,Consolas,monospace;color:#647187}.dashboard-skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dashboard-skeleton span{height:142px;border:1px solid var(--color-border);border-radius:12px;background:linear-gradient(100deg,#fff 20%,#f2f5f8 38%,#fff 58%);background-size:200% 100%;animation:shimmer 1.25s infinite}.inline-error{padding:28px;border:1px solid #efc8cd;border-radius:12px;background:#fff}.inline-error strong{color:#a7303d}.inline-error p{color:var(--color-muted)}@keyframes shimmer{to{background-position-x:-200%}}.action-button{display:inline-flex;align-items:center;gap:8px}.employee-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;border:1px solid var(--color-border);border-radius:11px;background:#fff}.employee-toolbar label>span,.employee-editor-form label>span:first-child{display:block;margin-bottom:7px;color:#59667a;font-size:.72rem;font-weight:750}.employee-toolbar input,.employee-editor-form input,.employee-editor-form select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:var(--color-ink)}.employee-toolbar input:focus,.employee-editor-form input:focus,.employee-editor-form select:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #1261d517;outline:0}.data-table-card{overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px #132d4c0a}.data-table-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border-bottom:1px solid #e8edf4}.data-table-card>header>div{display:flex;align-items:center;gap:12px}.data-table-card h2{margin:0;font-size:.96rem}.data-table-card header p{margin:5px 0 0;color:#8490a2;font-size:.7rem}.data-table-card>header>strong{color:var(--color-blue);font-size:.8rem}.table-section-icon{display:grid;width:37px;height:37px;place-items:center;border-radius:9px;background:var(--color-blue-soft);color:var(--color-blue)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 18px;background:#f7f9fc;color:#748095;font-size:.69rem;font-weight:750;text-align:left;white-space:nowrap}.data-table td{padding:14px 18px;border-top:1px solid #edf1f6;color:#48556a;font-size:.78rem;vertical-align:middle}.data-table tbody tr:hover{background:#fbfcfe}.employee-identity{display:flex;min-width:160px;align-items:center;gap:10px}.employee-identity>span:first-child{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px;background:#edf3fb;color:#38577d;font-weight:800}.employee-identity strong,.employee-identity small{display:block}.employee-identity strong{color:#273247;font-size:.8rem}.employee-identity small{margin-top:4px;color:#929cac;font-size:.66rem}.mobile-value{color:#33435b;font-family:Cascadia Mono,Consolas,monospace;font-size:.74rem}.role-chip-list{display:flex;min-width:180px;flex-wrap:wrap;gap:5px}.role-chip{padding:4px 7px;border-radius:999px;background:#edf3fb;color:#426185;font-size:.63rem;font-weight:700}.account-status{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:750}.account-status:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.account-status.is-enabled{color:#16805e}.account-status.is-disabled{color:#9b5862}.compact-button{min-height:33px;padding:0 10px;font-size:.7rem}.table-loading{display:grid;gap:1px;background:#edf1f6}.table-loading span{height:63px;background:linear-gradient(100deg,#fff 20%,#f2f5f8 38%,#fff 58%);background-size:200% 100%;animation:shimmer 1.25s infinite}.table-empty{display:grid;min-height:250px;place-items:center;align-content:center;color:#91a0b3;text-align:center}.table-empty strong{margin-top:12px;color:#506077;font-size:.86rem}.table-empty p{margin:7px 0 0;font-size:.72rem}.table-error{margin:18px}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:13px 18px;border-top:1px solid #e8edf4;color:#6f7c90;font-size:.72rem}.table-pagination .quiet-button{min-height:34px;padding:0 12px}.modal-backdrop{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:28px;background:#07122285;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-dialog{width:min(100%,660px);max-height:calc(100vh - 56px);overflow-y:auto;border:1px solid var(--color-border);border-radius:15px;background:#fff;box-shadow:0 28px 80px #03102440}.editor-dialog-header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 21px;border-bottom:1px solid var(--color-border);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-dialog-header h2{margin:3px 0 0;font-size:1.04rem}.editor-dialog-icon{display:grid;width:39px;height:39px;place-items:center;border-radius:10px;background:var(--color-blue-soft);color:var(--color-blue)}.employee-editor-form{padding:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid+.form-grid{margin-top:16px}.form-span-2{grid-column:1 / -1}.password-field{display:flex;align-items:center;gap:8px;min-height:42px;padding-left:12px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:#8290a3}.password-field input{min-width:0;border:0;background:transparent;box-shadow:none!important}.editing-person-note{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;padding:13px 14px;border-radius:9px;background:#f3f7fc}.editing-person-note strong{font-size:.85rem}.editing-person-note span{color:#8390a3;font-family:Cascadia Mono,Consolas,monospace;font-size:.66rem}.role-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0 0;padding:14px;border:1px solid var(--color-border);border-radius:10px}.role-fieldset legend{padding:0 7px;color:#59667a;font-size:.73rem;font-weight:750}.role-option{display:flex;align-items:start;gap:9px;padding:10px;border-radius:8px;background:#f8fafc;cursor:pointer}.role-option input{width:16px;min-height:auto;margin:2px 0 0;accent-color:var(--color-blue)}.role-option span,.role-option strong,.role-option small{display:block}.role-option strong{font-size:.75rem}.role-option small{margin-top:4px;color:#8995a7;font-size:.63rem;line-height:1.45}.enabled-switch{display:flex;align-items:start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:9px}.enabled-switch input{width:17px;min-height:auto;margin:2px 0 0;accent-color:var(--color-blue)}.enabled-switch span,.enabled-switch strong,.enabled-switch small{display:block}.enabled-switch strong{font-size:.76rem}.enabled-switch small{margin-top:4px;color:#8995a7;font-size:.65rem}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:21px;padding-top:17px;border-top:1px solid #e8edf4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.organization-error{margin-bottom:16px}.organization-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.organization-skeleton span{min-height:320px;border:1px solid var(--color-border);border-radius:12px;background:linear-gradient(100deg,#fff 20%,#f2f5f8 38%,#fff 58%);background-size:200% 100%;animation:shimmer 1.25s infinite}.organization-skeleton span:last-child{grid-column:1 / -1;min-height:260px}.organization-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.organization-panel{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px #132d4c0a}.organization-panel>header{display:flex;align-items:center;gap:12px;padding:19px 21px;border-bottom:1px solid #e8edf4}.organization-panel h2{margin:0;font-size:.96rem}.organization-panel header p{margin:5px 0 0;color:#8490a2;font-size:.7rem}.compact-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:16px 18px;background:#f8fafc}.compact-form label>span{display:block;margin-bottom:6px;color:#59667a;font-size:.68rem;font-weight:750}.compact-form input,.compact-form select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fff;color:var(--color-ink)}.compact-form .primary-button{min-height:40px;padding:0 14px;font-size:.75rem}.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-wide-button{grid-column:1 / -1}.organization-list{margin:0;padding:0 18px 8px;list-style:none}.organization-list li{display:flex;min-height:61px;align-items:center;gap:10px;border-bottom:1px solid #edf1f6}.organization-list li:last-child{border-bottom:0}.organization-list li>span:nth-child(2),.organization-list li>strong{min-width:0;flex:1}.organization-list strong,.organization-list small{display:block}.organization-list strong{color:#344056;font-size:.78rem}.organization-list small{overflow:hidden;margin-top:4px;color:#8b96a7;font-family:Cascadia Mono,Consolas,monospace;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.node-icon{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border-radius:8px;background:#edf3fb;color:#426185}.danger-icon{width:34px;height:34px;color:#a9525d}.binding-panel{margin-top:18px}.binding-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.module-tabs{display:flex;gap:5px;margin:-12px 0 18px;padding:5px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.module-tabs a{padding:8px 13px;border-radius:7px;color:#68758a;font-size:.74rem;font-weight:750;text-decoration:none}.module-tabs a[aria-current=page]{background:var(--color-blue-soft);color:var(--color-blue)}.scheduling-error{margin-bottom:16px}.scheduling-panel{overflow:hidden;margin-bottom:18px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px #132d4c0a}.scheduling-panel>header{display:flex;align-items:center;gap:12px;padding:18px 21px;border-bottom:1px solid #e8edf4}.scheduling-panel h2{margin:0;font-size:.96rem}.scheduling-panel header p{margin:5px 0 0;color:#8490a2;font-size:.7rem}.scheduling-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;padding:18px}.scheduling-form label>span,.batch-schedule-form label>span,.batch-field>span{display:block;margin-bottom:7px;color:#59667a;font-size:.7rem;font-weight:750}.scheduling-form input,.scheduling-form select,.batch-schedule-form input,.batch-schedule-form select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:var(--color-ink)}.schedule-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.schedule-card{min-width:0;padding:18px;border:1px solid var(--color-border);border-radius:11px;background:#fff}.schedule-card header{display:flex;align-items:center;gap:10px}.schedule-card header strong{color:#2e3a50;font-size:.88rem}.schedule-card>p{margin:11px 0;color:#7c889b;font-size:.72rem}.schedule-card dl{display:grid;gap:7px;margin:14px 0}.schedule-card dl div{display:flex;justify-content:space-between;gap:16px}.schedule-card dt{color:#8c97a7;font-size:.66rem}.schedule-card dd{margin:0;color:#4b586d;font-family:Cascadia Mono,Consolas,monospace;font-size:.68rem;text-align:right}.shift-window{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0;padding:12px;border-radius:8px;background:#f4f7fb}.shift-window strong{color:#315171;font-size:.84rem}.batch-schedule-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) minmax(160px,.8fr) auto;align-items:end;gap:14px;padding:18px}.employee-check-grid{display:grid;max-height:160px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow-y:auto}.employee-check-grid label{display:flex;align-items:start;gap:8px;padding:8px;border-radius:7px;background:#f7f9fc;cursor:pointer}.employee-check-grid input{width:15px;min-height:auto;margin-top:2px;accent-color:var(--color-blue)}.employee-check-grid strong,.employee-check-grid small{display:block}.employee-check-grid strong{font-size:.72rem}.employee-check-grid small{margin-top:3px;color:#8a95a6;font-size:.61rem}.batch-result{margin:0 18px 18px;padding:13px;border:1px solid #cfe6dc;border-radius:8px;background:#f3faf7;color:#2d6755;font-size:.72rem}.batch-result p{margin:7px 0 0;color:#9b4651}.schedule-table-card{margin-top:18px}.table-subcopy{display:block;margin-top:4px;color:#929cac;font-size:.64rem}.attendance-toolbar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:18px;padding:16px;border:1px solid var(--color-border);border-radius:11px;background:#fff}.attendance-toolbar label>span{display:block;margin-bottom:7px;color:#59667a;font-size:.7rem;font-weight:750}.attendance-toolbar input,.attendance-toolbar select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:8px;background:#fbfcfe;color:var(--color-ink)}.attendance-toolbar input:focus,.attendance-toolbar select:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #1261d517;outline:0}.attendance-search-button{justify-self:end;min-width:150px}.attendance-table{min-width:1040px}.attendance-type{color:#33435b;font-size:.76rem}.attendance-photo-dialog{width:min(100%,760px)}.attendance-photo-body{padding:21px}.attendance-photo-body>img{display:block;width:100%;max-height:62vh;border-radius:10px;background:#eef2f7;object-fit:contain}.photo-loading{display:grid;min-height:330px;place-items:center;align-content:center;gap:12px;border-radius:10px;background:linear-gradient(100deg,#f7f9fc 20%,#eef2f7 38%,#f7f9fc 58%);background-size:200% 100%;color:#8090a4;animation:shimmer 1.25s infinite}.attendance-photo-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 0}.attendance-photo-meta div{min-width:0;padding:11px 12px;border-radius:8px;background:#f6f8fb}.attendance-photo-meta dt{color:#8a95a6;font-size:.64rem}.attendance-photo-meta dd{overflow:hidden;margin:5px 0 0;color:#445268;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.login-page{grid-template-columns:1fr}.login-introduction{min-height:auto;padding:30px}.login-message{margin:70px 0 66px}.login-message h1{font-size:clamp(2rem,8vw,3.2rem)}.login-panel{padding:34px 20px}.login-card{padding:30px}.admin-shell{display:block}.admin-sidebar{transform:translate(-102%);transition:transform .2s ease}.admin-shell.navigation-open .admin-sidebar{transform:translate(0)}.navigation-scrim{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;border:0;background:#0712226b}.admin-shell.navigation-open .navigation-scrim{display:block}.admin-main-column{width:100%}.mobile-menu-button{display:grid}.header-environment{display:none}.admin-header{padding:0 18px}.admin-content{padding:26px 18px 44px}.page-heading{align-items:start;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.employee-toolbar{grid-template-columns:1fr 1fr auto auto}.organization-overview-grid{grid-template-columns:1fr}.compact-form{grid-template-columns:1fr 1fr}.scheduling-form,.schedule-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-schedule-form{grid-template-columns:1fr 1fr}.batch-field{grid-column:1 / -1}.attendance-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.login-introduction{display:none}.login-panel{min-height:100vh;padding:20px 14px}.login-card{padding:27px 22px}.account-copy{display:none}.state-page{padding:30px 22px}.metric-grid,.dashboard-skeleton{grid-template-columns:1fr}.activity-meta{align-items:end}.employee-toolbar{grid-template-columns:1fr auto}.employee-toolbar label{grid-column:1 / -1}.form-grid,.role-fieldset,.organization-skeleton,.compact-form,.binding-form{grid-template-columns:1fr}.organization-skeleton span:last-child,.form-wide-button{grid-column:auto}.module-tabs{overflow-x:auto}.module-tabs a{white-space:nowrap}.scheduling-form,.schedule-card-grid,.batch-schedule-form,.employee-check-grid,.attendance-toolbar,.attendance-photo-meta{grid-template-columns:1fr}.attendance-search-button{width:100%;justify-self:stretch}.batch-field,.form-span-2{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.editor-dialog{width:100%;max-height:92vh;border-radius:15px 15px 0 0}}
