:root{--ink:#172033;--muted:#667085;--line:#e5e7eb;--paper:#f6f7f9;--accent:#166534;--soft:#dcfce7;--danger:#b42318;--warning:#b54708}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:15px/1.45 Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login>section{max-width:620px;margin:auto;padding:56px}.login aside{background:#12251b;color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:flex-end;font-size:24px}.orb{width:240px;height:240px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#86efac,#15803d 55%,#052e16);margin:auto;box-shadow:0 0 90px #22c55e55}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--accent)}h1{font-size:48px;line-height:1.03;letter-spacing:-.04em;margin:10px 0 18px}.lede{font-size:19px;color:var(--muted)}form{display:grid;gap:14px;margin-top:20px}label{display:grid;gap:6px;font-weight:650}input,select{border:1px solid #d0d5dd;border-radius:9px;padding:10px;background:#fff}button{border:0;border-radius:9px;padding:10px 15px;background:var(--accent);color:#fff;font-weight:750;cursor:pointer}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 11px}.error{color:var(--danger)}.testaccounts{margin-top:28px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafafa;font-size:13px}.testaccounts p{margin:5px 0}header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:32px;position:sticky;top:0;z-index:5}.brand{font-weight:900;letter-spacing:.12em;color:var(--accent)}header nav{display:flex;gap:6px;flex:1}header nav button{background:transparent;color:var(--muted);padding:9px 12px}header nav button.active{background:var(--soft);color:var(--accent)}header>div{display:flex;align-items:center;gap:12px}.shell{max-width:1440px;margin:auto;padding:30px}.pagehead{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.pagehead h2{font-size:30px;margin:0}.pagehead p,.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.card strong{font-size:27px;display:block}.card span{color:var(--muted)}.danger-card{background:#fff1f2}.warning-card{background:#fffbeb}.grid2,.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;margin-top:12px}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafafa}.tag{display:inline-block;border-radius:99px;padding:3px 8px;font-size:12px;margin:2px}.role-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;border:1px solid #0001}.calendarbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:14px}.calendarbar>div:last-child{justify-self:end;display:flex;gap:7px}.segmented{display:flex}.segmented button{background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:0}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-radius:0 8px 8px 0}.segmented button.selected{background:var(--accent);color:#fff}.calendar{display:grid;gap:7px}.calendar.week{grid-template-columns:repeat(7,1fr)}.calendar.month{grid-template-columns:repeat(7,1fr)}.day{min-height:210px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px;overflow:hidden}.month .day{min-height:150px}.day.outside{opacity:.42}.day.holiday{box-shadow:inset 0 4px #f9a8d4}.day h4{margin:0 0 8px;font-size:12px;display:grid;gap:3px}.day h4 span{text-transform:capitalize}.day h4 em{font-style:normal;color:#9d174d;font-size:10px}.shift{background:linear-gradient(90deg,var(--ob) 0 10px,#fff 10px);border:1px solid var(--line);border-left:4px solid;border-radius:7px;padding:6px 6px 6px 13px;margin:5px 0;font-size:11px;display:grid;gap:1px}.shift.open{border-left-color:#dc2626}.shift.partial{border-left-color:#eab308}.shift.filled{border-left-color:#16a34a}.shift small{color:var(--muted)}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:14px;height:14px;border-radius:3px;border:1px solid #0002}.status-dot.open{background:#fecaca}.status-dot.partial{background:#fef08a}.status-dot.filled{background:#bbf7d0}.holiday-key{background:#f9a8d4!important}.shift-builder{margin-top:18px}.shift-builder fieldset,.panel fieldset{border:1px solid var(--line);border-radius:10px;padding:12px}.requirement{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:end;padding:9px 0;border-bottom:1px solid var(--line)}.requirement:last-child{border:0}.requirement>label:first-child{grid-template-columns:1fr 70px;align-items:center}.requirement select{min-height:70px}.check{display:inline-flex;align-items:center;gap:5px;margin:4px 14px 4px 0}.check input{width:auto}.customer-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.customer-tabs button{background:#fff;color:var(--ink);border:1px solid var(--line)}.customer-tabs button.active{background:var(--accent);color:#fff}.compact{margin-bottom:16px}.price-list{display:grid;gap:8px}.price-row{grid-template-columns:1fr 80px auto auto;align-items:end;margin:0;padding:9px;border:1px solid var(--line);border-radius:9px}.price-row label{grid-template-columns:1fr 100px;align-items:center}.price-row em{color:var(--danger);font-size:12px}.tariff-row{grid-template-columns:70px 110px 1fr 65px auto;align-items:end;margin:0;padding:9px;border-left:8px solid var(--tariff);border-radius:8px;background:#fafafa}.tariff-row label{font-size:12px}.add-row{grid-template-columns:1fr 120px auto;margin-top:14px}.panel h3{margin-top:0}
@media(max-width:950px){.calendar.week,.calendar.month{grid-template-columns:repeat(2,1fr)}.price-grid,.grid2{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.tariff-row{grid-template-columns:60px 100px 1fr}.tariff-row span,.tariff-row button{grid-column:auto}.calendarbar{grid-template-columns:1fr;gap:10px}.calendarbar>div:last-child{justify-self:start}}
@media(max-width:650px){.login{grid-template-columns:1fr}.login aside{display:none}.login>section{padding:28px}.calendar.week,.calendar.month{grid-template-columns:1fr}.day{min-height:auto}header{height:auto;padding:10px;gap:8px;align-items:flex-start;flex-wrap:wrap}header nav{order:3;width:100%;overflow:auto}.shell{padding:16px}h1{font-size:38px}#who{display:none}.inline,.requirement,.price-row,.tariff-row,.add-row{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}
.calendar.week,.calendar.month{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-width:0}.shift{min-width:0;overflow:hidden}.shift>span,.shift>div,.shift>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:950px){.calendar.week,.calendar.month{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.calendar.week,.calendar.month{grid-template-columns:1fr}}
.shift{background:linear-gradient(90deg,var(--ob) 0 10px,var(--status-bg,#fff) 10px)}.shift.open{--status-bg:#fff1f2}.shift.partial{--status-bg:#fffbeb}.shift.filled{--status-bg:#f0fdf4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shift{width:100%;color:var(--ink);text-align:left;padding:7px 7px 7px 13px;gap:2px}.shift:hover,.shift:focus-visible{outline:2px solid #86b99a;outline-offset:1px}.shift>b{font-weight:600}.shift-status{color:var(--muted)}.shift-roles{display:grid;gap:1px}.shift-roles span{display:block}.day-empty{width:100%;min-height:38px;margin-top:5px;background:transparent;color:var(--muted);border:1px dashed transparent;font-size:11px}.day-empty:hover,.day-empty:focus-visible{border-color:#9ca3af;background:#f8fafc;color:var(--accent)}.empty-period{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;margin-bottom:12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px}.empty-period div{display:grid}.empty-period span{color:var(--muted);font-size:13px}.drawer{position:fixed;z-index:20;top:68px;right:0;bottom:0;width:min(460px,100vw);overflow:auto;background:#fff;border-left:1px solid var(--line);box-shadow:-18px 0 45px #17203320;padding:28px}.drawer-wide{width:min(680px,100vw)}.drawer-close{float:right;background:#f3f4f6;color:var(--ink);font-size:24px;line-height:1;padding:7px 11px}.drawer h3{font-size:26px;margin:4px 0 22px}.drawer h4{margin:24px 0 10px}.drawer dl{display:grid;grid-template-columns:90px 1fr;gap:8px}.drawer dt{color:var(--muted)}.drawer dd{margin:0;font-weight:650}.detail-role{display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-role small{grid-column:1/-1;color:var(--muted)}.form-step{display:grid;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.date-time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.date-time-grid label:first-child,.date-time-grid label:last-child{grid-column:1/-1}.add-role{display:grid;grid-template-columns:1fr auto;gap:8px}.requirement{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:start;padding:13px;margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.requirement-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.remove-role{padding:4px 7px;background:transparent;color:var(--danger);font-size:12px}.person-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:140px;overflow:auto;gap:5px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.person-options label{display:flex;align-items:center;gap:5px;font-weight:500}.person-options input,.choice input{width:auto}.person-options small{color:var(--muted);margin-left:auto}.choice{display:flex;grid-template-columns:auto 1fr;align-items:center}.invite-preview{padding:12px;border-radius:8px;background:#eff6ff;color:#1e3a5f}
@media(max-width:650px){.drawer{top:0;width:100%;padding:20px}.date-time-grid,.person-options{grid-template-columns:1fr}.date-time-grid label:first-child,.date-time-grid label:last-child{grid-column:auto}.empty-period{align-items:flex-start;flex-direction:column}}
.customer-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px}.customer-layout>div{display:grid;gap:18px}.customer-list{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:88px}.list-choice{display:grid;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}.list-choice small{color:var(--muted);font-weight:500}.list-choice.active{background:var(--soft);border-color:#86b99a;color:var(--accent)}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-title h3{margin:0}.button-row,.toolbar{display:flex;align-items:center;gap:8px}.toolbar{margin-bottom:16px;flex-wrap:wrap}.toolbar label{margin-left:auto;display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}textarea{font:inherit;border:1px solid #d0d5dd;border-radius:9px;padding:10px;min-height:88px;resize:vertical}.read-form input:disabled,.read-form textarea:disabled{background:#f8fafc;color:var(--ink);opacity:1;border-color:transparent;padding-left:0}.price-section{margin-top:18px}.locked-price{display:grid;grid-template-columns:minmax(180px,1fr) 120px 70px;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.locked-price>span{display:grid}.locked-price>span small{color:var(--muted);font-weight:500}.locked-price input:disabled{border-color:transparent;background:transparent;color:var(--ink);opacity:1;text-align:right}.employee-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:18px;align-items:start}.employee-grid .tablewrap{margin-top:0}.employee-grid tbody tr,.report-row{cursor:pointer}.employee-grid tbody tr:hover,.employee-grid tbody tr:focus,.report-row:hover,.report-row:focus{background:#f0fdf4;outline:none}.employee-detail{position:sticky;top:88px}.empty-detail{display:grid;place-content:center;min-height:180px;color:var(--muted);text-align:center}.profile-photo{width:110px;height:110px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;overflow:hidden;background:#dcfce7;color:#166534;font-size:42px;font-weight:900}.profile-photo img{width:100%;height:100%;object-fit:cover}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:#dcfce7;color:#166534;font-weight:800}.small-avatar{width:28px;height:28px;margin-right:8px}.report-controls{display:grid;grid-template-columns:1.2fr repeat(4,1fr) auto;align-items:end}.report-controls fieldset{display:flex;gap:14px;border:0;padding:0;margin:0}.report-sheet{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-top:18px}.report-cards{grid-template-columns:repeat(3,1fr);margin:18px 0}.report-detail{z-index:30}
@media(max-width:950px){.customer-layout,.employee-grid{grid-template-columns:1fr}.customer-list,.employee-detail{position:static}.customer-list{display:grid;grid-template-columns:repeat(2,1fr)}.report-controls{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.form-grid,.report-controls,.customer-list,.report-cards{grid-template-columns:1fr}.toolbar label{margin-left:0;width:100%;justify-content:space-between}.locked-price{grid-template-columns:1fr 90px 60px}}
@media print{header,.pagehead,.report-controls,#printReport,.drawer{display:none!important}body,.shell{background:#fff;padding:0}.report-sheet{border:0;padding:0}.tablewrap{overflow:visible;border:0}th,td{padding:7px;font-size:10px}.report-cards{grid-template-columns:repeat(3,1fr)} }
.role-manager .role-create{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;padding:16px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.role-list{display:grid;gap:10px;margin-top:18px}.role-edit{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px}.role-edit small{grid-column:1/-1;color:var(--muted)}.danger-button{background:#fff;color:var(--danger);border:1px solid #fda29b}.archived-role{opacity:.65;background:#f8fafc}.archived-role small{grid-column:1/-1}.role-manager input[type=color]{min-height:43px;width:100%}@media(max-width:650px){.role-manager .role-create,.role-edit{grid-template-columns:1fr}.role-edit small{grid-column:auto}}
.modal-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:#17203380}.app-modal{width:min(500px,100%);padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px #17203340}.app-modal h3{margin:4px 0 12px;font-size:24px}.app-modal p{margin:0 0 14px}.modal-warning{padding:11px 12px;color:#7a2e0e;background:#fffaeb;border:1px solid #fedf89;border-radius:9px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.solid-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.solid-danger:disabled{opacity:.65;cursor:wait}@media(max-width:500px){.modal-backdrop{align-items:end;padding:10px}.app-modal{padding:20px;border-radius:14px 14px 8px 8px}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions button{width:100%}.modal-actions .ghost{order:1}}
.button-link{display:inline-flex;align-items:center;text-decoration:none;border-radius:9px;font-weight:750}.inactive-employee{color:var(--muted);background:#f8fafc}.employee-status{display:inline-block;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:750}.employee-status.active{color:#166534;background:#dcfce7}.employee-status.inactive{color:#475467;background:#eaecf0}.active-control{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:4px 8px;border:1px solid var(--line);border-radius:9px;padding:12px}.active-control input{grid-row:1/3;width:auto}.active-control small{color:var(--muted);font-weight:400}.no-hours,option:disabled{color:#98a2b3;text-decoration:line-through}#reportPersonHelp{display:block;color:var(--muted);font-weight:400;max-width:230px}

/* Report builder: compact hierarchy, accessible states and responsive controls. */
.report-filter-card{max-width:1120px;padding:0;overflow:hidden}.report-filter-heading{padding:20px 22px 16px;border-bottom:1px solid var(--line)}.report-filter-heading h3{margin:0 0 4px;font-size:20px}.report-filter-heading p{margin:0;color:var(--muted)}.report-controls{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1.15fr) auto;gap:0;margin:0;align-items:stretch}.report-controls .report-group{display:block;border:0;border-right:1px solid var(--line);border-radius:0;margin:0;padding:18px 22px 20px;min-width:0}.report-group legend{padding:0;margin:0 0 12px;font-size:13px;font-weight:800;color:var(--ink)}.report-segmented{display:grid;grid-template-columns:1fr 1fr;max-width:310px;margin-bottom:14px;border:1px solid #d0d5dd;border-radius:9px;overflow:hidden}.report-segmented label{display:block;position:relative}.report-segmented label+label{border-left:1px solid #d0d5dd}.report-segmented input{position:absolute;opacity:0;pointer-events:none}.report-segmented span{display:block;padding:9px 13px;text-align:center;color:var(--muted);cursor:pointer}.report-segmented input:checked+span{background:var(--soft);color:var(--accent);font-weight:800}.report-segmented input:focus-visible+span{outline:3px solid #86b99a;outline-offset:-3px}.report-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px}.report-date-fields #monthField{grid-column:1/-1;max-width:260px}.report-scope-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-controls label{min-width:0}.report-controls input,.report-controls select{width:100%;min-height:43px}.report-controls select:disabled{background:#f3f4f6;color:var(--muted);cursor:wait}.report-submit{display:flex;align-items:flex-end;padding:20px 22px}.report-submit button{min-width:160px;min-height:43px}.report-submit button:disabled{opacity:.65;cursor:wait}.report-live-status,#reportPersonHelp{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.35;max-width:none}.report-live-status{min-height:16px}.report-state{display:grid;justify-items:center;align-content:center;gap:5px;min-height:180px;margin-top:18px;text-align:center;color:var(--muted)}.report-state strong{color:var(--ink)}.report-state button{margin-top:10px}.report-error{border-color:#fda29b;background:#fffbfa}.report-error strong{color:var(--danger)}.loading-dot{width:22px;height:22px;border:3px solid #d1fadf;border-top-color:var(--accent);border-radius:50%;animation:report-spin .75s linear infinite;margin-bottom:5px}@keyframes report-spin{to{transform:rotate(360deg)}}.report-filter-summary{margin:5px 0 0;color:var(--muted);font-size:13px}.print-filter-summary{display:none}.report-row:focus-visible{outline:3px solid #86b99a;outline-offset:-3px}.report-detail:focus-within{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #86b99a;outline-offset:2px}
@media(max-width:1050px){.report-controls{grid-template-columns:1fr 1fr}.report-controls .report-scope-group{border-right:0}.report-submit{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding:14px 22px}.report-submit button{min-width:220px}}
@media(max-width:720px){.report-filter-heading{padding:18px}.report-controls{grid-template-columns:1fr}.report-controls .report-group{border-right:0;border-bottom:1px solid var(--line);padding:17px 18px}.report-scope-fields,.report-date-fields{grid-template-columns:1fr;max-width:none}.report-date-fields #monthField{grid-column:auto;max-width:none}.report-segmented{max-width:none}.report-submit{grid-column:auto;padding:16px 18px}.report-submit button{width:100%;min-width:0}.report-sheet{padding:16px}.report-sheet .section-title{align-items:flex-start;flex-direction:column}.report-sheet #printReport{width:100%}}
@media print{.report-filter-card,.report-state{display:none!important}.print-filter-summary{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0 14px;border-bottom:1px solid #bbb;font-size:11px}.print-filter-summary strong{width:100%}.report-filter-summary{display:none}}

/* Securest branding */
.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}
.brand img{display:block;width:auto;height:38px;object-fit:contain}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.login-brand img{display:block;width:auto;height:42px;object-fit:contain}
.login-brand .eyebrow{margin:0}

/* Report filter hierarchy and alignment. Keep helper copy from moving either select. */
.report-group legend{font-size:18px;line-height:1.25;margin-bottom:16px}
.admin-time-backdrop{z-index:80}.admin-time-modal{position:relative;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:28px}.admin-time-modal .drawer-close{top:16px;right:16px}.admin-time-loading{min-height:180px;display:grid;place-items:center;color:var(--muted)}.admin-time-facts{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:9px 18px;margin:20px 0;padding:16px;border-radius:10px;background:#f8fafc}.admin-time-facts dt{color:var(--muted)}.admin-time-facts dd{margin:0;font-weight:650}.sticky-actions{position:sticky;bottom:-28px;margin:20px -28px -28px;padding:16px 28px;background:#fff;border-top:1px solid var(--line)}.text-button{display:inline;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}.detail-role .text-button{margin-left:8px;font-size:12px}.admin-time-modal>label{display:grid;gap:6px;margin:16px 0}.admin-time-modal select{width:100%}
.login{grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr)}.login>section{width:min(620px,100%)}.login aside.login-visual{position:relative;isolation:isolate;background:#071a11 url('/bakgrund-schema.png') center 38%/cover no-repeat}.login aside.login-visual:after{content:"";position:absolute;z-index:-1;inset:55% 0 0;background:linear-gradient(transparent,#031009e6)}.login-visual p{max-width:520px;margin:0;text-shadow:0 2px 18px #000}.customer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:24px 0 4px}.customer-fact{min-width:0;padding-bottom:14px;border-bottom:1px solid var(--line)}.customer-fact.wide{grid-column:1/-1}.customer-fact dt{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.customer-fact dd{margin:0;color:var(--ink);font-size:16px;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap}.customer-fact dd.empty{color:#98a2b3;font-weight:500}.import-dropzone{display:grid;place-items:center;gap:7px;min-height:170px;margin:20px 0 12px;padding:24px;border:2px dashed #98a2b3;border-radius:13px;background:#f8fafc;color:var(--ink);text-align:center;cursor:pointer;transition:.15s ease}.import-dropzone:hover,.import-dropzone:focus-visible,.import-dropzone.is-dragging{border-color:var(--accent);background:var(--soft);outline:none}.import-dropzone strong{font-size:18px}.import-dropzone span{color:var(--muted);font-weight:500}.import-file-name{min-height:22px;margin:0 0 12px;font-weight:650}.import-file-name.error{color:var(--danger)}
@media(max-width:600px){.admin-time-backdrop{align-items:flex-end}.admin-time-modal{width:100vw;max-width:none;max-height:92vh;margin:0;border-radius:18px 18px 0 0;padding:22px 18px}.admin-time-facts{grid-template-columns:1fr;gap:3px}.admin-time-facts dd{margin-bottom:9px}.sticky-actions{bottom:-22px;margin:18px -18px -22px;padding:14px 18px}.sticky-actions button{flex:1}}
@media(max-width:850px){.login{grid-template-columns:1fr}.login aside.login-visual{display:none}}@media(max-width:650px){.customer-facts{grid-template-columns:1fr}.customer-fact.wide{grid-column:auto}.import-dropzone{min-height:145px}}
.report-scope-fields>label{align-self:start;width:100%}
.report-scope-fields select{display:block;width:100%;height:43px;min-height:43px}

/* Keep the report builder aligned with the full-width result card. */
.report-filter-card{width:100%;max-width:none}
.report-controls{padding-top:10px}

/* The employee's avatar is the profile-image picker; admin views stay read-only. */
.profile-photo-action{position:relative;border:2px solid transparent;padding:0;overflow:hidden;color:#166534;background:#dcfce7}
.profile-photo-action:hover,.profile-photo-action:focus-visible,.profile-photo-action.dragging{border-color:#16a34a;outline-offset:3px}
.profile-photo-action:disabled{cursor:wait;opacity:.78}
.profile-photo-overlay{position:absolute;inset:auto 0 0;padding:6px 3px;background:#172033cc;color:#fff;font-size:11px;line-height:1.1}
.profile-photo-help,.profile-photo-status{max-width:270px;margin:-9px auto 14px;text-align:center;color:var(--muted);font-size:12px;line-height:1.35}
.profile-photo-status{min-height:16px;margin-top:-9px;color:var(--accent)}

/* Self-service work history. */
.history-summary{grid-template-columns:repeat(2,minmax(0,280px));margin-bottom:10px}.history-note{margin:0 0 18px;color:var(--muted);font-size:13px}.history-panel h3{margin-bottom:12px}.history-list{display:grid}.history-item{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(160px,1fr) auto;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.history-item>div:first-child{display:grid;gap:4px}.history-item time{color:var(--muted);font-size:13px;text-transform:capitalize}.history-roles{display:flex;flex-wrap:wrap;gap:4px}.history-hours{white-space:nowrap}.history-more{display:block;margin:18px auto 0}.history-state{display:grid;justify-items:center;gap:6px;padding:42px;text-align:center;color:var(--muted)}.history-state strong{color:var(--ink)}.history-error{border-color:#fda29b}.history-error button{margin-top:8px}
@media(max-width:650px){.history-summary{grid-template-columns:1fr 1fr}.history-item{grid-template-columns:1fr auto;gap:8px}.history-roles{grid-column:1/-1}.history-state{padding:28px 16px}}

/* Actual worked-time reporting and approval workflow. */
.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:99px;background:#b42318;color:#fff;font-size:11px;line-height:1}.attention-banner{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:13px 16px;border:1px solid #fedf89;border-radius:10px;background:#fffaeb;color:#7a2e0e}.attention-banner span{color:#93370d}.compact-banner{display:block;margin:0 0 16px;font-size:13px}.work-time-item{grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) auto auto}.work-status{display:inline-flex;width:max-content;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:750}.work-status.awaiting_confirmation,.work-status.unreported,.work-status.rejected{background:#fef0c7;color:#93370d}.work-status.pending{background:#eff8ff;color:#175cd3}.work-status.approved,.work-status.confirmed{background:#ecfdf3;color:#027a48}.scheduled-time,.time-change-summary{display:grid;gap:4px;padding:13px;margin-bottom:16px;border-radius:9px;background:#f8fafc}.scheduled-time span,.time-change-summary{color:var(--muted)}.time-change-summary{margin:0;background:#eff6ff;color:#1e3a5f}.approval-panel{margin-top:18px}.approval-list{display:grid;margin-top:14px}.approval-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;width:100%;padding:14px 4px;border-top:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);text-align:left}.approval-row:hover,.approval-row:focus-visible{background:#f8fafc}.approval-row>span:first-child{display:grid}.approval-row small{color:var(--muted);font-weight:500}.approval-row b{color:var(--accent)}.approval-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.work-time-drawer form{margin-top:18px}
@media(max-width:720px){.attention-banner{align-items:flex-start;flex-direction:column}.work-time-item{grid-template-columns:1fr auto}.work-time-item .work-status{grid-column:1/-1}.work-time-item button{grid-column:1/-1}.approval-row{grid-template-columns:1fr auto}.approval-row b{grid-column:1/-1}.approval-actions{display:grid}.approval-actions button{width:100%}}
@media(max-width:650px){header nav{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}header nav button{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}}
.shift-detail-drawer{padding-bottom:92px}.shift-edit-form{margin-top:0}.shift-edit-form textarea{min-height:96px}.shift-edit-form .section-title{align-items:center}.drawer-footer{position:sticky;bottom:-28px;display:flex;justify-content:flex-end;gap:10px;margin:24px -28px -28px;padding:14px 28px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 18px #1720330b}.shift-edit-form .requirement{grid-template-columns:100px 1fr}.shift-edit-form .person-options{grid-column:1/-1}.shift-detail-drawer .compact-banner{display:grid;gap:3px}.shift-detail-drawer dd{overflow-wrap:anywhere}
.employee-pass-facts{grid-template-columns:minmax(105px,auto) minmax(0,1fr)!important;column-gap:22px!important;row-gap:0!important;margin:0}.employee-pass-facts dt,.employee-pass-facts dd{padding:7px 0;line-height:1.45}.employee-pass-facts dt{align-self:start}.employee-pass-facts dd{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}.employee-actual-summary.automatic{border:1px solid #a6f4c5;background:#ecfdf3}.employee-actual-summary.automatic span{color:#027a48}
.multi-action{flex-wrap:wrap}.shift-action-form{display:grid;gap:16px}.shift-action-form h3{margin-bottom:0}.shift-action-form fieldset{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px}.shift-action-form fieldset small{margin:-5px 0 6px 26px;color:var(--muted)}.shift-action-form textarea{min-height:92px}.action-back{width:max-content;text-decoration:none}.invite-preview{display:grid;gap:4px}.employee-actual-summary{display:grid;gap:4px;margin-top:20px;padding:14px;border-radius:10px;background:#f8fafc}.employee-actual-summary span{color:var(--muted)}.correction-requirement{grid-template-columns:1fr}.history-shift-link{display:grid;gap:4px;padding:4px;border:0;background:transparent;color:var(--ink);text-align:left}.history-shift-link:hover strong,.history-shift-link:focus-visible strong{text-decoration:underline}.history-shift-link time{color:var(--muted);font-size:13px}.correction-requirement .person-options{grid-column:1}
.schedule-time-banner{display:grid;gap:4px;margin-bottom:18px;padding:14px 16px;border:1px solid #b2ddff;border-radius:10px;background:#eff8ff;color:#1849a9}.schedule-time-banner span{color:#175cd3;font-size:13px;line-height:1.45}.ended-shift-edit .form-step{border-top:0;padding-top:0}.ended-shift-edit label small{display:block;margin-top:4px;font-weight:400}
@media(max-width:650px){.drawer-footer{bottom:-20px;margin:20px -20px -20px;padding:12px 20px}.drawer-footer button{flex:1}.multi-action{display:grid;grid-template-columns:1fr}.shift-edit-form .requirement{grid-template-columns:1fr}.employee-pass-facts{grid-template-columns:1fr!important;gap:0!important}.employee-pass-facts dt{padding:12px 0 1px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.employee-pass-facts dd{padding:0 0 4px}}
.employee-choice-fieldset{padding:14px 16px 16px}.employee-choice-fieldset legend{font-weight:700;padding:0 6px}.fieldset-help{color:var(--muted);font-size:14px;margin:0 0 12px}.employee-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.employee-choice-grid .check{min-width:0;overflow-wrap:anywhere}.employee-choice-empty{margin:0;color:var(--muted);background:#f8fafc;border-radius:8px;padding:12px}
@media(max-width:560px){.employee-choice-grid{grid-template-columns:1fr}}
.employee-read-heading{margin-bottom:18px}.employee-read-heading .eyebrow{margin:0 0 6px}.employee-read-heading h3{font-size:20px}.employee-read-card .profile-photo{margin:0 0 14px}.employee-read-card>.employee-status{margin-bottom:4px}.employee-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:18px 0 0}.employee-fact{min-width:0;padding:14px 0;border-bottom:1px solid var(--line)}.employee-fact dt,.employee-read-section h4{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.employee-fact dd{margin:0;color:var(--ink);font-size:16px;font-weight:650;overflow-wrap:anywhere}.employee-fact .empty,.employee-read-section .empty{color:#98a2b3;font-weight:500}.employee-read-section{padding-top:18px}.employee-read-section h4{margin-bottom:9px}.employee-read-tags{display:flex;flex-wrap:wrap;gap:8px}.employee-read-tag{display:inline-flex;align-items:center;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:650;overflow-wrap:anywhere}.employee-read-tag .role-dot{flex:0 0 auto}.employee-edit-card .section-title{margin-bottom:4px}
@media(max-width:650px){.employee-read-heading{align-items:flex-start}.employee-read-heading .ghost{flex:0 0 auto}.employee-facts{grid-template-columns:1fr}.employee-read-card .profile-photo{width:92px;height:92px}.employee-read-tags{display:grid;grid-template-columns:1fr}.employee-read-tag{width:100%}}

/* Personnel uses the same compact master list and wide detail proportions as customers. */
.auth-form{display:grid;gap:16px;max-width:440px}.auth-form label{gap:7px}.auth-form button:not(.text-button){width:100%;min-height:46px}.auth-link{justify-self:start;margin-top:-5px}.auth-back{margin-bottom:20px;text-decoration:none}.auth-success{padding:18px;border:1px solid #a6f4c5;border-radius:11px;background:#ecfdf3;color:#05603a}.auth-success strong{display:block;margin-bottom:5px;font-size:18px}.auth-success p{margin:0;color:#027a48}.password-rules{display:grid;gap:7px;margin:0;padding:12px 16px 12px 34px;border-radius:9px;background:#f8fafc;color:var(--muted);font-size:13px}.password-rules li.valid{color:#027a48}.password-rules li.valid::marker{content:"✓  "}.employee-notice{margin:0 0 16px;padding:13px 16px;border:1px solid #a6f4c5;border-radius:10px;background:#ecfdf3;color:#027a48;font-weight:650}
.account-security{margin-top:18px}.account-security h3,.account-settings-form h4{margin:0}.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.account-settings-form{display:grid;align-content:start;gap:13px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.account-settings-form button{justify-self:start}.account-status{min-height:20px;margin:0;color:#027a48}.account-settings-form .password-rules{margin-top:-2px}@media(max-width:700px){.account-security-grid{grid-template-columns:1fr}.account-settings-form button{width:100%}}
@media(max-width:650px){.auth-form{max-width:none}.login h1{font-size:34px}.auth-success{padding:15px}}
.employee-grid{grid-template-columns:250px minmax(0,1fr)}.employee-list{display:flex;flex-direction:column;gap:8px;position:sticky;top:88px;padding:12px}.employee-list-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 9px;width:100%;padding:10px;background:#fff;color:var(--ink);border:1px solid var(--line);text-align:left}.employee-list-choice .small-avatar{grid-row:1/3;margin:1px 0 0}.employee-list-summary{display:grid;min-width:0}.employee-list-summary strong,.employee-list-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-list-summary small{color:var(--muted);font-size:12px;font-weight:500}.employee-list-choice>.employee-status{grid-column:2;margin-top:6px;justify-self:start}.employee-list-choice:hover,.employee-list-choice:focus-visible{border-color:#86b99a;background:#f0fdf4}.employee-list-choice.active{border-color:#86b99a;background:var(--soft);color:var(--accent)}.employee-list-choice.inactive-employee{opacity:.72}.employee-list-empty{margin:0;padding:12px;color:var(--muted);text-align:center}.employee-detail{min-width:0}
@media(max-width:950px){.employee-grid{grid-template-columns:1fr}.employee-list{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.employee-list{grid-template-columns:1fr}}

/* Explicit platform/organization context. */
.account-context{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.organization-picker{display:grid;gap:2px;min-width:210px}.organization-picker span,.organization-current small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.organization-picker select{min-height:36px;padding:6px 32px 6px 10px}.organization-current{display:grid;line-height:1.2}.organization-current strong{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-error{display:block}.platform-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px}.platform-grid .panel{margin:0}.count-badge{display:grid;place-items:center;min-width:34px;height:34px;border-radius:99px;background:var(--soft);color:var(--accent);font-weight:800}.organization-list{display:grid;margin-top:10px}.organization-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px;border-top:1px solid var(--line)}.organization-list article>div{display:grid;gap:3px}.organization-list small{color:var(--muted)}.organization-form{display:grid;gap:15px;margin-top:18px}.organization-form fieldset{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px}.organization-form button{width:100%}.member-type{margin-bottom:18px;padding:0;border:0}.member-type>legend{margin-bottom:9px;font-weight:750}.member-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-type-options label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.member-type-options label:has(input:checked){border-color:#86b99a;background:var(--soft)}.member-type-options input{width:auto;margin-top:3px}.member-type-options span{display:grid;gap:3px}.member-type-options small{color:var(--muted);font-weight:500;line-height:1.35}.member-invite-help{padding:12px 14px;border-radius:9px;background:#f8fafc;color:var(--muted);font-size:13px}.organization-admins{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.organization-admins h3{margin:0 0 3px}.organization-admins>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.organization-admin{display:grid;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.organization-admin small{color:var(--muted)}
@media(max-width:950px){header{flex-wrap:wrap}.account-context{margin-left:auto}.platform-grid{grid-template-columns:1fr}.organization-admins{display:grid}.organization-admins>div:last-child{justify-content:flex-start}}
@media(max-width:650px){.account-context{width:100%;justify-content:space-between}.organization-picker{min-width:0;flex:1}.organization-current strong{max-width:160px}.member-type-options{grid-template-columns:1fr}.organization-admins>div:last-child{display:grid}.organization-admin{width:100%}}
.working-profile-choice{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;cursor:pointer}.working-profile-choice>input{width:auto;margin-top:3px}.working-profile-choice>span{display:grid;gap:3px}.working-profile-choice small{color:var(--muted);font-weight:500;line-height:1.35}.member-access-editor{margin-top:4px}#personnelEditFields{display:contents}
.organization-admin[type="button"]{width:auto;text-align:left;background:#fff;color:var(--ink)}.organization-admin[type="button"]:hover{border-color:#86b99a;background:var(--soft)}.member-editor{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.member-editor form{display:grid;gap:16px}.member-editor #memberWorkerFields{display:grid;gap:14px}
.platform-organization-open{min-width:0;flex:1;display:grid;gap:3px;padding:8px;text-align:left;background:transparent;color:var(--ink);border-radius:8px}.platform-organization-open:hover,.platform-organization-open:focus-visible{background:var(--soft)}.platform-organization-open strong{font-size:16px}.platform-organization-actions{display:flex!important;align-items:center;gap:9px}.platform-organization-actions .danger-button{padding:7px 10px}.platform-inline-error{flex-basis:100%;margin:2px 8px 8px}.platform-organization:has(.platform-inline-error){flex-wrap:wrap}@media(max-width:520px){.platform-organization{align-items:stretch!important;flex-direction:column}.platform-organization-actions{justify-content:space-between}.platform-organization-actions .danger-button{min-height:44px}}
