:root{--color-bg: #080808;--color-surface: #111111;--color-surface-alt: #17161a;--color-border: #292929;--color-text: #f5f3f0;--color-text-muted: #8c8991;--color-primary: #3a70ed;--color-primary-dark: #8bacfa;--color-primary-tint: #161e30;--color-danger: #ff8fae;--color-success: #4ade80;--font-display: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}.brand{font-family:var(--font-display);font-style:italic;font-weight:700;color:var(--color-primary)}:root{color-scheme:dark;line-height:1.5}.app-header{position:relative;display:flex;align-items:center;gap:32px;padding:16px 5vw;border-bottom:1px solid #292929;background:#080808}.app-header__brand{color:#f5f3f0;font-size:15px;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.app-header__nav{flex:1;display:flex;align-items:center;gap:24px}.app-header__nav>a{padding:6px 0;border-bottom:2px solid transparent;color:#8c8991;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.app-header__nav>a.active{border-bottom-color:#8bacfa;color:#f5f3f0}.nav-group{position:relative}.nav-group__trigger{display:flex;align-items:center;gap:5px;padding:6px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#8c8991;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.nav-group__trigger.active{border-bottom-color:#8bacfa;color:#f5f3f0}.nav-group__trigger svg{transition:transform .15s ease}.nav-group__trigger svg.is-open{transform:rotate(180deg)}.nav-group__menu{position:absolute;top:calc(100% + 12px);left:0;display:flex;flex-direction:column;min-width:190px;padding:6px;border:1px solid #292929;border-radius:10px;background:#111;box-shadow:0 12px 32px #00000073;z-index:30}.nav-group__menu a{padding:9px 12px;border-radius:7px;color:#ccc8d1;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.nav-group__menu a:hover{background:#1a1a1e;color:#f5f3f0}.nav-group__menu a.active{background:#161e30;color:#8bacfa}.app-header__actions{display:flex;align-items:center;gap:16px}.signed-in-as{color:#aaa6ae;font-size:13px}.app-header .btn--ghost{color:#f5f3f0;border-color:#454248}.app-header__burger{display:none;align-items:center;justify-content:center;border:1px solid #292929;border-radius:8px;background:transparent;color:#f5f3f0;padding:6px;cursor:pointer}@media(max-width:900px){.app-header{gap:14px;padding:14px 20px;flex-wrap:wrap}.app-header__nav,.signed-in-as,.app-header .btn--ghost{display:none}.app-header__burger{display:flex}.app-header__mobile{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:4px;padding:14px 20px 20px;border-bottom:1px solid #292929;background:#080808;box-shadow:0 16px 32px #00000080;z-index:40;max-height:calc(100vh - 60px);overflow-y:auto}.app-header__mobile>a{padding:12px 4px;border-bottom:1px solid #1c1c1c;color:#ccc8d1;font-size:14px;font-weight:600;text-decoration:none}.app-header__mobile>a.active{color:#8bacfa}.mobile-group{display:flex;flex-direction:column;padding-top:10px;border-bottom:1px solid #1c1c1c}.mobile-group__label{padding:2px 4px 6px;color:#75717a;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mobile-group a{padding:10px 4px 10px 14px;color:#ccc8d1;font-size:14px;font-weight:500;text-decoration:none}.mobile-group a.active{color:#8bacfa}.mobile-group .btn--ghost{display:inline-flex;align-self:flex-start;margin:8px 4px 12px}}.attendance-widget{width:100%;max-width:320px;padding:18px 20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-sizing:border-box}.attendance-widget__head{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--color-primary-dark);font-size:13px;font-weight:700}.attendance-widget__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.attendance-widget__dot.is-active{background:var(--color-success);box-shadow:0 0 0 3px #4ade802e}.attendance-widget__icon{margin-left:auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#3a1620;color:#ff8fae}.attendance-widget__welcome{margin:0;color:var(--color-text-muted);font-size:12px}.attendance-widget__name{margin:2px 0 14px;font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--color-text)}.attendance-widget__row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.attendance-widget__row b{color:var(--color-text);font-size:15px}.attendance-widget__empty{padding:14px 0;margin:0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px}.attendance-widget__error{margin:8px 0 0;color:var(--color-danger);font-size:12px}.attendance-widget__btn{width:100%;margin-top:14px;padding:12px;border:0;border-radius:9px;background:var(--color-primary);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.attendance-widget__btn:hover:not(:disabled){background:var(--color-primary-dark)}.attendance-widget__btn:disabled{opacity:.6;cursor:default}.attendance-widget__btn--done{background:var(--color-surface-alt);color:var(--color-text-muted)}.attendance-widget__caption{margin:12px 0 0;color:var(--color-text-muted);font-size:11px;line-height:1.5}:root{color-scheme:dark}html{scroll-behavior:smooth}body{background:#090909}.flow-page,.app-workspace{min-height:100vh;color:#f3f1ef;background:#090909}.flow-page{max-width:1440px;margin:0 auto;padding:0 clamp(24px,5vw,76px)}.flow-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292929}.flow-brand,.flow-nav a,.flow-footer a{display:inline-flex;align-items:center;gap:8px;color:#f3f1ef;text-decoration:none;font-size:13px;font-weight:700}.flow-brand{font-size:15px}.flow-nav nav{display:flex;align-items:center;gap:25px}.flow-nav nav>a:not(.flow-nav__signin){color:#9e9aa2;font-weight:550}.flow-nav__signin{padding:9px 12px;border:1px solid #49454c;border-radius:5px}.flow-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:center;gap:clamp(52px,10vw,170px);padding:clamp(86px,11vw,168px) 0}.flow-hero>*{position:relative;z-index:1}.flow-glow{position:absolute;z-index:0;top:-18%;right:-12%;width:560px;height:560px;background:radial-gradient(circle,rgba(58,112,237,.35),transparent 70%);filter:blur(50px);pointer-events:none}.flow-kicker{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:#8bacfa;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.flow-hero h1,.app-workspace h1{max-width:840px;margin:0;font-size:clamp(50px,6.4vw,94px);font-weight:640;line-height:.95;letter-spacing:-.074em}.flow-hero__copy{max-width:580px;margin:31px 0;color:#a4a0a8;font-size:17px;line-height:1.65}.flow-hero__buttons{display:flex;align-items:center;gap:26px}.flow-button,.flow-text-link{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:750}.flow-button{padding:14px 16px;border-radius:5px;background:#3a70ed}.flow-button:hover{background:#5c8af6}.flow-text-link{color:#c5c0c9}.flow-overview{min-height:400px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;border:1px solid #343037;border-radius:10px;background:linear-gradient(145deg,#19151e,#101010 65%)}.flow-overview__top,.flow-stat-row{display:flex;justify-content:space-between;color:#a7a2aa;font-size:12px;font-weight:650}.flow-live{color:#c8c3cc}.flow-live i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:100%;background:#63d59a}.flow-overview h2{margin:0;font-size:clamp(32px,3vw,46px);line-height:1.02;letter-spacing:-.055em}.hero-illustration{width:100%;height:auto;margin:18px 0 6px}.flow-stat-row{padding-top:22px;border-top:1px solid #38333b}.flow-stat-row div{display:grid;gap:5px}.flow-stat-row b{color:#fff;font-size:30px;letter-spacing:-.04em}.flow-stat-row span{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.flow-features{padding:20px 0 50px;border-top:1px solid #292929}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid #353139;border-radius:9px;background:#121212;transition:transform .2s ease,border-color .2s ease,background .2s ease}.feature-card:hover{transform:translateY(-5px);border-color:#607bbb;background:#171419}.feature-card:hover .feature-card__icon{background:#23335c;color:#b5cbfd}.feature-card__icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:4px;border-radius:16px;color:#adc4fb;background:#1c2742;transition:background .2s ease,color .2s ease}.feature-card h3{margin:0;font-size:17px;font-weight:640;letter-spacing:-.02em}.feature-card p{margin:0;color:#a4a0a8;font-size:13px;line-height:1.55}@media(max-width:800px){.feature-grid{grid-template-columns:1fr}}@media(min-width:801px)and (max-width:1150px){.feature-grid{grid-template-columns:repeat(2,1fr)}}.flow-workspaces{padding:32px 0 130px;border-top:1px solid #292929}.section-heading{display:grid;grid-template-columns:.7fr 1fr;align-items:end;gap:30px;padding:54px 0}.section-heading h2,.flow-why h2{margin:0;font-size:clamp(34px,4.2vw,60px);font-weight:570;line-height:1;letter-spacing:-.06em}.role-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.role-card{min-height:350px;display:flex;flex-direction:column;padding:23px;border:1px solid #353139;border-radius:9px;background:#121212;transition:transform .22s ease,border-color .22s ease,background .22s ease}.role-card:hover{transform:translateY(-6px);border-color:#607bbb;background:#171419}.role-card:nth-child(1),.role-card:nth-child(2),.role-card:nth-child(3){grid-column:span 4}.role-card:nth-child(4),.role-card:nth-child(5){grid-column:span 6}.role-card__icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:auto;border-radius:7px;color:#adc4fb;background:#1c2742}.role-card>span{margin-top:35px;color:#918b94;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.role-card h3{margin:12px 0 9px;font-size:28px;font-weight:590;line-height:1;letter-spacing:-.045em}.role-card p{max-width:350px;margin:0;color:#aaa5ad;line-height:1.55;font-size:14px}.role-card__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.role-card__links a{display:inline-flex;align-items:center;gap:4px;padding:7px 8px;border:1px solid #413c44;border-radius:4px;color:#d3ced6;text-decoration:none;font-size:11px}.flow-why{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:84px 0;border-top:1px solid #292929}.network-illustration{width:200px;height:auto;margin-top:32px}.flow-why__points{display:grid;gap:0}.flow-why__points p{display:grid;grid-template-columns:48px 1fr;gap:15px;margin:0;padding:18px 0;border-bottom:1px solid #292929;color:#c3bdc6;line-height:1.5}.flow-why__points b{color:#7598e9;font-size:12px}.flow-footer{min-height:88px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #292929;color:#9e9aa2;font-weight:700;font-size:13px}.flow-footer a{color:#f3f1ef}.app-workspace{padding:100px 8vw}.app-workspace__heading>p:last-child{max-width:550px;margin:27px 0 48px;color:#aaa5ad;font-size:17px;line-height:1.6}.quick-actions{max-width:760px;border-top:1px solid #302d32}.quick-actions button{width:100%;display:grid;grid-template-columns:45px 40px 1fr 20px;gap:12px;align-items:center;padding:22px 0;border:0;border-bottom:1px solid #302d32;background:transparent;color:#f3f1ef;font:inherit;text-align:left;cursor:pointer}.quick-actions button:hover{color:#9cbaff}.quick-actions button span{color:#827b86;font-size:11px}.quick-actions button svg{color:#8bacfa}@media(max-width:800px){.flow-hero,.flow-why,.section-heading{grid-template-columns:1fr;gap:34px}.flow-hero{padding:82px 0}.role-card:nth-child(n){grid-column:span 12;min-height:285px}.flow-nav nav>a:not(.flow-nav__signin){display:none}.flow-why{padding:60px 0}}@media(max-width:500px){.flow-page{padding:0 20px}.flow-nav{min-height:70px}.flow-hero__buttons{align-items:flex-start;flex-direction:column}.flow-overview{min-height:320px}.app-workspace{padding:70px 24px}}.ws-heading{margin:0 0 16px;font-size:15px;font-weight:650;letter-spacing:-.01em}.ws-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:46px}.ws-stat{display:grid;gap:4px;padding:20px;border:1px solid #302d32;border-radius:10px;background:#121212}.ws-stat svg{color:#8bacfa;margin-bottom:6px}.ws-stat b{font-size:28px;font-weight:620;letter-spacing:-.04em}.ws-stat span{color:#d3ced6;font-size:13px}.ws-stat small{color:#827b86;font-size:11px}.ws-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}.quick-actions a{width:100%;display:grid;grid-template-columns:45px 40px 1fr 20px;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid #302d32;color:#f3f1ef;text-decoration:none}.quick-actions a:hover{color:#9cbaff}.quick-actions a span{color:#827b86;font-size:11px}.quick-actions a svg{color:#8bacfa}.quick-actions strong{display:grid;gap:3px;font-weight:650}.quick-actions strong em{color:#918b94;font-size:12px;font-style:normal;font-weight:400}.ws-side{display:grid;gap:18px}.ws-panel{padding:22px;border:1px solid #302d32;border-radius:10px;background:#121212}.ws-alert{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #262329;color:#f3f1ef;text-decoration:none}.ws-alert:last-child{border-bottom:0;padding-bottom:0}.ws-alert svg{margin-top:2px;color:#fbbf24}.ws-alert span{display:grid;gap:3px}.ws-alert strong{font-size:13px;font-weight:600}.ws-alert em{color:#918b94;font-size:12px;font-style:normal}.ws-alert:hover strong{color:#9cbaff}.ws-empty{margin:0;color:#827b86;font-size:12px;line-height:1.55}.ws-dept{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ws-dept li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid #262329}.ws-dept li:last-child{border-bottom:0;padding-bottom:0}.ws-dept span{color:#d3ced6;font-size:13px}.ws-dept b{font-size:14px}.ws-dept small{min-width:78px;color:#827b86;font-size:11px;text-align:right}.ws-roles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.ws-roles span{padding:6px 10px;border-radius:999px;color:#adc4fb;background:#1c2742;font-size:11px;font-weight:600;text-transform:capitalize}@media(max-width:900px){.ws-columns{grid-template-columns:1fr;gap:28px}}.auth-page{min-height:100vh;padding:0 5vw;background:#080808;color:#f5f3f0}.auth-nav{min-height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #292929;color:#8c8991;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.auth-nav a{color:#f5f3f0;text-decoration:none}.auth-layout{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:clamp(56px,10vw,170px);align-items:center}.auth-intro{max-width:700px;padding:70px 0}.auth-eyebrow{margin:0 0 20px;color:#8bacfa;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-intro h1{margin:0;font-size:clamp(46px,5.8vw,86px);font-weight:620;line-height:.96;letter-spacing:-.07em}.auth-intro>p:not(.auth-eyebrow){max-width:525px;margin:31px 0;color:#a5a2aa;font-size:17px;line-height:1.65}.auth-benefits{display:flex;flex-wrap:wrap;gap:8px}.auth-benefits span{padding:8px 11px;border:1px solid #363238;border-radius:999px;color:#c5c0c9;font-size:12px}.auth-card{padding:clamp(30px,4vw,54px);border:1px solid #302b34;border-radius:8px;background:#111}.auth-card h2{margin:0;font-size:36px;line-height:1;letter-spacing:-.045em}.auth-card__subtitle{margin:13px 0 38px;color:#a5a2aa;line-height:1.55}.auth-card label{display:block;margin:22px 0 8px;color:#c8c4cb;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-card input{width:100%;padding:15px 0;border:0;border-bottom:1px solid #48434c;outline:0;background:transparent;color:#fff;font:inherit;font-size:16px}.auth-card input:focus{border-bottom-color:#8bacfa}.auth-card button[type=submit]{width:100%;margin-top:36px;padding:16px;border:0;border-radius:4px;background:#3a70ed;color:#fff;font:inherit;font-weight:750;cursor:pointer}.auth-card button[type=submit]:hover{background:#5c8af6}.auth-card button[type=submit]:disabled{opacity:.6;cursor:default}.auth-card__error{margin:18px 0 -12px;color:#ff8fae;font-size:13px}.auth-card__note{margin:24px 0 0;color:#817b85;font-size:12px;line-height:1.5}@media(max-width:800px){.auth-page{padding:0 24px}.auth-layout{grid-template-columns:1fr;gap:0}.auth-intro{padding:70px 0 46px}.auth-card{margin-bottom:50px}.auth-nav span{display:none}}.roles-checklist{margin-bottom:8px}.roles-checklist__item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);margin-bottom:8px}.roles-checklist__item input{width:auto;margin:0}.panel__hint{margin:0 0 16px;font-size:12px;color:#fbbf24}.account-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);margin:8px 0 20px}.account-status input{width:auto}.admin-page{min-height:100vh;background:var(--color-bg);color:var(--color-text);padding:32px 40px;box-sizing:border-box}.admin-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-page__header h1{display:inline-block;margin:0 12px 0 0;font-family:var(--font-display);font-style:italic;font-size:32px;color:var(--color-primary)}.admin-page__header-actions{display:flex;align-items:center;gap:12px}.signed-in-as{color:var(--color-text-muted);font-size:13px}.badge{background:var(--color-primary-tint);border:1px solid var(--color-border);color:var(--color-primary-dark);font-size:11px;padding:3px 8px;border-radius:999px;vertical-align:middle}.admin-page__toolbar{display:flex;gap:12px;margin-bottom:20px}.search-input{flex:1;padding:9px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)}.admin-page__toolbar select{padding:9px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)}.btn{border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}.btn--icon{display:inline-flex;align-items:center;gap:7px}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark)}.btn--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.error-banner{color:var(--color-danger);margin-bottom:12px}.admin-table{width:100%;border-collapse:collapse;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.admin-table th{text-align:left;font-size:12px;color:var(--color-text-muted);padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-table td{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:13px}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:var(--color-surface-alt)}.empty-row{text-align:center;color:var(--color-text-muted);cursor:default!important}.status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:var(--color-surface-alt);color:var(--color-text-muted)}.status-pill--active{background:#10281b;color:var(--color-success)}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:flex-end;z-index:10}.panel{width:380px;height:100%;background:var(--color-bg);border-left:1px solid var(--color-border);padding:24px;box-sizing:border-box;overflow-y:auto}.panel h2{margin:0 0 20px;font-family:var(--font-display);font-style:italic;font-size:24px;color:var(--color-primary)}.panel label{display:block;margin-bottom:6px;font-size:12px;color:var(--color-text-muted)}.panel input[type=email],.panel input[type=password],.panel input[type=text],.panel input[type=date],.panel select{width:100%;box-sizing:border-box;padding:9px 12px;margin-bottom:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)}.panel input:disabled,.panel select:disabled{opacity:.6}.panel__error{color:var(--color-danger);font-size:13px;margin-bottom:12px}.panel__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.admin-page__subtitle{margin:4px 0 0;color:var(--color-text-muted);font-size:13px}.admin-page__note{margin:24px 0 16px;color:var(--color-text-muted);font-size:12px}.crumb{color:inherit;text-decoration:none}.crumb:hover{color:var(--color-primary-dark)}.view-toggle{display:flex;gap:8px}.view-toggle button{padding:9px 18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer}.view-toggle button.is-active{border-color:var(--color-primary);color:var(--color-text)}.kanban{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.kanban-card{display:flex;flex-direction:column;gap:22px;padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.kanban-card:hover{border-color:var(--color-primary)}.kanban-card__top{display:flex;gap:12px;align-items:center}.kanban-card__top strong{display:block;font-size:15px}.kanban-card__role{color:var(--color-text-muted);font-size:12px}.kanban-card__foot{display:flex;flex-direction:column;gap:6px}.kanban-card__dept,.dot-status{color:var(--color-text-muted);font-size:12px}.dot-status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--color-text-muted)}.dot-status--active{color:var(--color-success)}.dot-status--active:before{background:var(--color-success)}.avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:var(--color-primary-tint);color:var(--color-primary-dark);font-size:13px;font-weight:700}.avatar--lg{width:76px;height:76px;flex-basis:76px;border-radius:14px;font-size:22px}.empty-note{color:var(--color-text-muted);font-size:13px}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.smart-buttons{display:flex;gap:12px;flex-wrap:wrap}.smart-button{padding:9px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.smart-button:hover{border-color:var(--color-primary)}.detail-card{padding:28px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.detail-identity{display:flex;gap:20px;align-items:center;margin-bottom:28px}.detail-identity h2{margin:0 0 4px;font-size:26px}.detail-identity__role,.detail-identity__contact{margin:0;color:var(--color-text-muted);font-size:13px}.detail-identity__contact{margin-top:6px}.tabs{display:flex;gap:28px;margin-bottom:26px;border-bottom:1px solid var(--color-border)}.tabs button{padding:0 0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:inherit;font-size:14px;cursor:pointer}.tabs button.is-active{border-bottom-color:var(--color-primary);color:var(--color-text)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px}.field{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px}.field--wide{grid-column:1 / -1}.field>span{color:var(--color-text-muted);font-size:13px}.field input,.field select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:13px}.field input:disabled,.field select:disabled{opacity:1;border-color:transparent;background:var(--color-surface-alt)}.contract-status{font-size:13px;font-weight:600}.contract-status--active{color:var(--color-success)}.contract-status--expired,.contract-status--terminated{color:var(--color-danger)}.contract-status--draft{color:var(--color-text-muted)}.notes-box{margin-top:28px;padding:20px 22px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.notes-box h3{margin:0 0 16px;color:var(--color-text-muted);font-size:13px;font-weight:600}.notes-box__field{display:grid;grid-template-columns:150px minmax(0,320px);align-items:center;gap:16px;margin-bottom:14px}.notes-box__field>span{color:var(--color-text-muted);font-size:13px}.notes-box__field select,.notes-box__input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:13px}.notes-box__field select:disabled{border-color:transparent;background:var(--color-surface-alt);opacity:1}.notes-box__text{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.6}.inline-check{display:flex;align-items:center;gap:8px;margin:8px 0 16px;font-size:13px;color:var(--color-text)}.inline-check input{width:auto;margin:0}@media(max-width:900px){.field-grid{grid-template-columns:1fr}.field{grid-template-columns:1fr;gap:6px}.detail-actions{flex-direction:column;align-items:flex-start}}.filter-chip{padding:9px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.filter-chip--active{border-color:var(--color-primary);color:var(--color-text)}.attendance-date{color:var(--color-text-muted);font-size:12px}.attendance-status{font-size:13px;font-weight:600}.attendance-status--present{color:var(--color-success)}.attendance-status--late,.attendance-status--exception{color:#d29922}.attendance-status--absent{color:var(--color-danger)}.attendance-status--on_leave{color:var(--color-text-muted)}.admin-table tbody tr.row--locked{cursor:not-allowed;opacity:.72}.admin-table tbody tr.row--locked:hover{background:transparent}.lock-tag{margin-left:8px;padding:2px 7px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.date-filter{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.date-filter label{color:var(--color-text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.date-filter input[type=date]{padding:9px 0;border:0;background:transparent;color:var(--color-text);font:inherit;font-size:13px}.date-filter input[type=date]:focus{outline:none}.date-filter button{padding:4px 10px;border:1px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.date-filter button:hover{border-color:var(--color-primary);color:var(--color-text)}.week{margin-top:30px;padding-top:26px;border-top:1px solid var(--color-border)}.week__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.week__head h3{margin:0;font-size:15px;font-weight:650}.week__table{width:100%;border-collapse:collapse}.week__table th{padding:0 12px 10px 0;color:var(--color-text-muted);font-size:12px;font-weight:600;text-align:left}.week__table td{padding:6px 12px 6px 0;border-top:1px solid var(--color-border);font-size:13px}.week__table select,.week__table input{width:100%;padding:9px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:13px}.week__table input[type=number]{max-width:110px}.week__hours{color:var(--color-text-muted);white-space:nowrap}.week__remove{width:30px;height:30px;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:16px;line-height:1;cursor:pointer}.week__remove:hover{border-color:var(--color-danger);color:var(--color-danger)}.week__total{display:flex;justify-content:flex-end;align-items:baseline;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border)}.week__total span{color:var(--color-text-muted);font-size:13px}.week__total strong{font-size:20px;letter-spacing:-.02em}.save-note{align-self:center;margin-right:auto;color:var(--color-success);font-size:13px}.field input[readonly]{border-color:transparent;background:var(--color-surface-alt);color:var(--color-text-muted)}@media(max-width:760px){.week__table,.week__table tbody,.week__table tr,.week__table td{display:block;width:100%}.week__table thead{display:none}.week__table tr{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.week__table input[type=number]{max-width:none}}.leave-status{font-size:13px;font-weight:600}.leave-status--approved{color:var(--color-success)}.leave-status--submitted{color:#fbbf24}.leave-status--refused{color:var(--color-danger)}.leave-status--draft{color:var(--color-text-muted)}.decide{display:flex;gap:8px}.decide button{padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background:transparent;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.decide__approve{color:var(--color-success)}.decide__approve:hover:not(:disabled){border-color:var(--color-success)}.decide__refuse{color:var(--color-danger)}.decide__refuse:hover:not(:disabled){border-color:var(--color-danger)}.decide button:disabled{opacity:.45;cursor:not-allowed}.decide--lg button{padding:9px 20px;font-size:13px}.decide__done{color:var(--color-text-muted);font-size:12px}.reason-box{margin-top:26px;padding:18px 20px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.reason-box h3{margin:0 0 8px;color:var(--color-text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.reason-box p{margin:0;font-size:14px;line-height:1.55}.balance-note{margin:18px 0 0;color:var(--color-text-muted);font-size:13px}.balance-note strong{color:var(--color-text)}.balance-remaining{color:var(--color-text);font-weight:600}.type-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--color-text-muted);vertical-align:middle}.type-dot--blue{background:#60a5fa}.type-dot--green{background:#4ade80}.type-dot--red{background:#f87171}.type-dot--amber{background:#fbbf24}.type-dot--purple{background:#a78bfa}.payrun-list{display:flex;flex-direction:column;gap:14px}.payrun-card{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px 24px;align-items:center;gap:24px;padding:18px 22px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);text-decoration:none}.payrun-card:hover{border-color:var(--color-primary)}.payrun-card__name{display:block;font-size:16px;font-weight:600}.payrun-card__period{display:block;margin-top:6px;color:var(--color-text-muted);font-size:13px}.payrun-card__count{color:var(--color-text-muted);font-size:13px}.payrun-card__state{display:flex;flex-direction:column;gap:6px}.payrun-card__open{display:grid;place-items:center;color:var(--color-primary-dark)}.payrun-status{font-size:13px;font-weight:600}.payrun-status--paid,.payrun-status--validated{color:var(--color-success)}.payrun-status--computed{color:#fbbf24}.payrun-status--draft{color:var(--color-text-muted)}.payrun-warn{font-size:12px;color:#fbbf24}.payrun-warn--none{color:var(--color-text-muted)}.payrun-warn--blocking{color:var(--color-danger)}.payrun-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px}.payrun-metric{padding:16px 18px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.payrun-metric span{display:block;color:var(--color-text-muted);font-size:12px}.payrun-metric strong{display:block;margin-top:6px;font-size:20px;font-weight:600}.payrun-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.money{font-variant-numeric:tabular-nums}.payslip-line--deduction .money{color:var(--color-danger)}.payslip-total td{border-top:1px solid var(--color-border);font-weight:600}.payslip-total--net td{color:var(--color-success);font-size:14px}.warning-list{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.warning-item{display:flex;gap:12px;align-items:baseline;padding:12px 16px;border:1px solid var(--color-border);border-left-width:3px;border-radius:8px;background:var(--color-bg);font-size:13px}.warning-item--blocking{border-left-color:var(--color-danger)}.warning-item--advisory{border-left-color:#fbbf24}.warning-item__tag{flex:0 0 auto;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:grid;place-items:center;padding:24px;z-index:20}.modal{width:min(880px,100%);max-height:88vh;display:flex;flex-direction:column;padding:22px 26px 20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-sizing:border-box}.modal--sm{width:min(460px,100%)}.modal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal__head h2{margin:0;font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--color-text)}.modal__close{border:0;background:transparent;color:var(--color-text-muted);font-size:22px;line-height:1;cursor:pointer}.modal__close:hover{color:var(--color-text)}.modal__body{overflow-y:auto}.modal__body--table{border:1px solid var(--color-border);border-radius:10px;margin-bottom:18px}.modal__toolbar{display:flex;align-items:center;gap:16px;margin-bottom:14px}.modal__count{flex:0 0 auto;color:var(--color-text-muted);font-size:13px}.modal__actions{display:flex;gap:14px;align-items:center;margin-top:4px}.modal__actions--left{justify-content:flex-start}.btn--link{background:transparent;border:0;color:var(--color-text-muted);text-decoration:none}.btn--link:hover{color:var(--color-text)}.stack-field{display:block;margin-bottom:16px}.stack-field>span{display:block;margin-bottom:6px;color:var(--color-text-muted);font-size:12px}.stack-field input,.stack-field select{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:13px}.period-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pick-col{width:44px;text-align:center}.pick-col input{cursor:pointer}.pick-flag{margin-left:10px;color:#fbbf24;font-size:11px}.payrun-form{display:grid;grid-template-columns:150px minmax(0,320px);align-items:center;gap:14px 20px;margin-bottom:30px}.payrun-form>span{color:var(--color-text-muted);font-size:13px}.payrun-form>input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:13px}.section-heading{margin:0 0 14px;color:var(--color-primary-dark);font-size:15px;font-weight:600}.btn--send{background:#8bacfa;color:#17161a}.btn--send:hover:not(:disabled){background:#b5cbfd}.btn:disabled{opacity:.45;cursor:not-allowed}.pdf-actions{display:flex;gap:10px;align-items:center}.pdf-link{border:0;background:transparent;color:var(--color-primary-dark);font:inherit;font-size:13px;cursor:pointer;padding:0}.pdf-link:hover{text-decoration:underline}.warn-cell{color:#fbbf24;font-size:12px}.warn-cell--none{color:var(--color-text-muted)}.warn-cell--blocking{color:var(--color-danger)}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}.metric-card{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.metric-card>span{color:var(--color-text-muted);font-size:12px}.metric-card>strong{font-size:24px;font-weight:700}.metric-delta{font-style:normal;font-size:12px;color:var(--color-text-muted)}.metric-delta--up{color:var(--color-success)}.metric-delta--down{color:var(--color-danger)}.dash-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px;align-items:start}.chart-source{margin:-6px 0 14px;color:var(--color-text-muted);font-size:11px}.chart-subheading{display:block;margin-bottom:10px;color:var(--color-text-muted);font-size:12px;font-weight:600}.chart-svg{width:100%;height:auto;overflow:visible}.chart-bar{fill:var(--color-primary)}.chart-bar-value{fill:var(--color-text);font-size:11px;font-weight:600}.chart-axis-label{fill:var(--color-text-muted);font-size:11px}.chart-line{stroke:var(--color-primary-dark);stroke-width:2.5}.chart-dot{fill:var(--color-primary-dark)}.chart-peak-label{fill:var(--color-text);font-size:11px;font-weight:700}.status-split{margin-bottom:22px}.chart-stack{display:flex;width:100%;height:14px;border-radius:999px;overflow:hidden;background:var(--color-surface-alt)}.chart-stack__seg{display:block;height:100%}.chart-stack__seg--paid{background:var(--color-success)}.chart-stack__seg--done{background:#60a5fa}.chart-stack__seg--pending{background:#fbbf24}.chart-stack__seg--warning{background:var(--color-danger)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.chart-legend__item{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:12px}.chart-legend__dot{display:inline-block;width:8px;height:8px;border-radius:50%}.alert-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.alert-list__item{padding:8px 12px;border-left:3px solid var(--color-border);border-radius:6px;background:var(--color-bg);font-size:12px;color:var(--color-text)}.alert-list__item--blocking{border-left-color:var(--color-danger)}.alert-list__item--advisory{border-left-color:#fbbf24}.stat-lines{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.stat-lines li{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:12px;padding:6px 0;border-bottom:1px solid var(--color-border)}.stat-lines li:last-child{border-bottom:none}.stat-lines b{color:var(--color-text);font-weight:600}@media(max-width:900px){.payrun-card{grid-template-columns:1fr auto;gap:12px}.payrun-card__open{display:none}.payrun-form{grid-template-columns:1fr;gap:6px}.dash-grid-3{grid-template-columns:1fr}}
