:root{font-family:"Segoe UI",Arial,sans-serif;color-scheme:dark;--bg:#101010;--panel:#202020;--panel-soft:#262626;--line:#3d3d3d;--soft-outline:#686868;--muted:#ababab;--text:#f5f5f5;--accent:#bfbfbf;--accent-soft:#303030;--good:#7fd4a1;--warn:#e6c47a;--bad:#ee9494;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:40px;border:1px solid var(--soft-outline);border-radius:9px;padding:9px 17px;background:#242424;color:var(--text);font-size:14px;cursor:pointer;white-space:nowrap}button:hover{background:#303030}button:disabled{opacity:.42;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:600}button.primary:hover{background:#0099a3}button.plain{border-color:transparent;background:transparent;color:#b7bbc2;padding-left:0;padding-right:0}button.danger{border-color:var(--soft-outline);color:#ffadad}a{color:#6ac8ce;text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{background:#252525;border:1px solid #494949;border-radius:8px;color:var(--text);padding:10px 12px;min-width:0}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;padding:0;flex-shrink:0}textarea{resize:vertical;width:100%;min-height:90px}label{font-size:13px;color:#c3c5c9}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4bc0c7;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2;margin-bottom:7px;letter-spacing:-.6px}h2{font-size:18px;margin-bottom:14px;font-weight:600}h3{font-size:15px;margin-bottom:5px}p{color:var(--muted);line-height:1.5;font-size:14px}small{font-size:12px;color:var(--muted)}
.login-screen{min-height:100svh;display:grid;place-items:center;padding:50px 24px 115px;position:relative}.login-form{width:min(100%,420px);text-align:center;transform:translateY(-12px)}.login-logo{display:block;width:210px;height:auto;filter:invert(1);margin:0 auto 62px}.login-form>input,.login-password>input{display:block;width:100%;height:52px;border-radius:30px;border-color:#999;background:#252525;padding:0 22px;margin:11px 0;font-size:15px}.login-options{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:13px 4px 20px}.login-options label{display:flex;align-items:center;gap:7px;color:#b7b7b7;font-size:13px}.login-options .plain{font-size:13px;min-height:30px}.sign-in{display:block;width:190px;border-radius:24px;margin:0 auto}.login-screen footer{position:absolute;bottom:32px;text-align:center;font-size:12px;color:#a4a4a4;line-height:1.7}.login-screen footer small{display:block}.status-message{font-size:13px;color:var(--warn);white-space:pre-line;margin:12px 0}.status-message:empty{display:none}
.app-header{height:74px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);padding:0 32px;background:#181818}.wordmark{display:block;width:190px;flex-shrink:0}.wordmark img{width:174px;display:block;filter:invert(1)}.search{max-width:606px;flex:1}.search input{width:100%;height:42px;background:#1e1e1e;border-color:#343434;padding:0 16px}.account{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}.account .plain{font-size:12px;margin-left:8px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#24464b;color:#bee9eb;font-weight:600;flex-shrink:0}.avatar.small{width:38px;height:38px;background:var(--accent);color:white}.avatar.large{width:86px;height:86px;font-size:31px}.workspace{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100svh - 74px)}aside{padding:24px 14px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#161616}.workspace-picker{display:block;padding:0 11px;margin-bottom:19px;color:#8d939a;font-size:11px;letter-spacing:.6px;text-transform:uppercase}.workspace-picker select{display:block;width:100%;margin-top:7px;font-size:13px;letter-spacing:0;text-transform:none;background:#202020}.workspace-picker:has(select:only-child){display:block}aside nav{display:grid;gap:6px}aside nav button{text-align:left;border:0;background:transparent;color:#b5b9c1;border-radius:10px;min-height:48px;padding:12px 19px;font-size:15px;display:flex;align-items:center;justify-content:space-between}aside nav button:hover{background:#222}aside nav button.selected{background:#153439;color:#6ad0d4;font-weight:600}.nav-count{font-size:11px;background:#23484d;color:#c8edef;border-radius:12px;padding:2px 7px}.aside-footer{margin-top:auto;padding:70px 20px 4px;display:grid;gap:8px;font-size:15px;color:#c5cbd3}.development-tag{display:inline-block;width:max-content;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;color:#b2b6bc;border:1px solid #444;border-radius:4px;padding:3px 6px;margin-top:4px}main{padding:12px 34px 34px;min-width:0;max-width:1800px;width:100%}.toolbar{display:flex;gap:20px;align-items:center;min-height:48px;margin-bottom:10px}.toolbar #refresh{margin-left:auto;min-height:36px;padding:6px 16px}.toolbar #toolbar-label{font-size:12px;color:#9b9fa6}.toolbar #back{color:#b7c3d1;font-size:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:15px 0 20px}.page-heading p{margin-bottom:0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#6dc6cc;margin-bottom:10px}.subtle{color:var(--muted);font-size:12px}.profile{display:flex;align-items:center;gap:22px;padding:18px}.profile .name-row{display:flex;gap:20px;align-items:center}.profile h1{font-family:Georgia,serif;font-size:35px;letter-spacing:-.7px;margin:0}.profile .job-title{font-size:17px;margin:5px 0 11px;color:#d1d7df}.profile .metadata{display:flex;gap:24px;flex-wrap:wrap;color:#a7b7ca;font-size:13px}.profile-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:7px 0 20px;overflow:auto}.profile-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#b2bac6;padding:13px 20px;font-size:14px}.profile-tabs button.selected{border-bottom-color:#16a5ae;color:#6ed1d7;font-weight:600}.badge{display:inline-block;border-radius:14px;padding:5px 12px;background:#143b29;color:var(--good);font-size:12px;font-weight:500;white-space:nowrap}.badge.amber{color:var(--warn);background:#3c321d}.badge.neutral{color:#bec7d0;background:#30343b}.badge.red{color:var(--bad);background:#402626}.period-controls{display:flex;align-items:center;gap:12px}.period-controls label{display:flex;align-items:center;gap:13px;white-space:nowrap}.period-controls select{max-width:300px}.submission-meta{text-align:right;line-height:1.6}.submission-meta small{display:block;margin-top:3px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric{padding:15px 20px;min-height:86px}.metric p{color:#c5cbd3;font-size:13px;margin-bottom:8px}.metric strong{font-size:27px;font-weight:600;letter-spacing:-.5px}.metric small{margin-left:10px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.week-panel{padding:10px 7px 7px;overflow:auto}.week-heading{display:flex;align-items:center;gap:13px;padding:1px 7px 10px}.week-heading h2{margin:0;font-size:18px;white-space:nowrap}.week-heading small{white-space:nowrap}.week-total{margin-left:auto;border-radius:7px;background:var(--accent-soft);color:#7ad3d9;font-size:12px;font-weight:600;padding:5px 9px;white-space:nowrap}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:9px 9px;border-bottom:1px solid #303236;vertical-align:top}th{font-size:11px;font-weight:500;background:#282b30;color:#c4cbd6;white-space:nowrap}td{color:#d2d6de}tbody tr:last-child td{border-bottom:0}.week-table th,.week-table td{padding:8px 7px}.week-table .day-note{max-width:155px;white-space:pre-line;overflow-wrap:anywhere;font-size:11px}.week-table td:not(:last-child){white-space:nowrap}.lower-panel{min-height:145px;padding:14px}.lower-panel h2{font-size:16px;margin-bottom:12px}.empty-table{padding:22px;text-align:center;color:#999fa8;font-size:12px}.breakdown{display:grid;grid-template-columns:1fr 160px;gap:18px}.total-block{border-radius:8px;background:#282c32;text-align:center;display:grid;place-content:center;gap:4px}.total-block strong{font-size:36px;font-weight:600}.total-block span{font-size:14px}.page-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:17px}.page-actions .push-right{margin-left:auto}.notice-line{font-size:12px;color:#9ea5ae;margin:15px 1px 0}.queue-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.queue-toolbar .primary{margin-left:auto}.queue-toolbar .filters{display:flex;gap:5px}.filters button{min-height:34px;padding:6px 14px;font-size:12px;border-radius:19px;background:#242424}.filters button.selected{background:#164047;color:#8ed8dd;border-color:#3d777d}.queue-table{overflow:auto;padding:0}.queue-table th,.queue-table td{padding:16px 18px}.queue-table button{border:0;background:none;padding:0;min-height:24px;color:#e4e7ed;text-align:left}.queue-table tr:hover td{background:#25282c}.queue-table td small{display:block;margin-top:5px}.queue-title{font-size:14px;font-weight:600}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.list-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.list-item:last-child{border:0}.list-item p{margin:4px 0 0;font-size:12px}.list-item button{margin-left:auto;min-height:34px;font-size:12px;padding:6px 13px}.list-item .badge{margin-left:auto}.empty-state{text-align:center;padding:45px 25px}.empty-state h2{font-size:21px}.empty-state p{max-width:470px;margin:0 auto 15px}.employee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;white-space:normal;padding:20px;min-height:110px}.employee-card strong{display:block;font-size:15px}.employee-card small{display:block;margin-top:6px}.employee-card .avatar{width:44px;height:44px}.review-list{display:grid;gap:12px}.review-card{display:flex;align-items:center;gap:22px}.review-card p{margin-bottom:0}.review-card .badge{margin-left:auto}.error{color:var(--bad)}dialog{width:min(600px,calc(100vw - 36px));max-height:86vh;overflow:auto;background:#202020;color:var(--text);border:1px solid #444;border-radius:18px;padding:24px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#0007;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.dialog-heading h2{margin:0}.dialog-body{display:grid;gap:12px}.dialog-actions{display:flex;gap:12px;margin-top:16px}.dialog-actions button{flex:1}.check-label{display:flex;align-items:center;gap:8px}.day-detail{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.day-detail small{display:block;white-space:pre-line;margin-top:6px}.system-data{display:grid;grid-template-columns:1fr 1fr;gap:15px}.system-data dt{color:#aaa;font-size:13px}.system-data dd{margin:6px 0 18px;font-size:18px}
@media(min-width:1201px){main{padding-top:8px}.toolbar{min-height:42px;margin-bottom:8px}.profile{padding:16px 18px}.profile h1{line-height:1.1}.profile .job-title{line-height:1.3;margin:5px 0 8px}.page-heading{margin:10px 0 16px}.metric{padding:13px 20px;min-height:84px}.metric p{line-height:1.3;margin-bottom:6px}.metric strong{line-height:1.1}.week-table th,.week-table td{padding:6px 8px}.lower-panel{min-height:134px}.empty-table{padding:17px}.breakdown td{padding:6px 8px}}
@media(min-width:1500px){main{padding-left:36px;padding-right:36px}}@media(max-width:1200px){.workspace{grid-template-columns:210px minmax(0,1fr)}.app-header{gap:22px;padding:0 24px}.wordmark{width:165px}main{padding:12px 24px 25px}.account #account-name{display:none}.two-columns{grid-template-columns:1fr}.period-controls{flex-wrap:wrap;justify-content:flex-end}.profile .metadata{gap:14px}.employee-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-header{height:auto;min-height:70px;flex-wrap:wrap;padding:16px 20px;gap:12px}.wordmark{width:150px}.wordmark img{width:145px}.search{order:3;max-width:none;flex-basis:100%}.account{gap:8px}.account .avatar{display:none}.workspace{display:block}aside{padding:12px;border-right:0;border-bottom:1px solid var(--line)}.workspace-picker{display:inline-block;margin:0 10px 10px 0;padding:0;min-width:140px}aside nav{display:flex;overflow:auto;gap:6px}aside nav button{font-size:13px;min-height:40px;padding:9px 13px;gap:8px}.aside-footer{display:none}main{padding:10px 15px 28px}.profile{gap:14px}.avatar.large{width:58px;height:58px;font-size:22px}.profile h1{font-size:27px}.profile .name-row{gap:10px;flex-wrap:wrap}.profile .metadata{font-size:11px;gap:10px}.profile-tabs button{padding:13px 12px;font-size:12px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:24px}.page-heading{align-items:flex-start;flex-direction:column}.period-controls{width:100%;justify-content:space-between}.period-controls label{font-size:12px}.period-controls select{max-width:230px}.overview-grid,.employee-grid{grid-template-columns:1fr}.page-actions .push-right{margin-left:0}.review-card{flex-wrap:wrap;gap:12px}.review-card .badge{margin-left:0}.breakdown{grid-template-columns:1fr 120px}.toolbar #toolbar-label{display:none}}
/* Match ThemePalette.Dark and the mobile default primary action. */
button{border-radius:24px}button.primary{background:#d4d4d4;border-color:var(--soft-outline);color:#202020}button.primary:hover{background:#e2e2e2}.app-header,aside{background:#101010}.avatar,.avatar.small{background:#303030;color:#f5f5f5}aside nav button{border-radius:26px}aside nav button.selected{background:#303030;color:#f5f5f5}.nav-count{background:#000;color:#fff;border:1px solid #666}.profile-tabs button.selected{color:#f5f5f5;border-bottom-color:#bfbfbf}.filters button.selected{background:#303030;color:#f5f5f5;border-color:var(--soft-outline)}.week-total{background:#303030;color:#e6e6e6}.eyebrow,a{color:#bfbfbf}.search input,.workspace-picker select{background:#202020}.profile .metadata,.profile .job-title,.metric p,.subtle{color:#ababab}.profile-tabs button{color:#bfbfbf}th{background:#303030;color:#ccc}td{color:#e6e6e6}.total-block{background:#303030}.login-form>input,.login-password>input{background:#262626}.login-options input{accent-color:#bfbfbf}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#bfbfbf}

/* The received PDF stays inside the same blurred dialog as other previews. */
dialog.pdf-notice{width:min(1100px,calc(100vw - 36px));max-height:92vh;padding:20px}.pdf-preview{display:flex;flex-direction:column;gap:12px}.pdf-preview iframe{display:block;width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:#262626}.pdf-preview .dialog-actions{margin-top:0;justify-content:flex-end;align-items:center}.pdf-preview .dialog-actions button{flex:0 1 160px}.pdf-download{padding:10px 18px;border:1px solid var(--line);border-radius:24px;color:var(--text);text-decoration:none}

.review-navigation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 16px}.review-navigation strong{font-size:16px}.review-navigation span{margin-right:auto}.review-navigation button{min-height:36px;padding:7px 16px}.comparison-panel{margin-bottom:12px;overflow:auto}.comparison-table th,.comparison-table td{padding:12px;vertical-align:middle}.comparison-table td:first-child{white-space:nowrap}.comparison-table button{min-height:34px;padding:6px 14px;font-size:12px;white-space:nowrap}.comparison-note{display:block;white-space:pre-line;color:var(--muted);font-size:12px;margin-top:5px}.comparison-table .flagged{border-color:var(--warn);color:var(--warn)}

.review-actions{position:sticky;bottom:12px;z-index:2;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #0006}

dialog.pdf-notice{position:fixed;inset:0;margin:auto;max-width:calc(100vw - 36px)}.pdf-pages{height:70vh;overflow:auto;padding:12px;background:#303030;border:1px solid var(--line);border-radius:10px}.pdf-pages canvas{display:block;max-width:100%;height:auto;margin:0 auto 14px;background:white}.pdf-pages p{padding:12px}

.dialog-body label input:not([type=checkbox]):not([type=radio]){display:block;width:100%;margin-top:8px}.dialog-body label textarea{display:block;margin-top:8px}.comparison-note strong,strong.comparison-note{color:var(--warn)}

.nav-group{display:grid;gap:4px;margin-top:12px}.nav-group-title{padding:8px 19px 3px;margin:0;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.dashboard-greeting{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:0 0 18px;padding:24px}.dashboard-welcome{font-size:14px;margin-bottom:15px}.dashboard-greeting h2{font-size:23px;margin-bottom:8px}.dashboard-greeting p:last-child{margin-bottom:0}.dashboard-shift{border-left:1px solid var(--line);padding-left:28px;min-width:230px}.dashboard-shift strong{display:block;font-size:16px;margin-bottom:8px}.dashboard-shift p{margin-bottom:12px!important}.overview-grid .panel>button{margin:4px 6px 4px 0}
@media(max-width:900px){.dashboard-greeting{align-items:flex-start;flex-direction:column}.dashboard-shift{border-left:0;border-top:1px solid var(--line);padding:18px 0 0;width:100%;min-width:0}}

/* Compact workspace controls and a quieter dashboard hierarchy. */
button{min-height:36px;padding:7px 14px;border-radius:18px}aside nav button{min-height:36px;padding:8px 16px;border-radius:18px;font-size:14px}.nav-group{gap:3px;margin-top:9px}.nav-group-title{padding:6px 16px 2px}.aside-footer{padding-top:36px}
.dashboard-welcome{font-size:23px;margin:8px 0 15px;letter-spacing:-.3px}.dashboard-greeting{padding:16px 20px;margin-bottom:14px;border-radius:12px;gap:20px}.dashboard-greeting h2{font-size:17px;margin-bottom:5px}.dashboard-greeting p{font-size:13px}.dashboard-shift{padding-left:20px;min-width:220px}.dashboard-shift strong{font-size:14px}
.dashboard-summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 0;gap:0;margin-bottom:14px}.dashboard-summary .metric{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;min-height:0;padding:0 20px}.dashboard-summary .metric:last-child{border-right:0}.dashboard-summary .metric p{font-size:12px;margin-bottom:5px}.dashboard-summary .metric strong{font-size:22px}
.dashboard-work{grid-template-columns:1fr;align-items:start}.dashboard-work .panel{padding:16px 20px;border-radius:12px}.dashboard-work .list-item{padding:12px 0}.dashboard-work h2{font-size:17px;margin-bottom:10px}.dashboard-work .list-item h3{font-size:14px}.dashboard-work .list-item button{min-height:32px;padding:6px 14px}
.avatar img,.settings-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.settings-profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--panel-soft);display:grid;place-items:center;margin-bottom:12px;font-size:23px;color:var(--text)}
@media(max-width:760px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.dashboard-summary .metric:nth-child(2){border-right:0}.dashboard-summary .metric{padding:0 14px}.dashboard-welcome{font-size:21px}.dashboard-shift{padding-left:0;min-width:0}}

.dashboard-profile{display:flex;align-items:center;gap:20px;padding:18px 20px;border-radius:12px;margin-bottom:12px}.dashboard-profile-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--panel-soft);font-size:27px;flex-shrink:0}.dashboard-profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.dashboard-profile-copy{min-width:0}.dashboard-profile h1{font-size:29px;margin-bottom:4px}.dashboard-profile-role{font-size:15px;margin-bottom:12px}.dashboard-profile-contacts{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.dashboard-greeting{padding:12px 20px;margin-bottom:8px}.dashboard-greeting h2{font-size:16px}.dashboard-greeting p{font-size:12px}.dashboard-tabs{margin:0 0 14px;gap:0}.dashboard-tabs button{padding:11px 15px;font-size:13px;min-height:38px}.dashboard-timesheet-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.dashboard-timesheet-heading h2{margin:0;font-size:21px}.dashboard-weeks .week-table{font-size:11px}.dashboard-weeks .week-table .day-note{font-size:10px}.dashboard-weeks .week-table th,.dashboard-weeks .week-table td{padding:7px 5px}.dashboard-shift{min-width:320px}.dashboard-shift-controls{display:flex;gap:7px;flex-wrap:wrap}.dashboard-shift-controls button{min-height:32px;padding:6px 13px;font-size:12px}.dashboard-actions{margin-top:10px}.dashboard-actions small{margin-left:auto}.dashboard-settings-fields{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:14px}.dashboard-settings-fields dt{color:var(--muted)}.dashboard-settings-fields dd{margin:0}.dashboard-map-placeholder{min-height:260px;display:grid;place-content:center;text-align:center}.dashboard-team-member{padding:16px}.dashboard-team-member p{margin-bottom:5px;font-size:13px}
@media(max-width:1000px){.dashboard-timesheet-heading{align-items:flex-start;flex-direction:column}.dashboard-timesheet-heading .period-controls{flex-wrap:wrap}.dashboard-shift{min-width:0}.dashboard-profile-contacts{gap:7px 14px}}@media(max-width:600px){.dashboard-profile{padding:15px;gap:14px;align-items:flex-start}.dashboard-profile-avatar{width:55px;height:55px}.dashboard-profile h1{font-size:24px}.dashboard-profile-contacts{display:grid}.dashboard-settings-fields{grid-template-columns:1fr;gap:5px}.dashboard-settings-fields dd{margin-bottom:12px}}

/* Stable centered desktop canvas with navigation beside search. */
.app-header{height:auto;min-height:74px;max-width:1488px;margin:0 auto;padding:16px 24px;gap:18px;flex-wrap:wrap}
.wordmark{width:145px}.wordmark img{width:145px}.search{flex:1 1 180px;max-width:280px}.search input{height:36px;font-size:12px}
#navigation{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1 1 auto}
#navigation .nav-group{display:flex;align-items:center;gap:4px;margin:0;flex-wrap:wrap}
#navigation .nav-group-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
#navigation button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);min-height:32px;padding:6px 10px;font-size:12px}
#navigation button:hover,#navigation button.selected{background:#303030;color:var(--text)}
.account{gap:8px;margin-left:auto;font-size:12px}.account .avatar.small{width:30px;height:30px}.account .plain{margin-left:0}
.workspace{display:block;min-height:calc(100svh - 74px)}
.workspace>aside{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px;border:0;padding:8px 24px 0;max-width:1288px;margin:0 auto}
.workspace-picker{margin:0;padding:0;min-width:150px}.workspace-picker select{margin-top:3px;padding:6px 12px}.aside-footer{display:none}
.workspace>aside:has(#workspace-picker[hidden]):has(#company-picker[hidden]){display:none}
main{width:1288px;max-width:100%;margin:0 auto;padding:8px 24px 34px}
.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.app-header{gap:12px}#navigation{order:4;flex-basis:100%;justify-content:center}.search{max-width:400px}.account #account-name{display:inline}.two-columns{grid-template-columns:1fr}}
@media(max-width:760px){.app-header{padding:14px 16px}.search{order:3;max-width:none;flex-basis:100%}.account #account-name{display:none}#navigation{justify-content:flex-start}.workspace>aside{padding:10px 16px 0;flex-wrap:wrap}main{padding:8px 16px 28px}.account .avatar.small{display:inline-flex}}

/* Profile content stands on its own, without a card outline or fill. */
.dashboard-profile{background:transparent;border:0;border-radius:0;padding:20px 0;margin-bottom:8px}.dashboard-clock-controls{margin:0 0 16px}

.dashboard-timesheet-heading{justify-content:flex-end}

.dashboard-clock-preview{margin-right:auto}.dashboard-timesheet-heading{flex-wrap:wrap}

.personal-time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-body label select{display:block;width:100%;margin-top:8px}

.clock-status{flex-basis:100%;font-size:11px;margin-top:2px;max-width:440px;white-space:normal}.dashboard-clock-preview{margin-bottom:8px}

.dashboard-team-map{display:block;width:100%;height:520px;max-height:65vh;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.dashboard-team-map+p{margin:12px 0 0}

button:has(.mobile-icon){display:inline-flex;align-items:center;justify-content:center;gap:7px}.mobile-icon{display:block;width:18px;height:18px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1);opacity:.7}.selected>.mobile-icon,button.primary>.mobile-icon{opacity:1}#navigation .mobile-icon{width:16px;height:16px}.dashboard-tabs .mobile-icon{width:18px;height:18px}

/* Header order: wordmark, office navigation, search, then account. */
@media(min-width:1101px){.app-header>#navigation{flex:0 1 auto}.app-header>.search{margin-left:auto;flex:0 1 280px}.app-header>.account{margin-left:0}}

.dashboard-profile-copy{flex:1}.dashboard-vacation{width:350px;min-width:350px;display:grid;grid-template-columns:95px 1fr;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;align-items:center;margin-left:auto}.vacation-balance{display:grid;gap:10px;padding-right:10px;border-right:1px solid var(--line);height:100%;align-content:center}.vacation-label{font-size:10px;color:var(--muted)}.vacation-balance strong{font-size:19px;font-weight:500}.vacation-balance small{font-size:10px}.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:5px}.calendar-month button{border:0;background:transparent;min-height:24px;padding:2px 5px;font-size:12px}.calendar-month button:first-child,.calendar-month button:last-child{font-size:19px;min-width:22px;color:var(--muted)}.calendar-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;row-gap:3px;font-size:11px}.calendar-weekday{font-size:9px;color:var(--muted);padding-top:3px}.calendar-date{position:relative;padding:4px 0 7px}.calendar-date.outside-month{color:#777}.calendar-date.is-today::after{content:'';position:absolute;bottom:1px;left:calc(50% - 1.5px);width:3px;height:3px;background:var(--text);border-radius:50%}.calendar-expand{display:block;width:100%;min-height:18px;border:0;padding:0;background:transparent;font-size:10px;color:var(--muted)}.full-calendar .calendar-month{margin-bottom:12px}.full-calendar .calendar-month span{font-size:17px}.calendar-dates.expanded{font-size:14px;row-gap:9px}.expanded .calendar-date{padding:10px 0 15px}.expanded .calendar-weekday{font-size:12px}
@media(max-width:1000px){.dashboard-profile{flex-wrap:wrap}.dashboard-vacation{margin-left:0}}@media(max-width:480px){.dashboard-vacation{width:100%;min-width:0}}

.dashboard-vacation{background:transparent;border:0;border-radius:0;padding:0;margin-top:24px}

/* Keep the same breathing room below the header on every role and page. */
main{padding-top:28px}
.review-profile-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}.review-profile-controls button{min-height:34px;padding:6px 14px;font-size:12px}
.review-period{width:100%;justify-content:space-between}.review-period-label{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px}.review-period-label>span{color:var(--muted)}.review-period-label>strong{font-weight:500}.review-period .submission-meta{margin-left:auto}
.payroll-received-member{padding:10px 0;border-bottom:1px solid var(--line)}.payroll-received-member:last-child{border-bottom:0}.payroll-received-member h3{font-size:15px;margin-bottom:6px}
.queue-toolbar>button.primary{margin-left:0}.queue-toolbar>button.primary:first-of-type{margin-left:auto}
.employee-fields{border:0;margin:0;padding:0;display:grid;gap:12px;min-width:0}.employee-editor-photo{width:64px;height:64px;border-radius:50%;object-fit:cover}.hr-employee-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.hr-employee-form input,.hr-employee-form select,.hr-employee-form textarea{width:100%;border-radius:18px;color:var(--text)}.hr-employee-form input[readonly]{color:var(--muted)}
.personal-timesheet-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px) minmax(0,1fr);gap:16px}.personal-timesheet-actions>.primary{justify-self:end}.dashboard-action-start{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.empty-period-note{margin:0;text-align:center;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:950px){.personal-timesheet-actions{grid-template-columns:1fr auto;gap:12px}.personal-timesheet-actions .empty-period-note{grid-column:1/-1;grid-row:2}.personal-timesheet-actions .empty-period-note:empty{display:none}}
.review-weeks{overflow:visible}.review-week-table td{vertical-align:middle}.review-week-table td:last-child,.review-week-table th:last-child{width:42px;text-align:right}.review-week-table .review-flag{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:5px;border:1px solid transparent;background:transparent;border-radius:50%}.review-flag:hover{background:#303030;border-color:#555}.review-flag.flagged{border-color:var(--warn);background:#3c321d}.review-correction-state{display:block;font-size:10px;color:var(--muted);margin-top:3px}.review-draft-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.review-draft-action{display:flex;align-items:center;gap:10px;font-size:12px}.review-draft-action button{font-size:12px;min-height:30px;padding:5px 12px}
@media(max-width:1000px){.review-profile-controls{flex-basis:100%}}
/* Center the compact calendar between the main header and personal-tab dividers. */
@media(min-width:1001px){.dashboard-vacation{transform:translateY(10px)}}

/* The same account shell and personal dashboard are shared across roles. */
.workspace>aside{display:none}.account .workspace-picker{font-size:0;min-width:0;margin:0;padding:0}.account .workspace-picker select{margin:0;max-width:165px;height:32px;padding:5px 10px;font-size:11px}

/* A compact warning strip; the explanation stays in the full correction dialog. */
.correction-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;margin:0 0 12px;background:#312b1d;border:1px solid #8d783f;border-radius:12px}.correction-notice-copy{min-width:0}.correction-notice-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:12px}.correction-notice-heading strong{font-size:13px;color:#f5f5f5}.correction-notice-heading span{color:#d8ccae}.correction-notice p{margin:3px 0 0;font-size:11px;line-height:1.35;color:#d8ccae}.correction-notice button{flex-shrink:0;min-height:30px;padding:5px 12px;font-size:12px;border-color:#b69a4c;background:#4a3b1b;color:#ffd66b}.correction-notice button:hover{background:#5b4922}@media(max-width:600px){.correction-notice{gap:10px;padding:9px 10px}.correction-notice-heading{gap:3px 8px}.correction-notice p{font-size:10px}.correction-notice button{padding:5px 9px}}

/* Pending review uses the same amber palette as mobile correction alerts. */
.review-card.review-attention{background:#312b1d;border-color:#8d783f}.review-attention p{color:#d8ccae}.review-attention button{background:#4a3b1b;border-color:#b69a4c;color:#ffd66b}.review-attention button:hover{background:#5b4922}

/* Keep scrolling inside rounded surfaces; retain native wheel and thumb dragging. */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#777;border:2px solid transparent;background-clip:padding-box;border-radius:10px}
*::-webkit-scrollbar-thumb:hover{background-color:#999}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:transparent}
dialog{overflow:hidden;padding:8px}
.dialog-scroll{max-height:calc(86vh - 18px);overflow:auto;padding:16px;border-radius:10px;scrollbar-gutter:stable}
dialog.pdf-notice{padding:8px}
.pdf-notice .dialog-scroll{max-height:calc(92vh - 18px);padding:12px}

.directory-contact-header{display:flex;align-items:center;gap:16px}.directory-contact-header .avatar{width:64px;height:64px;font-size:22px}.directory-contact-header p{margin:4px 0 0}.directory-contact-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 24px;margin:10px 0}.directory-contact-details dt{color:var(--muted);font-size:12px}.directory-contact-details dd{margin:0;font-size:14px;overflow-wrap:anywhere}

/* Compact business card: identity left, contact details right. */
.contact-notice #close-notice{display:none}
.contact-notice .dialog-heading{margin-bottom:18px}
.contact-notice .directory-contact{grid-template-columns:minmax(170px,.75fr) minmax(0,1.25fr);align-items:center;gap:18px}
.contact-notice .directory-contact-header{gap:12px;min-width:0}
.contact-notice .directory-contact-header h3{font-size:15px;overflow-wrap:anywhere}
.contact-notice .directory-contact-header p{font-size:12px}
.contact-notice .directory-contact-details{gap:10px 14px;margin:0}
.contact-notice .directory-contact-details dt{font-size:11px;text-align:right}
.contact-notice .directory-contact-details dd{font-size:12px;text-align:left}
.contact-notice .dialog-actions{grid-column:1/-1;margin-top:0}
@media(max-width:560px){.contact-notice .directory-contact{grid-template-columns:1fr;gap:18px}}

.summary-period{display:flex;align-items:center;gap:16px;margin:8px 0 14px}.summary-receipt-totals{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:20px}.two-columns details summary{cursor:pointer;font-size:12px;color:var(--muted)}

.employee-card .team-profile-photo{height:44px;object-fit:cover}

.employee-remove-action{margin-top:8px;justify-self:start}

.dashboard-timesheet-heading.has-leave-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}
.has-leave-actions .dashboard-clock-preview{grid-column:1;margin-right:0;justify-self:start}
.dashboard-leave-actions{grid-column:2;display:flex;align-items:center;gap:8px;justify-content:center}
.dashboard-leave-actions button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 8px;background:transparent;border-color:transparent;color:var(--muted);font-size:11px}
.dashboard-leave-actions button:hover{background:#242424;color:var(--text)}
.dashboard-leave-actions .mobile-icon{width:18px;height:18px}
.has-leave-actions .personal-period-controls{grid-column:3;justify-self:end;white-space:nowrap}
.leave-date-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.hr-employee-form .check-label{display:flex;align-items:flex-start;gap:8px}.hr-employee-form .check-label input{width:16px;flex-shrink:0;margin-top:2px}
@media(max-width:1100px){.dashboard-timesheet-heading.has-leave-actions{grid-template-columns:1fr 1fr}.has-leave-actions .personal-period-controls{grid-column:2}.dashboard-leave-actions{grid-column:1/-1;grid-row:2}}
@media(max-width:650px){.dashboard-timesheet-heading.has-leave-actions{grid-template-columns:1fr}.has-leave-actions .personal-period-controls{grid-column:1;grid-row:3;justify-self:start}.dashboard-leave-actions{justify-content:flex-start}}

.system-administration-card{padding:16px 8px 8px;min-height:540px}.system-administration-card>h2{padding:0 12px}.system-administration-frame{display:block;width:100%;height:72vh;min-height:420px;border:0;border-radius:10px;background:var(--panel)}

.dashboard-action-end{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;justify-self:end}

.personal-profile-form{max-width:600px;display:grid;gap:14px}.personal-profile-form label{display:grid;grid-template-columns:22px 1fr;gap:6px;align-items:center}.personal-profile-form label>span{grid-column:2}.personal-profile-form label>input,.personal-profile-form label>select{grid-column:1/-1;width:100%;margin:0}.personal-profile-form input[readonly]{color:var(--muted);background:#191919}.personal-profile-form>button{justify-self:start}.personal-profile-form>small{color:var(--muted)}

.personal-profile-form label>span{grid-column:1/-1}.personal-profile-form label:has(img)>span{grid-column:2}

.personal-week-table .day-note{width:100%;max-width:none;min-width:130px;font-size:11px!important}.employee-comments-form label{display:grid;gap:8px}.employee-comments-form textarea{width:100%;min-height:180px;resize:vertical;line-height:1.5}
.week-heading>small{margin-left:auto}.week-heading>.week-total{margin-left:0}

.employee-editor-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}.employee-editor-vacation{width:200px;max-width:50%}.employee-editor-vacation small{display:block;margin-top:6px;color:var(--muted)}

.team-vacation{margin-left:auto;text-align:center;flex-shrink:0}.team-vacation strong{font-size:14px;margin-top:6px}.team-vacation small{margin-top:0}

.vacation-balance,.vacation-balance>*{text-align:center}

.account .header-refresh{display:inline-grid;place-items:center;width:30px;min-width:30px;min-height:32px;padding:6px;border-radius:50%;opacity:.75}.account .header-refresh:hover{opacity:1;background:#ffffff12}.header-refresh img{display:block;width:18px;height:18px}

.search{position:relative}.employee-search-results{position:absolute;top:calc(100% + 7px);left:0;right:0;min-width:280px;max-height:min(390px,60vh);overflow:auto;z-index:30;background:#202020;border:1px solid #484848;border-radius:12px;padding:5px;box-shadow:0 14px 35px #0008}.employee-search-option{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;color:#f5f5f5;text-align:left}.employee-search-option:hover,.employee-search-option[aria-selected=true]{background:#343434}.employee-search-option .avatar{width:32px;height:32px;min-width:32px;font-size:11px;object-fit:cover;border-radius:50%}.employee-search-option strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.employee-search-option small{display:block;font-size:11px;color:#b7b7b7;margin-top:3px;overflow-wrap:anywhere}.employee-search-status{padding:12px;margin:0;color:#bfbfbf;font-size:12px}@media(max-width:760px){.employee-search-results{min-width:0}}

/* Keep the email action with its address in the compact directory card. */
dialog.contact-notice{width:min(680px,calc(100vw - 36px))}.contact-notice .directory-contact{grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);column-gap:24px}.contact-notice .directory-contact-header h3{margin-bottom:4px}.contact-notice .directory-contact-details{row-gap:12px;align-items:center}.contact-notice .directory-contact-value{display:flex;align-items:center;gap:10px;min-width:0}.directory-contact-value>span{min-width:0;overflow-wrap:anywhere}.contact-email-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #bfbfbf;border-radius:50%;background:#000}.contact-email-action:hover{background:#303030;text-decoration:none}.contact-email-action img{width:18px;height:18px;filter:brightness(0) invert(1)}@media(max-width:560px){.contact-notice .directory-contact{grid-template-columns:1fr;gap:18px}}

#notice-actions{display:flex;align-items:center;margin-left:auto}#notice-actions:empty{display:none}.contact-notice .dialog-heading{gap:16px}.contact-notice .dialog-heading h2{flex:1}



/* Give the week strip a separate expansion action and a roomier month panel. */
.mini-calendar .calendar-month{margin-bottom:5px}
.mini-calendar .calendar-expand{width:max-content;max-width:100%;margin:5px auto 0;min-height:26px;padding:2px 4px;border-radius:0;background:transparent}
.mini-calendar .calendar-expand:hover{background:transparent;color:var(--text);text-decoration:none}
dialog.calendar-notice{width:min(920px,calc(100vw - 36px))}
.calendar-notice .full-calendar .calendar-month{justify-content:flex-start;gap:12px;margin-bottom:30px}
.calendar-notice .calendar-month>span{min-width:160px;text-align:center}
.calendar-notice .dialog-heading{display:none}
.calendar-notice .calendar-dates.expanded{row-gap:14px;font-size:17px}
.calendar-notice .expanded .calendar-date{padding:20px 0 25px}

.personal-timesheet-actions button,.timesheet-queue-toolbar button{min-height:32px;padding:5px 11px;font-size:12px;gap:5px}
.personal-timesheet-actions button .mobile-icon,.timesheet-queue-toolbar button .mobile-icon{width:15px;height:15px}

.dashboard-profile-contacts .profile-contact{display:inline-flex;align-items:center;gap:9px;min-width:0}
.profile-contact>span{overflow-wrap:anywhere}
.profile-contact .mobile-icon{width:17px;height:17px}
#sign-out{display:inline-flex;align-items:center;gap:7px}
#sign-out .mobile-icon{width:18px;height:18px}
.dashboard-vacation{width:374px;min-width:374px;grid-template-columns:105px minmax(0,1fr);gap:20px}
.vacation-balance{padding-right:18px}
@media(max-width:480px){.dashboard-vacation{width:100%;min-width:0;grid-template-columns:95px minmax(0,1fr);gap:16px}}
.search>.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}
.search input{padding-left:36px;border-radius:999px}
.dashboard-timesheet-heading .submission-meta .badge{font-size:11px;line-height:1.3;padding:3px 9px;border-radius:12px}
.account .header-refresh:hover{background:transparent}
.account{position:relative}
.account #connection-status{display:block;flex:0 0 8px;width:8px;height:8px;margin-left:4px;border-radius:50%;background:#888}
.account #connection-status[data-connection=online],.connection-dot[data-connection=online]{background:#57ba7d}
.account #connection-status[data-connection=offline],.connection-dot[data-connection=offline]{background:#e16b6b}
.login-screen .web-version-credit{display:flex;align-items:center;justify-content:center;gap:7px}.login-screen footer .web-version-credit button{margin:0}.web-version-credit>.connection-dot{display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%}
.connection-dot[data-connection=checking]{background:#888}
#sign-out{opacity:.75}
#sign-out .mobile-icon{opacity:1}
#sign-out:hover{opacity:1;color:#fff;background:transparent}
.account #sign-out{margin-left:12px}
.personal-timesheet-actions button{color:#c4c4c4}
.dashboard-vacation:has(>.vacation-balance[hidden]){width:249px;min-width:249px;grid-template-columns:minmax(0,1fr)}
@media(max-width:480px){.dashboard-vacation:has(>.vacation-balance[hidden]){width:100%;min-width:0}}
.owner-dashboard-map{margin-top:20px}
.account .header-profile{display:inline-grid;place-items:center;width:30px;min-width:30px;min-height:32px;padding:6px;margin:0;border:0;opacity:.75}
.account .header-profile:hover{opacity:1;background:transparent}
.header-profile .mobile-icon{width:18px;height:18px;opacity:1}
.profile-settings-popup .settings-profile-avatar{margin:0 auto 20px}
dialog.profile-notice::backdrop{background:#0008;backdrop-filter:blur(8px)}
.profile-notice .dialog-heading{justify-content:space-between;gap:16px}
.profile-notice .dialog-heading h2{text-align:left}
.profile-notice #close-notice{display:none}
.profile-settings-actions{justify-content:center;gap:12px}
.profile-settings-popup .personal-profile-form>small{display:block;text-align:center}
.profile-settings-actions button{flex:0 1 150px;min-height:36px;padding:7px 14px;font-size:13px;border-radius:999px}
.profile-photo-editor{display:flex;flex-direction:column;align-items:center;gap:10px;width:max-content;margin:0 0 20px}
.profile-settings-popup .profile-photo-editor{margin:0 auto 20px}
.profile-photo-editor .settings-profile-avatar{margin:0}
.profile-photo-edit{min-height:28px;padding:4px 12px;font-size:12px;border-radius:999px}
.profile-photo-status{font-size:11px;color:var(--muted);text-align:center;margin:0 0 14px}
.profile-photo-status:empty{display:none}

.personal-receipts{padding:12px 0 0}
.receipt-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;margin-bottom:18px}
.receipt-month-picker{display:inline-flex;justify-self:center;align-items:center;gap:12px;border:0;padding:2px 0;background:transparent}
.receipt-month-picker>span{min-width:120px;text-align:center;font-size:13px}
.receipt-month-picker button{display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;padding:0;border-radius:50%;line-height:1}.receipt-month-chevron{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:3px}.receipt-month-chevron.previous{transform:rotate(135deg);margin-right:0;margin-left:3px}
.receipt-month-picker button.unavailable{visibility:hidden;pointer-events:none}
.receipt-controls{display:flex;align-items:center;justify-self:end;min-width:0;max-width:100%;gap:12px}
.receipt-submit-placeholder{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:30px;padding:0 10px;border:1px solid var(--soft-outline);border-radius:999px;background:#d4d4d4;color:#202020;font-size:11px;box-shadow:0 0 6px #66666647;cursor:default}
.receipt-submit-placeholder:hover{background:#d4d4d4}
.receipt-submit-placeholder .receipt-month-chevron{width:5px;height:5px;border-width:1px}
.receipt-filters{display:flex;gap:8px;flex-wrap:wrap}
.receipt-filter{min-height:32px;padding:5px 16px;font-size:12px;border-radius:999px;background:transparent;color:#bfbfbf}
.receipt-filter.selected{background:#d4d4d4;border-color:var(--soft-outline);color:#202020}
.receipt-search{position:relative;flex:1 1 260px;min-width:0;width:260px;max-width:100%;margin-left:0}
.receipt-search input{width:100%;height:34px;margin:0;padding:7px 14px 7px 34px;font-size:12px;border-radius:999px}
.receipt-search>.mobile-icon{position:absolute;left:12px;top:10px;width:14px;height:14px;pointer-events:none}
.receipt-row{display:flex;width:100%;align-items:center;gap:18px;min-height:66px;border:0;border-bottom:1px solid #303030;border-radius:0;background:transparent;padding:12px 14px;text-align:left;white-space:normal;color:#d8d8d8;font-weight:400}
.receipt-row:hover{background:#ffffff05}
.receipt-row .receipt-category-icon{width:24px;height:24px}
.receipt-row-copy{display:grid;gap:5px;min-width:0;flex:1}
.receipt-row-copy strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.receipt-row-copy small{font-size:11px;color:#aaa}
.receipt-row-amount{font-size:14px;white-space:nowrap;font-weight:500}
.receipt-chevron{font-size:22px;color:#aaa}
.receipt-footer{display:flex;justify-content:flex-end;gap:16px;padding:18px 14px;color:#aaa;font-size:12px}
.receipt-footer strong{font-weight:500;color:#d8d8d8}
.receipt-empty{padding:30px 14px}
.personal-receipt-photo{display:block;width:100%;max-height:65vh;object-fit:contain;margin-top:20px}
.receipt-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
dialog:has(.personal-receipt-detail) .dialog-heading{justify-content:flex-end;margin-bottom:8px}
dialog:has(.personal-receipt-detail) .dialog-heading h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog:has(.personal-receipt-detail) #close-notice{min-height:30px;padding:4px 12px;font-size:12px;border-radius:999px}
.receipt-detail-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:12px}
.receipt-detail-metadata .directory-contact-details{grid-template-columns:auto minmax(0,1fr);gap:9px 12px;margin:0;align-content:start}
.receipt-detail-metadata dt{font-size:11px}
.receipt-detail-metadata dd{font-size:13px}
.personal-receipt-detail .personal-receipt-photo{margin-top:12px}
@media(max-width:420px){.receipt-detail-metadata{grid-template-columns:1fr;gap:9px}}
@media(max-width:1000px){.receipt-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.receipt-month-picker{grid-column:1/-1;grid-row:1}}
@media(max-width:600px){.receipt-tools{grid-template-columns:minmax(0,1fr);gap:12px}.receipt-controls{width:100%;justify-self:stretch}.receipt-month-picker{grid-column:1}.receipt-search{flex:1 1 180px;width:auto;margin:0}.receipt-month-picker{gap:8px}.receipt-filters{gap:6px}.receipt-filter{padding:5px 12px}.receipt-row{gap:12px;padding:12px 4px}}

.metrics.personal-timesheet-summary{width:75%;margin:0 auto 24px;background:#171717;border-color:var(--soft-outline)}
.personal-timesheet-summary .metric{text-align:center}
.dashboard-timesheet-heading{padding-top:10px;padding-bottom:10px}
@media(max-width:760px){.metrics.personal-timesheet-summary{width:100%}}

.personal-timesheet-weeks>.week-panel{background:#171717;border-color:var(--soft-outline)}
.personal-timesheet-weeks>.week-panel.current-week{box-shadow:0 0 8px #ffffff12,0 0 2px #ffffff18}

.personal-timesheet-weeks .personal-week-table{table-layout:fixed;min-width:560px}
.personal-timesheet-weeks .personal-week-table th,.personal-timesheet-weeks .personal-week-table td{padding:10px 8px}
.personal-timesheet-weeks .personal-week-table th:nth-child(1){width:10%}
.personal-timesheet-weeks .personal-week-table th:nth-child(2){width:9%}
.personal-timesheet-weeks .personal-week-table th:nth-child(3),.personal-timesheet-weeks .personal-week-table th:nth-child(4){width:13%}
.personal-timesheet-weeks .personal-week-table th:nth-child(5){width:10%}
.personal-timesheet-weeks .personal-week-table th:nth-child(6){width:12%}
.personal-timesheet-weeks .personal-week-table th:nth-child(7){width:33%}
.personal-timesheet-weeks .personal-week-table .day-note{width:auto;min-width:0;overflow-wrap:anywhere}

button.primary>.mobile-icon{filter:brightness(0);opacity:.8}
.personal-timesheet-actions button.primary{color:#202020}
.personal-timesheet-actions{margin-top:20px}
.personal-timesheet-weeks .personal-week-table thead{clip-path:inset(0 round 6px)}
.personal-timesheet-weeks .personal-week-table thead th{border-bottom:0}

.profile-settings-popup .settings-profile-avatar{width:96px;height:96px;font-size:32px}
.profile-theme-control{display:flex;align-items:center;gap:9px}
.profile-theme-icon{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.75}
.profile-theme-switch{display:flex;align-items:center;width:38px;min-height:22px;height:22px;padding:3px;border:1px solid var(--soft-outline);border-radius:999px;background:#303030;cursor:default}
.profile-theme-switch:disabled{opacity:1}
.profile-theme-thumb{width:14px;height:14px;border-radius:50%;background:#c8c8c8;pointer-events:none}
.personal-profile-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.personal-profile-dates.single-date{grid-template-columns:1fr}
.profile-settings-popup .personal-profile-form input,.profile-settings-popup .personal-profile-form select{border-radius:999px;padding:10px 16px}
@media(max-width:360px){.personal-profile-dates{grid-template-columns:1fr}}

.team-chatter-placeholder{max-width:760px;margin:0 auto;padding:45px 25px}
.team-chatter-placeholder>.mobile-icon{width:40px;height:40px;margin:0 auto 16px}
.panel.team-chatter-placeholder{background:transparent;border:0;box-shadow:none}

.login-password{display:block;position:relative;margin:11px 0}.login-password>input{margin:0;padding-right:58px}.login-password #password-visibility{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:#aaa}.login-password #password-visibility:hover{color:#eee}.login-password #password-visibility:focus-visible{outline:2px solid currentColor;outline-offset:1px}.login-password .eye-slash{display:none}.login-password .is-visible .eye-slash{display:block}

.panel.dispatch-empty-state{background:transparent;border:0;box-shadow:none}

.timesheet-queue-toolbar .filters button{background:#d4d4d4;color:#202020;border-color:var(--soft-outline);font-weight:600}.timesheet-queue-toolbar .filters button:hover{background:#e2e2e2}.timesheet-queue-toolbar .filters button.selected{box-shadow:inset 0 0 0 1px var(--soft-outline)}

.panel.employee-card{background:#171717}

.dispatch-empty-state>.mobile-icon{width:40px;height:40px;margin:0 auto 16px}

/* Empty queue: 32px toolbar + 16px gap replaces the usual 45px top padding. */
.timesheet-queue-toolbar+.dispatch-empty-state{padding-top:0;margin-top:-3px}

.dashboard-shift-controls button.clock-recorded-time{height:32px;min-height:32px;padding-top:3px;padding-bottom:3px;font-size:16px;line-height:24px;font-variant-numeric:tabular-nums}

.personal-additional-shifts{margin-top:24px}
.personal-additional-shifts .additional-shifts-table th:nth-child(1){width:10%}
.personal-additional-shifts .additional-shifts-table th:nth-child(2){width:9%}
.personal-additional-shifts .additional-shifts-table th:nth-child(3),.personal-additional-shifts .additional-shifts-table th:nth-child(4){width:13%}
.personal-additional-shifts .additional-shifts-table th:nth-child(5){width:10%}
.personal-additional-shifts .additional-shifts-table th:nth-child(6){width:45%}

.personal-timesheet-editor :is(input,select){border-radius:999px}
.personal-timesheet-editor .delete-day-link{justify-self:center;width:max-content;min-height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--bad);font-size:14px;font-weight:400}
.personal-timesheet-editor .delete-day-link:hover{background:transparent;filter:brightness(1.1)}

dialog.comments-notice{width:min(760px,calc(100vw - 36px));padding:8px}
.comments-notice .dialog-scroll{padding:6px;scrollbar-gutter:auto}
.comments-notice .dialog-heading{margin-bottom:10px}
.comments-notice .employee-comments-form{gap:8px}
.comments-notice .employee-comments-form>p{margin-bottom:0}
.comments-notice .employee-comments-form label{gap:12px}
.comments-notice .employee-comments-form textarea{margin-top:0}
.comments-notice .employee-comments-form .status-message{margin:4px 0;text-align:center}
.comments-notice .employee-comments-form .dialog-actions{margin-top:8px}

body.pdf-viewer-open{overflow:hidden}
.pdf-document-viewer{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#0005;backdrop-filter:blur(8px);color:var(--text)}
.pdf-document-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 20px;min-height:48px;padding:6px 20px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--bg)}
.pdf-document-toolbar button{min-height:32px;font-size:13px}
.pdf-document-toolbar .plain{color:var(--text)}
.pdf-document-download{font-size:13px;color:var(--text);white-space:nowrap}
.pdf-document-pages{flex:1;min-height:0;overflow:auto;padding:18px 16px}
.pdf-document-pages canvas{display:block;width:min(816px,100%);height:auto;margin:0 auto 18px;background:white;box-shadow:0 2px 10px #0002}
.pdf-document-pages>p{text-align:center;padding:20px}
@media(max-width:600px){.pdf-document-toolbar{padding:6px 12px}.pdf-document-pages{padding:12px 8px}}

.pdf-copy-status{flex:0 0 100%;text-align:center;font-size:11px;color:var(--muted)}

.comments-notice #notice-title{display:none}
.comments-notice .dialog-heading{justify-content:flex-end}
.employee-comments-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.employee-comments-label-row small{text-align:right;font-size:12px;color:var(--muted)}

#notice .dialog-actions{justify-content:center;flex-wrap:wrap;gap:12px}
#notice .dialog-actions button{flex:0 1 150px;width:150px;min-height:36px;padding:7px 14px;font-size:14px;border-radius:999px;white-space:normal}

.receipt-report-button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:32px;height:32px;padding:5px 11px;font-size:12px;gap:5px;border-radius:999px}.receipt-report-button .mobile-icon{width:18px;height:18px}

/* Same paired, fading outward rings as the mobile automatic-timekeeping light. */
.notification-ripple{position:relative;isolation:isolate}
.notification-dot{display:block;flex:0 0 8px;width:8px;height:8px;border:0;border-radius:50%;background:currentColor;color:inherit}
.notification-ripple::before,.notification-ripple::after{content:"";position:absolute;inset:-2px;border:1.2px solid currentColor;border-radius:inherit;pointer-events:none;animation:notification-ripple 2.2s linear infinite}
.notification-ripple::after{animation-delay:-1.1s}
@keyframes notification-ripple{from{transform:scale(1);opacity:.35}to{transform:scale(2.4);opacity:0}}
.notification-count{display:block;text-align:center;line-height:1;font-variant-numeric:tabular-nums}

.dialog-body .check-label{display:flex;align-items:flex-start;gap:8px;min-width:0;white-space:normal}
.dialog-body .check-label input[type=checkbox],.dialog-body .check-label input[type=radio]{flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;padding:0}
.dialog-body .check-label>span{min-width:0;overflow-wrap:anywhere;line-height:1.5}

.leave-review-notice .dialog-scroll{padding:6px;scrollbar-gutter:auto}
.leave-review-notice .dialog-heading{margin-bottom:10px}

#notice.leave-review-notice .dialog-actions button{flex-basis:170px;width:170px;white-space:nowrap}

.reports-placeholder>.mobile-icon{width:36px;height:36px;padding:0;margin-top:2px;margin-bottom:18px}

.calendar-notice .full-calendar{padding:4px 0 16px}

/* Expanded calendar: shared reference layout, with quiet unboxed navigation. */
dialog.calendar-notice{background:linear-gradient(135deg,#181a1c,#121314);border-color:#494c50;border-radius:20px}
.calendar-notice .dialog-scroll{padding:10px;scrollbar-gutter:auto}
.calendar-notice .full-calendar{padding:4px 0 12px}
.calendar-notice .full-calendar .calendar-month{gap:12px;margin:0 8px 22px}
.calendar-notice .calendar-month>span{font-size:22px;font-weight:500;min-width:180px}
.calendar-notice .calendar-month button{display:inline-grid;place-items:center;min-width:32px;min-height:40px;padding:6px;border:0;background:transparent;border-radius:999px;color:var(--muted)}
.calendar-notice .calendar-month button:hover{background:transparent;color:var(--text)}
.calendar-nav-chevron{display:block;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.calendar-nav-chevron.previous{transform:rotate(-135deg)}
.calendar-notice .calendar-dates.expanded{row-gap:8px;font-size:19px}
.calendar-notice .expanded .calendar-weekday{padding:16px 0;background:#2c2f33;color:#dedee0;font-size:14px;font-weight:500}
.calendar-notice .expanded .calendar-weekday:first-child{border-radius:12px 0 0 12px}
.calendar-notice .expanded .calendar-weekday:nth-child(7){border-radius:0 12px 12px 0}
.calendar-notice .expanded .calendar-date{display:flex;align-items:center;justify-content:center;min-height:76px;padding:0;isolation:isolate;color:var(--text)}
.calendar-notice .expanded .calendar-date.outside-month{color:#727579}
.calendar-notice .expanded .calendar-date.is-today::after{display:none}
.calendar-notice .expanded .calendar-date.is-today::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;max-width:calc(100% - 8px);height:64px;border-radius:13px;background:#34383d;border:1px solid #45494f}
html[data-theme=light] dialog.calendar-notice{background:linear-gradient(135deg,#fafafa,#f1f2f2);border-color:#aaa}
html[data-theme=light] .calendar-notice .expanded .calendar-weekday{background:#dedfe1;color:#4b4b4b}
html[data-theme=light] .calendar-notice .expanded .calendar-date.outside-month{color:#a2a2a2}
html[data-theme=light] .calendar-notice .expanded .calendar-date.is-today::before{background:#d9dcdf;border-color:#c5c8cc}
@media(max-width:600px){.calendar-notice .dialog-scroll{padding:6px}.calendar-notice .calendar-month>span{font-size:19px;min-width:150px}.calendar-notice .full-calendar .calendar-month{gap:6px;margin-left:0;margin-right:0}.calendar-notice .expanded .calendar-weekday{font-size:11px;padding:13px 0}.calendar-notice .calendar-dates.expanded{font-size:15px;row-gap:4px}.calendar-notice .expanded .calendar-date{min-height:54px}.calendar-notice .expanded .calendar-date.is-today::before{height:42px;border-radius:10px}}

.calendar-notice .full-calendar:focus{outline:none}

.employee-card{display:grid;grid-template-columns:44px minmax(0,1fr) 94px;column-gap:14px;align-items:center}
.employee-card-copy{min-width:0;overflow-wrap:anywhere}
.team-card-meta{align-self:center;display:grid;gap:12px;min-width:0;padding-top:0}
.team-presence{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:400}
.team-status-dot{display:block;width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 8px}
.team-presence[data-state=Active] .team-status-dot{background:#57ba7d}
.team-presence[data-state=Lunch] .team-status-dot{background:#d3ac50}
.team-card-meta .team-vacation{margin-left:0;text-align:left}
@media(max-width:420px){.employee-card{grid-template-columns:38px minmax(0,1fr) 78px;column-gap:10px;padding:16px}.employee-card .avatar{width:38px;height:38px}.employee-card .team-profile-photo{height:38px}.team-presence{font-size:11px;gap:5px}}

.personal-timesheet-editor .status-message{text-align:center}
.personal-timesheet-editor .editor-additional-shifts{display:grid;gap:12px}
.personal-timesheet-editor .editor-extra-shift{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}
.personal-timesheet-editor .editor-extra-shift legend{padding:0 6px;color:var(--muted);font-size:13px}
.personal-timesheet-editor .editor-extra-shift textarea{min-height:64px}
.personal-timesheet-editor .editor-extra-shift label{display:block;margin-bottom:10px}
.personal-timesheet-editor>button:not(.delete-day-link){align-self:center}
.personal-day-date{position:relative;white-space:nowrap}
.personal-day-date .timesheet-day-picker{display:none}
.personal-timesheet-weeks.selecting-days .personal-week-table td.personal-day-date{padding-left:27px}
.selecting-days .personal-day-date .timesheet-day-picker{position:absolute;left:3px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;height:20px;min-height:20px;padding:0;margin:0;border:0;background:transparent;line-height:1}
.timesheet-day-picker::before{content:"";width:12px;height:12px;border:1px solid currentColor;border-radius:50%}
.timesheet-day-picker:hover::before,.timesheet-day-picker:focus-visible::before{background:currentColor}

.hr-password-form input{border-radius:999px}
.hr-password-form .status-message{text-align:center}

.hr-password-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}

.system-administration-card{padding:0;background:transparent;border:0;box-shadow:none}
.system-administration-heading,.workspace-page-heading{padding:45px 25px 28px;text-align:center}
.system-administration-frame{background:transparent;border-radius:0}
