:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;--bg:#f5f6f6;--paper:#fff;--ink:#202222;--muted:#737a79;--border:#e5e8e7;--orange:#f47725;--orange-dark:#ab480d;--soft:#fff1e6;--green:#167d5a;--violet:#635b95;--shadow:0 12px 36px rgba(31,40,39,.035)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#171b1c;--paper:#242a2a;--ink:#f5f6f5;--muted:#a9b3b0;--border:#394140;--soft:#473429;--orange-dark:#ffac6d;--green:#8bdbb8;--violet:#aca3ea;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--paper);color:var(--ink);outline:none}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:0 0 14px}label input,label select,label textarea{margin-top:7px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--orange);color:#201812;font-weight:750;border:0;border-radius:12px;padding:13px 18px;min-height:46px}.primary:hover{filter:brightness(.96)}.secondary,.pill{border:1px solid var(--border);border-radius:10px;background:var(--paper);color:var(--ink);padding:10px 14px;font-weight:650;min-height:42px}.pill.active{background:var(--ink);color:var(--paper)}.danger{color:#b24439!important}.small-action{padding:7px 10px;font-size:12px}.text-button{background:none;border:0;color:var(--muted);padding:8px 0;text-align:left}.text-button:hover{color:var(--orange-dark)}.muted{color:var(--muted)}.eyebrow,.sidebar-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--orange-dark)}.fine{font-size:12px;color:var(--muted)}[hidden]{display:none!important}
.auth-wrap{min-height:100svh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 5% 4%,#f6d6bf 0,transparent 30%),var(--bg)}.auth-card{background:var(--paper);max-width:430px;width:100%;padding:38px;border:1px solid var(--border);border-radius:23px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;justify-content:center;width:122px;height:66px;background:#161616;border-radius:12px;margin-bottom:30px;overflow:hidden}.brand img{max-width:90%;max-height:90%;object-fit:contain}.brand.small{width:94px;height:43px;margin:0;border-radius:0}.brand.small img{max-height:95%}.auth-card h1{font-size:32px;line-height:1.15;margin:10px 0}.auth-card p{color:var(--muted);line-height:1.6}.auth-card form{margin-top:27px}.auth-card form button{width:100%;margin-top:10px}
.topbar{background:#18191a;color:#fff;height:62px}.top-inner{max-width:1460px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.top-right{display:flex;align-items:center;gap:10px;color:#d5d7d5;font-size:10px;letter-spacing:.13em;font-weight:750}.status-dot{width:7px;height:7px;border-radius:50%;background:#ef852f}.icon-button{border:0;background:transparent;color:inherit;font-size:23px;padding:5px 10px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1460px;margin:auto;min-height:calc(100svh - 62px)}.sidebar{border-right:1px solid var(--border);padding:32px 16px;display:flex;flex-direction:column;gap:18px}.sidebar-label{padding:0 15px;color:var(--muted)}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--muted);width:100%;text-align:left;border-radius:10px;min-height:43px;padding:0 15px;font-weight:660;font-size:13px}.nav-item.active{background:var(--soft);color:var(--orange-dark)}.nav-icon{width:22px;font-size:18px;text-align:center}.sidebar-bottom{margin-top:auto;padding:15px;border-top:1px solid var(--border)}.sidebar-profile{display:flex;align-items:center;gap:10px}.sidebar-profile small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sidebar-profile strong{font-size:13px}.avatar,.mini-avatar{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#f8dfc9;color:#8e400c;font-size:12px;font-weight:800}.mini-avatar{width:32px;height:32px;background:var(--soft);color:var(--orange-dark)}.content{padding:38px 42px 100px;max-width:1150px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:26px}.page-head h1{font-size:32px;letter-spacing:-.045em;line-height:1.12;margin:7px 0}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-head .eyebrow{display:block}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:19px;box-shadow:var(--shadow);min-width:0}.card.span{grid-column:1/-1}.card h2{font-size:15px;margin:0 0 13px;letter-spacing:-.015em}.card h3{font-size:13px;margin:0 0 6px}.card p{color:var(--muted);font-size:13px;line-height:1.5}.metric{font-size:31px;font-weight:780;letter-spacing:-.06em;margin:8px 0 2px}.metric.orange{color:var(--orange-dark)}.stat-label{font-size:12px;color:var(--muted)}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.row:first-of-type{border-top:0}.row-main{min-width:0;flex:1}.row-main strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis}.row-main small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.tag{background:var(--soft);color:var(--orange-dark);padding:5px 8px;border-radius:6px;font-size:10px;font-weight:760;white-space:nowrap}.tag.green{color:var(--green);background:transparent}.tag.violet{color:var(--violet);background:transparent}.filters{display:flex;gap:8px;margin:0 0 15px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.form-grid .wide{grid-column:1/-1}.form-grid button{align-self:end;margin-bottom:14px}.empty{border:1px dashed var(--border);border-radius:12px;padding:26px;text-align:center;color:var(--muted);font-size:13px}.section-note{background:var(--soft);padding:12px 14px;border-radius:10px;color:var(--orange-dark);font-size:12px;line-height:1.5;margin:0 0 17px}.chat-log{height:360px;overflow-y:auto}.bubble{max-width:85%;margin:10px 0;padding:9px 12px;border-radius:12px;background:var(--bg);font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{margin-left:auto;background:var(--soft)}.bubble small{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.chat-form{display:flex;gap:8px;margin-top:16px}.chat-form button{flex-shrink:0}.chat-form input{min-width:0}.toast{position:fixed;bottom:22px;right:22px;background:#242525;color:#fff;padding:13px 16px;border-radius:10px;box-shadow:0 10px 30px #0003;display:none;z-index:100;max-width:360px;font-size:13px}.toast.show{display:block}
.attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;margin-bottom:22px;background:var(--bg);border-radius:12px}.attendance-summary .metric{font-size:38px}.attendance-card .row:last-child{border-bottom:1px solid var(--border)}
.sync-status{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 17px}.sync-status time{font-weight:700;color:var(--ink)}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:25px 20px 112px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-inner{padding:0 18px}}
@media(max-width:560px){.content{padding:23px 15px 115px}.grid,.grid.two{grid-template-columns:1fr}.page-head h1{font-size:27px}.page-head{align-items:start}.page-head .primary{font-size:12px;padding:9px 11px;min-height:40px}.form-grid{grid-template-columns:1fr}.top-right span:not(.status-dot){display:none}.card{padding:16px}.auth-card{padding:25px}.auth-card h1{font-size:29px}}
.topbar{position:relative;z-index:35}.top-brand{display:flex;align-items:center;gap:8px}.nav-toggle{display:none;min-height:44px;min-width:44px}.nav-backdrop{position:fixed;inset:62px 0 0;background:rgba(0,0,0,.52);border:0;z-index:29}
@media(max-width:850px){.nav-toggle{display:inline-grid;place-items:center}.sidebar{position:fixed;display:flex;top:62px;bottom:0;left:0;width:min(270px,84vw);padding:22px 14px max(20px,env(safe-area-inset-bottom));background:var(--paper);z-index:30;overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:10px 0 30px #0002}.sidebar.open{transform:translateX(0)}body.nav-open{overflow:hidden}.content{padding-bottom:40px}}
@media(max-width:560px){.content{padding-bottom:34px}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
.calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-months.single{grid-template-columns:minmax(0,420px)}.calendar-month{border:1px solid var(--border);border-radius:12px;padding:12px;min-width:0}.calendar-month h3{text-transform:capitalize}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-weekday{text-align:center;color:var(--muted);font-size:10px;font-weight:700;padding:3px 0}.absence-day{display:grid;place-items:center;min-width:0;aspect-ratio:1;border-radius:6px;font-size:11px;color:var(--ink)}.absence-day.vacation{background:#def0e7;color:#145839;font-weight:800}.absence-day.pending{background:#fff0d9;color:#805214;font-weight:800}.absence-day.sick{background:#eee8fc;color:#50388e;font-weight:800}.calendar-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:14px;font-size:12px}.calendar-legend .vacation{color:var(--green)}.calendar-legend .pending{color:var(--orange-dark)}.calendar-legend .sick{color:var(--violet)}.workdays{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.weekday-option{display:flex;align-items:center;gap:4px;margin:0}.weekday-option input{width:auto;margin:0}.approval-form{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.approval-form label{max-width:110px;margin:0}.approval-form input{padding:7px 8px}.approval-form button{min-height:35px}
@media(max-width:1000px){.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.calendar-months{grid-template-columns:1fr}.calendar-months.single{grid-template-columns:1fr}.approval-form{width:100%}}
.notification-count{margin-left:auto;background:var(--orange);color:#221910;border-radius:99px;padding:2px 7px;font-size:11px;font-weight:800}#notifications-top{font-size:18px;white-space:nowrap}#notifications-count{font-size:12px;background:var(--orange);color:#221910;border-radius:99px;padding:1px 5px}#pending-absences{grid-column:1/-1;scroll-margin-top:20px}
