:root{--ink:#202724;--muted:#65716c;--green:#146b58;--nav:#1e2d29;--paper:#f7f7f4;--line:#e4e5e0;--card:#fff;--red:#a73f36;--amber:#98610a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--nav)}.auth-card{width:min(420px,100%);padding:34px;border-radius:14px;background:#fff;box-shadow:0 20px 70px #0004}.brand{font:700 21px Georgia,serif;color:#fff;position:absolute;top:34px;left:38px}.brand i{font:600 11px system-ui;display:block;opacity:.65;font-style:normal;margin-top:4px}.auth h1{margin:0 0 8px;font:600 27px Georgia,serif}.auth p{color:var(--muted);line-height:1.5}.form{display:grid;grid-gap:14px;gap:14px;margin-top:25px}.filters label,.form label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:650}.input{width:100%;border:1px solid #d9ddd7;border-radius:7px;padding:10px;background:#fff}.primary,.secondary{border:0;border-radius:7px;padding:10px 13px;cursor:pointer;font-weight:650;white-space:nowrap}.primary{background:var(--green);color:#fff}.secondary{background:#fff;border:1px solid #d9ddd7}.notice{padding:10px;border-radius:7px;background:#f9e9e7;color:var(--red);font-size:13px}.shell{display:flex;min-height:100vh}.sidebar{width:245px;padding:28px 16px;background:var(--nav);color:#d4ddd8;position:fixed;inset:0 auto 0 0}.sidebar .brand{position:static;margin:0 9px 35px}.nav{display:grid;grid-gap:3px;gap:3px}.nav a{padding:11px 12px;border-radius:7px;font-size:14px}.nav a.active,.nav a:hover{background:#354742;color:#fff}.user{position:absolute;bottom:25px;left:26px;right:26px;font-size:12px;color:#b9c6c1}.user form{margin-top:7px}.signout{border:0;padding:0;background:none;color:#dce5e1;text-decoration:underline;cursor:pointer;font-size:12px}.main{margin-left:245px;width:calc(100% - 245px);padding:36px 46px 70px;max-width:1500px}.header,.section-head,.topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.1px;color:var(--green);margin:0 0 5px}h1{margin:0;font:600 28px Georgia,serif}h2{margin:0 0 7px;font-size:22px}h3{font-size:15px}h3,p{margin:0}p{color:var(--muted);line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;margin:25px 0}.card,.metric{background:var(--card);border:1px solid var(--line);border-radius:10px}.metric{padding:19px}.metric b{display:block;font-size:27px;margin:8px 0}.metric span{font-size:12px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.card{padding:20px}.table-card{padding:0;overflow:auto}table{width:100%;border-collapse:collapse}td,th{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;letter-spacing:.3px;color:var(--muted);background:#fafaf8}td{font-size:13px}.badge{font-size:11px;font-weight:700;padding:4px 7px;border-radius:11px;white-space:nowrap}.approved{color:#11634f;background:#e4f2ec}.pending{color:var(--amber);background:#fff1dc}.rejected{color:var(--red);background:#f9e8e6}.filters{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.filters input,.filters select{width:100%}.profile{display:grid;grid-template-columns:320px 1fr;grid-gap:18px;gap:18px}.employee-list{display:grid;grid-gap:3px;gap:3px}.employee-row{padding:11px;border-radius:7px}.employee-row:hover{background:#edf4f0}.muted{font-size:12px;color:var(--muted)}.form-card{max-width:590px}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.empty{padding:35px;text-align:center;color:var(--muted)}.bulk-card{margin:20px 0}.bulk-form{display:grid;grid-template-columns:1.5fr repeat(4,minmax(120px,1fr));grid-gap:12px;gap:12px;align-items:end}.bulk-form label,.calendar-filters label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:650}.bulk-form input,.bulk-form select,.calendar-filters input{width:100%;border:1px solid #d9ddd7;border-radius:7px;padding:9px;background:#fff}.bulk-buttons{gap:7px}.bulk-buttons,.row-actions{display:flex;flex-wrap:wrap}.row-actions{gap:6px;align-items:flex-start}.row-actions .primary,.row-actions .secondary{padding:7px 9px;font-size:12px}.row-actions details{position:relative}.row-actions summary{cursor:pointer;font-size:12px;text-decoration:underline;color:var(--green);padding:7px 2px}.inline-form{display:grid;grid-gap:7px;gap:7px;min-width:230px;padding:12px;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #19261f18}.inline-form label{display:grid;grid-gap:3px;gap:3px;font-size:11px;font-weight:650}.inline-form input,.inline-form select{border:1px solid #d9ddd7;border-radius:5px;padding:7px}.inline-form .primary{padding:8px}.calendar-filters{display:flex;align-items:end;gap:12px;margin:20px 0}.calendar-filters label{min-width:170px}.calendar-card{overflow:auto}.legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.legend-dot.approved{background:#279274}.legend-dot.pending{background:#dfa12a}.legend-dot.rejected{background:#d66156}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));min-width:700px}.calendar-weekdays{margin-top:19px}.calendar-weekdays span{padding:7px 9px;font-size:11px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}.calendar-day{min-height:102px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:4px;align-content:flex-start;flex-wrap:wrap}.calendar-day time{width:100%;font-size:12px;font-weight:700;color:var(--muted)}.calendar-leave{padding:3px 5px;border-radius:5px;font-size:10px;font-weight:800}.calendar-empty{padding-top:15px}.balance-card,.upcoming-card{margin-top:18px}.employee-summary{margin-top:20px}.settings-grid{align-items:start}.staff-row,.unit-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.staff-row{grid-template-columns:1fr 110px auto}.check-label{font-size:12px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.bulk-form{grid-template-columns:repeat(3,1fr)}.bulk-form>div:first-child{grid-column:span 3}}@media(max-width:850px){.sidebar{width:66px;padding:20px 8px}.sidebar .brand{font-size:0;margin-bottom:30px}.nav span,.sidebar .brand i,.user{display:none}.nav a{text-align:center;font-size:0}.nav a:first-letter{font-size:17px}.main{margin-left:66px;width:calc(100% - 66px);padding:27px 20px}.bulk-form,.filters,.grid2,.metrics,.profile{grid-template-columns:1fr 1fr}.bulk-form>div:first-child{grid-column:span 2}}@media(max-width:580px){.main{padding:22px 13px}.header,.section-head{align-items:flex-start;flex-direction:column}.bulk-form,.filters,.grid2,.metrics,.profile,.two{grid-template-columns:1fr}.bulk-form>div:first-child{grid-column:auto}.metrics{gap:9px}.calendar-filters{align-items:stretch;flex-direction:column}.calendar-filters label{min-width:0}.staff-row,.unit-row{grid-template-columns:1fr}.calendar-grid,.calendar-weekdays{min-width:630px}}