:root{--ink:#202b3c;--muted:#768297;--line:#e6eaf0;--bg:#f5f7fa;--nav:#172235;--accent:#f04416;--green:#168568;--amber:#a76b13;--shadow:0 10px 32px #18243a12}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading{padding:40px}.shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{background:var(--nav);color:#e5eaf2;padding:22px 14px;display:flex;flex-direction:column}.brand{font-size:18px;font-weight:800;letter-spacing:-.4px;padding:7px 12px 3px;color:white}.brand b{color:var(--accent)}.brand-sub{padding:0 12px 22px;color:#9caac0;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.nav-label{padding:10px 12px 7px;color:#8c9bb2;font-size:9px;letter-spacing:1.3px;text-transform:uppercase}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:8px;background:transparent;color:#c1cada;padding:10px 12px;text-align:left;font-size:12px}.nav button:hover,.nav button.active{background:#293750;color:white}.nav .ico{width:18px;text-align:center;font-size:15px}.side-bottom{margin-top:auto;border-top:1px solid #ffffff1b;padding:15px 10px 0;font-size:11px;color:#9eabc0}.side-bottom b{display:block;color:#fff}.main{min-width:0}.topbar{height:66px;background:white;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3}.crumb{font-size:12px;color:var(--muted)}.crumb b{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:10px}.content{max-width:1360px;margin:auto;padding:28px}.welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.welcome h1{font-size:26px;letter-spacing:-.8px;margin:2px 0 4px}.welcome p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.button{border:1px solid var(--line);background:white;color:#344157;padding:9px 13px;border-radius:8px;font-weight:650;font-size:11px;display:inline-flex;align-items:center;gap:7px}.button:hover{filter:brightness(.97)}.button.primary{border-color:var(--accent);background:var(--accent);color:white}.button.dark{background:#202b3c;color:white;border-color:#202b3c}.button.danger{color:#a52c2c}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.card{padding:15px}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.stat-icon{color:var(--accent)}.stat strong{display:block;font-size:23px;margin:9px 0 3px}.sub{font-size:10px;color:var(--muted)}.panel{padding:18px;margin-bottom:15px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.panel h2{font-size:14px;margin:0}.panel p{color:var(--muted);font-size:12px}.grid-two{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:650;color:#657187}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;color:var(--ink);font-size:11px}.field textarea{min-height:74px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:560px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;font-size:11px;vertical-align:middle}th{color:var(--muted);font-weight:650;font-size:9px;text-transform:uppercase;letter-spacing:.5px}td .button{padding:6px 9px;font-size:10px}.pill{display:inline-flex;border-radius:20px;padding:4px 8px;background:#f0f2f6;color:#647086;font-size:9px;font-weight:700}.pill.green{background:#e5f5ef;color:var(--green)}.pill.amber{background:#fff3dd;color:var(--amber)}.pill.red{background:#ffeded;color:#ab3c3c}.pill.blue{background:#fff0e9;color:#bd3a17}.rows{display:grid;gap:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:9px}.row-copy b{display:block;font-size:11px}.row-copy span{font-size:10px;color:var(--muted)}.muted{color:var(--muted)}.empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.banner{background:#202b3c;color:white;border-radius:12px;padding:17px 19px;margin-bottom:15px}.banner b{font-size:14px}.banner p{color:#c2cad7;margin:4px 0 0;font-size:11px}.attendance-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff8f4;border:1px solid #f8dfd5;border-radius:11px;padding:16px}.time-large{font-size:26px;font-weight:750;font-variant-numeric:tabular-nums}.timer{font-size:30px;letter-spacing:1px;font-weight:780}.schedule{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.schedule span{padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:9px}.schedule b{display:block;color:var(--ink);font-size:10px}.event-list{display:grid;gap:8px}.event{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px}.event-mark{width:30px;height:30px;border-radius:8px;background:#fff0e9;color:var(--accent);display:grid;place-items:center;flex:none}.event b{display:block;font-size:11px}.event small{font-size:10px;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-head,.cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-head{text-align:center;padding:8px;color:var(--muted);font-size:9px;text-transform:uppercase}.cal-day{appearance:none;background:#fff;border-top:0;border-left:0;text-align:left;min-width:0;min-height:76px;padding:6px;position:relative}.cal-day.outside{background:#fafbfc;color:#bbc2cf}.cal-day.today{background:#fff8f4}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.cal-event{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:8px;color:#b63a16;background:#fff0e9;border-radius:4px;padding:2px 3px;margin-top:4px}.cal-event.leave{color:var(--green);background:#e7f6ef}.clock-log{display:grid;gap:0}.clock-log .row{border:0;border-bottom:1px solid var(--line);border-radius:0}.notice{display:none;position:fixed;inset:0;background:#11182755;z-index:20;align-items:center;justify-content:center;padding:20px}.notice.show{display:flex}.notice-card{width:min(360px,100%);background:#fff;border-radius:16px;padding:20px;box-shadow:0 25px 80px #11182755;text-align:center}.notice-mark{font-size:20px;color:var(--accent)}.notice-card h3{margin:7px 0;font-size:15px}.notice-card p{margin:0 0 14px;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;background:#11182772;display:flex;align-items:center;justify-content:center;padding:18px;z-index:30}.modal{width:min(460px,100%);background:white;border-radius:14px;padding:20px;box-shadow:0 24px 90px #0004}.modal h2{font-size:16px;margin:0 0 8px}.modal p{color:var(--muted);font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:white}.login-brand{background:#172235;color:white;padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-1.7px;max-width:500px}.login-brand p{color:#bec7d7;max-width:420px;font-size:13px}.login-box{display:grid;place-items:center;padding:28px}.login-card{width:min(400px,100%);padding:10px}.login-card h2{font-size:24px;letter-spacing:-.6px;margin:5px 0}.login-card .field{margin:16px 0}.error{color:#a73535;font-size:11px;margin:8px 0}.help{font-size:10px;color:var(--muted);line-height:1.5}.mobile-menu{display:none}#notice{font-size:13px}
@media(max-width:850px){.shell{grid-template-columns:205px 1fr}.content{padding:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}}@media(max-width:650px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:18px 12px}.welcome h1{font-size:22px}.cards{gap:8px}.card{padding:12px}.panel{padding:13px}.cal-day{min-height:52px;padding:3px}.cal-event{font-size:7px}.login-page{grid-template-columns:1fr}.login-brand{padding:28px;min-height:220px}.login-brand h1{font-size:32px}.login-box{padding:22px}.mobile-menu{display:inline-flex}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:650px){.shell{display:block}.sidebar{display:block;padding:8px 10px;position:sticky;top:66px;z-index:3}.brand,.brand-sub,.nav-label,.side-bottom{display:none}.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.nav button{width:auto;flex:none;padding:8px 10px;white-space:nowrap}.nav .ico{width:auto}.topbar{height:58px}.content{padding-top:14px}}
.rule-row{padding:12px 0;border-bottom:1px solid var(--line)}.rule-row .field{min-width:0}
.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}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}.nav{align-content:start}.nav-section{display:grid;gap:4px;margin-bottom:9px}.nav-section .nav-label{padding-top:9px}.top-actions{display:flex;align-items:center;gap:10px}.jump-to select{border:1px solid var(--line);border-radius:8px;background:#fff;color:#475569;padding:8px 28px 8px 10px;font:inherit;font-size:11px}.employee-toolbar{display:flex;gap:9px;align-items:center;margin-bottom:12px}.employee-toolbar input{flex:1;min-width:180px}.employee-toolbar select{width:auto;min-width:150px}.table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.onboarding-cards .stat{min-width:0}.invite-submit{align-content:start}.invite-result{display:grid;gap:9px;border:1px solid var(--line);border-radius:10px;padding:13px;margin-top:8px}.invite-result.success{background:#f1faf6;border-color:#c6e9d9}.invite-result.pending{background:#fff9ee;border-color:#f1dfbc}.invite-result b,.invite-result span{display:block}.invite-result b{font-size:12px}.invite-result span,.invite-result small{font-size:10px;color:var(--muted)}.copy-link{display:flex;gap:8px}.copy-link input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:10px}.document-list{display:grid;gap:9px}.document-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px}.document-icon{flex:none;width:42px;height:42px;border-radius:10px;background:#fff0e9;color:#b63a16;display:grid;place-items:center;font-size:10px;font-weight:800}.document-copy{min-width:0;flex:1}.document-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.document-copy p{margin:7px 0 0}.document-copy .muted{font-size:10px;overflow-wrap:anywhere}.document-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.legacy-policy{border-top:1px solid var(--line);padding:12px 0}.legacy-policy:first-of-type{border-top:0;padding-top:0}.legacy-policy .muted{font-size:10px;margin-top:3px}.legacy-policy p{white-space:pre-wrap;overflow-wrap:anywhere}.modal p{white-space:pre-line}
@media(max-width:650px){.sidebar{height:auto;max-height:none;overflow:visible}.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.nav-section{display:contents}.nav-section .nav-label{display:none}.topbar .top-actions{gap:6px}.jump-to select{max-width:132px;padding:7px 22px 7px 8px}.employee-toolbar{align-items:stretch;flex-direction:column}.employee-toolbar input,.employee-toolbar select{width:100%;min-width:0}.document-card{flex-wrap:wrap}.document-copy{flex-basis:calc(100% - 60px)}.document-actions{width:100%;justify-content:flex-start;margin-left:54px}.copy-link{flex-direction:column}.onboarding-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.table-actions{min-width:150px}}
.notice{display:none;position:fixed;inset:auto 20px auto auto;top:78px;z-index:40;padding:0;background:transparent;pointer-events:none}.notice.show{display:block}.notice-card{display:flex;align-items:flex-start;gap:10px;width:min(370px,calc(100vw - 28px));padding:13px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;box-shadow:0 14px 38px #17223526;text-align:left;pointer-events:auto;animation:toast-in .18s ease-out}.notice-mark{font-size:15px;color:var(--accent);line-height:1.2;margin-top:2px}.notice-card b{display:block;color:var(--ink);font-size:11px}.notice-card p{margin:3px 18px 0 0;color:#596579;font-size:11px;line-height:1.4}.toast-close{position:absolute;right:8px;top:6px;border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;padding:4px;cursor:pointer}@keyframes toast-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.notice{top:66px;right:12px;left:12px}.notice-card{width:100%}}
