@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Source+Serif+4:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper:oklch(98.5% .004 85);--paper-2:oklch(96.5% .005 85);--paper-3:oklch(94% .006 85);--rule:oklch(88% .008 85);--rule-strong:oklch(78% .01 85);--ink:oklch(20% .012 255);--ink-2:oklch(38% .015 255);--ink-3:oklch(55% .012 255);--ink-4:oklch(70% .01 255);--navy:oklch(30% .055 255);--navy-2:oklch(24% .055 255);--navy-3:oklch(42% .055 255);--navy-tint:oklch(95% .015 255);--amber:oklch(72% .13 75);--amber-tint:oklch(95% .035 85);--brand-red:oklch(55% .21 27);--brand-red-2:oklch(48% .21 27);--brand-red-tint:oklch(96% .03 27);--green:oklch(55% .1 150);--green-tint:oklch(94% .03 150);--red:oklch(55% .15 25);--red-tint:oklch(95% .03 25);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--r1:4px;--r2:6px;--r3:8px;--sans:"Inter Tight", "Inter", -apple-system, system-ui, sans-serif;--serif:"Source Serif 4", "Source Serif Pro", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fw-reg:400;--fw-med:500;--fw-sbd:600;--fw-bld:700;--shadow-1:0 1px 0 oklch(88% .008 85);--shadow-2:0 1px 2px oklch(20% .01 255/.06), 0 2px 8px oklch(20% .01 255/.04);--shadow-pop:0 8px 24px oklch(20% .01 255/.12), 0 2px 6px oklch(20% .01 255/.08)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.app{grid-template-rows:56px 1fr;grid-template-columns:232px 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--rule);z-index:40;background:#fff;grid-column:1/-1;grid-template-columns:232px 1fr auto;align-items:center;height:56px;display:grid;position:sticky;top:0}.brand{padding:0 var(--s4);border-right:1px solid var(--rule);background:#000;align-items:center;gap:10px;min-width:0;height:56px;display:flex;overflow:hidden}.brand-logo{object-fit:contain;flex:none;width:auto;max-width:96px;height:28px;display:block}.brand-divider{background:oklch(100% 0 0/.22);flex:none;width:1px;height:22px}.brand-tag{color:oklch(100% 0 0/.8);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex:0 auto;min-width:0;font-size:10px;font-weight:600;line-height:1}.topbar-center{padding:0 var(--s6);align-items:center;display:flex}.search{align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3);border:1px solid var(--rule);border-radius:var(--r2);background:var(--paper-2);color:var(--ink-3);flex:0 420px;font-size:13px;display:flex}.search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search kbd{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink-3);background:#fff;border-radius:3px;padding:2px 5px;font-size:10px}.topbar-right{align-items:center;gap:var(--s2);padding:0 var(--s5);height:56px;display:flex}.icon-btn{border-radius:var(--r2);width:32px;height:32px;color:var(--ink-2);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--paper-2);border-color:var(--rule)}.icon-btn .dot{background:var(--amber);border:1.5px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.avatar-chip{border:1px solid var(--rule);border-radius:var(--r2);margin-left:var(--s2);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.avatar-chip:hover{background:var(--paper-2)}.avatar-circle{background:var(--navy);color:#fff;letter-spacing:.04em;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:grid}.avatar-name{font-size:13px;font-weight:500}.sidebar{border-right:1px solid var(--rule);padding:var(--s5) var(--s3);background:#fff;flex-direction:column;grid-area:2/1;display:flex;overflow-y:auto}.nav-group{margin-bottom:var(--s5)}.nav-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);padding:0 var(--s3);margin-bottom:var(--s2);font-size:10px;font-weight:600;display:block}.nav-item{padding:7px var(--s3);border-radius:var(--r2);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;font-size:13px;font-weight:500;text-decoration:none;transition:background 80ms;display:flex;position:relative}.nav-item:hover{background:var(--paper-2);color:var(--ink)}.nav-item.active{background:var(--navy);color:#fff}.nav-item .nav-icon{color:var(--ink-3);flex-shrink:0;display:flex}.nav-item:hover .nav-icon{color:var(--ink-2)}.nav-item.active .nav-icon{color:#fff}.nav-count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:500}.nav-item.active .nav-count{color:oklch(85% .02 255)}.sidebar-footer{padding-top:var(--s5);margin-top:auto}.sidebar-help{padding:var(--s3);border:1px solid var(--rule);border-radius:var(--r2);background:var(--paper-2)}.sidebar-help h4{color:var(--ink);margin:0 0 4px;font-size:12px;font-weight:600}.sidebar-help p{margin:0 0 var(--s2);color:var(--ink-3);font-size:11px;line-height:1.45}.sidebar-help a{color:var(--navy);font-size:11px;font-weight:600;text-decoration:none}.main{padding:var(--s8) var(--s10);grid-area:2/2;overflow-y:auto}.main-inner{max-width:1200px;margin:0 auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s6);padding-bottom:var(--s5);margin-bottom:var(--s6);border-bottom:1px solid var(--rule);display:flex}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:600}.page-title{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:600;line-height:1.15}.page-sub{color:var(--ink-2);max-width:640px;margin:6px 0 0;font-size:14px}.page-meta{color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-size:12px;line-height:1.6}.page-meta strong{color:var(--ink);font-weight:600}.btn{border-radius:var(--r2);height:34px;color:var(--ink);letter-spacing:-.005em;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-2)}.btn-secondary{border-color:var(--rule-strong);color:var(--ink);background:#fff}.btn-secondary:hover{background:var(--paper-2)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{background:var(--paper-2)}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-lg{height:40px;padding:0 18px;font-size:14px}.card{border:1px solid var(--rule);border-radius:var(--r3);background:#fff}.card-head{padding:var(--s4) var(--s5);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.card-head h3{letter-spacing:-.005em;margin:0;font-size:13px;font-weight:600}.card-head .sub{color:var(--ink-3);font-size:11px;font-weight:500}.card-body{padding:var(--s5)}.chip{letter-spacing:.01em;border:1px solid var(--rule);background:var(--paper-2);height:20px;color:var(--ink-2);border-radius:10px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.chip .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.chip-approved{background:var(--green-tint);color:oklch(35% .08 150);border-color:oklch(85% .05 150)}.chip-approved .dot{background:var(--green)}.chip-pending{background:var(--amber-tint);color:oklch(40% .1 75);border-color:oklch(85% .06 75)}.chip-pending .dot{background:var(--amber)}.chip-declined{background:var(--red-tint);color:oklch(40% .12 25);border-color:oklch(85% .06 25)}.chip-declined .dot{background:var(--red)}.chip-new{background:var(--navy-tint);color:var(--navy-2);border-color:oklch(85% .03 255)}.chip-new .dot{background:var(--navy)}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:10px var(--s4);border-bottom:1px solid var(--rule);background:var(--paper-2);font-size:11px;font-weight:600}.tbl td{padding:12px var(--s4);border-bottom:1px solid var(--rule);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--paper-2)}.tbl .num{font-variant-numeric:tabular-nums;text-align:right}.kv{border-bottom:1px dashed var(--rule);justify-content:space-between;align-items:baseline;padding:10px 0;font-size:13px;display:flex}.kv:last-child{border-bottom:0}.kv .k{color:var(--ink-3)}.kv .v{font-variant-numeric:tabular-nums;font-weight:600}.row{align-items:center;gap:var(--s3);display:flex}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--ink-3)}:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:var(--r2)}.quick-actions{gap:var(--s3);margin-bottom:var(--s6);grid-template-columns:repeat(4,1fr);display:grid}.quick-action{align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--rule);border-radius:var(--r3);text-align:left;background:#fff;transition:border-color .12s,transform .12s;display:flex}.quick-action:hover{border-color:var(--navy);box-shadow:var(--shadow-2);transform:translateY(-1px)}.qa-icon{background:var(--navy-tint);width:36px;height:36px;color:var(--navy);border-radius:var(--r2);flex-shrink:0;place-items:center;display:grid}.qa-label{color:var(--ink);font-size:13px;font-weight:600}.qa-sub{color:var(--ink-3);margin-top:2px;font-size:11px}.quick-action .qa-arrow{color:var(--ink-3);margin-left:auto}.quick-action:hover .qa-arrow{color:var(--navy)}.tasks-strip{align-items:center;gap:var(--s3);padding:10px var(--s5);background:var(--navy-tint);border-radius:var(--r3);margin-bottom:var(--s5);border:1px solid oklch(85% .03 255);flex-wrap:wrap;display:flex}.tasks-strip-label{letter-spacing:.08em;text-transform:uppercase;color:var(--navy-2);padding-right:var(--s3);border-right:1px solid oklch(85% .03 255);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.task-pill{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:8px;padding:4px 10px 4px 6px;font-size:12px;display:flex}.task-check{border:1.5px solid var(--ink-4);border-radius:50%;flex-shrink:0;width:14px;height:14px}.task-due{color:var(--ink-3);border-left:1px dashed var(--rule);margin-left:2px;padding-left:6px;font-size:11px;font-weight:500}.home-grid{gap:var(--s5);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.home-col-main,.home-col-side{gap:var(--s5);flex-direction:column;display:flex}.annc{padding:var(--s5);border-bottom:1px solid var(--rule)}.annc:last-child{border-bottom:0}.annc-pinned{background:linear-gradient(to right, var(--brand-red-tint), transparent 40%);border-left:3px solid var(--brand-red);padding-left:calc(var(--s5) - 3px)}.annc-meta{align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.annc-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600}.annc-pin{color:var(--brand-red);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:3px;font-size:10px;font-weight:600;display:inline-flex}.annc-time{color:var(--ink-3)}.annc-title{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.25}.annc-body{margin:0 0 var(--s3);color:var(--ink-2);max-width:58ch;font-size:13px;line-height:1.55}.annc-foot{color:var(--ink-2);justify-content:space-between;font-size:12px;display:flex}.annc-foot a{color:var(--navy);font-weight:600;text-decoration:none}.row-item{align-items:center;gap:var(--s3);padding:12px var(--s5);border-bottom:1px solid var(--rule);display:flex}.row-item:last-child{border-bottom:0}.row-item>:last-child{margin-left:auto}.row-item-title{color:var(--ink);font-size:13px;font-weight:500}.row-item-sub{color:var(--ink-3);margin-top:2px;font-size:11px}.sched-day{min-width:68px;padding-right:var(--s3);border-right:1px solid var(--rule)}.sched-dow{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.sched-when{color:var(--ink-3);margin-top:2px;font-size:11px}.evt-date{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r2);flex-shrink:0;grid-template-rows:auto auto;place-items:center;width:44px;height:44px;padding:6px 0;line-height:1;display:grid}.evt-d{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.evt-m{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:600}.leave-nums{justify-content:space-between;align-items:baseline;gap:var(--s4);margin-bottom:var(--s4);display:flex}.leave-n{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;line-height:1}.leave-l{color:var(--ink-3);margin-top:4px;font-size:12px}.leave-split{text-align:right;font-size:11px;line-height:1.7}.sw{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.sw-navy{background:var(--navy)}.sw-amber{background:var(--amber)}.sw-ghost{background:var(--paper-3);border:1px solid var(--rule)}.leave-bar{background:var(--paper-3);height:8px;margin-bottom:var(--s4);border-radius:4px;display:flex;overflow:hidden}.seg-booked{background:var(--navy)}.seg-pending{background:var(--amber)}.next-leave{border:1px solid var(--rule);border-radius:var(--r2);background:var(--paper-2);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.next-leave-l{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.next-leave-v{font-size:13px;font-weight:500}.placeholder-card{border:1px dashed var(--rule-strong);border-radius:var(--r3);padding:var(--s12) var(--s8);text-align:center;background:var(--paper-2)}.placeholder-icon{width:56px;height:56px;margin:0 auto var(--s4);border:1px solid var(--rule);color:var(--ink-2);background:#fff;border-radius:50%;place-items:center;display:grid}.placeholder-card h3{margin:0 0 6px;font-size:16px;font-weight:600}.placeholder-card p{color:var(--ink-3);max-width:52ch;margin:0 auto;font-size:13px}
