:root{--ink:#203b42;--muted:#70858b;--green:#098577;--purple:#7863da;--line:#e3ebed;--bg:#f3f7f8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,.button{border:1px solid var(--line);border-radius:9px;padding:11px 17px;display:inline-block;background:white;color:var(--ink);font-weight:600;line-height:1.4}button:hover,.button:hover{filter:brightness(.96);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #65d8c7;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:white}.secondary{background:#edf8f5;border-color:#d5eee7;color:#087464}.danger{color:#b13b47;background:#fff1f2}.plain{padding:8px 0;border:0;background:transparent;color:var(--green)}.small-button{font-size:12px;padding:8px 12px}.wide{width:100%}h1,h2,h3,p{margin-top:0}h1{font-size:27px;line-height:1.25;margin-bottom:6px;letter-spacing:-.8px}h2{font-size:20px;line-height:1.35;margin-bottom:12px;letter-spacing:-.4px}h3{font-size:16px;margin-bottom:5px}p{margin-bottom:14px}small,.small{font-size:12px}.muted{color:var(--muted)}.block{display:block}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--muted)}.brand{display:block;font-size:25px;font-weight:800;letter-spacing:-1px;color:var(--ink);white-space:nowrap}.brand span{color:var(--green)}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 22px;z-index:30}.sidebar>.eyebrow{margin-top:5px;overflow-wrap:anywhere}.sidebar nav{margin-top:37px;overflow-y:auto}.sidebar nav a{display:flex;gap:14px;align-items:center;color:#6d7e87;padding:13px 15px;border-radius:9px;margin-bottom:6px;font-size:13px;font-weight:600}.sidebar nav a span{font-size:19px;width:20px;text-align:center}.sidebar nav a.active{background:#f0edfc;color:#7257d8}.sidebar nav a:hover{background:#f6f8f9;text-decoration:none}.sidebar-foot{margin-top:auto;padding-top:28px}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot small{color:var(--muted)}.main{margin-left:244px;padding:30px 38px 60px;max-width:1900px}.topbar{display:flex;gap:15px;align-items:center;margin-bottom:30px}.topbar .avatar{margin-left:auto}.avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--green);background:#ddefe9;font-weight:700}.menu-button,.scrim{display:none}.card{border:1px solid var(--line);border-radius:16px;background:white;padding:25px;margin-bottom:22px;min-width:0}.welcome{position:relative;overflow:hidden;background:linear-gradient(115deg,#078e78,#21a3a0);color:white;border-radius:18px;padding:30px 34px;margin-bottom:25px;display:block}.welcome h2{font-size:27px;margin:15px 0 10px}.welcome p{margin-bottom:5px;color:#ddf6ec}.welcome-symbol{position:absolute;right:50px;top:18px;font-size:125px;color:#ffffff25;font-weight:200;line-height:1}.pill{display:inline-block;padding:5px 10px;background:#e9f6ef;color:#188064;border-radius:30px;font-size:11px;font-weight:600}.pill.light{background:#ffffff25;color:white}.pill.warn{background:#fff5dd;color:#a57613}.warn-text{color:#b77919}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stats .card{padding:22px}.stats small{display:block;color:var(--muted)}.stats strong{display:block;font-size:33px;margin:8px 0}.stats span,.stats a{font-size:11px;color:var(--muted)}.two-col,.three-col{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-head h2{margin:0}.section-head a{font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#f6f9fa;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:13px 15px;white-space:nowrap}td{padding:16px 15px;border-bottom:1px solid #eef2f3;white-space:nowrap;vertical-align:top}td.wrap{white-space:normal;min-width:220px}tr:last-child td{border-bottom:0}td input{min-width:170px}.empty{padding:35px;text-align:center;white-space:normal;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #d7e1e5;background:#fafcfc;color:var(--ink);padding:11px 12px;border-radius:8px;margin-top:7px;min-width:0}textarea{min-height:95px;resize:vertical}.check{display:flex;gap:10px;align-items:center;font-weight:400}.check input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px;margin-top:22px}.form-grid button{justify-self:start}.full{grid-column:1/-1}fieldset{border:1px solid var(--line);border-radius:8px;margin:8px 0 16px;padding:18px}legend{font-size:12px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.filters{align-items:end}.filters label{margin:0}.filters button{margin-bottom:1px}.notice{padding:15px 20px;border-radius:10px;background:#e6f5ef;color:#237865;margin-bottom:20px}.notice.error{background:#ffebee;color:#9d2736}.shortcut{display:flex;align-items:center;gap:20px}.shortcut>span{font-size:28px;color:var(--purple);background:#f1edff;padding:10px 18px;border-radius:13px}.shortcut p{font-size:12px;color:var(--muted);margin:0}.shortcut:hover{text-decoration:none}.narrow{max-width:640px;margin-left:auto;margin-right:auto}.center{text-align:center}.qr-image{width:min(100%,340px);height:auto;margin:20px auto}.soft{background:#f4f8f8;border-radius:10px;padding:18px}.soft h2{margin:5px 0 0}.shift-card{text-align:center}.shift-hours{display:flex;gap:30px;justify-content:center;align-items:center;font-size:34px;margin:8px 0}.shift-hours span{font-size:20px;color:#a6b9bd}.shift-card p{color:var(--muted);font-size:12px}.camera-box{background:#f1f6f6;border-radius:14px;overflow:hidden;margin:15px 0;aspect-ratio:4/3;max-width:420px;display:grid;place-items:center}.camera-box video,.camera-box img{width:100%;height:100%;object-fit:cover}.camera-box video{transform:scaleX(-1)}#camera-placeholder{text-align:center;padding:30px;font-size:40px;color:#6fa39b}#camera-placeholder p{font-size:12px;margin-top:12px}.camera-box+.actions{margin-bottom:20px}#qr-video{width:100%;max-width:420px;border-radius:12px;margin:15px 0}.status{margin:15px 0 0;font-size:13px}.status.error{color:#b23041}details summary{cursor:pointer;font-weight:600;list-style-position:inside}details[open]>summary{margin-bottom:22px}td details{font-size:11px;margin-top:8px}td details[open]{min-width:240px}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.bottom-nav{display:none}.login-wrap{min-height:100dvh;display:flex;align-items:stretch;justify-content:center;max-width:940px;margin:auto;padding:120px 20px}.login-story{background:linear-gradient(155deg,#0a9e58,#13a69a);color:white;border-radius:24px 0 0 24px;padding:40px;flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:580px}.login-story .brand{color:white}.login-story h1{font-size:39px;line-height:1.2;margin:20px 0;letter-spacing:-1.5px}.login-story p{color:#e0f6eb}.login-story>small{color:#d8f3e6}.story-illustration{display:flex;align-items:center;gap:18px;background:#ffffff19;border:1px solid #ffffff30;border-radius:14px;padding:18px;margin-top:30px}.story-illustration>span{font-size:40px}.story-illustration p{font-size:11px;margin:5px 0}.login-card{background:white;flex:1;border:1px solid var(--line);border-left:0;border-radius:0 24px 24px 0;padding:60px 40px}.login-card h2{font-size:25px;margin:8px 0 10px}.login-card>p{font-size:12px}.login-card form{margin:28px 0 23px}.password-field{position:relative}.password-field input{padding-right:42px}.password-field button{position:absolute;right:4px;top:11px;padding:7px;border:0;background:transparent}.login-wrap~.notice{max-width:900px}.login-wrap .wide{margin-top:8px}body:has(.login-wrap)>main>.notice{max-width:900px;margin:20px auto -80px;position:relative;z-index:1}#toast{position:fixed;right:20px;bottom:22px;background:#193c35;color:white;padding:15px 20px;border-radius:12px;z-index:100;max-width:90vw}[hidden]{display:none!important}
@media(min-width:1000px){.staff .main{max-width:1050px}.staff .welcome{padding:26px 30px}.staff .shift-card{margin-top:-3px}.staff #attendance-panel .camera-box{margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.main{padding:26px}.sidebar{width:220px;padding:26px 16px}.main{margin-left:220px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.menu-open .sidebar{transform:translateX(0)}.menu-open .scrim{display:block;position:fixed;inset:0;background:#123a3a60;border:0;border-radius:0;z-index:25}.main{margin-left:0;padding:20px 16px 35px}.topbar{margin-bottom:22px}.topbar h1{font-size:22px}.topbar .eyebrow{font-size:8px}.menu-button{display:block;padding:8px 12px}.card{padding:20px;border-radius:14px;margin-bottom:16px}.welcome{padding:25px 22px;margin-bottom:18px}.welcome h2{font-size:23px}.welcome-symbol{display:none}.stats{gap:12px}.stats .card{padding:17px}.stats strong{font-size:29px}.two-col,.three-col{gap:14px}.three-col{grid-template-columns:1fr}.shortcut{gap:12px}.shortcut>span{padding:6px 10px}.two-col:has(.shortcut){grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:0}.section-head{align-items:flex-start}.section-head h2{font-size:18px}.staff .main{padding-bottom:90px}.staff .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:9px 5px max(9px,env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.bottom-nav a{text-align:center;font-size:20px;min-width:60px}.bottom-nav small{display:block;font-size:10px}.login-wrap{padding:30px 18px;display:block;min-height:100dvh;max-width:500px}.login-story{min-height:0;border-radius:20px 20px 0 0;padding:25px}.login-story .brand{font-size:24px}.login-story>div,.login-story>small{display:none}.login-card{padding:30px 25px;border-radius:0 0 20px 20px;border:1px solid var(--line)}body:has(.login-wrap)>main>.notice{margin:20px 18px 0}.camera-box{max-width:100%}.filters label{flex:1;min-width:120px}.shift-hours{font-size:29px}.actions>button{flex-grow:1}.small-button{white-space:normal}td{padding:13px 10px}}
/* Employee management 0.2 */
.sidebar nav .nav-group{margin:0 0 7px}.sidebar nav .nav-group>summary{list-style:none;display:flex;align-items:center;gap:14px;border-radius:10px;padding:13px 15px;color:#6d7e87;font-size:13px;font-weight:600;margin:0;cursor:pointer}.sidebar nav .nav-group>summary::-webkit-details-marker{display:none}.sidebar nav .nav-group>summary>span:first-child{font-size:20px;width:20px;text-align:center}.sidebar nav .nav-group>summary.group-active{background:#e6dfff;color:#795bdf}.nav-chevron{margin-left:auto;font-size:18px;transition:transform .15s}.nav-group:not([open]) .nav-chevron{transform:rotate(-90deg)}.sidebar nav .subnav{padding:7px 0 3px}.sidebar nav .subnav a{padding:8px 12px 8px 30px;gap:10px;margin-bottom:2px;font-size:12px;font-weight:500}.sidebar nav .subnav a span{width:12px;font-size:14px;color:#8f99a2}.sidebar nav .subnav a.active{background:#f4f0ff;color:#7555d0}.sidebar nav{flex:1;min-height:0}.sidebar-foot{flex-shrink:0;padding-top:15px}.page-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-intro p{margin:6px 0 0;max-width:800px}.editor-card>summary{color:var(--green)}.editor-card[open]>summary{border-bottom:1px solid var(--line);padding-bottom:18px}.form-section{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#73868c;background:#f6f9fa;padding:12px 14px;margin:4px 0 14px;border-radius:8px}.employee-heading{display:inline-flex;align-items:center;gap:15px;width:calc(100% - 22px);vertical-align:middle}.employee-heading>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.employee-heading small{display:block;font-weight:400;color:var(--muted);margin-top:3px}.employee-heading .pill{margin-left:auto}.employee-heading .avatar{flex-shrink:0}.employee-card>summary{list-style-position:outside;margin-left:12px}.master-row .section-head p{margin:5px 0 0}.day-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.day-pills span{padding:9px 13px;background:#f3f5f6;border-radius:8px;color:#98a3a8;font-size:12px}.day-pills .working{background:#e5f5ef;color:#15806b}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.danger-text{color:#b3434d}.inline-delete{margin-top:12px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:24px}.tabs a{padding:13px 20px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.tabs a.active{color:var(--purple);border-color:var(--purple)}.picker-list{max-height:210px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 15px;border-top:1px solid var(--line);padding-top:16px}.roster{max-height:520px}.roster th:first-child,.roster td:first-child{position:sticky;left:0;background:white;z-index:1;min-width:160px;box-shadow:1px 0 #e5ebee}.roster th:first-child{background:#f6f9fa}.roster td{text-align:center;min-width:105px}.roster td:first-child{text-align:left}.roster th{position:sticky;top:0;z-index:2;text-align:center}.roster th:first-child{z-index:3}.roster .assigned{background:#f2eeff;color:#6d53bc}.roster small{font-size:10px}.letter-body{background:#edf1f3}.print-toolbar{max-width:800px;margin:25px auto;display:flex;gap:15px}.letter{max-width:800px;min-height:1080px;margin:20px auto 40px;background:white;padding:65px;box-shadow:0 5px 30px #1d303317;color:#222;line-height:1.8}.letter header{text-align:center;border-bottom:2px solid #333;padding-bottom:18px;margin-bottom:25px}.letter header h1{font-size:26px}.letter header p{margin:10px 0 0;font-size:15px;letter-spacing:1px}.letter h3{margin-top:26px}.signature{margin-top:45px;margin-left:auto;width:250px;break-inside:avoid}.signature-space{height:75px}@media(max-width:760px){.employee-heading{gap:10px}.employee-heading .avatar{width:32px;height:32px}.employee-heading .pill{font-size:9px;padding:4px 7px}.picker-list{grid-template-columns:1fr 1fr}.tabs a{font-size:12px;padding:12px}.page-intro .pill{flex-shrink:0}.letter{margin:15px;padding:30px;min-height:0}.print-toolbar{margin:15px}.signature{width:200px}.roster th:first-child,.roster td:first-child{min-width:125px;max-width:150px;white-space:normal}.form-grid{row-gap:0}}@media print{@page{size:A4;margin:18mm}.letter-body{background:white}.print-toolbar{display:none!important}.letter{box-shadow:none;border:0;padding:0;margin:0;max-width:none;min-height:0;font-size:11pt}.letter header h1{font-size:20pt}.letter h3{break-after:avoid}.signature{break-inside:avoid}}
.sidebar nav .nav-group>summary{gap:10px;padding-left:12px;padding-right:12px;font-size:12px;white-space:nowrap}
/* Organization and employee profiles, v0.3 */
.split{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.setting-row{display:grid;grid-template-columns:minmax(160px,26%) minmax(0,1fr);gap:28px;padding:18px 0;border-bottom:1px solid #e9edf1}.setting-row>label,.setting-row>span{font-size:13px;font-weight:600}.settings-form small{display:block;color:#647889;line-height:1.6;margin-top:8px}.settings-form .hint{margin-top:12px}.required{color:#d73d53}.check-stack{display:grid;gap:12px}.hint{background:#eef5f5;padding:12px 15px;border-radius:7px;font-size:12px;line-height:1.6}.hint.purple{background:#f2edff;color:#6646c6}.repeat-row{display:flex;gap:10px;align-items:end;margin:12px 0;flex-wrap:wrap}.repeat-row>label{flex:1;min-width:140px}.list-row{border-bottom:1px solid #ecf0f2;padding:10px 0}.modal{border:1px solid #e0e5ef;border-radius:14px;box-shadow:0 20px 80px #112d3e44;padding:24px;width:min(620px,calc(100vw - 32px));max-height:90vh;overflow:auto;color:var(--ink,#163345)}.modal::backdrop{background:#15293680}.modal h2{margin:0}.modal .plain{font-size:25px}.org-tree{overflow:auto;padding:12px}.org-node{margin:10px 0 10px calc(var(--depth)*22px);padding:12px 18px;border:1px solid #dfe9ee;border-left:4px solid #7b64ff;border-radius:8px;width:max-content;min-width:180px;max-width:320px}.org-node small{display:block;margin-top:6px;color:#71838d}.profile-section{display:grid;grid-template-columns:minmax(150px,25%) minmax(0,1fr);gap:32px;padding:26px 0;border-bottom:1px solid #e4eaf0}.profile-section>h3{text-align:right;padding-right:12px}.profile-photo{max-width:210px;margin:0 auto;width:100%}.profile-preview,.profile-placeholder{width:136px;height:136px;border-radius:12px;object-fit:cover;margin-bottom:16px;border:3px solid #e6efec}.profile-placeholder{display:grid;place-items:center;background:linear-gradient(140deg,#53bd75,#20a39e);font-size:75px;color:white}.profile-photo input{padding:8px;width:100%;font-size:11px}.profile-photo small{display:block;color:#738590;font-size:11px;margin-top:8px}.employee-editor .form-grid{gap:20px}.employee-heading img.avatar{object-fit:cover;flex-shrink:0}.employee-heading small{overflow-wrap:anywhere}.search-field{max-width:300px}.event-note{white-space:pre-wrap;max-width:500px;overflow-wrap:anywhere}.event-list{min-width:220px}.event-list>div{margin:10px 0;padding:8px;border-left:2px solid #dcd5ff}.event-actions{margin-top:18px;gap:10px}.event-actions button{font-size:12px}.profile-section .actions small{font-size:11px;color:#71838d}.form-grid>*,.profile-section>*{min-width:0}.actions input{max-width:100%}
@media(max-width:800px){.setting-row,.profile-section{grid-template-columns:1fr;gap:12px}.profile-section>h3{text-align:left;margin:0}.profile-photo{margin:0;max-width:240px}.setting-row .form-grid{grid-template-columns:1fr}.modal{padding:18px}.repeat-row{padding:10px;background:#f6f8fb;border-radius:8px}.repeat-row>label{min-width:100%}.employee-editor .form-grid{gap:16px}.setting-row{padding:16px 0}.split>.actions{width:100%;flex-wrap:wrap}}
#office-map{height:390px;width:100%;border:1px solid #dbe5e7;border-radius:12px;z-index:0;background:#eaf0ee;margin:14px 0}#office-map .leaflet-control a{padding:0}#office-map .leaflet-control-attribution{font-size:10px;white-space:normal;max-width:100%;line-height:1.5}.office-pin{background:white;border:3px solid #098577;border-radius:50%;box-shadow:0 2px 8px #143b4766;display:grid;place-items:center}.office-pin span{height:10px;width:10px;background:#098577;border-radius:50%}#map-status{margin-top:12px}#office-map .leaflet-interactive:focus{outline:2px solid #098577}@media(max-width:760px){#office-map{height:320px}}
.wide-modal{width:min(900px,calc(100vw - 32px))}.weekly-roster{max-height:70vh}.weekly-roster table{table-layout:fixed;width:max(100%,1300px)}.weekly-roster th,.weekly-roster td{width:156px;white-space:normal;text-align:center}.weekly-roster th:first-child,.weekly-roster td:first-child{position:sticky;left:0;width:200px;background:#f7f9fc;z-index:2;text-align:left}.weekly-roster th{position:sticky;top:0;z-index:3}.weekly-roster th:first-child{z-index:4}.weekly-roster .today-cell{background:#e6f5eb}.shift-box{border:1px solid #62a7ed;border-left:3px solid #438ddb;border-radius:5px;padding:10px 7px;margin:0 0 8px;color:#286eb3;background:#f6fbff;font-size:11px}.shift-box b,.shift-box small{display:block;overflow-wrap:anywhere}.shift-box small{font-size:10px;margin-top:5px}.shift-box.carry{border-color:#a9b7c3;color:#72818c;background:#f5f6f8}.shift-box.off,.rest-day{background:#fff3cf;color:#98752c;border-color:#dfc565}.shift-box.repeat{background:#f5f0ff;color:#7450c2;border-color:#987ce2}.weekly-roster .small-button{font-size:10px;padding:5px 7px}.weekly-roster .actions{gap:5px;justify-content:center}.pattern-editor td input{min-width:110px}.pattern-editor td .check input{min-width:17px}#pattern-preview{margin:20px 0}.card>.split>form.actions{flex:1;max-width:520px}.card>.split>form.actions input,.card>.split>form.actions select{width:auto;max-width:220px}dialog small{line-height:1.5}.weekly-roster td:first-child .pill{margin-top:9px;font-size:9px}

/* Compact company navigation, v0.4.1 */
.sidebar{padding:22px 16px}.sidebar nav{margin-top:22px;min-height:0;scrollbar-width:thin}.sidebar nav>a,.sidebar nav .nav-group>summary,.sidebar .nav-unavailable{display:flex;align-items:center;gap:10px;min-height:37px;padding:9px 10px;margin:0 0 2px;border-radius:7px;font-size:12px;font-weight:500;color:#343b4e}.sidebar nav .nav-icon{width:16px;height:16px;flex-shrink:0}.sidebar nav .nav-label{font-size:12px;width:auto;text-align:left;flex:1}.sidebar nav .nav-chevron{width:auto;font-size:18px;line-height:1}.sidebar nav .nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}.sidebar nav .subnav a{min-height:32px;padding:7px 12px;font-size:11px;margin:0 0 2px}.sidebar nav .nav-soon{font-size:9px;background:#f2f3f6;color:#71798a;padding:2px 5px;border-radius:4px}.sidebar nav .nav-unavailable{cursor:default;color:#6c7381}.sidebar nav a.active,.sidebar nav .group-active{background:#e9e2ff;color:#7656dc}.sidebar-foot{padding-top:12px}.card[id]{scroll-margin-top:20px}summary:focus-visible{outline:3px solid #65d8c7;outline-offset:2px}
.sidebar nav .nav-group>summary .nav-chevron{transform:none}.sidebar nav .nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}
/* Company and employee application preferences */
.company-logo{width:64px;height:64px;object-fit:contain;border-radius:12px;background:white;padding:4px}.mobile-settings-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px}.phone-preview{align-self:start;position:sticky;top:18px;background:#f5f7fb;padding:16px;border-radius:18px}.phone-screen{border:1px solid #dbe1ea;border-radius:22px;background:white;padding:14px;overflow:hidden}.phone-screen .split>b{font-size:12px}.phone-screen .company-logo{width:32px;height:32px}.preview-hero{background:linear-gradient(135deg,#46b47c,#159b9c);color:white;border-radius:12px;padding:16px 10px;margin-top:16px}.preview-hero p{font-size:11px;overflow-wrap:anywhere}.preview-schedule{background:white;border:1px solid #e1ece7;border-radius:12px;text-align:center;padding:12px;margin-top:-8px;position:relative}.preview-schedule h2{margin:5px 0;font-size:18px}.preview-grid,.employee-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 0}.preview-grid>div,.employee-shortcuts>a{text-align:center;min-width:0}.preview-grid span,.employee-shortcuts span{display:flex;align-items:center;justify-content:center;margin:0 auto 5px;background:#e2f7ef;border-radius:50%;width:38px;height:38px;font-size:21px;color:#098577}.preview-grid small{font-size:8px;display:block;overflow-wrap:anywhere}.preview-attend{background:#229f99;color:white;border-radius:20px;text-align:center;padding:8px;font-size:12px}.mobile-config-fields{min-width:0}.feature-setting{display:grid;grid-template-columns:minmax(130px,1fr) 75px 110px 100px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.feature-setting label{margin:0}.feature-setting select{padding:8px}.feature-setting input[type=checkbox]{accent-color:#7863da}.feature-setting:has(input:disabled){opacity:.6}.employee-shortcuts{padding:20px;grid-template-columns:repeat(auto-fit,minmax(85px,1fr))}.employee-shortcuts:empty{display:none}.admin-setting-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.directory-grid .soft{display:flex;align-items:center;gap:10px}#mobile-reminders:empty{display:none}@media(max-width:1100px){.mobile-settings-layout{grid-template-columns:1fr}.phone-preview{position:static;width:280px;max-width:100%;justify-self:center}}@media(max-width:600px){.feature-setting{grid-template-columns:minmax(0,1fr) 70px}.feature-setting .check{font-size:12px}.admin-setting-row{flex-direction:column}.mobile-settings-layout{padding:18px}.employee-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}

#mobile-config input[role=switch]{appearance:none;flex-shrink:0;width:34px;height:20px;border:0;border-radius:12px;background:#b4bbc7;position:relative;cursor:pointer;margin:0 5px 0 0;transition:background .15s}#mobile-config input[role=switch]::before{content:"";display:block;position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:white;transition:transform .15s}#mobile-config input[role=switch]:checked{background:#7863da}#mobile-config input[role=switch]:checked::before{transform:translateX(14px)}#mobile-config input[role=switch]:disabled{cursor:not-allowed;opacity:.45}
/* Distinct company and employee entry points */
.portal-login h1{font-size:29px}.portal-form label{margin-bottom:17px}.portal-form input{min-height:49px}.portal-form .password-field button{width:44px;min-height:44px}.login-help{font-size:12px;margin:0 0 20px;color:var(--green)}.login-help p{padding-top:10px;color:var(--muted)}.login-submit{display:flex;justify-content:space-between;align-items:center;min-height:49px}.portal-switch{display:block;text-align:center;font-size:12px;margin-top:24px}.login-divider{text-align:center;color:var(--muted);position:relative;margin:22px 0 18px}.login-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.login-divider span{position:relative;background:white;padding:0 14px;font-size:12px}.google-login{display:flex;justify-content:center;align-items:center;gap:12px;min-height:47px}.google-login:disabled{cursor:not-allowed}.google-letter{font-size:20px;font-weight:800;color:#4285f4}.employee-login-shell{max-width:460px;margin:0 auto;min-height:100dvh;padding:27px 30px 18px;background:#fff;position:relative}.employee-login-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.employee-login-top .brand{font-size:22px}.portal-tag{font-size:8px;letter-spacing:1px;color:#728889;text-align:right;max-width:70px}.login-brand-mark{font-size:27px}.employee-login-panel{padding-top:12px}.employee-login-panel h1{font-size:32px;line-height:1.2;margin:12px 0 14px;letter-spacing:-1.1px}.employee-login-panel>.muted{font-size:13px;line-height:1.7;margin-bottom:26px}.employee-login-art{position:relative;height:134px;width:180px;margin:4px auto 18px}.art-orbit{position:absolute;width:122px;height:122px;left:25px;top:4px;border:1px dashed #b5d9cc;border-radius:50%;transform:rotate(-20deg)}.art-clock{position:absolute;left:36px;top:15px;width:105px;height:105px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#ddf4e9,#b4e5d7);font-size:65px;line-height:1;color:#148878;box-shadow:0 12px 28px #09857718;transform:rotate(-8deg)}.art-check{position:absolute;left:120px;top:84px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:white;background:#098577;border:4px solid white;font-size:18px}.art-dot{position:absolute;left:13px;top:29px;width:15px;height:15px;border-radius:50%;background:#dfc878}.employee-login-note{font-size:12px;line-height:1.6;text-align:center;color:var(--muted);margin:23px 5px 0}.employee-login-footer{text-align:center;color:#8c9c9f;font-size:10px;margin-top:28px}.employee-login-panel .portal-form input{background:#f6f8f8;border-color:#edf1f0;border-radius:12px}.employee-login-panel .login-submit{border-radius:13px;background:#0c8c7f}.employee-login-panel .eyebrow{font-size:9px}.auth-choice{max-width:480px;margin:70px auto}.auth-choice h1{margin-top:30px}.workspace-choice{display:grid;grid-template-columns:1fr auto;width:100%;text-align:left;margin:14px 0;padding:17px}.workspace-choice small{grid-column:1;color:var(--muted);font-weight:400}.workspace-choice>span{grid-column:2;grid-row:1/3;align-self:center}@media(min-width:700px){.employee-login-shell{min-height:0;margin:36px auto;border-radius:28px;box-shadow:0 20px 70px #214f4210;border:1px solid var(--line);padding:30px 40px}}@media(max-width:600px){.portal-login .login-story{display:none}.portal-login .login-card{padding:34px 25px}.portal-login{margin:20px 14px}.employee-login-shell{padding:24px;max-width:100%}.auth-choice{margin:30px 16px}.employee-login-panel h1{font-size:30px}.employee-login-art{height:118px;margin-bottom:16px}.art-clock{width:90px;height:90px;font-size:57px}.art-orbit{width:110px;height:110px}.art-check{top:77px;left:111px}}@media(max-height:740px) and (max-width:600px){.employee-login-art{height:95px;transform:scale(.8);transform-origin:center top;margin-bottom:0}.employee-login-panel h1{font-size:27px}.employee-login-panel>.muted{margin-bottom:19px}}
.shift-calendar-card .weekly-roster{max-height:580px;overflow:auto;border:1px solid #e8eaf3}.shift-calendar-card .weekly-roster table{min-width:1260px;font-size:12px}.shift-calendar-card .weekly-roster th{position:sticky;top:0;background:#f8f9fd;z-index:3;text-transform:none;color:#26364c;font-size:11px;letter-spacing:0;white-space:normal}.shift-calendar-card .weekly-roster td{padding:12px 10px;vertical-align:top;border-right:1px solid #edf0f8}.shift-calendar-card .weekly-roster th:first-child{z-index:4}.shift-calendar-card .weekly-roster th:first-child,.shift-calendar-card .weekly-roster td:first-child{min-width:245px;width:245px;max-width:245px;background:#f8f9fd}.shift-calendar-card .weekly-roster .today-cell{background:#e8f5ec}.roster-person{display:flex;align-items:center;gap:10px;text-align:left;margin-bottom:10px}.roster-person img,.roster-initial{width:35px;height:35px;border-radius:50%;object-fit:cover;flex-shrink:0}.roster-initial{display:grid;place-items:center;background:#e4eee9;color:#118270;font-weight:700}.roster-person b{display:block;font-size:12px;letter-spacing:.3px}.roster-person small{font-size:10px;line-height:1.4}.repeat-person{margin:5px 0}.repeat-person .check{font-size:10px;border:1px solid #74ad79;border-radius:3px;padding:4px;display:flex;gap:5px;white-space:normal;line-height:1.3}.repeat-person input{width:12px;height:12px}.roster-history{font-size:10px}.shift-calendar-card .shift-box{border-width:2px;border-radius:4px;font-size:11px;text-align:center;padding:9px 6px;min-height:80px}.shift-calendar-card .shift-box small{font-size:10px}.shift-calendar-card .shift-box.morning{border-color:#328cff;color:#1674cc;background:#f7fbff}.shift-calendar-card .shift-box.afternoon{border-color:#d9b300;color:#8b7000;background:#fffdf2}.shift-calendar-card .shift-box.night{border-color:#263243;color:#263243;background:#f7f8fb}.shift-calendar-card .shift-box.off{border-color:#d8dce3;color:#8991a0;background:#f7f8f9}.shift-calendar-card .weekly-roster .small-button{padding:4px 6px;font-size:10px;border-radius:4px;background:#f3f1fd;color:#564584}.shift-calendar-card .month-picker input{width:90px}.shift-calendar-card .month-picker select{min-width:130px}.roster-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px}.roster-pagination .actions{font-size:11px}@media(max-width:600px){.shift-calendar-card .weekly-roster th:first-child,.shift-calendar-card .weekly-roster td:first-child{min-width:170px;width:170px;max-width:170px}.roster-person{gap:6px}.roster-person img,.roster-initial{width:25px;height:25px}.roster-pagination{flex-wrap:wrap}.roster-person b{font-size:10px}}
.shift-calendar-card .repeat-person input[type=checkbox]{min-width:12px;width:12px;height:12px;padding:0;margin:0;flex:0 0 12px}.shift-calendar-card .repeat-person .check{justify-content:flex-start;text-align:left}
/* Employee web app: compact, touch-friendly blue workspace. */
.staff{--green:#3265ed;--ink:#172b4d;--muted:#77859d;--line:#e8edf6;background:#edf2fa}.staff .main{margin:0 auto;max-width:560px;min-height:100dvh;background:#f8faff;padding:22px 18px 110px}.staff .topbar{margin-bottom:22px;gap:12px}.staff .topbar h1{font-size:22px}.staff .topbar .eyebrow{font-size:8px}.staff .menu-button{display:block;border:0;background:white;padding:9px 12px}.staff .sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.staff.menu-open .sidebar{transform:translateX(0)}.staff.menu-open .scrim{display:block;position:fixed;inset:0;background:#10294d60;z-index:25;border:0;border-radius:0}.staff .avatar{background:#e4ecff;color:#3265ed}.staff .card{padding:20px;border-radius:20px;border-color:#e8edf6;box-shadow:0 5px 20px #243d6d04;margin-bottom:18px}.staff .employee-hero{background:linear-gradient(120deg,#2765f0,#6587ff);padding:24px;border-radius:24px;margin-bottom:16px}.staff .employee-hero h2{font-size:25px;letter-spacing:-.8px;max-width:340px}.staff .employee-hero p{color:#edf3ff;font-size:12px}.staff .company-logo{max-height:38px;background:white;padding:4px;border-radius:8px}.staff .mobile-attend-link{margin:0 0 18px;padding:16px;border-radius:15px;box-shadow:0 6px 16px #3265ed20}.staff .employee-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 8px;padding:20px 12px}.staff .employee-shortcuts a,.staff .feature-soon{display:flex;align-items:center;flex-direction:column;text-align:center;padding:0;border:0;background:none;min-width:0;color:#273c60;gap:6px}.staff .employee-shortcuts span{display:grid;place-items:center;width:43px;height:43px;background:#e8efff;border-radius:14px;font-size:23px;color:#3265ed}.staff .employee-shortcuts a:nth-child(3n) span{background:#e3f9ef;color:#149762}.staff .employee-shortcuts a:nth-child(3n + 1) span{background:#fff2dd;color:#ce871b}.staff .employee-shortcuts small{font-size:10px;line-height:1.3;overflow-wrap:anywhere}.staff .feature-soon:disabled{opacity:1;cursor:default}.staff .feature-soon span{background:#f0f2f7;color:#929eb2}.staff .feature-soon em{font-size:8px;line-height:1.25;color:#8490a5;font-style:normal}.staff .shift-card{background:white}.staff .shift-hours{font-size:30px;justify-content:space-between;margin:16px 0}.staff .shift-card p{font-size:12px}.staff .secondary{background:#edf2ff;border-color:#dbe5ff;color:#3265ed}.staff .bottom-nav{display:flex;position:fixed;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:560px;background:#ffffffef;backdrop-filter:blur(12px);border-top:1px solid #e8edf6;border-radius:22px 22px 0 0;box-shadow:0 -5px 25px #173f7710;padding:12px 4px max(12px,env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.staff .bottom-nav a{font-size:22px;text-align:center;min-width:45px}.staff .bottom-nav small{font-size:10px;display:block}.staff .form-grid{grid-template-columns:1fr}.staff .actions{flex-wrap:wrap}.staff .actions>button{flex:1;min-width:110px}.staff .event-actions button{font-size:11px;padding:10px 7px}.staff #attendance-panel{scroll-margin-top:15px}.staff .two-col{gap:10px}.staff .two-col h2{font-size:19px}.staff .table-wrap{max-width:100%;overflow:auto}.staff .profile-details{display:grid;gap:0}.profile-details div{padding:13px 0;border-bottom:1px solid var(--line)}.profile-details small{display:block;color:var(--muted)}.color-swatch{display:inline-block;width:32px;height:17px;border:3px solid #e6e9ee;outline:1px solid #cdd3dd;vertical-align:middle}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.month-grid>a{padding:10px 2px;background:#f1f5ff;border-radius:10px;font-size:12px}.month-grid>a.off{background:#fff0f1;color:#ba5360}.month-grid>a.other{opacity:.4}.month-grid>a.today{outline:2px solid #3265ed}.month-grid i{display:block;height:4px;width:14px;border-radius:2px;margin:5px auto 0;background:#3265ed}.month-grid small{font-size:10px;padding:8px 0}.schedule-day{scroll-margin-top:15px;padding:13px 0;border-bottom:1px solid var(--line)}.schedule-day strong,.schedule-day small{display:block}.schedule-day small{color:var(--muted)}

.staff .feature-soon{font-weight:400}.staff .employee-shortcuts small{font-size:9px;overflow-wrap:normal}.staff .feature-soon em{font-size:8px;font-weight:400}
.permission-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}.permission-row>span{grid-column:1;font-size:12px;color:var(--muted)}.permission-row>button{grid-column:2;grid-row:1 / 3;font-size:12px;align-self:center}#device-permissions{max-width:520px;width:calc(100% - 28px);max-height:88dvh;overflow:auto}#permission-feedback{margin:14px 0;font-size:12px}#device-permissions details{margin:16px 0}#device-permissions .wide{margin-top:12px}
/* Daily attendance workspace */
.daily-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;margin-bottom:22px;border:1px solid #e0dcf9;border-radius:22px;background:linear-gradient(115deg,#f0edff,#f8fbff 75%);position:relative;overflow:hidden}.daily-hero .eyebrow{color:#7863da}.daily-hero h2{font-size:27px;letter-spacing:-.8px;color:#282649;margin:10px 0}.daily-hero p{color:#7d7b93;font-size:13px;margin:0;max-width:560px}.daily-live{display:inline-block;flex-shrink:0;background:#fff;border:1px solid #e2deef;border-radius:24px;padding:10px 14px;font-size:11px;color:#387d64}.daily-toolbar{padding:22px}.daily-toolbar-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.date-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.date-controls form{display:flex;gap:7px;align-items:center}.date-controls input{margin:0;width:155px}.daily-toolbar .primary{background:#7661df;border-color:#7661df}.daily-toolbar .button,.daily-toolbar button{font-size:12px;padding:10px 12px}.daily-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr .55fr auto auto;gap:12px;align-items:end;border-top:1px solid #eef0f7;margin-top:20px;padding-top:18px}.daily-filters label{margin:0;font-size:11px;color:#74798e}.daily-filters input,.daily-filters select{margin:6px 0 0;font-size:12px;min-width:0;padding:10px}.daily-filters>a{font-size:12px;margin-bottom:10px}.daily-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:22px}.daily-stat{display:block;padding:18px 16px;background:#fff;border:1px solid #e5e8f0;border-radius:17px;position:relative;overflow:hidden;color:#5e647c;box-shadow:0 3px 10px #283c6503}.daily-stat:hover{text-decoration:none;transform:translateY(-2px);transition:transform .15s}.daily-stat span{font-size:11px;font-weight:600;display:block}.daily-stat strong{display:block;font-size:33px;line-height:1.2;letter-spacing:-1px;margin:10px 0;color:#343051}.daily-stat small{font-size:9px;color:#989eae;display:block}.daily-stat.selected{border-color:#8974ea;box-shadow:0 0 0 2px #ece7fd}.daily-stat:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#8d7dda}.daily-stat.present:before{background:#34b590}.daily-stat.present strong{color:#18896a}.daily-stat.missing:before{background:#ecae57}.daily-stat.missing strong{color:#b37c32}.daily-stat.leave:before{background:#8e76df}.daily-stat.permit:before{background:#61a5de}.daily-stat.off:before{background:#a8b1c4}.daily-table-card{padding:22px;overflow:hidden}.daily-table-card .section-head h2{font-size:19px;margin:0 0 5px}.daily-table-card .section-head p{margin:0}.daily-table-scroll{max-height:650px;border:1px solid #e9ecf5;border-radius:13px}.daily-table{min-width:1220px;border-collapse:separate;border-spacing:0}.daily-table th{background:#f7f7fd;color:#8b88a4;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e7f4;position:sticky;top:0;z-index:2;padding:16px 12px}.daily-table td{border-bottom:1px solid #edf0f6;border-right:1px solid #f1f3f8;padding:17px 12px;vertical-align:middle;background:#fff}.daily-table tr:nth-child(even) td{background:#fbfcff}.daily-table th:first-child,.daily-table td:first-child{position:sticky;left:0;min-width:255px;width:255px;max-width:255px;z-index:1;box-shadow:5px 0 12px #283c6505}.daily-table th:first-child{z-index:3}.daily-person{display:flex;gap:10px;align-items:center}.daily-person img,.daily-initial{width:37px;height:37px;border-radius:13px;flex-shrink:0;object-fit:cover}.daily-initial{display:grid;place-items:center;background:#efeafb;color:#7561c7;font-weight:700}.daily-person b{display:block;font-size:12px;color:#3c3a58}.daily-person small{display:block;font-size:9px;color:#969ab0;line-height:1.6;overflow-wrap:anywhere}.daily-schedule{margin:12px 0 0 47px;font-size:9px;color:#7d8599}.daily-schedule span{display:block;color:#999fb0}.daily-event{border:0;background:transparent;padding:8px 3px;display:block;text-align:left;min-width:104px;white-space:normal}.daily-event time{font-size:21px;font-weight:700;letter-spacing:-.7px;color:#343951;display:block}.daily-event small{display:block;font-size:9px;font-weight:400;color:#878ca4;max-width:120px}.daily-event.late time,.daily-event.late>small:first-of-type{color:#b97b2e}.daily-event .event-evidence{font-size:9px;color:#7c75b4;font-weight:400;display:block;margin-top:3px}.daily-event .manual-label{color:#9c63bd}.daily-dash{color:#cbd1df;display:block;text-align:center}.daily-badge{display:inline-block;padding:5px 10px;border-radius:7px;font-size:10px;background:#f0f1f7;color:#7b8298;white-space:nowrap}.daily-badge.present{background:#e8f8f0;color:#28866a}.daily-badge.missing{background:#fff4e4;color:#b88637}.daily-badge.leave{background:#f1eaff;color:#875ac4}.daily-badge.permit{background:#e9f3fd;color:#578ac0}.daily-badge.off{background:#f0f1f5;color:#9095a2}.daily-empty-status{text-align:center}.daily-empty-status p{font-size:10px;color:#a1a5b4;margin:9px 0 0}.daily-legend{font-size:10px;line-height:1.7;margin:16px 0 0;max-width:950px}.daily-detail-title h3{font-size:23px;margin:9px 0}.daily-detail-title p{font-size:12px;color:#8a91a1}.daily-timeline{border-left:2px solid #ece7fc;padding-left:20px;margin:20px 0 25px}.daily-timeline article{padding:0 0 20px;position:relative}.daily-timeline article:before{content:'';position:absolute;left:-26px;top:4px;width:10px;height:10px;border-radius:50%;background:#8974db;border:2px solid white}.daily-timeline b{font-size:13px}.daily-timeline time{display:block;font-size:10px;color:#9297a8}.daily-timeline p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0}.daily-proof{margin-bottom:12px}.daily-proof>small{display:block;margin:4px 0 9px}.daily-proof p{margin-top:10px}.daily-proof a{font-size:12px}#daily-detail details{margin-top:22px}#daily-detail .two-col{margin:20px 0}#daily-detail .two-col h3{font-size:15px;margin-top:8px}@media(max-width:1250px){.daily-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-hero{align-items:flex-start;flex-direction:column;gap:15px}}@media(max-width:600px){.daily-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-hero{padding:22px}.daily-hero h2{font-size:23px}.daily-toolbar,.daily-table-card{padding:16px}.daily-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.daily-stat{padding:16px}.daily-table th:first-child,.daily-table td:first-child{min-width:185px;max-width:185px;width:185px}.daily-person{gap:7px}.daily-person img,.daily-initial{width:29px;height:29px}.daily-person b{font-size:11px}.daily-schedule{margin-left:36px}.daily-table-card .section-head{flex-wrap:wrap}.date-controls{gap:5px}.date-controls input{width:140px}.date-controls form button{padding:10px 6px}.daily-table-card .section-head .pill{font-size:9px}}

/* Original Hadirva identity and readable employee cells. */
.brand-image{display:block;width:210px;max-width:100%;height:auto;background:#fff;border-radius:8px}.login-story .brand-image{width:250px;padding:8px}.employee-login-top .brand{min-width:0}.employee-login-top .brand-image{width:175px}.auth-choice .brand-image{margin-bottom:20px}.daily-person>div{min-width:0;white-space:normal;overflow-wrap:anywhere}.daily-schedule{white-space:normal}
/* v0.9: readable attendance workspaces. */
.report-page{font-size:15px;line-height:1.65}.report-page h2{font-size:24px}.report-hero{padding:30px;border:1px solid #dbddf9;border-radius:20px;background:linear-gradient(115deg,#eef0ff,#f5fbff);margin-bottom:24px}.report-hero h2{font-size:30px;line-height:1.3;margin:12px 0}.report-hero p{margin:0;max-width:850px;color:#52627a}.report-page label,.report-page input,.report-page select,.report-page textarea,.report-page button,.report-page .button{font-size:15px}.report-page small{font-size:13px;display:block;color:#687991}.report-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.report-filters label{flex:1;min-width:170px;margin:0}.report-filters button{min-height:46px}.report-explanation{margin-top:22px;color:#52627a}.report-explanation p{margin:14px 0}.report-scroll{max-height:680px;border:1px solid #e3e8f2;border-radius:12px}.report-table{font-size:15px;border-collapse:separate;border-spacing:0}.report-table th{font-size:13px;white-space:normal;min-width:145px;line-height:1.5;position:sticky;top:0;background:#eff2fb;z-index:2;text-transform:none;letter-spacing:0;color:#4d5a73}.report-table td{padding:20px 16px;background:#fff;border-right:1px solid #edf0f6}.report-table tr:nth-child(even) td{background:#f8faff}.report-scroll .report-table tr>*:first-child{position:sticky;left:0;min-width:230px;max-width:230px;white-space:normal;z-index:1}.report-scroll .report-table thead tr>*:first-child{z-index:3}.report-wrap{white-space:normal;min-width:240px;max-width:420px;overflow-wrap:anywhere}.report-table b{color:#263952}.report-table input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:#7863da}.report-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.workflow-state{display:inline-block;padding:6px 12px;border-radius:30px;background:#fff2d8;color:#885c19;font-size:14px;font-weight:600;margin:0 8px 8px 0}.workflow-state.approved,.workflow-state.consumed{background:#e1f5ed;color:#167050}.workflow-state.rejected,.workflow-state.revoked{background:#ffe9ed;color:#a73551}.decision-bar{margin-top:24px;padding:22px;background:#f5f7fc;border-radius:14px}.decision-bar textarea{max-width:800px}.approval-photo{width:128px;height:128px;object-fit:cover;border-radius:16px;border:1px solid #dce5ee}.request-history{padding:22px 0;border-bottom:1px solid #e3e9f1;overflow-wrap:anywhere}.request-history>b{display:block;margin-bottom:8px}.notes-table td{min-width:210px;white-space:normal}.note-entry{padding:10px 0}.note-entry>b{font-size:19px}.note-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.notes-table .today{background:#dff4ed}.report-pagination{margin:24px 0}.employee-approval-banner{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;background:#eef1fc;border:1px solid #dde4f3;padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:14px}.report-page .pill{font-size:13px}.daily-person b,.daily-event small,.daily-person small,.daily-schedule{font-size:13px}.daily-table th{font-size:12px}.daily-legend{font-size:13px}.daily-stat small{font-size:13px}.daily-table{min-width:1450px}@media(max-width:760px){.report-hero{padding:22px}.report-hero h2{font-size:25px}.report-filters label{min-width:135px}.report-page .card{padding:18px}.report-page .two-col{grid-template-columns:1fr}.report-scroll .report-table tr>*:first-child{min-width:160px;max-width:160px}.report-table th{font-size:13px}.report-table td{font-size:14px}.employee-approval-banner{font-size:14px}.decision-bar{padding:15px}}

.approved-avatar{object-fit:cover}.report-page .eyebrow{font-size:12px}.sidebar .subnav a{font-size:13px}
.report-scroll .notes-table thead tr:nth-child(2)>th:first-child{left:auto;min-width:145px;max-width:none;z-index:2}.notes-table thead tr:nth-child(2)>th{top:52px}
