@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#153451;--muted:#71859a;--green:#145b99;--green2:#1478bc;--mint:#e8f3fb;--line:#dfeaf3;--paper:#f4f8fc;--white:#fff;--shadow:0 12px 34px rgba(20,71,117,.08);font-family:'DM Sans',Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input,select{font:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(26px,calc((100% - 1250px)/2));position:sticky;top:0;z-index:3}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--ink);font:800 19px Manrope,sans-serif;letter-spacing:-.7px}.brand-mark{background:var(--green);width:34px;height:34px;border-radius:11px;color:#fff;display:grid;place-items:center;font-size:16px}.brand-light{font-weight:500;color:#629181}.top-user{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{width:33px;height:33px;border-radius:50%;background:#e2f0e8;color:var(--green);display:grid;place-items:center;font-weight:700}.user-name{font-weight:600}.role-pill,.today-pill{font-size:12px;border:1px solid var(--line);background:white;padding:8px 11px;border-radius:100px;color:#607169}.link-button{background:none;border:0;color:#607169;cursor:pointer;font-weight:600;padding:8px}.page-wrap{max-width:1250px;padding:40px 28px 72px;margin:auto}.footer{max-width:1250px;margin:0 auto;padding:0 28px 25px;display:flex;justify-content:space-between;color:#a3ada7;font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.55px;font-weight:700;color:#809087;margin-bottom:10px}.page-heading h1{font:800 31px Manrope,sans-serif;letter-spacing:-1.3px;margin:0;color:var(--ink)}.page-heading p{margin:7px 0 0;font-size:14px}.wave{font-size:18px;color:#52a378}.muted{color:var(--muted)}.today-pill{font-size:12px;background:#fff;padding:10px 15px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 24px}.stat-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 20px;min-height:128px;box-shadow:0 4px 16px rgba(27,56,48,.025);overflow:hidden}.stat-label{font-size:9px;letter-spacing:1.1px;font-weight:700;color:#87948d}.stat-number{font:800 30px Manrope,sans-serif;letter-spacing:-1px;margin:13px 0 4px;color:#1d3d34}.stat-number small{font:600 13px 'DM Sans',sans-serif;letter-spacing:0;color:#708078}.money{font-size:26px}.stat-foot{font-size:11px;color:#95a099}.stat-icon{position:absolute;right:17px;top:17px;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:700}.stat-icon.green{background:#e8f5ed;color:#43946c}.stat-icon.blue{background:#ebf3fb;color:#5788b8}.stat-icon.amber{background:#fff4de;color:#c99434}.stat-icon.violet{background:#f1edfb;color:#8d76c4}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.main-grid>.wide{grid-column:1 / -1}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px 22px;box-shadow:0 4px 16px rgba(27,56,48,.025);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head .eyebrow{margin-bottom:5px}.panel h2{font:700 17px Manrope,sans-serif;letter-spacing:-.4px;margin:0}.panel-icon{height:31px;width:31px;background:#edf6f0;border-radius:10px;color:#358062;display:grid;place-items:center;font-size:17px}.secure-tag{font-size:10px;color:#7b8c83;background:#f2f5f3;border-radius:7px;padding:7px 9px;white-space:nowrap}.secure-tag.visible{color:#187148;background:#e9f5ed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.stack-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#687970;font-weight:600}.form-grid input,.form-grid select,.stack-form input,.inline-form input{width:100%;height:40px;border:1px solid #e5ebe7;border-radius:8px;background:#fcfdfc;padding:0 11px;color:#263f36;font-size:12px;outline:none}.form-grid input:focus,.form-grid select:focus,.stack-form input:focus,.inline-form input:focus{border-color:#78aa8f;box-shadow:0 0 0 3px #e9f5ed}.span-two{grid-column:span 2}.btn{border:0;border-radius:8px;height:40px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn.primary{background:var(--green);color:white}.btn.secondary{background:#edf5ef;color:#26664e}.btn.danger{background:#fff0ed;color:#b84736}.btn.full{width:100%}.btn span{font-size:17px;font-weight:400}.stack-form{display:flex;flex-direction:column;gap:15px}.stack-form.compact{gap:11px}.form-note{font-size:10px;color:#89958e;line-height:1.55;margin:11px 0 0}.table-wrap{overflow:auto;margin:0 -2px}table{border-collapse:collapse;width:100%;min-width:660px;text-align:left}th{font-size:9px;letter-spacing:.8px;color:#89958e;font-weight:700;padding:10px 9px;border-bottom:1px solid var(--line);white-space:nowrap}td{font-size:11px;padding:12px 9px;border-bottom:1px solid #f0f3f0;color:#53655c;white-space:nowrap}tbody tr:last-child td{border-bottom:0}td strong{font-size:11px;color:#27453a}.subline{font-size:10px;color:#97a29c;margin-top:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.status{display:inline-flex;padding:5px 8px;border-radius:100px;font-size:9px;font-weight:700;background:#f0f3f1;color:#7d8882}.status.assigned{background:#edf3fc;color:#5982ae}.status.inprogress{background:#fff4e1;color:#ba8727}.status.completed{background:#eaf5ee;color:#478363}.tiny-btn{border:0;border-radius:6px;background:#e9f5ed;color:#25684c;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer}.approved{color:#498762;font-size:10px;font-weight:700}.table-empty{text-align:center;padding:26px;color:#9aa59e}.alert{padding:12px 15px;border-radius:9px;font-size:12px;margin:0 0 17px}.alert.success{background:#eaf5ed;color:#28694c;border:1px solid #d6eadc}.alert.error{background:#fff0ed;color:#ac493b}.table-input{width:94px;height:32px;padding:0 7px;border:1px solid #e4ebe6;border-radius:6px;background:#fbfdfb;font-size:11px;color:#2c4b3f}.small-input{width:61px}.positive{color:#267452;font-weight:700}.negative{color:#bc5344;font-weight:700}.leader-list{display:flex;flex-direction:column}.leader-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #eff2ef}.leader-row:last-child{border:0}.rank{height:27px;width:27px;border-radius:8px;background:#f0f5f1;color:#58826a;display:grid;place-items:center;font-size:10px;font-weight:700}.leader-info{flex:1;display:flex;flex-direction:column;gap:4px}.leader-info strong{font-size:11px}.leader-info span{font-size:10px;color:#91a097}.leader-money{font-size:10px;color:#427558}.empty-inline{padding:25px;text-align:center;color:#99a59e;font-size:12px}.inline-form{display:flex;gap:8px}.inline-form input{max-width:180px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.chip{border-radius:50px;background:#eef5ef;color:#407557;padding:6px 9px;font-size:10px}.small{font-size:10px}.shift-cards{display:flex;flex-direction:column}.shift-card{display:grid;grid-template-columns:55px 1fr auto;gap:15px;padding:17px 2px;border-bottom:1px solid #eef2ef;align-items:center}.shift-card:last-child{border:0}.shift-date{height:54px;width:48px;border-radius:11px;background:#eff6f0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#276249}.shift-date strong{font:800 19px Manrope,sans-serif;line-height:1}.shift-date span{font-size:9px;text-transform:uppercase;margin-top:4px}.shift-company{display:flex;align-items:center;gap:10px}.shift-company h3{font:700 14px Manrope,sans-serif;margin:0}.shift-main p{font-size:10px;margin:5px 0 9px}.shift-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#7e8b83}.ot-text{color:#bd8728;font-weight:600}.staff-pay{color:#547363}.shift-action form{margin:0}.shift-action .btn{white-space:nowrap}.waiting{font-size:10px;color:#b8882b;font-weight:600}.notice-card{margin-top:17px;background:#edf6f0;border:1px solid #e0eee4;border-radius:12px;padding:16px;display:flex;gap:12px;color:#5a8a69;font-size:16px}.notice-card strong{font-size:11px;color:#315f46}.notice-card p{font-size:10px;line-height:1.5;color:#668272;margin:5px 0 0}.staff-stats{grid-template-columns:repeat(3,1fr)}.login-shell{min-height:calc(100vh - 200px);max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:54px}.login-story{min-height:440px;background:#123b32;border-radius:21px;color:white;padding:48px 44px;position:relative;overflow:hidden;box-shadow:0 16px 35px rgba(21,69,52,.15)}.eyebrow.light{color:#9cc5ac}.login-story h1{font:800 43px/1.15 Manrope,sans-serif;letter-spacing:-2px;margin:21px 0 16px;position:relative;z-index:1}.login-story h1 em{color:#9bd1a8;font-style:normal}.login-story>p{font-size:13px;line-height:1.7;color:#c1d4ca;max-width:335px;position:relative;z-index:1}.story-points{margin-top:30px;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;color:#e1eee5;font-size:11px}.story-points span{color:#a0d5aa;margin-right:9px}.story-orbit{position:absolute;border:1px solid rgba(196,230,204,.14);border-radius:50%;width:230px;height:230px;right:-76px;bottom:-75px}.orbit-two{width:155px;height:155px;right:-39px;bottom:-38px}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 32px;box-shadow:var(--shadow)}.login-card h2{font:800 23px Manrope,sans-serif;letter-spacing:-.8px;margin:0 0 7px}.login-card>p{font-size:12px;margin:0 0 24px}.demo-logins{border-top:1px solid var(--line);margin-top:23px;padding-top:15px}.demo-title{font-size:9px;letter-spacing:1px;font-weight:700;color:#909d95;margin-bottom:10px}.demo-logins>div:not(.demo-title){display:grid;grid-template-columns:1fr;gap:3px;padding:7px 0;border-bottom:1px solid #f0f3f0}.demo-logins span{font-size:10px;font-weight:700;color:#567061}.demo-logins code{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#86938b}.empty-state{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state h1{font:800 25px Manrope,sans-serif}.empty-state p{font-size:13px}.empty-icon{height:52px;width:52px;display:grid;place-items:center;background:#edf6f0;border-radius:17px;font-size:24px;color:#397558;margin-bottom:12px}
.status.worked{background:#eaf5ee;color:#478363}.negative{color:#bc5344;font-weight:700}
.planner-heading{display:flex;align-items:center;gap:15px;padding:2px 2px 22px}.planner-symbol{width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:linear-gradient(145deg,#3558e9,#7085ff);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 8px 17px #5068e344}.planner-title{flex:1;min-width:0}.planner-title .eyebrow{margin:0 0 4px;color:#7888a0}.planner-title h1{font:800 25px Manrope,sans-serif;letter-spacing:-.8px;margin:0;color:#1a2637}.planner-title p{margin:5px 0 0;color:#7d8997;font-size:12px}.planner-overview{display:flex;gap:8px}.planner-overview span{background:#fff;border:1px solid #e6eaf0;border-radius:100px;padding:8px 11px;color:#84909f;font-size:10px;white-space:nowrap}.planner-overview b{color:#3b66dc}.filter-bar{background:#fff;border:1px solid #e9edf2;border-radius:14px;padding:15px 17px;margin-bottom:14px;box-shadow:0 3px 12px #263c5c08}.planner-filters{display:grid;grid-template-columns:1.15fr .75fr .7fr 1.15fr auto;align-items:end;gap:12px}.planner-filters label{display:flex;flex-direction:column;gap:6px;color:#707d8d;font-size:10px;font-weight:600}.planner-filters select{height:37px;width:100%;border:1px solid #e4e8ee;border-radius:8px;background:#fff;padding:0 10px;color:#354153;font-size:11px}.search-input{height:37px;display:flex;align-items:center;gap:7px;border:1px solid #e4e8ee;border-radius:22px;padding:0 11px;box-shadow:0 4px 12px #24344a0a}.search-input span{font-size:19px;color:#7f8c9c}.search-input input{border:0;outline:0;width:100%;height:32px;font-size:11px;color:#364455}.filter-submit{height:37px;border:0;border-radius:8px;padding:0 14px;background:#3359dc;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.calendar-panel{background:#fff;border:1px solid #e8ecf1;border-radius:15px;box-shadow:0 6px 22px #2538550a;overflow:hidden}.calendar-toolbar{padding:19px 19px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px}.calendar-toolbar .eyebrow{margin-bottom:4px;color:#8390a1}.calendar-toolbar h2,.recent-heading h2{font:750 17px Manrope,sans-serif;letter-spacing:-.4px;margin:0;color:#263345}.calendar-toolbar p{font-size:10px;color:#8b96a4;margin:5px 0 0}.current-month{font-weight:500;color:#8390a0;font-size:12px;margin-left:5px}.calendar-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-legend>span{display:flex;align-items:center;gap:5px;color:#7d8997;font-size:10px;white-space:nowrap}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:#f0f3f8;border:1px solid #e2e7ed}.legend-dot.assigned{background:#315ee6;border-color:#315ee6}.legend-dot.weekend{background:#fff5df;border-color:#f5e5bd}.legend-dot.today{background:#ebf4ff;border-color:#4a84e4}.assignment-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f6f8fb;padding:10px 18px;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}.assign-explainer{display:flex;align-items:center;gap:8px;font-size:10px;color:#6e7c8b}.assign-explainer b{color:#34485f}.info-mark{height:17px;width:17px;border-radius:50%;background:#e5edff;color:#486bd0;display:grid;place-items:center;font:700 10px Georgia}.overtime-setting{display:flex;align-items:center;gap:8px;font-size:10px;color:#7b8795;white-space:nowrap}.overtime-setting>span{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e3e8ef;border-radius:7px;padding:3px 7px}.overtime-setting input{border:0;outline:0;width:42px;text-align:right;color:#34445b;font-size:10px}.calendar-scroll{overflow:auto;max-height:66vh;overscroll-behavior:contain}.calendar-table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:max-content;width:100%}.calendar-table th,.calendar-table td{padding:0;border:0;border-right:1px solid #e9edf2;border-bottom:1px solid #e9edf2}.calendar-table thead th{position:sticky;top:0;z-index:2;background:#1e293b;color:#e8edf6;height:45px;text-align:center;width:42px}.calendar-table thead .staff-column{left:0;z-index:4;width:215px;min-width:215px;text-align:left;padding:0 14px}.staff-column span,.total-column span{display:block;font-size:9px;letter-spacing:.6px;font-weight:700}.staff-column small,.total-column small{display:block;margin-top:3px;font-size:8px;color:#acb8ca;font-weight:500}.calendar-table thead .date-heading{width:42px;min-width:42px}.date-heading b{font:700 11px Manrope,sans-serif;display:block}.date-heading small{display:block;font:500 8px 'DM Sans',sans-serif;color:#adb7c6;margin-top:3px}.date-heading.is-weekend{background:#273249}.date-heading.is-today{box-shadow:inset 0 -3px #64a4ff}.calendar-table thead .total-column{width:96px;min-width:96px;right:0;z-index:4}.calendar-table tbody .staff-cell{position:sticky;left:0;z-index:1;background:#fff;width:215px;min-width:215px;padding:0 11px;box-shadow:3px 0 7px #2639540a}.staff-cell>div{display:inline-flex;vertical-align:middle}.staff-avatar{height:29px;width:29px;border-radius:9px;background:#edf2fc;color:#4e6ec0;align-items:center;justify-content:center;font-size:10px;font-weight:800;margin-right:8px}.staff-identity{flex-direction:column;justify-content:center;gap:4px;max-width:155px}.staff-identity strong{font-size:10px;color:#2b3849;overflow:hidden;text-overflow:ellipsis}.staff-identity small{font-size:8px;color:#8793a2}.supervisor-tag{color:#9a7425!important;background:#fff7e7;padding:2px 5px;border-radius:4px}.calendar-table tbody tr{height:43px}.calendar-table tbody tr:hover td,.calendar-table tbody tr:hover th.staff-cell{background-color:#f8faff}.calendar-table .day-cell{width:42px;min-width:42px;text-align:center;background:#fff}.calendar-table .day-cell.is-weekend{background:#fffcf5}.calendar-table .day-cell.is-today{background:#f2f7ff}.day-cell form{margin:0;display:grid;place-items:center}.day-toggle{width:30px;height:25px;border:1px solid #dce4f1;border-radius:50px;background:#fff;color:#627286;font-size:9px;display:grid;place-items:center;position:relative;cursor:pointer;margin:4px auto;transition:all .12s}.day-toggle:hover{border-color:#567bea;color:#315ee6;box-shadow:0 2px 7px #355fe626}.day-toggle.selected{border-color:#315ee6;background:#315ee6;color:#fff;box-shadow:0 2px 7px #315ee633}.day-toggle em{font-style:normal;position:absolute;top:-5px;right:-7px;border:1px solid #fff;border-radius:10px;background:#ffb44e;color:#663f00;font:700 7px 'DM Sans',sans-serif;padding:2px 3px;min-width:18px}.calendar-table .total-column,.calendar-table tbody .row-total{position:sticky;right:0;z-index:1;background:#f8faff;width:96px;min-width:96px;text-align:center}.row-total b{font-size:11px;color:#2e4f84}.row-total>span{font-size:9px;color:#7f8c9b;margin-left:3px}.row-total small{display:block;color:#a0aab5;font-size:8px;margin-top:3px}.calendar-empty{padding:28px!important;text-align:center;color:#8d99a8;font-size:11px}.calendar-footer{display:flex;justify-content:space-between;padding:10px 16px;color:#8995a4;font-size:9px}.calendar-footer b{color:#52647c}.admin-utilities{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.utility-card{background:#fff;border:1px solid #e8ecf1;border-radius:12px;overflow:hidden}.utility-card summary{padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none}.utility-card summary::-webkit-details-marker{display:none}.utility-icon{height:30px;width:30px;background:#edf3ff;color:#4166cc;border-radius:9px;display:grid;place-items:center;font-size:17px}.utility-card summary>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.utility-card summary b{font-size:11px;color:#35445a}.utility-card summary small{font-size:9px;color:#8995a3}.expand-mark{color:#8b97a6;font-size:15px;transition:transform .15s}.utility-card[open] .expand-mark{transform:rotate(45deg)}.utility-form{padding:4px 14px 14px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.utility-form label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#728092}.utility-form label input{height:34px;border:1px solid #e3e8ed;border-radius:7px;padding:0 9px;font-size:10px}.utility-form .btn{height:34px;align-self:end;font-size:10px}.recent-assignments{margin-top:18px;background:#fff;border:1px solid #e8ecf1;border-radius:14px;padding:16px 18px}.recent-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.recent-heading .eyebrow{margin-bottom:4px}.recent-heading h2{font-size:14px}.privacy-note{font-size:9px;border-radius:20px;padding:6px 9px;background:#f1f4f7;color:#7c8896}.assignment-row{display:grid;grid-template-columns:90px 1.3fr 1fr 90px 110px;align-items:center;gap:10px;border-top:1px solid #eff2f5;padding:10px 3px;font-size:10px;color:#758293}.assignment-row strong{color:#35445a}.assignment-day{color:#7e8ea3}.worked-badge{background:#eaf5ee;color:#4b8a62;border-radius:20px;padding:5px 7px;text-align:center;font-size:8px}.recent-ot{color:#b48433}.check-label{flex-direction:row!important;align-items:center;gap:8px!important}.check-label input,.table-check input{accent-color:#315ee6}.check-label span{display:flex;flex-direction:column;gap:3px}.check-label b{font-size:10px;color:#45576c}.check-label small{font-size:9px;color:#929eaa}.table-check{display:flex;align-items:center;gap:5px;font-size:9px;color:#738090}.table-check input{margin:0}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.login-shell{gap:22px}.login-story{padding:38px 30px}.login-story h1{font-size:37px}.page-wrap{padding-top:29px}}@media(max-width:650px){.topbar{height:62px;padding:0 16px}.user-name{display:none}.role-pill{font-size:10px}.page-wrap{padding:26px 15px 54px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:25px}.today-pill{font-size:10px;padding:8px 9px;white-space:nowrap}.stat-grid,.staff-stats{gap:9px}.stat-card{padding:15px;min-height:116px}.stat-number{font-size:25px}.money{font-size:21px}.content-grid{grid-template-columns:1fr;gap:12px}.main-grid>.wide{grid-column:auto}.panel{padding:18px 15px}.form-grid{gap:10px}.shift-card{grid-template-columns:45px 1fr;gap:10px}.shift-date{width:42px;height:48px}.shift-action{grid-column:2;justify-self:start}.shift-meta{gap:8px 12px}.shift-company{flex-wrap:wrap}.login-shell{grid-template-columns:1fr;gap:14px;min-height:auto}.login-story{min-height:250px;padding:29px 25px}.login-story h1{font-size:33px;margin:12px 0}.login-story>p{max-width:none;margin:0}.story-points{display:none}.login-card{padding:25px 21px}.footer{padding:0 15px 20px;font-size:10px}}
@media(max-width:850px){.planner-heading{align-items:flex-start;flex-wrap:wrap}.planner-overview{margin-left:63px}.planner-filters{grid-template-columns:1fr 1fr 1fr}.planner-filters .search-field{grid-column:span 2}.filter-submit{align-self:end}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-legend{padding-left:1px}.calendar-scroll{max-height:65vh}.admin-utilities{grid-template-columns:1fr}.planner-title h1{font-size:22px}}
@media(max-width:560px){.planner-heading{gap:10px;padding-bottom:15px}.planner-symbol{width:40px;height:40px;flex-basis:40px;border-radius:12px;font-size:19px}.planner-title h1{font-size:18px;line-height:1.3}.planner-title p{font-size:10px}.planner-overview{margin-left:50px;gap:5px}.planner-overview span{font-size:9px;padding:6px 8px}.filter-bar{padding:11px}.planner-filters{grid-template-columns:1fr 1fr;gap:9px}.planner-filters .search-field{grid-column:1 / -1}.filter-submit{grid-column:1 / -1;width:100%}.calendar-toolbar{padding:15px 13px 12px}.calendar-toolbar h2{font-size:15px}.calendar-toolbar p{line-height:1.5}.assignment-tools{padding:9px 12px;align-items:flex-start;flex-direction:column}.overtime-setting{align-self:flex-end}.calendar-table thead .staff-column,.calendar-table tbody .staff-cell{width:170px;min-width:170px}.staff-identity{max-width:112px}.calendar-table thead .date-heading,.calendar-table .day-cell{width:38px;min-width:38px}.calendar-table thead .total-column,.calendar-table tbody .row-total{width:76px;min-width:76px}.day-toggle{width:27px;height:23px}.calendar-footer{gap:8px;line-height:1.4}.utility-form{grid-template-columns:1fr}.assignment-row{grid-template-columns:60px 1fr 75px;gap:7px}.assignment-row>span:nth-of-type(2){display:none}.recent-assignments{padding:13px}.recent-heading h2{font-size:12px}.privacy-note{font-size:8px;padding:5px 7px}}
.install-button{border:1px solid #dce6f3;background:#f3f7ff;color:#3c61cc;padding:7px 10px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer}.install-button[hidden]{display:none}
@media(max-width:650px){.install-button{font-size:9px;padding:6px 7px}.top-user{gap:7px}}
/* App workspace: every authenticated panel is locked to the visible viewport. */
html,body{height:100%}body.authenticated-app{height:100dvh;min-height:0;overflow:hidden;background:#f4f6f9}.authenticated-app .topbar{height:60px;padding:0 22px;position:relative;flex:0 0 60px}.workspace.signed-workspace{height:calc(100dvh - 60px);min-height:0;display:flex;overflow:hidden}.app-sidebar{width:218px;flex:0 0 218px;background:#172538;color:#c1ccda;padding:19px 12px 12px;display:flex;flex-direction:column;overflow:hidden}.sidebar-caption{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#75859b;padding:3px 11px 13px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:11px;height:40px;padding:0 11px;border-radius:8px;text-decoration:none;color:#aebacc;font-size:11px;font-weight:600;transition:background .15s,color .15s}.sidebar-nav a:hover{background:#24354c;color:#fff}.sidebar-nav a.active{background:#293c56;color:#fff;box-shadow:inset 3px 0 #73a4ff}.nav-icon{width:19px;display:grid;place-items:center;font-size:15px;color:#95a7be}.sidebar-nav a.active .nav-icon{color:#8db4ff}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:8px;padding:11px;border-top:1px solid #2a3a50;color:#95a5b8;font-size:9px}.status-dot{height:7px;width:7px;border-radius:50%;background:#6ec294;box-shadow:0 0 0 3px #6ec29424}.app-page{width:calc(100% - 218px);height:100%;max-width:none;min-width:0;margin:0;padding:17px 21px;overflow:hidden;display:flex;flex-direction:column}.app-page.fit-calendar{padding:8px 12px 9px}.public-workspace{min-height:calc(100dvh - 110px)}.public-page{max-width:1250px;margin:auto}.footer{padding-bottom:15px}.install-button{border-color:#d8e2f1}.admin-screen,.super-screen,.staff-screen{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-screen:not(.calendar-screen),.super-screen,.staff-screen{gap:12px}.compact-alert{flex:0 0 auto;margin:0;padding:8px 12px;font-size:10px}.compact-heading{flex:0 0 49px;padding:0 1px 5px;gap:10px}.compact-heading .planner-symbol{width:37px;height:37px;flex-basis:37px;border-radius:11px;font-size:17px}.compact-heading .planner-title .eyebrow{font-size:8px;margin-bottom:2px}.compact-heading .planner-title h1{font-size:17px;letter-spacing:-.4px}.compact-heading .planner-title p{font-size:9px;margin-top:2px}.compact-heading .planner-overview{gap:5px}.compact-heading .planner-overview span{padding:6px 8px;font-size:9px}.compact-filter{flex:0 0 auto;margin:0;padding:7px 11px;border-radius:10px}.compact-filter .planner-filters{grid-template-columns:1.05fr .72fr .64fr 1.12fr auto;gap:8px}.compact-filter .planner-filters label{font-size:9px;gap:3px}.compact-filter .planner-filters select,.compact-filter .search-input{height:30px;font-size:10px}.compact-filter .search-input input{height:26px;font-size:10px}.compact-filter .filter-submit{height:30px;padding:0 11px;font-size:10px}.calendar-panel-fill{flex:1;min-height:0;margin:0;display:flex;flex-direction:column;border-radius:11px}.compact-toolbar{flex:0 0 39px;padding:7px 12px;align-items:center;flex-direction:row}.compact-toolbar .eyebrow{font-size:8px;margin-bottom:2px}.compact-toolbar h2{font-size:12px}.compact-toolbar .current-month{font-size:9px}.compact-toolbar p{display:none}.compact-toolbar .calendar-legend{gap:9px}.compact-toolbar .calendar-legend>span{font-size:8px}.compact-toolbar .legend-dot{height:8px;width:8px}.compact-tools{flex:0 0 32px;padding:4px 11px}.compact-tools .assign-explainer{font-size:9px}.compact-tools .info-mark{height:15px;width:15px;font-size:9px}.compact-tools .overtime-setting{font-size:9px}.compact-tools .overtime-setting>span{padding:1px 5px}.compact-tools .overtime-setting input{font-size:9px;width:35px}.calendar-panel-fill .calendar-scroll{flex:1;min-height:0;max-height:none;overflow:auto}.calendar-table thead .staff-column,.calendar-table tbody .staff-cell{width:188px;min-width:188px}.calendar-table thead .date-heading,.calendar-table .day-cell{width:38px;min-width:38px}.calendar-table tbody tr{height:34px}.calendar-table thead th{height:37px}.date-heading b{font-size:10px}.date-heading small{font-size:7px;margin-top:2px}.staff-avatar{height:24px;width:24px;margin-right:7px}.staff-identity strong{font-size:9px}.staff-identity small{font-size:7px}.day-toggle{height:23px;width:27px;margin:2px auto;font-size:8px}.row-total small{font-size:7px}.calendar-panel-fill .calendar-footer{flex:0 0 24px;padding:5px 11px;font-size:8px}.page-heading{margin-bottom:0;flex:0 0 auto}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.stat-grid{gap:10px;margin:0;flex:0 0 auto}.stat-card{min-height:95px;padding:13px 15px}.stat-number{font-size:25px;margin:9px 0 3px}.money{font-size:22px}.stat-foot{font-size:9px}.stat-label{font-size:8px}.executive-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;flex:1;min-height:0}.executive-grid>.panel{min-height:0;overflow:auto}.overview-links{display:flex;flex-direction:column}.overview-links h2{margin-bottom:10px}.overview-links>a{display:flex;justify-content:space-between;gap:7px;padding:12px 0;border-top:1px solid #eef1f3;text-decoration:none;color:#506174;font-size:10px}.overview-links>a span{color:#3c67dc}.text-link{font-size:10px;color:#4267c9;text-decoration:none;font-weight:700}.count-pill{background:#fff;border:1px solid #e6eaf0;border-radius:30px;padding:8px 11px;color:#637285;font-size:10px;white-space:nowrap}.management-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;flex:1;min-height:0}.management-layout>.panel{min-height:0;overflow:auto}.management-table{display:flex;flex-direction:column;min-height:0;overflow:hidden}.management-table>.panel-head{flex:0 0 auto}.management-table .table-wrap{min-height:0;overflow:auto}.firms-screen-panel,.pay-panel,.report-panel,.history-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.firms-screen-panel .table-wrap,.pay-panel .table-wrap,.report-panel .table-wrap,.history-panel .table-wrap{flex:1;min-height:0;overflow:auto}.admin-screen .history-filter{display:flex;align-items:end;gap:9px;flex:0 0 auto;margin-bottom:9px}.history-filter label{font-size:9px;color:#738093;display:flex;flex-direction:column;gap:4px}.history-filter select{height:31px;border:1px solid #e2e8ef;border-radius:7px;padding:0 8px;font-size:10px;background:#fff}.history-filter .btn{height:31px}.admin-screen .history-table{flex:1;min-height:0;overflow:auto}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-card{position:relative;min-height:105px;background:#fff;border:1px solid #e7ebf0;border-radius:12px;padding:14px;text-decoration:none;display:flex;flex-direction:column;gap:6px;color:#344256}.quick-card:hover{border-color:#b7c7e7;box-shadow:0 5px 17px #2538550b}.quick-icon{height:26px;width:26px;border-radius:8px;background:#edf3ff;color:#466ad0;display:grid;place-items:center;font-size:14px}.quick-card b{font-size:10px}.quick-card small{font-size:8px;color:#8793a2}.quick-arrow{position:absolute;right:13px;top:14px;color:#8293ac}.management-layout .panel-head,.panel .panel-head{margin-bottom:12px}.management-layout .table-wrap table{min-width:500px}.admin-screen .panel,.super-screen .panel,.staff-screen .panel{padding:15px 16px;border-radius:12px}.admin-screen .table-wrap th,.super-screen .table-wrap th,.staff-screen .table-wrap th{padding:9px 8px}.admin-screen .table-wrap td,.super-screen .table-wrap td,.staff-screen .table-wrap td{padding:9px 8px}.super-screen .management-layout{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.super-screen .firms-rate-panel{flex:0 0 auto}.super-screen .firms-rate-panel.management-table{flex:1;min-height:0}.firm-create-grid{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;gap:9px}.firm-create-grid label{font-size:9px}.firm-create-grid input{height:33px;font-size:10px}.firm-create-grid .btn{height:33px;font-size:10px}.super-screen .report-stats{grid-template-columns:repeat(4,1fr)}.super-screen .report-panel{flex:1;max-height:32vh}.super-screen .report-panel:nth-last-child(1){flex:1.25}.super-screen .report-panel .panel-head{margin-bottom:7px}.super-screen .report-panel h2{font-size:13px}.super-screen .holiday-layout{display:grid;grid-template-columns:320px 1fr;gap:12px;flex:1;min-height:0}.holiday-layout>.panel{min-height:0;overflow:auto}.holiday-form input{height:36px;border:1px solid #e2e8ef;border-radius:7px;padding:0 9px}.holiday-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eef1f4;padding:10px 0}.holiday-row strong{font-size:10px;flex:1}.holiday-icon{color:#5574c7}.staff-screen .staff-next-panel,.staff-screen .staff-fill-panel{flex:1;min-height:0;display:flex;flex-direction:column}.staff-screen .shift-cards{min-height:0;overflow:auto}.staff-screen .shift-card{padding:10px 2px;grid-template-columns:42px minmax(0,1fr) auto;gap:10px}.staff-screen .shift-date{height:42px;width:39px}.staff-screen .shift-main{min-width:0}.staff-screen .shift-meta{gap:8px;font-size:9px}.staff-screen .shift-company h3{font-size:12px}.staff-screen .shift-main p{margin:3px 0 6px}.staff-screen .staff-note{flex:0 0 auto;margin:0;padding:10px 13px;font-size:13px}.staff-screen .staff-note p{margin:3px 0 0}.staff-screen .staff-pay-table{flex:1;min-height:0;overflow:auto}.staff-screen .notice-card strong{font-size:10px}.staff-screen .notice-card p{font-size:9px}.staff-screen .staff-compact-list .shift-card:nth-child(n+6){display:none}
@media(max-width:900px){.app-sidebar{width:180px;flex-basis:180px}.app-page{width:calc(100% - 180px);padding:12px}.app-page.fit-calendar{padding:6px}.planner-overview span{font-size:8px}.compact-filter .planner-filters{grid-template-columns:1fr .65fr .6fr 1fr auto}.calendar-table thead .staff-column,.calendar-table tbody .staff-cell{width:160px;min-width:160px}.calendar-table thead .date-heading,.calendar-table .day-cell{width:34px;min-width:34px}.calendar-table thead .total-column,.calendar-table tbody .row-total{width:74px;min-width:74px}.management-layout{grid-template-columns:250px minmax(0,1fr)}.quick-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.authenticated-app .topbar{height:56px;flex-basis:56px;padding:0 12px}.workspace.signed-workspace{height:calc(100dvh - 116px);flex-direction:column}.app-sidebar{position:fixed;left:0;right:0;bottom:0;width:100%;height:60px;z-index:5;padding:4px 5px calc(4px + env(safe-area-inset-bottom));display:block}.sidebar-caption,.sidebar-bottom{display:none}.sidebar-nav{height:100%;display:flex;flex-direction:row;justify-content:space-around;gap:2px}.sidebar-nav a{height:100%;padding:4px 5px;min-width:0;flex:1;flex-direction:column;justify-content:center;gap:2px;border-radius:7px;font-size:8px;white-space:nowrap}.sidebar-nav a.active{box-shadow:inset 0 2px #73a4ff}.nav-icon{font-size:14px;height:17px}.app-page{width:100%;height:100%;padding:10px;overflow:hidden}.app-page.fit-calendar{padding:5px}.top-user{gap:5px}.user-name{display:none}.role-pill{font-size:8px;padding:6px 7px}.link-button{font-size:10px;padding:5px}.install-button{font-size:8px;padding:5px}.planner-heading{gap:7px}.compact-heading{flex-basis:42px}.compact-heading .planner-symbol{width:31px;height:31px;flex-basis:31px;font-size:14px}.compact-heading .planner-title h1{font-size:13px}.compact-heading .planner-title p{display:none}.compact-heading .planner-overview{margin-left:auto;gap:3px}.compact-heading .planner-overview span{font-size:7px;padding:5px}.compact-filter{padding:5px}.compact-filter .planner-filters{grid-template-columns:1fr .68fr .62fr;gap:5px}.compact-filter .planner-filters .search-field{grid-column:1 / span 2}.compact-filter .filter-submit{grid-column:3;grid-row:2;width:100%;padding:0 4px}.compact-filter .planner-filters label{font-size:7px}.compact-filter .planner-filters select,.compact-filter .search-input{height:27px;font-size:9px}.compact-filter .search-input{border-radius:7px}.compact-filter .search-input span{font-size:14px}.compact-filter .search-input input{font-size:9px}.compact-toolbar{flex-basis:34px;padding:5px 7px}.compact-toolbar h2{font-size:10px}.compact-toolbar .calendar-legend{gap:5px}.compact-toolbar .calendar-legend>span{font-size:7px}.compact-tools{flex-basis:29px;padding:3px 7px}.compact-tools .assign-explainer{font-size:7px;gap:5px}.compact-tools .overtime-setting{font-size:7px}.calendar-panel-fill .calendar-footer{font-size:7px;padding:4px 7px}.calendar-table thead .staff-column,.calendar-table tbody .staff-cell{width:128px;min-width:128px;padding:0 6px}.calendar-table thead .date-heading,.calendar-table .day-cell{width:31px;min-width:31px}.calendar-table thead .total-column,.calendar-table tbody .row-total{width:62px;min-width:62px}.calendar-table tbody tr{height:30px}.calendar-table thead th{height:33px}.staff-avatar{width:20px;height:20px;font-size:8px}.staff-identity{max-width:93px}.staff-identity strong{font-size:8px}.staff-identity small{font-size:6px}.day-toggle{width:23px;height:20px;font-size:7px}.day-toggle em{font-size:6px;right:-5px;top:-4px}.admin-screen:not(.calendar-screen),.super-screen,.staff-screen{overflow:hidden;gap:8px}.page-heading h1{font-size:18px}.page-heading p{font-size:9px}.page-heading .eyebrow{font-size:8px;margin-bottom:4px}.stat-grid{gap:6px}.stat-card{padding:9px;min-height:75px;border-radius:9px}.stat-number{font-size:19px;margin:6px 0 2px}.money{font-size:16px}.stat-foot{font-size:7px}.stat-label{font-size:7px}.stat-icon{width:22px;height:22px;right:8px;top:8px;font-size:12px}.quick-links{gap:6px}.quick-card{min-height:80px;padding:9px;gap:4px}.quick-card b{font-size:8px}.quick-card small{font-size:7px}.quick-icon{height:21px;width:21px;font-size:11px}.executive-grid{grid-template-columns:1fr;overflow:auto}.executive-grid>.panel{overflow:auto}.management-layout{grid-template-columns:1fr;overflow:hidden;gap:8px}.management-layout>.panel:first-child{flex:0 0 auto}.management-layout>.panel:last-child{flex:1;min-height:0}.management-layout .table-wrap{overflow:auto}.super-screen .management-layout{grid-template-columns:1fr}.super-screen .management-layout>.panel:last-child{display:none}.firm-create-grid{grid-template-columns:repeat(2,1fr)}.super-screen .firms-rate-panel{min-height:0}.super-screen .report-stats{grid-template-columns:repeat(2,1fr)}.super-screen .report-panel{max-height:none;min-height:0}.super-screen .report-panel:nth-last-child(1){flex:1}.holiday-layout{grid-template-columns:1fr!important;overflow:auto}.holiday-layout>.panel{min-height:0}.staff-screen .shift-card{grid-template-columns:36px minmax(0,1fr)}.staff-screen .shift-date{width:34px;height:38px}.staff-screen .shift-action{display:none}.staff-screen .staff-note{padding:8px;font-size:11px}.staff-screen .staff-note p{font-size:8px}.history-panel .panel-head{align-items:flex-start}.history-panel .panel-head .btn{height:28px;font-size:8px;padding:0 7px}.history-filter{gap:6px!important}.history-filter select{height:28px;font-size:9px}.management-layout .table-wrap table{min-width:450px}.staff-screen .shift-meta{gap:5px 8px;font-size:8px}.staff-screen .shift-company h3{font-size:10px}.staff-screen .shift-card{padding:8px 1px}.staff-screen .shift-main p{font-size:8px}.page-wrap.public-page{overflow:auto}.public-workspace{height:auto;min-height:calc(100dvh - 110px)}.footer{padding:0 15px 12px}}
.report-scroll{min-height:0;flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:3px}.report-filter{flex:0 0 auto;align-items:end}.report-filter .muted{font-size:10px;padding:0 4px 8px}
.report-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.reports-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:0 0 auto;padding:2px 2px 0}.reports-heading-copy{display:flex;align-items:center;gap:13px}.reports-heading-copy h1{margin:0;font:800 25px Manrope,sans-serif;letter-spacing:-.8px;color:#1d3046}.reports-heading-copy p{margin:4px 0 0;color:#758398;font-size:11px}.reports-heading-copy .eyebrow{margin-bottom:4px;color:#788ba6}.report-heading-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#e6efff,#f0f4ff);color:#3767b0;font-size:22px;box-shadow:inset 0 0 0 1px #dbe7fb}.report-range{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:9px 13px;border:1px solid #e5eaf2;border-radius:12px;background:#fff;box-shadow:0 4px 14px #253b5810}.report-range>span{font-size:8px;letter-spacing:1.2px;font-weight:800;color:#8492a7}.report-range strong{font-size:12px;color:#273a52}.report-range small{font-size:9px;color:#7b8aa0}.report-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:1px 3px 3px 1px}.history-filter.report-filter{display:grid;grid-template-columns:minmax(180px,1fr) 150px 170px 190px auto;align-items:center;gap:12px;min-height:75px;margin:0;padding:12px 16px;border:1px solid #e5eaf2;border-radius:13px;background:#fff;box-shadow:0 5px 18px #253b5808}.report-filter-heading{display:flex;flex-direction:column;gap:4px}.report-filter-heading span{font-size:12px;font-weight:750;color:#263a53}.report-filter-heading small{font-size:10px;color:#8794a7}.history-filter.report-filter label{gap:5px;font-size:9px;font-weight:700;color:#718098;white-space:nowrap}.history-filter.report-filter select,.history-filter.report-filter input{width:100%;height:36px;border:1px solid #dfe6ef;border-radius:8px;padding:0 10px;background:#fbfcfe;color:#34465d;font-size:11px;outline:none;transition:border-color .15s,box-shadow .15s}.history-filter.report-filter select:focus,.history-filter.report-filter input:focus{border-color:#7395d1;box-shadow:0 0 0 3px #517bb51c}.history-filter.report-filter .btn{height:36px;padding:0 16px;border-radius:8px;white-space:nowrap;box-shadow:0 5px 12px #1f66521d}.report-kpis{gap:10px}.report-kpis .stat-card{min-height:98px;padding:13px 16px;border-radius:13px;border-color:#e7ebf1;box-shadow:0 5px 16px #263b5508}.report-kpis .stat-label{font-size:8px;letter-spacing:1px;color:#8190a4}.report-kpis .stat-number{margin:9px 0 3px;font-size:23px;color:#243a54}.report-kpis .money{font-size:21px}.report-kpis .stat-foot{font-size:9px;color:#8692a4}.report-kpis .stat-icon{top:12px;right:13px;width:27px;height:27px;border-radius:9px}.report-kpis .profit-card{background:linear-gradient(135deg,#f5f8ff,#fff);border-color:#dce6f5}.report-table-card{flex:0 0 auto!important;max-height:none!important;min-height:0;padding:15px 17px;border-radius:13px;border-color:#e5eaf1;box-shadow:0 5px 17px #263b5508}.report-table-card .panel-head{margin-bottom:10px}.report-table-card .panel-head .eyebrow{font-size:8px;letter-spacing:1.15px;color:#8190a4}.report-table-card .panel-head h2{font-size:14px;color:#2b405b;letter-spacing:-.2px}.report-panel-tag{padding:6px 9px;border-radius:20px;background:#f1f5fb;color:#667995;font-size:9px;font-weight:700}.report-table-card .table-wrap{max-height:none!important;overflow-x:auto;overflow-y:visible!important;border:0;border-radius:0}.report-table-card table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.report-table-card thead th{position:sticky;top:0;background:#f8fafd;z-index:1;padding:9px 10px;border-top:1px solid #edf0f5;border-bottom:1px solid #e8edf3;color:#8592a4;font-size:8px;letter-spacing:.8px;font-weight:800;white-space:nowrap}.report-table-card thead th:first-child{border-radius:7px 0 0 0}.report-table-card thead th:last-child{border-radius:0 7px 0 0}.report-table-card tbody td{padding:10px;border-bottom:1px solid #edf0f4;color:#506078;font-size:10px;vertical-align:middle}.report-table-card tbody tr:last-child td{border-bottom:0}.report-table-card tbody tr:hover td{background:#fafcff}.report-table-card tbody td strong{color:#2c405a}.report-table-card .table-empty{padding:25px;text-align:center;color:#8995a6}.firm-name-cell{display:flex;align-items:center;gap:8px}.firm-mini-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf3fb;color:#5577a6;font-size:13px}.report-count{display:inline-flex;align-items:baseline;gap:4px;padding:5px 8px;border-radius:7px;background:#f4f7fb;color:#324966;font-size:10px;font-weight:750}.report-count small{font-size:8px;color:#8491a2;font-weight:600}.report-name-list{display:flex;flex-wrap:wrap;gap:4px}.staff-name-chip{padding:4px 7px;border:1px solid #e8edf3;border-radius:15px;background:#fff;color:#55677f;font-size:9px;white-space:nowrap}.payment-cell{min-width:130px;display:flex;flex-direction:column;gap:5px}.payment-cell strong{font-size:10px;color:#253c58!important;white-space:nowrap}.payment-share{height:4px;overflow:hidden;border-radius:5px;background:#edf1f5}.payment-share i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#678bc6,#88a9de)}.report-table-card .positive{color:#20815b;font-weight:800}.report-table-card .negative{color:#c24949;font-weight:800}
@media(max-width:1050px){.history-filter.report-filter{grid-template-columns:minmax(125px,1fr) 130px 145px 160px auto;gap:8px;padding:10px 12px}.report-kpis .stat-card{padding:11px}.report-table-card{padding:12px}}
@media(max-width:760px){.reports-heading{align-items:flex-start}.reports-heading-copy h1{font-size:20px}.reports-heading-copy p{font-size:9px}.report-heading-icon{width:38px;height:38px;border-radius:12px;font-size:18px}.report-range{padding:7px 9px}.report-range strong{font-size:9px}.report-range small{font-size:8px}.report-range>span{font-size:7px}.history-filter.report-filter{grid-template-columns:1fr 1fr;gap:8px}.report-filter-heading{grid-column:1/-1}.history-filter.report-filter label:nth-of-type(3){grid-column:1/-1}.history-filter.report-filter .btn{width:100%;grid-column:1/-1}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpis .stat-number{font-size:19px}.report-kpis .money{font-size:17px}}
@media(max-width:480px){.reports-heading{gap:7px}.reports-heading-copy{gap:8px}.reports-heading-copy h1{font-size:17px}.reports-heading-copy p{max-width:205px;font-size:8px}.report-range{max-width:135px;align-items:flex-start}.report-range strong{font-size:8px}.report-range>span{font-size:6px}.report-range small{font-size:7px}.history-filter.report-filter{grid-template-columns:1fr}.report-filter-heading{grid-column:auto}.history-filter.report-filter .btn{grid-column:auto}.report-kpis .stat-card{min-height:78px;padding:9px}.report-kpis .stat-label{font-size:6px}.report-kpis .stat-number{font-size:17px}.report-kpis .money{font-size:15px}.report-kpis .stat-foot{font-size:7px}.report-kpis .stat-icon{width:21px;height:21px;top:8px;right:8px}}
.history-filter.report-filter{align-items:end}.history-filter.report-filter .report-filter-heading{align-self:center}.history-filter.report-filter .btn{align-self:end;position:relative;top:0;margin:0;transform:none}.monthly-firm-summary .report-total-row td{border-top:2px solid #dbe4ef;background:#f6f9fd;color:#30455e}.monthly-firm-summary .report-total-row td strong{font-weight:800}.monthly-firm-summary .report-total-row .positive{color:#20815b}.monthly-firm-summary .report-total-row .negative{color:#c24949}
.weekly-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.weekly-kpis .stat-label{max-width:88%;line-height:1.35}.weekly-kpis .stat-number{font-size:21px}.weekly-kpis .money{font-size:18px}@media(max-width:1050px){.weekly-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.weekly-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.staff-roster{position:relative;min-width:170px;max-width:290px}.staff-roster>summary{display:flex;align-items:center;gap:7px;min-height:28px;cursor:pointer;list-style:none;color:#53647b;font-size:9px;line-height:1.4}.staff-roster>summary::-webkit-details-marker{display:none}.staff-roster>summary::after{content:"⌄";margin-left:auto;color:#6483b1;font-size:13px}.staff-roster>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-roster>summary b{flex:0 0 auto;padding:3px 6px;border-radius:10px;background:#f1f5fa;color:#607694;font-size:8px;font-weight:700}.staff-roster[open]>summary::after{content:"⌃"}.staff-roster-popover{position:absolute;top:calc(100% + 5px);left:0;z-index:5;width:min(280px,70vw);padding:10px 12px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;box-shadow:0 12px 30px #20365324}.staff-roster-popover>strong{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #edf0f4;color:#30445e;font-size:10px}.staff-roster-popover>strong span{color:#8090a4;font-size:8px;font-weight:600}.staff-roster-popover ol{max-height:190px;overflow:auto;margin:0;padding:5px 0 0 20px;color:#586981;font-size:9px;line-height:1.8}.staff-roster-popover li{padding-left:2px}.report-table-card tbody td:has(.staff-roster[open]){position:relative}
.monthly-staff-details{flex:0 0 auto;margin:0;padding:0;overflow:hidden;border:1px solid #dfe7f2;border-radius:13px;background:#fff;box-shadow:0 5px 17px #263b5508}.monthly-staff-summary{display:flex;align-items:center;gap:12px;min-height:70px;padding:12px 16px;cursor:pointer;list-style:none}.monthly-staff-summary::-webkit-details-marker,.monthly-person-card>summary::-webkit-details-marker{display:none}.monthly-staff-summary::marker,.monthly-person-card>summary::marker{content:""}.monthly-staff-summary-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#edf3fb;color:#5278af;font-size:18px}.monthly-staff-summary-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.monthly-staff-summary-copy strong{color:#2c405a;font-size:12px}.monthly-staff-summary-copy small{color:#8190a4;font-size:9px}.monthly-staff-count{padding:6px 9px;border-radius:20px;background:#f1f5fa;color:#607694;font-size:9px;font-weight:750;white-space:nowrap}.monthly-staff-action{display:flex;align-items:center;gap:8px;color:#42699f;font-size:10px;font-weight:750;white-space:nowrap}.monthly-staff-action b,.monthly-person-chevron{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#f2f6fb;color:#5577a6;font-size:14px}.monthly-staff-details[open]>.monthly-staff-summary{border-bottom:1px solid #e9eef5;background:#fbfcfe}.monthly-staff-details[open] .monthly-staff-action b,.monthly-person-card[open] .monthly-person-chevron{transform:rotate(180deg)}.monthly-staff-list{display:flex;flex-direction:column;gap:7px;padding:10px}.monthly-person-card{overflow:hidden;border:1px solid #e8edf3;border-radius:10px;background:#fff}.monthly-person-card>summary{display:grid;grid-template-columns:minmax(130px,1fr) 125px 115px minmax(150px,auto) 25px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;cursor:pointer;list-style:none}.monthly-person-name{overflow:hidden;color:#2d425d;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.monthly-person-days{color:#7b899d;font-size:9px}.monthly-person-total{color:#2a6c50;font-size:10px;font-weight:800}.monthly-person-allowances{color:#77869a;font-size:9px}.monthly-person-chevron{transition:transform .15s}.monthly-person-table{max-height:none!important;margin:0 10px 10px;border:1px solid #edf0f4!important;border-radius:8px}.monthly-person-table table{min-width:760px!important}.monthly-person-table thead th{position:static!important}.monthly-person-table tfoot td{padding:9px 10px;border-top:1px solid #dfe7f0;background:#f6f9fd;color:#30455e;font-size:9px;white-space:nowrap}.monthly-person-table tfoot strong{color:#30455e}.monthly-staff-empty{padding:22px;text-align:center;color:#8492a5;font-size:10px}
@media(max-width:760px){.monthly-staff-summary{gap:8px;padding:10px}.monthly-staff-summary-icon{flex-basis:32px;height:32px}.monthly-staff-summary-copy strong{font-size:10px}.monthly-staff-summary-copy small{font-size:8px;line-height:1.4}.monthly-staff-action{font-size:0}.monthly-staff-action b{font-size:13px}.monthly-person-card>summary{grid-template-columns:minmax(100px,1fr) 95px 90px 25px;gap:7px;padding:8px}.monthly-person-allowances{grid-column:1/4;grid-row:2;font-size:8px}.monthly-person-chevron{grid-column:4;grid-row:1/3}.monthly-person-days{font-size:8px}.monthly-person-total{font-size:9px}}

/* Admin staff attendance ledger */
.attendance-heading{margin-bottom:14px}.attendance-filters{margin-bottom:13px;padding:13px 16px}.attendance-filters .history-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0}.attendance-filters .history-filter label{min-width:150px}.attendance-filters .history-filter label:first-of-type{min-width:min(280px,100%)}.attendance-filters .history-filter select{height:38px;min-width:130px;border-radius:8px}.attendance-filters .history-filter .btn{height:38px}.attendance-person-heading{display:flex;align-items:center;gap:12px;margin:2px 2px 12px}.attendance-person-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e6f2eb;color:#27684d;font:800 18px Manrope,sans-serif}.attendance-person-heading h2{margin:0;color:#1d3d34;font:800 19px Manrope,sans-serif}.attendance-person-heading p{margin:4px 0 0;color:#7a8981;font-size:10px}.attendance-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:13px}.attendance-stats .stat-card{min-height:102px;padding:14px 15px}.attendance-stats .stat-label{font-size:8px;letter-spacing:.8px}.attendance-stats .stat-number{font-size:25px;margin:10px 0 3px}.attendance-stats .attendance-date{font-size:17px;letter-spacing:-.3px}.attendance-stats .stat-foot{font-size:9px}.attendance-month-panel,.attendance-day-panel{margin-bottom:13px;padding:16px 18px}.attendance-month-panel .panel-head,.attendance-day-panel .panel-head{margin-bottom:10px}.attendance-month-panel .panel-head .eyebrow,.attendance-day-panel .panel-head .eyebrow{font-size:8px;letter-spacing:1px;color:#829087;margin-bottom:4px}.attendance-month-panel .panel-head h2,.attendance-day-panel .panel-head h2{font-size:14px}.attendance-month-table,.attendance-day-table{max-height:330px;overflow:auto;border:1px solid #edf0ee;border-radius:9px}.attendance-month-table table,.attendance-day-table table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.attendance-month-table th,.attendance-day-table th{position:sticky;top:0;z-index:1;padding:9px 10px;background:#f7faf8;border-bottom:1px solid #e8eeea;color:#849087;font-size:8px;letter-spacing:.7px;text-align:left;white-space:nowrap}.attendance-month-table td,.attendance-day-table td{padding:10px;border-bottom:1px solid #eef1ef;color:#4f6257;font-size:10px;vertical-align:middle}.attendance-month-table tr:last-child td,.attendance-day-table tr:last-child td{border-bottom:0}.attendance-month-table tbody tr:hover td,.attendance-day-table tbody tr:hover td{background:#fbfdfb}.attendance-selected-month td{background:#f2f8f3!important}.attendance-firm-list{max-width:250px;white-space:normal;line-height:1.5}.attendance-assignment-count{display:block;margin-top:4px;color:#849087;font-size:8px}.attendance-open-month{color:#27684d;font-size:9px;font-weight:750;text-decoration:none;white-space:nowrap}.attendance-open-month:hover{text-decoration:underline}.attendance-weekday{display:block;margin-top:3px;color:#89958d;font-size:8px}.attendance-footnote{margin-top:10px;color:#849087;font-size:9px;line-height:1.5}.attendance-empty,.attendance-empty-inline{padding:25px;text-align:center;color:#849087;font-size:11px}.person-actions{display:flex;align-items:center;gap:5px}.person-actions form{margin:0}.person-actions .detail-link{text-decoration:none;white-space:nowrap}
@media(max-width:1050px){.attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.attendance-heading{align-items:flex-start}.attendance-heading h1{font-size:23px}.attendance-heading .secure-tag{font-size:8px;padding:6px 7px}.attendance-filters{padding:11px}.attendance-filters .history-filter label{flex:1;min-width:calc(50% - 8px)}.attendance-filters .history-filter label:first-of-type{min-width:100%}.attendance-filters .history-filter .btn{flex:1}.attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.attendance-stats .stat-card{min-height:85px;padding:10px}.attendance-stats .stat-number{font-size:20px}.attendance-stats .attendance-date{font-size:14px}.attendance-person-heading h2{font-size:16px}.attendance-person-heading p{font-size:9px;line-height:1.4}.attendance-month-panel,.attendance-day-panel{padding:12px}.attendance-month-panel .panel-head,.attendance-day-panel .panel-head{align-items:flex-start}.attendance-month-panel .panel-head .report-panel-tag,.attendance-day-panel .panel-head .report-panel-tag{font-size:8px}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.person-actions{flex-direction:column;align-items:stretch}.person-actions .tiny-btn{width:100%}}

/* Vardiya grupları, sorumlu yoklaması ve servis paneli */
.assignment-planner,.assignment-existing{margin-bottom:14px}.assignment-form{display:flex;flex-direction:column;gap:13px}.assignment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.assignment-fields label,.assignment-stops-label,.assignment-roster-head{display:flex;flex-direction:column;gap:5px;color:#687970;font-size:10px;font-weight:700}.assignment-fields input,.assignment-fields select,.assignment-stops-label textarea,.assignment-roster-actions input{width:100%;min-height:38px;border:1px solid #e2e9e4;border-radius:8px;background:#fcfdfc;padding:8px 10px;color:#293f35;font:500 11px 'DM Sans',sans-serif}.assignment-stops-label textarea{resize:vertical;line-height:1.55}.assignment-stops-label small,.assignment-roster-head small{color:#86938b;font-weight:400;font-size:9px}.assignment-warning{padding:10px 12px;border:1px solid #f1dfb3;border-radius:8px;background:#fff9e9;color:#8b6825;font-size:10px}.assignment-roster-head{flex-direction:row;align-items:center;justify-content:space-between}.assignment-roster-head>div:first-child{display:flex;flex-direction:column;gap:4px}.assignment-roster-actions{display:flex;align-items:center;gap:7px}.assignment-roster-actions input{width:210px}.assignment-roster-scroll{max-height:310px;overflow:auto;border:1px solid #e9eeea;border-radius:9px}.assignment-roster{width:100%;min-width:680px;border-collapse:separate;border-spacing:0}.assignment-roster th{position:sticky;top:0;z-index:1;padding:9px;background:#f7faf8;color:#839087;text-align:left;font-size:8px;letter-spacing:.7px}.assignment-roster td{padding:7px 9px;border-top:1px solid #eef1ef;color:#52645a;font-size:10px}.assignment-roster td:first-child{width:40px;text-align:center}.assignment-roster input[type=checkbox]{width:16px;height:16px;accent-color:#23775c}.assignment-roster td strong{color:#2e493c}.assignment-roster select,.assignment-roster .assignment-overtime-input{height:31px;max-width:230px;border:1px solid #e4ebe6;border-radius:7px;background:#fff;padding:0 7px;color:#3d5548;font-size:9px}.assignment-roster .assignment-overtime-input{width:76px}.assignment-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:3px}.assignment-submit>span{color:#7c8981;font-size:9px}.assignment-submit>span b{color:#936d21}.assignment-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assignment-group-card{padding:13px;border:1px solid #e8eeea;border-radius:10px;background:#fcfdfc}.assignment-group-top,.assignment-group-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.assignment-group-top>div:first-child{display:flex;flex-direction:column;gap:5px}.assignment-group-top strong{color:#2b483a;font-size:12px}.assignment-group-top span,.assignment-group-meta{color:#79877f;font-size:9px}.assignment-status-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.assignment-status-counts b{padding:4px 6px;border-radius:12px;font-size:8px;white-space:nowrap}.present-count{background:#e8f5ed;color:#28754e}.absent-count{background:#fff0ed;color:#b4483f}.pending-count{background:#fff6e3;color:#916d22}.assignment-group-meta{justify-content:flex-start;flex-wrap:wrap;margin:10px 0}.assignment-group-roster>summary{cursor:pointer;color:#3d7258;font-size:9px;font-weight:700}.assignment-group-members{display:flex;flex-direction:column;gap:5px;margin-top:8px}.assignment-member{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1.2fr) auto;gap:6px;align-items:center;padding:7px 8px;border-radius:7px;background:#fff;font-size:9px}.assignment-member strong{color:#3c5146}.assignment-member span{color:#7a8880}.assignment-member b{font-size:8px}.assignment-member small{grid-column:1/-1;color:#b0443b}.assignment-member.is-absent{background:#fff5f3}.assignment-member.is-present{background:#f5fbf6}.assignment-member.is-pending{background:#fffbf1}.supervisor-date-panel{margin-bottom:12px;padding:12px 15px}.supervisor-date-filter,.driver-date-filter{display:flex;align-items:end;gap:9px}.supervisor-date-filter label,.driver-date-filter label{display:flex;flex-direction:column;gap:5px;color:#718078;font-size:9px}.supervisor-date-filter input,.driver-date-filter input{height:36px;border:1px solid #e1e8e3;border-radius:8px;padding:0 10px;color:#31463b}.supervisor-date-filter .btn,.driver-date-filter .btn{height:36px}.supervisor-empty,.driver-empty{padding:34px;text-align:center}.supervisor-empty>span,.driver-empty>span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:13px;background:#e8f5ed;color:#2c7954;font-size:20px}.supervisor-empty h2,.driver-empty h2{font-size:15px}.supervisor-empty p,.driver-empty p{color:#87938b;font-size:10px}.supervisor-group,.driver-group{margin-bottom:12px;padding:16px 18px}.supervisor-group-head,.driver-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.supervisor-group-head .eyebrow,.driver-group-head .eyebrow{margin-bottom:4px}.supervisor-group-head h2,.driver-group-head h2{font-size:15px}.supervisor-group-head h2 span{color:#a2ada6}.supervisor-group-head p,.driver-group-head p{margin:4px 0 0;color:#7c8981;font-size:9px}.supervisor-group-count,.driver-group-tag{padding:6px 9px;border-radius:20px;background:#f0f5f1;color:#567462;font-size:9px;font-weight:700;white-space:nowrap}.supervisor-route{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0;padding:9px 10px;border:1px solid #e8eeea;border-radius:8px;background:#fbfdfb}.supervisor-route>strong{margin-right:4px;color:#667970;font-size:9px}.supervisor-route>span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:15px;background:#edf5ef;color:#436b52;font-size:8px}.supervisor-route>span b,.stop-number{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#d9ebde;color:#30704d;font-size:8px}.supervisor-roster{display:flex;flex-direction:column;gap:6px}.supervisor-person-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.55fr) minmax(310px,1.1fr);align-items:center;gap:11px;padding:9px 10px;border:1px solid #edf0ee;border-radius:9px;background:#fff}.supervisor-person-row.is-absent{border-color:#f1d4d0;background:#fff8f7}.supervisor-person-row.is-present{border-color:#d8eadf;background:#fbfefb}.supervisor-person-main{display:flex;align-items:center;gap:9px;min-width:0}.supervisor-person-avatar{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:10px;background:#edf4ef;color:#417153;font-size:12px;font-weight:800}.supervisor-person-main>div{display:flex;flex-direction:column;gap:4px;min-width:0}.supervisor-person-main strong{overflow:hidden;color:#30483b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.supervisor-person-main small{color:#849087;font-size:8px}.supervisor-person-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.supervisor-person-state small{max-width:190px;color:#b3473e;font-size:8px}.attendance-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:12px;font-size:8px;font-weight:800;white-space:nowrap}.attendance-badge.present{background:#e8f5ed;color:#28754e}.attendance-badge.absent{background:#fff0ed;color:#b4483f}.attendance-badge.pending{background:#fff6e3;color:#916d22}.supervisor-person-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.supervisor-person-actions form{display:flex;align-items:center;gap:5px;margin:0}.absence-form input{width:130px;height:30px;border:1px solid #ebd8d5;border-radius:7px;padding:0 7px;font-size:8px}.attendance-action{height:30px;padding:0 9px;border:0;border-radius:7px;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap}.present-action{background:#e9f5ed;color:#26724c}.absent-action{background:#fff0ed;color:#b14339}.driver-date-panel{margin-bottom:12px;padding:12px 15px}.driver-date-banner{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 15px;border:1px solid #e4ebe6;border-radius:11px;background:#fff}.driver-date-banner>span{color:#87948b;font-size:8px;font-weight:800;letter-spacing:1px}.driver-date-banner>strong{color:#2d4939;font-size:12px}.driver-date-banner>b{margin-left:auto;color:#627d6c;font-size:9px}.driver-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.driver-stop{overflow:hidden;border:1px solid #e7ede8;border-radius:9px;background:#fcfdfc}.driver-stop-heading{display:flex;align-items:center;gap:9px;padding:10px;background:#f6faf7}.driver-stop-heading>div{display:flex;flex-direction:column;gap:3px}.driver-stop-heading strong{color:#304b3b;font-size:10px}.driver-stop-heading small{color:#819087;font-size:8px}.stop-number{width:23px;height:23px;font-size:9px}.driver-stop-people{display:flex;flex-direction:column}.driver-person{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 10px;border-top:1px solid #edf1ee;color:#4b6153;font-size:9px}.driver-no-passengers{display:block;padding:9px;color:#9aa49d;font-size:8px}.driver-full-list{margin-top:10px}.driver-full-list>summary{cursor:pointer;color:#477156;font-size:9px;font-weight:700}.driver-full-list>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.driver-full-list>div>span{padding:5px 8px;border:1px solid #e9efeb;border-radius:15px;background:#fff;color:#455d4d;font-size:8px}.driver-full-list small{color:#87938b}
+@media(max-width:1050px){.assignment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-group-list{grid-template-columns:1fr}.supervisor-person-row{grid-template-columns:minmax(150px,1fr) minmax(90px,.45fr) minmax(290px,1fr)}}
+@media(max-width:760px){.assignment-fields{grid-template-columns:1fr 1fr;gap:8px}.assignment-roster-head{align-items:stretch;flex-direction:column}.assignment-roster-actions input{width:100%;flex:1}.assignment-roster-actions .tiny-btn{white-space:nowrap}.assignment-submit{align-items:stretch;flex-direction:column}.assignment-submit .btn{width:100%}.supervisor-person-row{grid-template-columns:1fr auto;gap:8px}.supervisor-person-state{grid-column:1}.supervisor-person-actions{grid-column:1/-1;justify-content:stretch;flex-direction:column;align-items:stretch}.supervisor-person-actions form{width:100%}.absence-form input{flex:1;width:auto}.attendance-action{min-width:82px}.driver-stops{grid-template-columns:1fr}.driver-date-banner{align-items:flex-start;flex-direction:column;gap:5px}.driver-date-banner>b{margin-left:0}.supervisor-heading h1{font-size:22px}}
@media(max-width:480px){.assignment-fields{grid-template-columns:1fr}.assignment-group-top{flex-direction:column}.assignment-status-counts{justify-content:flex-start}.assignment-member{grid-template-columns:minmax(80px,1fr) auto}.assignment-member span{grid-column:1}.assignment-member b{grid-column:2;grid-row:1}.assignment-roster-actions{align-items:stretch}.supervisor-route{align-items:flex-start;flex-direction:column}.supervisor-route>strong{margin-bottom:2px}}

.status.absent{background:#fff0ed;color:#b4483f}.status.pending{background:#fff6e3;color:#916d22}.day-toggle.absent{background:#ffe5e1!important;color:#b0443c!important;border-color:#efc6c1!important}.day-toggle.pending{background:#fff3d7!important;color:#936e26!important;border-color:#f0dfb1!important}.planner-group-link{height:34px;margin-left:auto;white-space:nowrap;font-size:10px}.assignment-date-filter{display:flex;align-items:center;gap:6px}.assignment-date-filter input{height:31px;border:1px solid #e1e8e3;border-radius:7px;padding:0 7px;color:#4b6053;font-size:9px}.assignment-date-filter .tiny-btn{height:31px}.assignment-date-filter .report-panel-tag{margin-left:3px}
@media(max-width:760px){.planner-heading{flex-wrap:wrap}.planner-group-link{margin-left:0}.assignment-date-filter{flex-wrap:wrap}.assignment-date-filter .report-panel-tag{display:none}}
.assignment-person-department{display:block;margin-top:3px;color:#73877b;font-size:8px;font-weight:600}.supervisor-person-row{grid-template-columns:minmax(180px,1fr) minmax(100px,.55fr) minmax(420px,1.3fr)}.supervisor-present-form .overtime-toggle-label{display:inline-flex;align-items:center;gap:4px;color:#597062;font-size:8px;font-weight:700;white-space:nowrap}.supervisor-present-form .overtime-toggle-label input{width:14px;height:14px;margin:0;accent-color:#23775c}.supervisor-present-form .overtime-hours-field{display:inline-flex;align-items:center;gap:4px;color:#718078;font-size:8px}.supervisor-present-form .overtime-hours-input{width:48px;height:30px;border:1px solid #dfe8e1;border-radius:7px;padding:0 5px;color:#31463b;font-size:9px}.supervisor-present-form .overtime-hours-input:disabled{background:#f4f6f4}.supervisor-person-actions .supervisor-present-form{flex-wrap:wrap}
@media(max-width:1050px){.supervisor-person-row{grid-template-columns:minmax(150px,1fr) minmax(90px,.45fr) minmax(360px,1.1fr)}}
@media(max-width:760px){.supervisor-person-row{grid-template-columns:1fr auto}.supervisor-person-actions .supervisor-present-form{display:grid;grid-template-columns:auto auto 1fr;align-items:center}.supervisor-person-actions .supervisor-present-form .attendance-action{justify-self:end}}
@media(max-width:480px){.supervisor-person-actions .supervisor-present-form{grid-template-columns:auto auto 1fr}.assignment-person-department{font-size:8px}}
.driver-manifest{overflow:hidden;margin-top:12px;border:1px solid #e7ede8;border-radius:10px;background:#fff}.driver-manifest-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:#f6faf7}.driver-manifest-heading strong{color:#304b3b;font-size:10px}.driver-manifest-heading span{color:#819087;font-size:8px}.driver-manifest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.driver-manifest-list .driver-person{min-height:48px}.driver-person>span{display:flex;flex-direction:column;gap:3px}.driver-person>span strong{color:#40574a;font-size:9px}.driver-person>span small{color:#819087;font-size:8px}
@media(max-width:700px){.driver-manifest-list{grid-template-columns:1fr}}

/* Transport assignment cards, passenger contact links, and seat occupancy */
.transport-route-list{display:grid;gap:14px}.transport-route-card{padding:18px}.transport-route-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.transport-route-card>header h2{margin:4px 0;font-size:20px}.transport-route-card>header p,.transport-stops-head p{margin:0;color:#7d8c84;font-size:12px}.transport-route-vehicle{padding:8px 12px;border-radius:10px;background:#f0f5f2;color:#145846;font-weight:700}.transport-route-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:14px;border:1px solid #e2ebe5;border-radius:12px;background:#fbfdfb}.transport-route-form label,.transport-stop-form label{display:grid;gap:6px;color:#576b60;font-size:11px;font-weight:650}.transport-route-form input,.transport-route-form select,.transport-stop-form input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #dce6df;border-radius:9px;background:white;color:#173a2e}.transport-route-form .btn{align-self:end;min-height:40px}.transport-stops-head{display:flex;justify-content:space-between;margin:18px 0 10px}.transport-stops-head h3{margin:0 0 4px;font-size:15px}.transport-stop-list,.staff-service-stops ol,.driver-route-stops ol{list-style:none;margin:0;padding:0}.transport-stop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.transport-stop-list li,.staff-service-stops li,.driver-route-stops li{display:flex;align-items:center;gap:12px;padding:9px 11px;border:1px solid #e5ece7;border-radius:9px;background:#fff}.transport-stop-time{min-width:48px;color:#145846;font-weight:750;font-size:12px}.transport-stop-list li>span:nth-child(2),.staff-service-stops li>span,.driver-route-stops li>span{display:grid;gap:2px;flex:1}.transport-stop-list small,.staff-service-stops small,.driver-route-stops small{color:#829188;font-size:10px}.transport-stop-list li form{margin-left:auto}.transport-stop-list li button{width:26px;height:26px;border:0;border-radius:8px;background:#fff0ef;color:#b43b33;font-size:18px;cursor:pointer}.transport-stop-form{display:grid;grid-template-columns:1fr 1.4fr 140px auto;gap:10px;align-items:end;margin-top:12px;padding-top:13px;border-top:1px solid #e7eee9}.transport-stop-form button{min-height:40px}.staff-service-page{display:grid;gap:14px;padding:18px}.staff-service-search{display:flex;align-items:end;justify-content:space-between;gap:12px}.staff-service-search label{display:grid;gap:6px;width:min(420px,100%);font-size:11px;color:#64766d}.staff-service-search input{min-height:42px;padding:8px 12px;border:1px solid #dce6df;border-radius:10px}.staff-service-search>span{color:#829188;font-size:11px}.staff-service-card{padding:16px;border:1px solid #dfe9e2;border-radius:14px;background:#fff}.staff-service-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf1ed}.staff-service-card h2{margin:4px 0;font-size:18px}.staff-service-card h2 span{color:#93a29a}.staff-service-route-tag{padding:7px 10px;border-radius:999px;background:#eef7f2;color:#155b46;font-size:11px;font-weight:700}.staff-service-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0}.staff-service-info>div,.staff-service-driver>div:first-child{display:grid;gap:5px}.staff-service-info small,.staff-service-driver small,.service-seat-heading small{color:#839188;font-size:9px;letter-spacing:.08em;font-weight:750}.staff-service-info b{font-size:13px;color:#254438}.staff-service-driver{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:#f7faf8}.staff-service-driver b{font-size:14px}.staff-service-driver span{color:#7d8c84;font-size:11px}.service-contact-actions{display:flex;gap:7px;align-items:center}.service-contact{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:11px;font-weight:700}.service-contact.call{background:#eaf5ee;color:#176443}.service-contact.whatsapp{background:#e8f7ef;color:#118347}.service-contact-actions.compact{margin-top:3px}.service-contact-actions.compact .service-contact{min-height:25px;padding:3px 8px;font-size:12px}.service-seat-section{padding:12px 13px;border:1px solid #e5ece7;border-radius:11px;background:#fbfdfb}.service-seat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.service-seat-heading>div{display:grid;gap:4px}.service-seat-heading>div>b{font-size:12px;color:#254438}.service-seat-heading>span{display:flex;align-items:center;gap:5px;color:#74847b;font-size:10px}.seat-legend{width:9px;height:9px;margin-left:6px;border-radius:3px}.seat-legend.occupied{background:#d94e4e}.seat-legend.free{background:#34a66b}.service-seat-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(27px,1fr));gap:6px}.service-seat{height:24px;border:1px solid;border-radius:6px}.service-seat.occupied{border-color:#d94e4e;background:#e65353}.service-seat.free{border-color:#57b77d;background:#80d69c}.staff-service-stops,.driver-route-stops{margin-top:10px;border:1px solid #e5ece7;border-radius:10px;background:#fff}.staff-service-stops summary,.driver-route-stops summary{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;color:#345348;font-size:11px;font-weight:700;cursor:pointer}.staff-service-stops summary b,.driver-route-stops summary b{color:#849188;font-weight:500}.staff-service-stops ol,.driver-route-stops ol{display:grid;gap:6px;padding:0 10px 10px}.staff-service-stops time,.driver-route-stops time{color:#145846;font-weight:750;font-size:12px}.driver-service-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.driver-service-meta span{padding:5px 8px;border-radius:999px;background:#f0f6f2;color:#36594a;font-size:10px}.driver-seat-section{margin-top:12px}.assignment-stop-select{min-width:150px;max-width:220px}.assignment-roster th,.assignment-roster td{vertical-align:middle}.assignment-roster td select{font-size:11px}
@media(max-width:900px){.transport-route-form{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-service-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.transport-stop-list{grid-template-columns:1fr}.transport-stop-form{grid-template-columns:1fr 1fr}.transport-route-form{grid-template-columns:1fr}.staff-service-card>header,.staff-service-search,.staff-service-driver{align-items:flex-start;flex-direction:column}.staff-service-info{grid-template-columns:1fr 1fr}.service-seat-map{grid-template-columns:repeat(8,minmax(20px,1fr))}}
.driver-location-controls{display:flex;align-items:center;gap:9px;margin:12px 0;padding:12px;border:1px solid #dfeae3;border-radius:11px;background:#f8fbf9}.driver-location-controls>div{display:grid;gap:4px;flex:1}.driver-location-controls b{font-size:12px;color:#1b4e3e}.driver-location-controls small{font-size:10px;color:#75877c}.staff-track-service{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid #e4ece6;border-radius:10px;background:#fbfdfb}.staff-track-service>span{color:#78887f;font-size:10px}.service-tracking-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid #dce7df;border-radius:16px;box-shadow:0 24px 90px #12271c44}.service-tracking-dialog::backdrop{background:#10241dcc;backdrop-filter:blur(3px)}.service-tracking-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.service-tracking-dialog h2{margin:4px 0;font-size:20px;color:#163b30}.service-tracking-dialog p{margin:0;color:#718279;font-size:11px}.service-tracking-dialog>header button{width:34px;height:34px;border:0;border-radius:9px;background:#f0f5f2;font-size:22px;cursor:pointer}.service-track-summary{display:flex;justify-content:space-between;gap:10px;padding:11px 20px;background:#f5faf6}.service-track-summary strong{font-size:13px;color:#145b43}.service-track-summary span{font-size:11px;color:#73837a}.service-tracking-dialog iframe{display:block;width:100%;height:430px;border:0;background:#eef3ef}.service-tracking-dialog>footer{padding:11px 20px;color:#7d8c83;font-size:10px;line-height:1.5}.staff-service-info{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:600px){.driver-location-controls,.staff-track-service{align-items:flex-start;flex-direction:column}.service-tracking-dialog iframe{height:55vh}.service-track-summary{flex-direction:column}.staff-service-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
.assignment-roster{min-width:720px}.assignment-roster .assignment-department-input{width:min(220px,100%);height:31px;border:1px solid #e4ebe6;border-radius:7px;background:#fff;padding:0 8px;color:#3d5548;font-size:9px}.assignment-roster .assignment-department-input:focus{outline:2px solid #d9eadf;border-color:#87ad94}.admin-daily-report{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.daily-attendance-list{min-height:0;overflow:auto;border-top:1px solid #edf1ee}.daily-attendance-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:8px 0;background:#fff;color:#41594b;font-size:10px}.daily-attendance-heading a{color:#4267c9;text-decoration:none;font-size:9px;font-weight:700}.daily-attendance-row{display:grid;grid-template-columns:76px minmax(100px,1fr) minmax(70px,.65fr) minmax(160px,1.2fr);align-items:center;gap:7px;padding:7px 0;border-top:1px solid #f0f3f1;font-size:9px}.daily-attendance-row>strong{color:#30483b}.daily-attendance-row>span:not(.attendance-badge){color:#587062}.daily-attendance-row>small{color:#818e85}.daily-attendance-row em{grid-column:2/-1;color:#ad4940;font-size:8px;font-style:normal}.operations-filter-panel{flex:0 0 auto;padding:10px 13px}.operations-filter{display:flex;align-items:end;gap:10px}.operations-filter label{display:flex;flex-direction:column;gap:4px;color:#718078;font-size:9px}.operations-filter input{height:34px;border:1px solid #e1e8e3;border-radius:7px;padding:0 8px;color:#31463b}.operations-filter strong{margin-left:auto;padding-bottom:8px;color:#3d5949;font-size:11px}.operations-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-table{flex:1;min-height:0}.operations-table .table-wrap{flex:1;min-height:0;overflow:auto}.operations-privacy-note{flex:0 0 auto;margin:9px 0 0;color:#78867d;font-size:9px}.early-exit-toggle-label{display:inline-flex;align-items:center;gap:4px;color:#8a6343;font-size:8px;font-weight:700;white-space:nowrap}.early-exit-toggle-label input{width:14px;height:14px;margin:0;accent-color:#d38a42}.early-exit-time-field{display:inline-flex;align-items:center;gap:4px;color:#817362;font-size:8px;white-space:nowrap}.early-exit-time-input{width:76px;height:30px;border:1px solid #e8dfd4;border-radius:7px;padding:0 5px;color:#544735;font-size:9px}.early-exit-time-input:disabled{background:#f4f6f4}
@media(max-width:1050px){.daily-attendance-row{grid-template-columns:70px minmax(90px,1fr) minmax(60px,.6fr) minmax(130px,1fr)}.operations-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.operations-filter{align-items:stretch;flex-wrap:wrap}.operations-filter strong{width:100%;margin-left:0;padding:4px 0}.daily-attendance-row{grid-template-columns:70px minmax(0,1fr) minmax(70px,.7fr)}.daily-attendance-row>small{grid-column:2/-1}.daily-attendance-row em{grid-column:2/-1}.operations-table .table-wrap{overflow:auto}.operations-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.supervisor-person-actions .supervisor-present-form{grid-template-columns:repeat(2,auto) 1fr}.early-exit-time-input{width:86px}}
@media(max-width:480px){.assignment-roster{min-width:650px}.operations-filter .btn{width:100%}.operations-stats .stat-card{min-height:78px}.daily-attendance-row{grid-template-columns:70px minmax(0,1fr)}.daily-attendance-row>span:not(.attendance-badge){grid-column:2}.daily-attendance-row>small,.daily-attendance-row em{grid-column:2}.early-exit-time-field{grid-column:2}.supervisor-person-actions .supervisor-present-form{grid-template-columns:1fr 1fr}.supervisor-person-actions .supervisor-present-form .attendance-action{grid-column:1/-1;width:100%}}
.daily-report-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}.daily-report-counts>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:7px 9px;border:1px solid #e9efeb;border-radius:8px;background:#fbfdfb}.daily-report-counts strong{color:#355645;font-size:15px}.daily-report-counts span{color:#77867c;font-size:8px}.daily-report-counts .daily-present strong{color:#28754e}.daily-report-counts .daily-absent strong{color:#b4483f}.daily-report-counts .daily-pending strong{color:#916d22}.operations-stats{display:grid}
@media(max-width:760px){.daily-report-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-report-counts>div{padding:6px 7px}}
.operations-filter-panel{display:flex;align-items:center;justify-content:space-between;gap:10px}.operations-filter{flex:1}.operations-export{height:34px;display:inline-flex;align-items:center;white-space:nowrap}
@media(max-width:760px){.operations-filter-panel{align-items:stretch;flex-direction:column}.operations-export{width:100%;justify-content:center}}
.staff-placement-list{display:flex;flex-direction:column;gap:5px;min-width:220px}.staff-placement-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;max-width:300px;padding:4px 7px;border:1px solid #e5ece7;border-radius:7px;background:#f8fbf9;color:#486252;font-size:9px}.staff-placement-chip form{margin:0}.staff-placement-chip button{width:19px;height:19px;border:0;border-radius:5px;background:#fff0ed;color:#b4483f;font-weight:800;cursor:pointer}.staff-placement-edit{display:grid;grid-template-columns:minmax(95px,1fr) minmax(90px,1fr) auto;gap:4px;margin-top:2px}.staff-placement-edit select,.staff-placement-edit input{min-width:0;height:29px;border:1px solid #e1e9e3;border-radius:6px;padding:0 6px;background:#fff;color:#455b4b;font-size:8px}.staff-placement-edit .tiny-btn{padding:0 7px;white-space:nowrap}.assignment-roster-empty{padding:13px;text-align:center;color:#77867c;font-size:9px}
@media(max-width:760px){.staff-placement-edit{grid-template-columns:1fr 1fr}.staff-placement-edit .tiny-btn{grid-column:1/-1}.staff-placement-list{min-width:190px}}
.operations-filter-panel{display:block;flex:0 0 auto;padding:12px 14px;border:1px solid #e7ecef;border-radius:13px;box-shadow:0 3px 14px #1b2f3d08}.operations-filter{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:9px}.operations-filter label{display:flex;min-width:0;flex-direction:column;gap:4px;color:#708076;font-size:9px;font-weight:700}.operations-filter input,.operations-filter select{width:100%;height:34px;border:1px solid #e0e7e2;border-radius:8px;background:#fff;padding:0 8px;color:#33483b;font-size:10px}.operations-filter .operations-search-label{grid-column:span 2}.operations-filter .btn{height:34px;justify-content:center;white-space:nowrap}.operations-range-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding-top:8px;border-top:1px solid #edf1ee}.operations-range-actions>div{display:flex;gap:7px}.operations-range-actions>div>a{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:1px solid #e5ebe6;border-radius:7px;background:#fbfdfb;color:#4d6957;text-decoration:none;font-size:9px;font-weight:700}.operations-range-actions>div>a:hover{background:#edf5ef}.operations-export{height:32px;display:inline-flex;align-items:center;white-space:nowrap}.operations-period-label{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:0 2px}.operations-period-label>span{color:#809087;font-size:8px;font-weight:800;letter-spacing:1px}.operations-period-label>strong{color:#314b3a;font-size:12px}.operations-period-label>small{margin-left:auto;color:#77867d;font-size:9px}.operations-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.operations-stats .stat-card{min-height:77px;padding:10px 12px;border-radius:11px}.operations-stats .stat-number{margin:5px 0 2px;font-size:21px}.operations-results-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:190px;overflow:hidden;padding:12px 14px;border:1px solid #e7ecef;border-radius:13px}.operations-results-panel>.panel-head{flex:0 0 auto}.operations-firms-scroll{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:9px;overflow:auto;padding:2px 3px 8px 0}.operations-firm-card{flex:0 0 auto;overflow:hidden;border:1px solid #e4ebe6;border-radius:11px;background:#fff}.operations-firm-header{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(105deg,#f5faf6,#fbfcfd);border-bottom:1px solid #eaf0eb}.operations-firm-icon{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:9px;background:#e8f2eb;color:#4d785c;font-size:15px}.operations-firm-name{display:flex;min-width:130px;flex-direction:column;gap:2px}.operations-firm-name>span{color:#849188;font-size:7px;font-weight:800;letter-spacing:1px}.operations-firm-name h3{margin:0;color:#263d30;font-size:12px}.operations-firm-name small{color:#7c8980;font-size:8px}.operations-firm-kpis{display:flex;align-items:center;gap:6px;margin-left:auto}.operations-firm-kpis>div{display:flex;min-width:63px;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;border:1px solid #e8eee9;border-radius:8px;background:#fff}.operations-firm-kpis b{color:#304b3a;font-size:12px}.operations-firm-kpis span{color:#818d84;font-size:7px}.operations-firm-kpis>div:nth-child(1) b{color:#28754e}.operations-firm-kpis>div:nth-child(2) b{color:#b4483f}.operations-firm-kpis>div:nth-child(3) b{color:#916d22}.operations-firm-days{display:flex;flex-direction:column;padding:6px 8px;gap:5px}.operations-day-card{overflow:hidden;border:1px solid #edf1ee;border-radius:8px;background:#fff}.operations-day-card>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:5px 9px;cursor:pointer;list-style:none}.operations-day-card>summary::-webkit-details-marker{display:none}.operations-date-block{display:flex;width:31px;height:31px;flex:0 0 31px;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;background:#f0f5f1;color:#476652}.operations-date-block strong{font-size:12px;line-height:13px}.operations-date-block small{font-size:7px}.operations-day-title{display:flex;flex-direction:column;gap:2px}.operations-day-title strong{color:#3c5143;font-size:9px;text-transform:capitalize}.operations-day-title small{color:#87938a;font-size:7px}.operations-day-counts{display:flex;gap:9px;margin-left:auto}.operations-day-counts b{font-size:8px;white-space:nowrap}.operations-day-counts .present-text{color:#28754e}.operations-day-counts .absent-text{color:#b4483f}.operations-day-counts .pending-text{color:#916d22}.operations-chevron{color:#829087;font-size:14px;transition:transform .15s}.operations-day-card[open] .operations-chevron{transform:rotate(180deg)}.operations-day-table{overflow:auto;border-top:1px solid #edf1ee}.operations-day-table table{width:100%;border-collapse:collapse;min-width:800px}.operations-day-table th{position:sticky;top:0;padding:6px 8px;background:#fafcfb;color:#78867d;text-align:left;font-size:7px;letter-spacing:.5px}.operations-day-table td{padding:6px 8px;border-top:1px solid #f0f3f1;color:#526257;font-size:8px}.operations-day-table td strong{color:#344a3b;font-size:8px}.operations-day-table td small{display:block;margin-top:2px;color:#87938a;font-size:7px}.operations-day-table tr.attendance-row-absent{background:#fff9f8}.operations-day-table tr.attendance-row-pending{background:#fffdf7}.operations-empty{display:flex;flex:1;min-height:150px;flex-direction:column;align-items:center;justify-content:center;color:#75847a;text-align:center}.operations-empty>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f1f5f2;font-size:20px}.operations-empty strong{margin-top:8px;color:#3e5747;font-size:12px}.operations-empty p{margin:4px 0;color:#859188;font-size:9px}.operations-privacy-note{flex:0 0 auto;margin:8px 0 0;color:#78867d;font-size:8px}
@media(max-width:1100px){.operations-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-filter .operations-search-label{grid-column:span 2}.operations-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.operations-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-filter .operations-search-label{grid-column:span 2}.operations-range-actions{align-items:stretch;flex-direction:column}.operations-range-actions>div{display:grid;grid-template-columns:1fr 1fr}.operations-export{width:100%;justify-content:center}.operations-period-label{align-items:flex-start;flex-direction:column;gap:3px}.operations-period-label>small{margin-left:0}.operations-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-stats .stat-card:last-child{grid-column:span 2}.operations-results-panel{min-height:180px;padding:10px}.operations-firm-header{align-items:flex-start;flex-wrap:wrap}.operations-firm-kpis{width:100%;margin-left:0;justify-content:space-between}.operations-firm-kpis>div{flex:1;min-width:0}.operations-day-counts{flex-direction:column;gap:2px}.operations-day-card>summary{gap:6px}.operations-day-title strong{font-size:8px}}
@media(max-width:480px){.operations-filter{grid-template-columns:1fr}.operations-filter .operations-search-label{grid-column:auto}.operations-filter .btn{width:100%}.operations-day-title{min-width:0}.operations-day-title strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operations-date-block{width:27px;height:29px;flex-basis:27px}.operations-day-counts{font-size:7px}.operations-day-counts b{font-size:7px}}

/* Refined admin operations and staff management */
.assignment-planner,.operations-filter-panel,.operations-results-panel,.management-layout>.panel{border:1px solid #e3eae6;border-radius:16px;box-shadow:0 8px 26px rgba(22,48,35,.045)}
.assignment-planner{padding:22px 24px}.assignment-planner>.panel-head,.management-layout .panel-head{margin-bottom:18px}.assignment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.assignment-fields label,.compact-form label{display:flex;flex-direction:column;gap:7px;color:#56685d;font-size:12px;font-weight:700}.assignment-fields select,.assignment-fields input{width:100%;height:44px;border:1px solid #dce6df;border-radius:10px;background:#fbfdfb;padding:0 12px;color:#263b2f;font-size:13px}.assignment-fields select:focus,.assignment-fields input:focus{outline:3px solid #e3f0e7;border-color:#81ad91}.assignment-fields select:disabled{color:#8c9990;background:#f5f7f5}.assignment-roster-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding:16px 0 12px;border-top:1px solid #e9efeb}.assignment-roster-head>div:first-child{display:flex;flex-direction:column;gap:5px}.assignment-roster-head strong{font-size:14px;color:#263b2f}.assignment-roster-head small{font-size:11px;color:#7b8980}.assignment-roster-actions{display:flex;gap:8px}.assignment-roster-actions input{height:38px;min-width:220px;border:1px solid #dce6df;border-radius:9px;padding:0 11px}.assignment-roster-scroll{max-height:340px;border:1px solid #e5ece7;border-radius:11px}.assignment-roster{width:100%;min-width:700px;border-collapse:collapse}.assignment-roster thead{position:sticky;top:0;z-index:1;background:#f5f8f6}.assignment-roster th{padding:11px 14px;color:#748279;font-size:10px;letter-spacing:.7px;text-align:left}.assignment-roster td{padding:9px 14px;border-top:1px solid #edf1ee;color:#405348;font-size:12px}.assignment-roster tr:hover{background:#f8fbf9}.assignment-roster td:first-child{width:52px}.assignment-roster input[type=checkbox]{width:18px;height:18px;accent-color:#17624e}.assignment-roster .assignment-department-input{height:36px;width:min(290px,100%);border-radius:8px;font-size:12px}.assignment-roster-empty{padding:26px 16px;color:#7a8980;font-size:12px}
.operations-filter-panel{padding:20px 22px}.operations-filter{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.operations-filter label{gap:7px;color:#52665a;font-size:11px}.operations-filter input,.operations-filter select{height:42px;border-color:#dce6df;border-radius:9px;padding:0 11px;font-size:12px}.operations-filter .operations-search-label{grid-column:auto}.operations-filter .btn{height:42px;border-radius:9px}.operations-range-actions{margin-top:16px;padding-top:14px}.operations-range-actions>div>a{height:36px;border-radius:9px;font-size:11px}.operations-export{height:36px;border-radius:9px}.operations-period-label{padding:6px 2px}.operations-period-label>span{font-size:9px}.operations-period-label>strong{font-size:14px}.operations-period-label>small{font-size:11px}.operations-stats .stat-card{min-height:94px;padding:14px 16px;border-radius:13px}.operations-stats .stat-label{font-size:9px}.operations-stats .stat-number{font-size:25px}.operations-stats .stat-foot{font-size:10px}.operations-results-panel{padding:18px 20px}.operations-results-panel>.panel-head{margin-bottom:12px}.operations-firms-scroll{gap:12px}.operations-firm-card{border-radius:13px}.operations-firm-header{padding:16px 18px}.operations-firm-icon{width:40px;height:40px;flex-basis:40px;font-size:18px}.operations-firm-name h3{font-size:16px}.operations-firm-name>span{font-size:9px}.operations-firm-name small{font-size:10px}.operations-firm-kpis>div{min-width:80px;padding:8px 11px;border-radius:10px}.operations-firm-kpis b{font-size:15px}.operations-firm-kpis span{font-size:9px}.operations-firm-days{gap:8px;padding:10px 12px}.operations-day-card{border-radius:10px}.operations-day-card>summary{min-height:58px;padding:8px 12px}.operations-date-block{width:40px;height:40px;flex-basis:40px}.operations-date-block strong{font-size:15px;line-height:17px}.operations-date-block small{font-size:9px}.operations-day-title strong{font-size:12px}.operations-day-title small{font-size:10px}.operations-day-counts b{font-size:10px}.operations-day-table th{padding:10px 12px;font-size:9px}.operations-day-table td{padding:10px 12px;font-size:11px}.operations-day-table td strong{font-size:11px}.operations-privacy-note{font-size:10px}
.management-layout{grid-template-columns:minmax(290px,.72fr) minmax(0,1.8fr);gap:18px}.management-layout>.panel{padding:20px}.management-layout .compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.management-layout .compact label{gap:7px;color:#53665a;font-size:11px;font-weight:700}.management-layout .compact input,.management-layout .compact select{width:100%;height:40px;border:1px solid #dce6df;border-radius:9px;padding:0 10px;background:#fbfdfb;color:#2c4235;font-size:12px}.management-layout .compact button,.management-layout .compact .full{grid-column:1/-1;min-height:42px;border-radius:9px}.form-note{margin-top:14px;padding:12px;border-radius:9px;background:#f5f8f6;color:#718077;font-size:10px;line-height:1.6}.management-table .table-wrap{overflow:auto}.management-table table{min-width:900px;border-collapse:separate;border-spacing:0}.management-table th{position:sticky;top:0;padding:12px 10px;background:#f6f9f7;color:#78867d;font-size:9px;letter-spacing:.65px}.management-table td{padding:12px 10px;border-top:1px solid #edf1ee;color:#43564a;font-size:11px;vertical-align:top}.management-table tbody tr:hover{background:#fbfdfb}.staff-placement-list{min-width:260px;gap:7px}.staff-placement-chip{max-width:none;padding:7px 9px;border-radius:8px;font-size:10px}.staff-placement-edit{grid-template-columns:minmax(110px,1fr) minmax(115px,1fr);gap:6px;margin-top:6px}.staff-placement-edit select,.staff-placement-edit input{height:35px;border-radius:8px;padding:0 9px;font-size:10px}.staff-placement-edit .tiny-btn{grid-column:1/-1;min-height:34px;border-radius:8px;font-size:10px}.table-input{height:35px;max-width:100px;border:1px solid #dfe7e1;border-radius:8px;padding:0 8px}.person-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}.person-actions .tiny-btn{min-height:30px;border-radius:7px;text-align:center;white-space:nowrap}
@media(max-width:1000px){.management-layout{grid-template-columns:1fr}.assignment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-filter{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.assignment-planner{padding:16px}.assignment-fields{grid-template-columns:1fr}.assignment-roster-head{align-items:stretch;flex-direction:column}.assignment-roster-actions input{min-width:0;flex:1}.operations-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-range-actions{align-items:stretch;flex-direction:column}.operations-export{width:100%;justify-content:center}.operations-firm-header{padding:12px}.operations-firm-kpis>div{padding:6px 4px}.operations-day-card>summary{min-height:54px}.management-layout>.panel{padding:15px}.management-layout .compact{grid-template-columns:1fr}.management-layout .compact button,.management-layout .compact .full{grid-column:auto}}
@media(max-width:480px){.operations-filter{grid-template-columns:1fr}.operations-filter .operations-search-label{grid-column:auto}.operations-range-actions>div{display:grid;grid-template-columns:1fr 1fr}.operations-period-label>small{margin-left:0}.operations-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-stats .stat-card:last-child{grid-column:span 2}}

/* Daily report details open in an overlay so the report page does not grow downward. */
.operations-day-card>summary{justify-content:flex-start;cursor:pointer}.operations-day-card>summary:hover{background:#f8fbf9}.operations-open-detail{display:inline-flex;align-items:center;gap:7px;margin-left:12px;padding:8px 11px;border:1px solid #dfe9e2;border-radius:9px;background:#fff;color:#17624e;font-size:10px;font-weight:700;white-space:nowrap}.operations-open-detail b{font-size:14px}.operations-day-card .operations-day-table{display:none}.operations-detail-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 40px);padding:0;overflow:hidden;border:1px solid #dfe8e2;border-radius:16px;background:#fff;color:#263b2f;box-shadow:0 24px 80px rgba(18,38,29,.24)}.operations-detail-dialog::backdrop{background:rgba(16,30,23,.48);backdrop-filter:blur(3px)}.operations-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e8efea;background:linear-gradient(110deg,#f4f9f5,#fff)}.operations-detail-header .eyebrow{font-size:9px}.operations-detail-header h2{margin:5px 0 3px;color:#243a2d;font-size:21px;text-transform:capitalize}.operations-detail-header p{margin:0;color:#6f8075;font-size:12px}.operations-detail-close{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid #e2eae4;border-radius:11px;background:#fff;color:#53675a;font-size:24px;cursor:pointer}.operations-detail-close:hover{background:#f2f7f3}.operations-detail-content{max-height:calc(100vh - 150px);overflow:auto;padding:16px 20px 20px}.operations-detail-content .operations-day-table{display:block;overflow:auto;border:1px solid #e8efea;border-radius:10px}.operations-detail-content .operations-day-table table{min-width:860px}.operations-detail-content .operations-day-table th{padding:12px;font-size:10px}.operations-detail-content .operations-day-table td{padding:12px;font-size:12px}.operations-detail-content .operations-day-table td strong{font-size:12px}.operations-detail-content .attendance-badge{font-size:10px}.operations-detail-content .operations-day-table td:nth-child(6){font-weight:700;color:#9a5a26}.operations-detail-content .operations-day-table tr.attendance-row-present td:nth-child(6){color:#7d8a81}
@media(max-width:650px){.operations-day-card>summary{flex-wrap:wrap}.operations-open-detail{margin-left:auto}.operations-day-counts{order:4;width:100%;flex-direction:row!important;justify-content:flex-start;margin-left:48px}.operations-detail-header{padding:16px}.operations-detail-header h2{font-size:17px}.operations-detail-content{padding:10px}.operations-detail-content .operations-day-table table{min-width:780px}}

/* Staff directory: compact overview, edit details only when requested. */
.staff-page-heading{margin-bottom:18px}.staff-create-panel,.staff-directory-panel{border:1px solid #e2eae5;border-radius:16px;box-shadow:0 7px 24px rgba(24,52,46,.045)}.staff-create-panel{margin-bottom:16px;padding:0;overflow:hidden}.staff-create-panel>summary{display:flex;min-height:76px;align-items:center;gap:13px;padding:13px 18px;cursor:pointer;list-style:none}.staff-create-panel>summary::-webkit-details-marker,.staff-card-editor>summary::-webkit-details-marker{display:none}.staff-create-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#eaf5ed;color:#23775c;font-size:23px}.staff-create-copy{display:flex;flex-direction:column;gap:3px}.staff-create-copy strong{color:#254033;font-size:14px}.staff-create-copy small{color:#7b8980;font-size:11px}.staff-create-action{display:flex;align-items:center;gap:8px;margin-left:auto;padding:9px 13px;border:1px solid #dfe9e2;border-radius:9px;color:#23664e;font-size:11px;font-weight:700}.staff-create-panel[open] .staff-create-action b{transform:rotate(180deg)}.staff-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:18px;border-top:1px solid #edf1ee;background:#fbfdfb}.staff-create-form label,.staff-allowance-form label,.staff-add-team-form label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#5d7064;font-size:11px;font-weight:700}.staff-create-form input,.staff-create-form select,.staff-allowance-form input,.staff-add-team-form input,.staff-add-team-form select{width:100%;height:40px;min-width:0;border:1px solid #dce6df;border-radius:9px;background:#fff;padding:0 10px;color:#2b4034;font-size:12px}.staff-create-form>button{align-self:end;height:40px}.staff-directory-panel{padding:20px}.staff-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.staff-directory-heading h2{margin:0;color:#233a2e;font:700 19px Manrope,sans-serif}.staff-directory-heading p{margin:5px 0 0;color:#7b8980;font-size:11px}.staff-directory-heading .eyebrow{margin-bottom:5px}.staff-directory-filters{display:flex;align-items:center;gap:9px}.staff-search{display:flex;align-items:center;gap:8px;width:260px;height:40px;padding:0 11px;border:1px solid #dfe8e2;border-radius:10px;background:#fff}.staff-search span{color:#7b8d81;font-size:19px}.staff-search input{width:100%;height:36px;border:0;outline:0;background:transparent;color:#2a4033;font-size:12px}.staff-directory-filters select{height:40px;min-width:170px;border:1px solid #dfe8e2;border-radius:10px;background:#fff;padding:0 10px;color:#42594b;font-size:12px}.staff-directory-result{display:flex;justify-content:space-between;gap:10px;margin:16px 0 10px;padding:10px 12px;border-radius:9px;background:#f5f8f6;color:#829087;font-size:10px}.staff-directory-result span:first-child{color:#3f5b49;font-weight:700}.staff-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.staff-directory-card{min-width:0;overflow:hidden;border:1px solid #e5ece7;border-radius:13px;background:#fff;transition:border-color .15s,box-shadow .15s}.staff-directory-card:hover{border-color:#cbded1;box-shadow:0 5px 18px rgba(24,52,46,.045)}.staff-card-main{display:flex;align-items:center;gap:11px;padding:13px 14px 10px}.staff-avatar{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:12px;background:#edf5ef;color:#38745b;font-size:16px;font-weight:800}.staff-identity{min-width:0;flex:1}.staff-identity-name{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.staff-identity h3{margin:0;color:#263d30;font-size:13px}.staff-identity>a{display:block;max-width:100%;margin-top:3px;overflow:hidden;color:#839087;font-size:10px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.staff-role{display:inline-flex;align-items:center;padding:3px 7px;border-radius:20px;background:#f2f5f3;color:#718078;font-size:9px;font-weight:700}.staff-role.supervisor{background:#fff5e6;color:#a97827}.staff-attendance-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#3b7056;font-size:10px;font-weight:700;text-decoration:none}.staff-attendance-link:hover{color:#174f3c}.staff-card-teams{padding:0 14px 12px}.staff-section-label{display:block;margin-bottom:7px;color:#89958e;font-size:8px;font-weight:800;letter-spacing:.8px}.staff-team-list{display:flex;flex-wrap:wrap;gap:6px}.staff-team-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border:1px solid #e6ede8;border-radius:7px;background:#f8fbf9;color:#466151;font-size:9px}.staff-team-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-team-chip small{color:#728279;font-size:9px;white-space:nowrap}.staff-no-team{color:#a0793f;font-size:10px}.staff-card-editor{border-top:1px solid #edf1ee;background:#fcfdfc}.staff-card-editor>summary{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;color:#477058;font-size:10px;font-weight:700;cursor:pointer;list-style:none}.staff-card-editor>summary:hover{background:#f5f9f6}.staff-editor-chevron{font-size:14px;transition:transform .15s}.staff-card-editor[open] .staff-editor-chevron{transform:rotate(180deg)}.staff-editor-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:14px;padding:13px 14px 15px;border-top:1px solid #edf1ee}.staff-editor-section{min-width:0}.staff-editor-title{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}.staff-editor-title h4{margin:0;color:#334c3b;font-size:11px}.staff-editor-title small{color:#87938b;font-size:9px;line-height:1.4}.staff-allowance-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-allowance-form label{font-size:9px}.staff-allowance-form input{height:34px;font-size:11px}.staff-allowance-form .tiny-btn{grid-column:1/-1;min-height:33px;border-radius:8px}.staff-edit-team-list{display:flex;flex-direction:column;gap:5px;margin-bottom:8px}.staff-edit-team-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid #e8eeea;border-radius:8px;background:#fff}.staff-edit-team-row>span{display:flex;min-width:0;flex-direction:column;gap:2px}.staff-edit-team-row b{overflow:hidden;color:#40594a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.staff-edit-team-row small{color:#829087;font-size:9px}.staff-edit-team-row form{margin:0}.staff-edit-team-row button{height:26px;padding:0 8px;border:1px solid #f0dfdc;border-radius:7px;background:#fff8f7;color:#a24f45;font-size:9px;font-weight:700;cursor:pointer}.staff-add-team-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.staff-add-team-form label{font-size:9px}.staff-add-team-form input,.staff-add-team-form select{height:34px;padding:0 8px;font-size:10px}.staff-add-team-form .tiny-btn{grid-column:1/-1;min-height:33px;border-radius:8px;white-space:nowrap}.staff-directory-empty{padding:36px 12px;color:#849188;text-align:center;font-size:12px}.staff-directory-card[hidden]{display:none}
@media(max-width:1050px){.staff-directory-grid{grid-template-columns:1fr}.staff-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.staff-directory-panel{padding:14px}.staff-directory-heading{align-items:stretch;flex-direction:column}.staff-directory-filters{align-items:stretch;flex-direction:column}.staff-search{width:100%}.staff-directory-filters select{width:100%}.staff-directory-result{flex-direction:column}.staff-editor-body{grid-template-columns:1fr}.staff-create-form{grid-template-columns:1fr}.staff-card-main{flex-wrap:wrap}.staff-attendance-link{margin-left:51px}.staff-create-panel>summary{padding:12px}.staff-create-copy small{max-width:210px}.staff-create-action{padding:8px;font-size:10px}}
@media(max-width:420px){.staff-add-team-form{grid-template-columns:1fr}.staff-add-team-form .tiny-btn{grid-column:auto}.staff-identity-name{gap:5px}.staff-role{font-size:8px}}

/* Staff editing happens in a focused modal, never in the scrolling directory. */
.staff-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-top:1px solid #edf1ee;background:#fcfdfc}.staff-card-actions .staff-attendance-link{margin:0}.staff-open-detail{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid #dfe9e2;border-radius:8px;background:#fff;color:#21664e;font-size:10px;font-weight:700;cursor:pointer}.staff-open-detail:hover{background:#edf6f0;border-color:#c8ddcf}.staff-open-detail b{font-size:13px}.staff-detail-dialog{width:min(900px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 36px);padding:0;overflow:hidden;border:1px solid #dce7df;border-radius:17px;background:#fff;color:#263d30;box-shadow:0 24px 85px rgba(18,38,29,.28)}.staff-detail-dialog::backdrop{background:rgba(15,30,23,.52);backdrop-filter:blur(3px)}.staff-detail-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #e9efeb;background:linear-gradient(110deg,#f3f8f4,#fff)}.staff-detail-person{display:flex;align-items:center;gap:13px;min-width:0}.staff-avatar.large{width:52px;height:52px;flex-basis:52px;border-radius:15px;font-size:20px}.staff-detail-header .eyebrow{margin-bottom:3px;font-size:9px}.staff-detail-header h2{margin:0;color:#263d30;font:800 21px Manrope,sans-serif}.staff-detail-header p{margin:4px 0 0;color:#7a8980;font-size:11px}.staff-dialog-close{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid #e1e9e3;border-radius:11px;background:#fff;color:#5c7063;font-size:24px;cursor:pointer}.staff-dialog-close:hover{background:#f1f6f2}.staff-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px 22px;border-bottom:1px solid #edf1ee}.staff-detail-summary>div{display:flex;flex-direction:column;gap:5px;padding:11px 13px;border:1px solid #e8efea;border-radius:10px;background:#f9fbf9}.staff-detail-summary span{color:#829087;font-size:8px;font-weight:800;letter-spacing:.7px}.staff-detail-summary strong{color:#365441;font-size:13px}.staff-detail-modal-body{max-height:calc(100vh - 230px);overflow:auto}.staff-detail-dialog .staff-editor-body{grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:20px;padding:20px 22px 23px;border-top:0}.staff-detail-dialog .staff-editor-title{margin-bottom:12px}.staff-detail-dialog .staff-editor-title h4{font-size:13px}.staff-detail-dialog .staff-editor-title small{font-size:10px}.staff-detail-dialog .staff-allowance-form{grid-template-columns:1fr 1fr;gap:10px}.staff-detail-dialog .staff-allowance-form label,.staff-detail-dialog .staff-add-team-form label{font-size:10px}.staff-detail-dialog .staff-allowance-form input,.staff-detail-dialog .staff-add-team-form input,.staff-detail-dialog .staff-add-team-form select{height:40px;font-size:12px}.staff-detail-dialog .staff-allowance-form .tiny-btn,.staff-detail-dialog .staff-add-team-form .tiny-btn{min-height:39px;font-size:11px}.staff-detail-dialog .staff-edit-team-list{gap:7px;margin-bottom:11px}.staff-detail-dialog .staff-edit-team-row{padding:9px 11px}.staff-detail-dialog .staff-edit-team-row b,.staff-detail-dialog .staff-edit-team-row small{font-size:10px}.staff-detail-dialog .staff-edit-team-row button{height:30px;padding:0 10px;font-size:10px}.staff-detail-dialog .staff-add-team-form{gap:9px}.staff-detail-dialog[open]{animation:staff-dialog-in .16s ease-out}@keyframes staff-dialog-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.staff-detail-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:14px}.staff-detail-header{padding:14px}.staff-detail-header h2{font-size:18px}.staff-detail-summary{gap:6px;padding:10px}.staff-detail-summary>div{padding:8px}.staff-detail-summary span{font-size:7px}.staff-detail-summary strong{font-size:11px}.staff-detail-modal-body{max-height:calc(100vh - 190px)}.staff-detail-dialog .staff-editor-body{grid-template-columns:1fr;padding:14px;gap:18px}.staff-detail-dialog .staff-add-team-form{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.staff-card-actions{padding:8px 10px}.staff-open-detail{padding:0 8px;font-size:9px}.staff-team-chip{font-size:8px}.staff-detail-summary{grid-template-columns:1fr 1fr}.staff-detail-summary>div:first-child{grid-column:1/-1}}
.staff-team-chip.supervisor-assignment{border-color:#f0e2c8;background:#fffaf1;color:#8b682b}.staff-supervisor-note{display:flex;flex-direction:column;gap:5px;margin:0 0 10px;padding:9px 11px;border:1px solid #f1e5d1;border-radius:8px;background:#fffaf2;color:#735a2d;font-size:10px}.staff-supervisor-note span{color:#8a7348;font-size:10px}
.firm-shift-pills{display:flex;flex-wrap:wrap;gap:5px;min-width:190px}.firm-shift-pills span{display:inline-flex;padding:5px 7px;border:1px solid #e1ebe4;border-radius:7px;background:#f7faf8;color:#44614f;font-size:9px;font-weight:700;white-space:nowrap}
.firms-screen-panel>.panel-head{align-items:flex-start}.firms-screen-panel>.panel-head .muted{margin:5px 0 0;font-size:10px}.admin-firm-shift-table{min-width:850px}.firm-shift-manager{display:flex;min-width:330px;flex-direction:column;align-items:flex-start;gap:8px}.firm-shift-pills .firm-shift-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 5px 4px 8px}.firm-shift-pill b{font-size:9px}.firm-shift-pill small{color:#78877d;font-size:8px;font-weight:500}.firm-shift-pill form{display:inline-flex;margin:0}.firm-shift-pill button{width:18px;height:18px;border:0;border-radius:5px;background:#fff0ef;color:#b95750;font-size:14px;line-height:1;cursor:pointer}.firm-shift-empty{color:#9a7650;font-size:10px}.firm-shift-add{width:100%;max-width:720px;border:1px solid #e5ece7;border-radius:9px;background:#fbfdfb}.firm-shift-add>summary{padding:8px 10px;color:#286b50;font-size:10px;font-weight:700;cursor:pointer;list-style:none}.firm-shift-add>summary::-webkit-details-marker{display:none}.firm-shift-add[open]>summary{border-bottom:1px solid #e8efea}.firm-shift-add-form{display:grid;grid-template-columns:minmax(130px,1fr) 110px minmax(150px,1.2fr) auto;align-items:end;gap:8px;padding:10px}.firm-shift-add-form label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#68796d;font-size:9px;font-weight:700}.firm-shift-add-form input,.firm-shift-add-form select{width:100%;height:33px;min-width:0;border:1px solid #dfe8e2;border-radius:7px;background:#fff;padding:0 8px;color:#31483a;font-size:10px}.firm-shift-add-form .tiny-btn{height:33px;white-space:nowrap}
@media(max-width:800px){.firm-shift-add-form{grid-template-columns:1fr 1fr}.firm-shift-add-form label:nth-child(4){grid-column:1/-1}.firms-screen-panel>.panel-head{flex-direction:column}}
.firm-management-panel{display:flex;min-height:0;flex:1;flex-direction:column;gap:13px;overflow:auto;padding:0 1px 3px}.firm-management-note{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #e1ebe4;border-radius:12px;background:linear-gradient(105deg,#f5faf6,#fff);color:#526759}.firm-note-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:11px;background:#e8f4ec;color:#287456;font-size:17px}.firm-management-note div{display:flex;flex-direction:column;gap:3px}.firm-management-note strong{font-size:11px;color:#36513f}.firm-management-note small{font-size:9px;color:#829087}.firm-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px}.firm-admin-card{overflow:hidden;border:1px solid #e1e9e3;border-radius:14px;background:#fff;box-shadow:0 4px 16px rgba(26,58,44,.035)}.firm-admin-card-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid #edf1ed;background:#fcfdfc}.firm-admin-mark{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:12px;background:#eaf4ed;color:#267457;font-size:16px;font-weight:800}.firm-admin-identity{min-width:0;flex:1}.firm-admin-identity>span{color:#8a978f;font-size:8px;font-weight:800;letter-spacing:.9px}.firm-admin-identity h2{margin:2px 0;color:#263c30;font-size:15px}.firm-admin-identity small{display:block;overflow:hidden;color:#849087;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.firm-admin-count{display:flex;min-width:56px;flex-direction:column;align-items:center;padding:6px 9px;border:1px solid #e5ece6;border-radius:9px;background:#fff}.firm-admin-count strong{color:#2d7053;font-size:16px;line-height:1.1}.firm-admin-count small{margin-top:2px;color:#849087;font-size:8px}.firm-admin-card-body{display:flex;flex-direction:column;gap:10px;padding:12px}.firm-admin-empty{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px dashed #dce7df;border-radius:10px;background:#fbfdfb}.firm-admin-empty strong{color:#526858;font-size:10px}.firm-admin-empty small{color:#8b978f;font-size:9px}.firm-admin-shifts{display:flex;flex-direction:column;gap:7px}.firm-shift-item{display:grid;grid-template-columns:32px minmax(120px,1fr) auto auto;align-items:center;gap:9px;padding:9px;border:1px solid #e8eee9;border-radius:10px;background:#fff}.firm-shift-clock{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#f0f6f1;color:#39795b;font-size:15px}.firm-shift-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.firm-shift-copy strong{color:#314a3a;font-size:11px}.firm-shift-copy small{overflow:hidden;color:#849087;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.firm-shift-edit>summary{padding:7px 9px;border:1px solid #e2eae4;border-radius:7px;color:#376c51;font-size:9px;font-weight:700;cursor:pointer;list-style:none}.firm-shift-edit>summary::-webkit-details-marker{display:none}.firm-shift-edit[open]{position:relative;z-index:2}.firm-shift-edit[open]>summary{display:none}.firm-shift-edit[open] .firm-shift-form{position:absolute;top:30px;right:-38px;width:min(590px,80vw);padding:13px;border:1px solid #dce8df;border-radius:11px;background:#fff;box-shadow:0 14px 36px rgba(22,48,36,.16)}.firm-shift-remove{margin:0}.firm-shift-remove button{width:29px;height:29px;border:1px solid #f2ddda;border-radius:8px;background:#fff7f6;color:#bd655c;font-size:17px;cursor:pointer}.firm-shift-add{overflow:hidden;border:1px solid #dfe9e1;border-radius:10px;background:#f9fcfa}.firm-shift-add>summary{display:flex;align-items:center;gap:7px;padding:10px 12px;color:#286d50;font-size:10px;font-weight:700;cursor:pointer;list-style:none}.firm-shift-add>summary::-webkit-details-marker{display:none}.firm-shift-add>summary span{display:grid;width:18px;height:18px;place-items:center;border-radius:5px;background:#e7f3eb;font-size:13px}.firm-shift-add[open]>summary{border-bottom:1px solid #e4ece5}.firm-shift-form{display:grid;grid-template-columns:1.05fr .7fr 1fr 1fr auto;align-items:end;gap:8px;padding:10px}.firm-shift-form label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#687a6e;font-size:8px;font-weight:700}.firm-shift-form input,.firm-shift-form select{width:100%;height:34px;min-width:0;border:1px solid #dfe8e2;border-radius:7px;background:#fff;padding:0 8px;color:#31483a;font-size:9px}.firm-shift-form .btn{height:34px;padding:0 10px;font-size:9px;white-space:nowrap}
@media(max-width:1120px){.firm-admin-grid{grid-template-columns:1fr}.firm-shift-form{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-shift-form .btn{grid-column:1/-1}.firm-shift-edit[open] .firm-shift-form{right:0;width:min(540px,86vw)}}
@media(max-width:650px){.firm-management-panel{overflow:auto}.firm-management-note{align-items:flex-start;padding:10px}.firm-admin-card-head{padding:11px}.firm-admin-card-body{padding:9px}.firm-shift-item{grid-template-columns:29px minmax(75px,1fr) auto auto;gap:6px;padding:7px}.firm-shift-copy strong{font-size:10px}.firm-shift-copy small{font-size:7px}.firm-shift-edit>summary{padding:6px;font-size:8px}.firm-shift-remove button{width:25px;height:25px}.firm-shift-form{grid-template-columns:1fr 1fr}.firm-shift-form .btn{grid-column:1/-1}.firm-shift-edit[open] .firm-shift-form{position:fixed;top:50%;left:50%;right:auto;width:calc(100vw - 28px);max-height:80vh;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 18px 55px rgba(15,35,25,.25)}}
.firm-shift-form-close{height:34px;padding:0 10px;border:1px solid #dce7df;border-radius:7px;background:#fff;color:#627468;font-size:9px;font-weight:700;cursor:pointer}
.assignment-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-supervisor-field{display:flex;min-width:0;flex-direction:column;gap:5px;color:#687970;font-size:10px;font-weight:700}.assignment-field-label{display:flex;flex-direction:column;gap:3px}.assignment-field-label small,.firm-shift-picker-field>span small{color:#87948c;font-size:8px;font-weight:500}.supervisor-picker{position:relative;min-width:0;width:100%;font-weight:400}.supervisor-picker-control{display:flex;min-height:38px;align-items:center;gap:5px;padding:4px 7px;border:1px solid #dfe8e2;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}.supervisor-picker-control:focus-within{border-color:#65a487;box-shadow:0 0 0 3px rgba(62,136,98,.1)}.supervisor-picker-chips{display:flex;flex-wrap:wrap;gap:4px}.supervisor-picker-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 6px 4px 8px;border:1px solid #dcebe0;border-radius:7px;background:#eef7f0;color:#315c42;font-size:9px;font-weight:700;white-space:nowrap}.supervisor-picker-chip>span{overflow:hidden;text-overflow:ellipsis}.supervisor-picker-chip button{width:15px;height:15px;border:0;border-radius:4px;background:transparent;color:#65816d;font-size:13px;line-height:1;cursor:pointer}.supervisor-picker-chip button:hover{background:#dcebe0;color:#b2534c}.supervisor-picker-input{width:100%;min-width:65px;height:26px;flex:1;border:0;outline:0;background:transparent;color:#304438;font-size:10px}.supervisor-picker-input::placeholder{color:#9aa69e}.supervisor-picker-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:15;width:100%;max-height:220px;overflow:auto;padding:4px;border:1px solid #dce7df;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(23,47,35,.16)}.supervisor-picker-option{display:flex;width:100%;align-items:center;gap:8px;padding:7px;border:0;border-radius:7px;background:transparent;color:#405749;text-align:left;font-size:10px;cursor:pointer}.supervisor-picker-option:hover{background:#f0f7f2}.supervisor-picker-option[hidden]{display:none}.supervisor-option-avatar{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border-radius:8px;background:#edf5ef;color:#39775a;font-size:10px;font-weight:800}.supervisor-picker-option>span:nth-child(2){flex:1}.supervisor-picker-option>b{color:#428261;font-size:14px}.supervisor-picker-footer{display:flex;justify-content:space-between;gap:8px;margin-top:4px;color:#8b978f;font-size:8px}.supervisor-picker-count{color:#347658;font-weight:800;white-space:nowrap}.supervisor-picker-empty{padding:9px;color:#849087;font-size:9px;text-align:center}.firm-shift-picker-field{display:flex;min-width:0;flex-direction:column;gap:5px}.firm-shift-picker-field>span{display:flex;flex-direction:column;gap:2px;color:#687a6e;font-size:8px;font-weight:700}.firm-shift-form .supervisor-picker-control{min-height:34px;border-radius:7px}.firm-shift-form .supervisor-picker-input{height:22px;font-size:9px}.firm-shift-form .supervisor-picker-chip{font-size:8px}.firm-shift-form .supervisor-picker-footer{font-size:7px}.firm-admin-card{overflow:visible}.firm-admin-card-head{border-radius:13px 13px 0 0}.firm-shift-add{overflow:visible}.firm-shift-edit[open] .firm-shift-form{z-index:5}
@media(max-width:1120px){.assignment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.assignment-fields{grid-template-columns:1fr}.firm-shift-form .supervisor-picker-menu{max-height:170px}}

/* Vardiya planı: kaydırılabilir çalışma alanı ve sürekli görünen kayıt aksiyonu */
.assignment-page{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:14px;overflow:auto;overscroll-behavior:contain;padding:1px 4px 18px 1px;scrollbar-color:#bfd0c4 transparent;scrollbar-width:thin}
.assignment-page>.page-heading{flex:0 0 auto;margin:0;padding:4px 3px 2px}
.assignment-page>.page-heading h1{font-size:25px;letter-spacing:-.8px}
.assignment-page>.page-heading p{max-width:680px;font-size:11px}
.assignment-page>.assignment-planner,.assignment-page>.assignment-existing{flex:0 0 auto;min-width:0}
.assignment-page>.assignment-planner{padding:20px 22px;border-color:#dfe9e2;box-shadow:0 10px 30px rgba(21,58,39,.055)}
.assignment-page .assignment-planner>.panel-head{margin-bottom:14px}
.assignment-page .assignment-planner>.panel-head h2{font-size:16px;letter-spacing:-.35px}
.assignment-page .assignment-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
.assignment-page .assignment-fields label{gap:6px;font-size:10px}
.assignment-page .assignment-fields input,.assignment-page .assignment-fields select{height:40px;font-size:12px}
.assignment-page .assignment-roster-head{margin-top:17px;padding:13px 0 10px}
.assignment-page .assignment-roster-head strong{font-size:12px}
.assignment-page .assignment-roster-head small{font-size:9px}
.assignment-page .assignment-roster-scroll{max-height:clamp(190px,34vh,330px);background:#fff}
.assignment-page .assignment-roster th{padding:9px 12px}
.assignment-page .assignment-roster td{padding:7px 12px}
.assignment-page .assignment-submit{position:sticky;bottom:0;z-index:4;margin:0 -22px -20px;padding:12px 22px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e6ede8;background:rgba(255,255,255,.97);box-shadow:0 -8px 18px rgba(28,54,39,.06);backdrop-filter:blur(10px)}
.assignment-page .assignment-submit>span{max-width:60ch;line-height:1.45}
.assignment-page .assignment-submit .btn{min-height:42px;padding:0 20px;box-shadow:0 5px 14px rgba(19,83,62,.18);white-space:nowrap}
.assignment-page .assignment-existing{padding:16px 18px;border-color:#e1e9e3;box-shadow:0 6px 22px rgba(22,48,35,.035)}
.assignment-page .assignment-existing>.panel-head{margin-bottom:12px}
.assignment-page .assignment-existing>.panel-head h2{font-size:14px}
@media(max-width:760px){.assignment-page{gap:10px;padding-right:1px}.assignment-page>.page-heading h1{font-size:21px}.assignment-page>.assignment-planner{padding:15px 14px}.assignment-page .assignment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-page .assignment-submit{bottom:0;margin:0 -14px -15px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}.assignment-page .assignment-submit .btn{min-height:40px}}
@media(max-width:520px){.assignment-page .assignment-fields{grid-template-columns:1fr}.assignment-page .assignment-submit{align-items:stretch;flex-direction:column}.assignment-page .assignment-submit .btn{width:100%}}

.assignment-supervisors-editor{margin:8px 0 5px;padding:9px 10px;border:1px solid #e3ebe5;border-radius:9px;background:#f9fcfa}
.assignment-supervisors-editor>summary{display:flex;align-items:center;gap:7px;color:#286d50;font-size:9px;font-weight:800;cursor:pointer;list-style:none}
.assignment-supervisors-editor>summary::-webkit-details-marker{display:none}
.assignment-supervisors-editor>summary:before{content:'＋';display:grid;width:18px;height:18px;place-items:center;border-radius:6px;background:#e8f3eb;color:#287451;font-size:12px}
.assignment-supervisors-editor[open]>summary:before{content:'−'}
.assignment-supervisors-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #e7eee8}
.assignment-supervisors-form .supervisor-picker-control{min-height:38px}
.assignment-supervisors-form .tiny-btn{min-height:38px;padding:0 14px;white-space:nowrap}
.supervisor-empty{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}
.supervisor-empty>p{max-width:580px;line-height:1.65}
@media(max-width:600px){.assignment-supervisors-form{grid-template-columns:1fr}.assignment-supervisors-form .tiny-btn{width:100%}}

/* Sorumlu yoklama: sayfa gövdesi kayar, uzun listeler kesilmez. */
.app-page.supervisor-page{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:#bdcec2 transparent;scrollbar-width:thin;padding-bottom:22px}
.app-page.supervisor-page .staff-screen{height:auto;min-height:100%;flex:0 0 auto;overflow:visible}
.app-page.supervisor-page .supervisor-heading{padding:2px 1px 1px}
.app-page.supervisor-page .supervisor-date-panel{position:sticky;top:-17px;z-index:4;flex:0 0 auto;border-color:#dfe9e2;box-shadow:0 8px 22px rgba(24,52,46,.09)}
.supervisor-group{flex:0 0 auto}
.supervisor-group-summary{display:flex;align-items:center;gap:10px}
.supervisor-group-count{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:7px 10px;font-size:15px;line-height:1.05}
.supervisor-group-count span{margin-top:4px;font-size:8px;font-weight:600}
.supervisor-attendance-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.supervisor-attendance-counts span{padding:6px 8px;border-radius:20px;font-size:9px;font-weight:750;white-space:nowrap}
.supervisor-attendance-counts .count-present{background:#e8f5ed;color:#28754e}
.supervisor-attendance-counts .count-absent{background:#fff0ed;color:#b4483f}
.supervisor-attendance-counts .count-pending{background:#fff6e3;color:#916d22}
.supervisor-roster{gap:8px}
.supervisor-person-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:11px 13px;border-color:#e7ede8;border-radius:11px;box-shadow:0 2px 7px rgba(28,55,42,.025)}
.supervisor-person-main strong{font-size:11px}
.supervisor-person-main small{font-size:9px}
.supervisor-person-state{align-items:flex-end}
.supervisor-person-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,auto);align-items:center;justify-content:stretch;gap:8px;padding-top:9px;border-top:1px solid #edf1ee}
.supervisor-person-actions .supervisor-present-form{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:7px 10px;padding:5px 8px;border:1px solid #e8eee9;border-radius:9px;background:#fbfdfb}
.supervisor-present-form .overtime-toggle-label,.supervisor-present-form .early-exit-toggle-label{min-height:30px;font-size:9px}
.supervisor-present-form .overtime-hours-field,.supervisor-present-form .early-exit-time-field{font-size:9px}
.supervisor-present-form .overtime-hours-input{width:64px;height:32px;font-size:10px}
.supervisor-present-form .early-exit-time-input{width:91px;height:32px;font-size:10px}
.supervisor-person-actions .attendance-action{height:34px;padding:0 12px;font-size:9px}
.supervisor-person-actions .absence-form{display:flex;align-items:center;gap:6px}
.supervisor-person-actions .absence-form input{flex:1;width:auto;min-width:120px;height:34px;padding:0 9px;font-size:9px}
@media(max-width:1050px){.supervisor-person-actions{grid-template-columns:1fr}.supervisor-person-actions .absence-form{justify-content:flex-end}.supervisor-person-actions .absence-form input{max-width:320px}}
@media(max-width:760px){.app-page.supervisor-page{padding:10px 10px 18px}.app-page.supervisor-page .supervisor-date-panel{top:-10px}.supervisor-heading{align-items:flex-start}.supervisor-heading .secure-tag{white-space:normal;text-align:right}.supervisor-date-filter{align-items:end;flex-wrap:wrap}.supervisor-date-filter label{flex:1;min-width:160px}.supervisor-date-filter .btn{flex:0 0 auto}.supervisor-group{padding:13px}.supervisor-group-head{align-items:flex-start}.supervisor-group-summary{flex-direction:column-reverse;align-items:flex-end;gap:5px}.supervisor-attendance-counts{justify-content:flex-end}.supervisor-person-row{grid-template-columns:minmax(0,1fr) auto}.supervisor-person-state{grid-column:2;grid-row:1;align-items:flex-end}.supervisor-person-actions{grid-column:1/-1;grid-template-columns:1fr;gap:7px}.supervisor-person-actions .supervisor-present-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px}.supervisor-person-actions .supervisor-present-form label{justify-content:flex-start}.supervisor-person-actions .supervisor-present-form .attendance-action{grid-column:1/-1;width:100%;height:38px}.supervisor-person-actions .absence-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.supervisor-person-actions .absence-form input{max-width:none;min-width:0}.supervisor-person-actions .absence-action{height:36px}}
@media(max-width:480px){.app-page.supervisor-page{padding:8px 8px 16px}.app-page.supervisor-page .supervisor-date-panel{top:-8px;padding:10px}.supervisor-heading .secure-tag{max-width:125px;font-size:8px}.supervisor-date-filter{align-items:stretch}.supervisor-date-filter label{min-width:100%;font-size:9px}.supervisor-date-filter .btn{width:100%}.supervisor-group-head{gap:7px}.supervisor-group-head h2{font-size:13px}.supervisor-group-summary{max-width:132px}.supervisor-attendance-counts{gap:3px}.supervisor-attendance-counts span{padding:5px 6px;font-size:8px}.supervisor-person-row{padding:9px}.supervisor-person-main{gap:7px}.supervisor-person-main strong{font-size:10px}.supervisor-person-main small{font-size:8px}.supervisor-person-actions .supervisor-present-form{grid-template-columns:1fr 1fr}.supervisor-person-actions .supervisor-person-actions .absence-form{grid-template-columns:1fr}.supervisor-person-actions .absence-form{grid-template-columns:1fr}.supervisor-person-actions .absence-form .attendance-action{width:100%}}

/* Sorumlu yoklaması: sade başlık, net vardiya özeti ve kompakt kişi aksiyonları. */
.app-page.supervisor-page{padding-top:17px;padding-bottom:24px}
.app-page.supervisor-page .supervisor-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:24px;margin:0 0 2px;padding:18px 21px;border-color:#e2eae4;background:linear-gradient(115deg,#fff 0%,#fbfdfb 100%)}
.supervisor-toolbar-title .eyebrow{margin-bottom:5px;color:#638274}
.supervisor-toolbar-title h1{margin:0;color:#183b30;font:800 23px Manrope,sans-serif;letter-spacing:-.7px}
.supervisor-toolbar-title p{margin:5px 0 0;color:#7c8a81;font-size:11px}
.supervisor-date-filter{display:flex;align-items:end;gap:8px;margin:0;padding:8px;border:1px solid #e8eee9;border-radius:11px;background:#f8fbf8}
.supervisor-date-filter label{min-width:165px;color:#738278;font-size:9px;font-weight:700}
.supervisor-date-filter input{height:37px;background:#fff;font-size:11px}
.supervisor-date-filter .btn{height:37px}
.app-page.supervisor-page .supervisor-date-panel{position:static;top:auto;box-shadow:none}
.supervisor-group{padding:0;overflow:hidden;border-color:#e2eae4;box-shadow:0 6px 18px rgba(24,52,46,.035)}
.supervisor-group-head{align-items:center;padding:15px 18px;border-bottom:1px solid #eaf0eb;background:#fbfdfb}
.supervisor-group-title .eyebrow{margin:0 0 4px;color:#7e9084;font-size:8px}
.supervisor-group-title h2{font-size:16px;letter-spacing:-.3px}
.supervisor-group-title p{margin:5px 0 0;color:#849188;font-size:9px}
.supervisor-group-title p strong{color:#596e60;font-weight:700}
.supervisor-group-summary{gap:13px}
.supervisor-group-count{min-width:66px;padding:5px 8px;border:1px solid #e6ede7;border-radius:10px;background:#fff}
.supervisor-group-count strong{color:#24664b;font-size:16px}
.supervisor-group-count span{color:#849188;font-size:8px}
.supervisor-attendance-counts{gap:5px}
.supervisor-attendance-counts span{padding:6px 9px;font-size:8px}
.supervisor-attendance-counts b{font-size:11px}
.supervisor-roster{gap:0;padding:3px 16px 8px}
.supervisor-person-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:12px 2px;border:0;border-bottom:1px solid #edf1ee;border-radius:0;box-shadow:none;background:#fff}
.supervisor-person-row:last-child{border-bottom:0}
.supervisor-person-main{gap:10px}
.supervisor-person-avatar{width:34px;height:34px;flex-basis:34px;border-radius:11px;font-size:11px}
.supervisor-person-main strong{font-size:11px;font-weight:750}
.supervisor-person-main small{margin-top:1px;color:#87948b;font-size:9px}
.supervisor-person-state{align-items:flex-end;justify-content:center}
.supervisor-person-state small{max-width:230px;text-align:right;line-height:1.4}
.supervisor-person-actions{display:flex;grid-column:1/-1;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:7px;padding:0;border:0}
.supervisor-person-actions .supervisor-present-form{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px 10px;padding:6px 9px;border:1px solid #e9efea;border-radius:9px;background:#fbfdfb}
.supervisor-present-form .overtime-toggle-label,.supervisor-present-form .early-exit-toggle-label{min-height:30px;color:#5e7165;font-size:9px}
.supervisor-present-form .overtime-hours-field,.supervisor-present-form .early-exit-time-field{font-size:9px}
.supervisor-present-form .overtime-hours-input{width:64px;height:31px;font-size:10px}
.supervisor-present-form .early-exit-time-input{width:87px;height:31px;font-size:10px}
.supervisor-person-actions .attendance-action{height:32px;padding:0 11px;font-size:9px}
.supervisor-person-actions .present-action{background:#176348;color:#fff}
.supervisor-person-actions .present-action:hover{background:#104e38}
.supervisor-person-actions .absence-form{display:flex;flex:0 1 auto;align-items:center;gap:6px;margin:0;padding:6px;border:1px solid #f1e3e0;border-radius:9px;background:#fffafa}
.supervisor-person-actions .absence-form input{width:175px;height:31px;font-size:9px}
.supervisor-person-actions .absence-action{background:#fff0ed;color:#b14339}
.app-page.supervisor-page .staff-note{display:none}
@media(max-width:760px){
 .app-page.supervisor-page{padding:10px 10px 18px}
 .app-page.supervisor-page .supervisor-toolbar{align-items:stretch;flex-direction:column;gap:14px;padding:14px}
 .supervisor-toolbar-title h1{font-size:20px}
 .supervisor-toolbar-title p{font-size:10px}
 .supervisor-date-filter{align-items:end}
 .supervisor-date-filter label{flex:1;min-width:150px}
 .supervisor-date-filter .btn{flex:0 0 auto}
 .supervisor-group-head{align-items:flex-start;padding:13px}
 .supervisor-group-summary{flex-direction:column-reverse;align-items:flex-end;gap:6px}
 .supervisor-attendance-counts{justify-content:flex-end}
 .supervisor-roster{padding:2px 12px 6px}
 .supervisor-person-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 1px}
 .supervisor-person-actions{display:grid;grid-template-columns:1fr;gap:7px}
 .supervisor-person-actions .supervisor-present-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px}
 .supervisor-person-actions .supervisor-present-form .attendance-action{grid-column:1/-1;width:100%;height:37px}
 .supervisor-person-actions .absence-form{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:7px}
 .supervisor-person-actions .absence-form input{width:100%;min-width:0}
}
@media(max-width:480px){
 .app-page.supervisor-page{padding:8px 8px 16px}
 .app-page.supervisor-page .supervisor-toolbar{padding:12px}
 .supervisor-date-filter{align-items:stretch;flex-direction:column}
 .supervisor-date-filter label{min-width:100%}
 .supervisor-date-filter .btn{width:100%}
 .supervisor-group-head{gap:8px;padding:11px}
 .supervisor-group-title h2{font-size:14px}
 .supervisor-group-summary{max-width:125px}
 .supervisor-attendance-counts{gap:3px}
 .supervisor-attendance-counts span{padding:5px 6px;font-size:7px}
 .supervisor-attendance-counts b{font-size:9px}
 .supervisor-roster{padding:0 10px 4px}
 .supervisor-person-main{gap:7px}
 .supervisor-person-avatar{width:30px;height:30px;flex-basis:30px}
 .supervisor-person-main strong{font-size:10px}
 .supervisor-person-main small{max-width:230px;font-size:8px;line-height:1.4}
 .supervisor-person-actions .supervisor-present-form{grid-template-columns:1fr 1fr}
 .supervisor-person-actions .absence-form{grid-template-columns:1fr}
 .supervisor-person-actions .absence-form .attendance-action{width:100%}
}

/* Admin personel dizini: tüm çalışan kartları ekran gövdesinde aşağı kayar. */
.app-page.staff-directory-page{display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:#bdcec2 transparent;scrollbar-width:thin;padding-bottom:24px}
.staff-directory-screen{display:flex;height:auto;min-height:100%;flex:0 0 auto;flex-direction:column;gap:12px;overflow:visible}
.staff-directory-screen>.staff-page-heading{flex:0 0 auto;margin:0;padding:2px 1px 3px}
.staff-directory-screen>.staff-create-panel{flex:0 0 auto;margin:0;padding:0;overflow:hidden}
.staff-directory-screen>.staff-create-panel>summary{display:flex;min-height:70px;align-items:center;gap:13px;padding:12px 16px;cursor:pointer;list-style:none}
.staff-directory-screen>.staff-create-panel>summary::-webkit-details-marker{display:none}
.staff-directory-screen>.staff-create-panel .staff-create-copy strong{font-size:13px}
.staff-directory-screen>.staff-create-panel .staff-create-copy small{font-size:10px}
.staff-directory-screen>.staff-directory-panel{flex:0 0 auto;min-height:0;margin:0;overflow:visible;padding:18px}
.staff-directory-screen .staff-directory-heading{position:static}
.staff-directory-screen .staff-directory-result{margin:13px 0 10px}
.staff-directory-screen .staff-directory-grid{align-items:start;grid-auto-rows:max-content}
.staff-directory-screen .staff-directory-card{align-self:start}
@media(max-width:700px){
 .app-page.staff-directory-page{padding:10px 10px 20px}
 .staff-directory-screen{gap:9px}
 .staff-directory-screen>.staff-page-heading h1{font-size:20px}
 .staff-directory-screen>.staff-create-panel>summary{min-height:64px;padding:10px}
 .staff-directory-screen>.staff-directory-panel{padding:13px}
}
@media(max-width:480px){
 .app-page.staff-directory-page{padding:8px 8px 18px}
 .staff-directory-screen>.staff-directory-panel{padding:11px}
 .staff-directory-screen .staff-directory-result{margin:10px 0 8px}
}

/* Attendance history: searchable people picker and reachable month details. */
.app-page.attendance-page{display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:#bdcec2 transparent;scrollbar-width:thin;padding-bottom:24px}
.attendance-screen{display:flex;height:auto;min-height:100%;flex:0 0 auto;flex-direction:column;gap:12px;overflow:visible}
.attendance-screen>.attendance-heading{flex:0 0 auto}
.attendance-screen .attendance-filters{position:relative;z-index:6;flex:0 0 auto;overflow:visible}
.attendance-history-filter{align-items:end}
.attendance-person-field{width:280px;min-width:240px!important}
.attendance-person-picker{position:relative;width:100%}
.attendance-picker-control{display:flex;align-items:center;min-width:0;height:38px;border:1px solid #dfe8e2;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}
.attendance-picker-control:focus-within{border-color:#6fa386;box-shadow:0 0 0 3px #e9f5ed}
.attendance-person-search{width:100%;height:36px;min-width:0;border:0!important;outline:0;background:transparent!important;padding:0 10px!important;color:#2e4538;font-size:11px!important}
.attendance-picker-toggle{width:36px;height:36px;flex:0 0 36px;border:0;background:transparent;color:#5d7465;font-size:16px;cursor:pointer}
.attendance-picker-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:min(320px,55vh);overflow:auto;padding:5px;border:1px solid #dce7df;border-radius:11px;background:#fff;box-shadow:0 14px 32px rgba(24,52,38,.16);scrollbar-color:#bdcec2 transparent;scrollbar-width:thin}
.attendance-picker-menu[hidden]{display:none}
.attendance-picker-option{display:flex;width:100%;align-items:center;gap:9px;padding:7px;border:0;border-radius:8px;background:#fff;color:#344c3d;text-align:left;cursor:pointer}
.attendance-picker-option:hover,.attendance-picker-option[aria-selected=true]{background:#f0f7f2}
.attendance-picker-option[hidden]{display:none}
.attendance-picker-avatar{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:9px;background:#edf5ef;color:#347354;font-size:10px;font-weight:800}
.attendance-picker-option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.attendance-picker-option-copy strong{color:#30483a;font-size:10px}
.attendance-picker-option-copy small{overflow:hidden;color:#87938b;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.attendance-picker-empty{padding:13px;color:#87938b;font-size:10px;text-align:center}
.attendance-day-panel{scroll-margin-top:18px}
@media(max-width:760px){.app-page.attendance-page{padding:10px 10px 18px}.attendance-history-filter{align-items:stretch}.attendance-person-field{width:100%;min-width:100%!important}.attendance-screen .attendance-filters{padding:12px}.attendance-day-panel{scroll-margin-top:10px}}
@media(max-width:480px){.app-page.attendance-page{padding:8px 8px 16px}.attendance-screen{gap:9px}.attendance-person-field{min-width:100%!important}}

/* Ortak uygulama gövdesi: bütün roller ve ekranlarda ana içerik dikey kayar. */
.workspace.signed-workspace{min-height:0;overflow:hidden}
.workspace.signed-workspace>.app-page{display:block;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:#bdcec2 transparent;scrollbar-width:thin;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.workspace.signed-workspace>.app-page>.admin-screen,
.workspace.signed-workspace>.app-page>.super-screen,
.workspace.signed-workspace>.app-page>.staff-screen{height:auto;min-height:100%;flex:0 0 auto;overflow:visible}
.workspace.signed-workspace>.app-page>.admin-screen:not(.calendar-screen),
.workspace.signed-workspace>.app-page>.super-screen,
.workspace.signed-workspace>.app-page>.staff-screen{overflow:visible}
.workspace.signed-workspace>.app-page>.admin-screen>.assignment-page{height:auto;min-height:0;flex:0 0 auto;overflow:visible}
.workspace.signed-workspace>.app-page>.admin-screen>.history-panel,
.workspace.signed-workspace>.app-page>.admin-screen>.history-table{min-height:260px}
@media(max-width:900px){
 .workspace.signed-workspace>.app-page{height:100%;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}


/* Süreli QR yoklama */
.qr-checkin-card{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid #dcebe1;border-radius:13px;background:linear-gradient(110deg,#f2faf4,#fff);box-shadow:0 5px 16px rgba(26,70,46,.04)}
.qr-checkin-icon{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;border-radius:12px;background:#e4f3e8;color:#26734f;font-size:21px}
.qr-checkin-card>div:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.qr-checkin-card strong{color:#284735;font-size:12px}.qr-checkin-card span{color:#7b8a7f;font-size:10px;line-height:1.45}.qr-checkin-card .btn{flex:0 0 auto}
.qr-group-actions{display:flex;align-items:center;gap:7px;margin-top:10px}.qr-group-actions form{margin:0}.qr-group-actions .btn{height:31px;padding:0 10px;font-size:9px}.qr-live-pill{padding:5px 8px;border-radius:99px;background:#e9f6ed;color:#39845b;font-size:8px;font-weight:800}
.qr-claim-box{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;border:1px solid #d9eadd;border-radius:9px;background:#f2faf4}.qr-claim-box>b{color:#31734e;font-size:9px}.qr-claim-box>div{display:flex;gap:5px}.qr-claim-box form{margin:0}.qr-claim-box button{height:27px;padding:0 9px;border:0;border-radius:6px;font-size:9px;font-weight:800;cursor:pointer}.qr-approve{background:#dff2e4;color:#2d744b}.qr-reject{background:#fff0ed;color:#a84c40}
.qr-dialog{position:fixed;inset:0;z-index:1000;width:min(520px,calc(100vw - 28px));max-height:min(90dvh,760px);margin:auto;padding:0;overflow:auto;border:1px solid #dce7df;border-radius:18px;background:#fff;color:#263f34;box-shadow:0 25px 90px rgba(7,24,17,.32)}.qr-dialog::backdrop{background:rgba(13,29,22,.58);backdrop-filter:blur(3px)}
.qr-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 20px 13px;border-bottom:1px solid #edf1ed}.qr-dialog-head .eyebrow{margin-bottom:5px}.qr-dialog-head h2{margin:0;color:#233b2e;font-size:17px}.qr-dialog-head p{margin:5px 0 0;color:#829087;font-size:10px}.qr-dialog-close{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border:1px solid #e6ece7;border-radius:9px;background:#fff;color:#617368;font-size:20px;text-decoration:none;cursor:pointer}
.qr-dialog-body{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px}.qr-code-frame{width:min(220px,52vw);height:min(220px,52vw);padding:9px;border:1px solid #edf1ed;border-radius:14px;background:#fff;box-shadow:0 5px 20px rgba(31,57,41,.07)}.qr-code-frame svg{display:block;width:100%;height:100%}.qr-dialog-code{display:flex;min-width:0;flex-direction:column;gap:7px}.qr-dialog-code span{color:#809086;font-size:10px}.qr-dialog-code strong{letter-spacing:2px;color:#1c4835;font:800 19px ui-monospace,monospace}.qr-dialog-code small{color:#508366;font-size:10px}.qr-dialog-foot{padding:12px 20px 17px;background:#f7faf7;color:#7c8a80;font-size:9px;line-height:1.5}
.qr-scanner-dialog{width:min(480px,calc(100vw - 28px))}.qr-scanner-dialog video{display:block;width:calc(100% - 32px);max-height:48vh;min-height:180px;margin:16px auto 9px;border-radius:12px;background:#101815;object-fit:cover}.qr-scan-message{min-height:30px;padding:3px 17px;color:#527460;font-size:10px;text-align:center}.qr-manual-entry{display:flex;align-items:end;gap:8px;padding:6px 17px 18px}.qr-manual-entry label{display:flex;flex:1;flex-direction:column;gap:5px;color:#6e8074;font-size:9px;font-weight:700}.qr-manual-entry input{height:37px;border:1px solid #dce6de;border-radius:8px;padding:0 10px;text-transform:uppercase;letter-spacing:1.4px}.qr-manual-entry .btn{height:37px}
@media(max-width:600px){.qr-checkin-card{align-items:flex-start;flex-wrap:wrap;padding:12px}.qr-checkin-card>div:nth-child(2){flex-basis:calc(100% - 55px)}.qr-checkin-card>.btn{width:100%;margin-left:52px}.qr-dialog-body{flex-direction:column;gap:13px;padding:15px}.qr-code-frame{width:min(240px,68vw);height:min(240px,68vw)}.qr-dialog-code{align-items:center;text-align:center}.qr-group-actions{flex-wrap:wrap}}

.qr-claim-box[hidden]{display:none}
.qr-extra-requests{display:flex;flex-direction:column;gap:8px;margin:12px 16px;padding:13px;border:1px solid #f1ddba;border-radius:12px;background:#fffaf1}.qr-extra-requests>div{display:flex;flex-direction:column;gap:3px}.qr-extra-requests>div strong{color:#78531f;font-size:11px}.qr-extra-requests>div span,.qr-extra-requests article small{color:#8e816a;font-size:9px}.qr-extra-requests article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #efe8dc;border-radius:9px;background:#fff}.qr-extra-requests article>span{display:flex;flex-direction:column;gap:3px}.qr-extra-requests article b{color:#30483a;font-size:10px}.qr-extra-requests article>div{display:flex;gap:6px}.qr-extra-requests form{margin:0}.qr-extra-requests button{height:29px;padding:0 10px;border:0;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer}
@media(max-width:600px){.qr-extra-requests{margin:10px;padding:10px}.qr-extra-requests article{align-items:flex-start;flex-direction:column}.qr-extra-requests article>div{width:100%}.qr-extra-requests article button{flex:1}}

/* Personel ve sorumlu kişisel performans / çalışma geçmişi */
.staff-profile-panel{display:flex;flex-direction:column;gap:16px;padding:20px}
.staff-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.staff-profile-heading h2{margin:4px 0;color:#18382c;font-size:18px}.staff-profile-heading p{margin:0;color:#7b8b80;font-size:10px}.profile-pay-total{display:flex;flex-direction:column;gap:3px;align-items:flex-end;color:#7c8a80;font-size:9px}.profile-pay-total b{color:#176149;font-size:17px}
.staff-profile-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-profile-rates article,.staff-profile-stats article{position:relative;display:flex;min-height:78px;flex-direction:column;justify-content:center;gap:4px;padding:13px 15px;border:1px solid #e1ebe4;border-radius:12px;background:linear-gradient(135deg,#fbfdfb,#f7faf8)}.staff-profile-rates article>span,.staff-profile-stats article>span{color:#76877b;font-size:8px;font-weight:800;letter-spacing:.09em}.staff-profile-rates article strong{color:#176149;font-size:21px}.staff-profile-rates article small,.staff-profile-stats article small{color:#89958c;font-size:9px}.staff-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.staff-profile-stats article{min-height:88px}.staff-profile-stats article strong{color:#193b2d;font-size:22px;line-height:1.1}
.staff-profile-breakdown{display:flex;flex-direction:column;gap:10px;padding-top:2px}.staff-profile-breakdown h3{margin:3px 0 0;color:#234133;font-size:13px}.staff-profile-shifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staff-profile-shifts article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:10px 12px;border:1px solid #e5ede7;border-radius:10px;background:#fff}.staff-profile-shifts article>div{display:flex;align-items:center;gap:9px;min-width:0}.staff-profile-shifts article strong{overflow:hidden;color:#294437;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.staff-profile-shifts article>div span{padding:4px 6px;border-radius:6px;background:#f1f6f2;color:#648070;font-size:8px;white-space:nowrap}.staff-profile-shifts article>b{color:#1b684d;font-size:10px}.staff-profile-shifts article>small{grid-column:1/-1;color:#829087;font-size:8px}.staff-profile-history{overflow:hidden;border:1px solid #e2eae4;border-radius:11px;background:#fff}.staff-profile-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#28513e;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.staff-profile-history summary::-webkit-details-marker{display:none}.staff-profile-history summary::after{content:'⌄';margin-left:auto;color:#478062;font-size:15px}.staff-profile-history[open] summary{border-bottom:1px solid #edf1ed}.staff-profile-history summary span{color:#849188;font-size:9px;font-weight:600}.staff-profile-history .table-wrap{max-height:380px;overflow:auto}.staff-profile-history table{width:100%;border-collapse:collapse;white-space:nowrap}.staff-profile-history th{position:sticky;top:0;z-index:1;padding:9px 11px;background:#f6f9f7;color:#7d8b81;font-size:8px;text-align:left}.staff-profile-history td{padding:9px 11px;border-top:1px solid #eef2ef;color:#40564a;font-size:9px}.staff-profile-history td strong{display:block;color:#254332;font-size:9px}.staff-profile-history .profile-shift-subtitle{display:block;margin-top:3px;color:#8a978e;font-size:8px}.staff-profile-history td .status{font-size:8px}
@media(max-width:760px){.staff-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-profile-shifts{grid-template-columns:1fr}}
@media(max-width:520px){.staff-profile-panel{gap:12px;padding:13px}.staff-profile-heading{align-items:flex-start;flex-direction:column}.profile-pay-total{align-items:flex-start}.staff-profile-rates{gap:7px}.staff-profile-rates article{padding:10px;min-height:70px}.staff-profile-rates article strong{font-size:18px}.staff-profile-stats{gap:7px}.staff-profile-stats article{padding:10px;min-height:78px}.staff-profile-history summary{padding:11px}.staff-profile-history th,.staff-profile-history td{padding:8px}.staff-profile-history .table-wrap{max-height:300px}}
.staff-profile-filter{display:flex;align-items:end;flex-wrap:wrap;gap:9px;padding:11px 12px;border:1px solid #e5ede7;border-radius:11px;background:#f8faf8}.staff-profile-filter label{display:flex;min-width:145px;flex-direction:column;gap:4px;color:#7e8d82;font-size:8px;font-weight:700}.staff-profile-filter input{height:34px;padding:0 9px;border:1px solid #dce6de;border-radius:8px;background:#fff;color:#334b3d;font:inherit;font-size:9px}.staff-profile-filter .btn{height:34px;padding:0 11px;font-size:9px}.staff-profile-filter>span{margin:0 0 9px auto;color:#819086;font-size:8px}.staff-profile-detail-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.staff-profile-detail-action>span{color:#87948a;font-size:9px}.staff-profile-detail-action .btn{display:flex;align-items:center;gap:9px}.staff-profile-detail-action .btn b{display:grid;min-width:19px;height:19px;place-items:center;border-radius:50%;background:#e8f3eb;color:#2b7150;font-size:8px}
.staff-history-dialog{position:fixed;inset:0;z-index:1200;width:min(1050px,calc(100vw - 30px));max-width:1050px;max-height:min(88dvh,820px);margin:auto;padding:0;overflow:hidden;border:1px solid #dce8df;border-radius:18px;background:#fff;color:#294336;box-shadow:0 25px 90px rgba(7,24,17,.35)}.staff-history-dialog::backdrop{background:rgba(13,29,22,.58);backdrop-filter:blur(3px)}.staff-history-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 20px 14px;border-bottom:1px solid #edf1ed}.staff-history-dialog>header h2{margin:4px 0;color:#18382c;font-size:18px}.staff-history-dialog>header p{margin:0;color:#829087;font-size:9px}.staff-history-close{display:grid;width:32px;height:32px;place-items:center;border:1px solid #e4ece6;border-radius:9px;background:#fff;color:#597061;font-size:21px;cursor:pointer}.staff-history-table-wrap{max-height:calc(min(88dvh,820px) - 123px);overflow:auto}.staff-history-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.staff-history-table-wrap th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f5f8f6;color:#78887d;font-size:8px;text-align:left}.staff-history-table-wrap td{padding:10px 12px;border-top:1px solid #edf1ed;color:#40564a;font-size:9px}.staff-history-table-wrap td strong{display:block;color:#264333}.staff-history-dialog>footer{padding:11px 18px;border-top:1px solid #edf1ed;background:#f8faf8;color:#859087;font-size:8px}
@media(max-width:600px){.staff-profile-filter{align-items:stretch}.staff-profile-filter label{min-width:calc(50% - 6px);flex:1}.staff-profile-filter .btn{flex:1}.staff-profile-filter>span{width:100%;margin:0}.staff-profile-detail-action{align-items:flex-start;flex-direction:column}.staff-profile-detail-action .btn{width:100%;justify-content:center}.staff-history-dialog{width:calc(100vw - 16px);max-height:90dvh;border-radius:14px}.staff-history-dialog>header{padding:14px}.staff-history-table-wrap{max-height:calc(90dvh - 117px)}.staff-history-table-wrap th,.staff-history-table-wrap td{padding:8px}}

.assignment-group-actions{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.assignment-group-actions .tiny-btn{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 11px;border:1px solid #dce9df;border-radius:8px;background:#fff;color:#276b4d;text-decoration:none;font-size:9px;font-weight:800;cursor:pointer}.assignment-group-actions .whatsapp-share{border-color:#cde5d3;background:#eaf6ed;color:#1e7045}.assignment-group-actions .tiny-btn:disabled{opacity:.65;cursor:wait}@media(max-width:520px){.assignment-group-actions{display:grid;grid-template-columns:1fr 1fr}.assignment-group-actions .tiny-btn{padding:0 6px;font-size:8px}}

.weekly-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-export-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 0 12px;padding:10px 13px;border:1px solid #e1e9e3;border-radius:10px;background:#f9fbf9;color:#718078;font-size:10px}.weekly-excel-export{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.weekly-excel-export b{font-size:14px}
.weekly-staff-open{display:flex;min-width:150px;flex-direction:column;align-items:flex-start;gap:4px;padding:7px 9px;border:1px solid #e1e9e3;border-radius:8px;background:#fff;color:#284b3b;text-align:left;cursor:pointer}.weekly-staff-open:hover{border-color:#b8d6c1;background:#f5faf6}.weekly-staff-open strong{font-size:10px}.weekly-staff-open span{color:#718477;font-size:8px}
.weekly-payroll-dialog{position:fixed;inset:0;width:min(1060px,calc(100vw - 32px));max-width:none;max-height:min(88dvh,840px);margin:auto;padding:0;overflow:hidden;border:1px solid #dce7df;border-radius:17px;background:#fff;color:#293f33;box-shadow:0 25px 90px rgba(9,30,20,.3)}.weekly-payroll-dialog::backdrop{background:rgba(15,30,23,.53);backdrop-filter:blur(3px)}.weekly-payroll-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px 15px;border-bottom:1px solid #e8efea;background:linear-gradient(110deg,#f4f9f5,#fff)}.weekly-payroll-header h2{margin:4px 0;color:#203b2d;font-size:19px}.weekly-payroll-header p{margin:0;color:#79887e;font-size:10px}.weekly-payroll-header-actions{display:flex;align-items:center;gap:8px}.weekly-payroll-close{display:grid;width:36px;height:36px;place-items:center;border:1px solid #e0e8e2;border-radius:9px;background:#fff;color:#556a5d;font-size:22px;cursor:pointer}.weekly-payroll-back{height:34px;padding:0 10px;border:1px solid #dce8df;border-radius:8px;background:#fff;color:#24644a;font-size:9px;font-weight:700;cursor:pointer}.weekly-payroll-content{max-height:calc(min(88dvh,840px) - 90px);overflow:auto;padding:15px 18px 20px}.weekly-payroll-table-wrap{overflow:auto;border:1px solid #e4ece6;border-radius:10px}.weekly-payroll-table-wrap table{width:100%;min-width:720px;border-collapse:collapse;white-space:nowrap}.weekly-payroll-table-wrap th{position:sticky;top:0;z-index:1;padding:11px 12px;background:#f2f6f3;color:#74847a;font-size:8px;letter-spacing:.07em;text-align:left}.weekly-payroll-table-wrap td{padding:10px 12px;border-top:1px solid #eaf0eb;color:#53655a;font-size:10px}.weekly-payroll-table-wrap tbody tr:nth-child(odd){background:#fbfdfb}.weekly-payroll-table-wrap td strong{color:#294536}.weekly-day-detail{padding:5px 9px;border:1px solid #d7e8dc;border-radius:7px;background:#edf6ef;color:#246947;font-size:10px;font-weight:800;cursor:pointer}.weekly-day-detail:hover{background:#dff0e4}.weekly-payroll-dialog[open]{animation:weekly-payroll-in .16s ease-out}@keyframes weekly-payroll-in{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.weekly-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-export-actions{align-items:stretch;flex-direction:column}.weekly-excel-export{justify-content:center}.weekly-payroll-dialog{width:calc(100vw - 18px);max-height:90dvh;border-radius:13px}.weekly-payroll-header{padding:13px}.weekly-payroll-header h2{font-size:16px}.weekly-payroll-header-actions{align-items:flex-end;flex-direction:column-reverse}.weekly-payroll-content{max-height:calc(90dvh - 88px);padding:11px}.weekly-payroll-table-wrap td,.weekly-payroll-table-wrap th{padding:9px}}
.monthly-person-open-link{padding:6px 9px;border:1px solid #dce9df;border-radius:8px;background:#fff;color:#226548;font-size:10px;font-weight:700;cursor:pointer}.monthly-person-open-link:hover{background:#f1f8f3}.weekly-bank-open{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 13px;border:1px solid #d7e8dc;border-radius:9px;background:#edf6ef;color:#236547;font-size:10px;font-weight:800;cursor:pointer}.weekly-bank-card{display:flex;max-width:700px;flex-direction:column;gap:12px;padding:18px;border:1px solid #e1ebe4;border-radius:14px;background:linear-gradient(140deg,#f7fbf8,#fff)}.weekly-bank-amount{color:#176348;font-size:28px}.weekly-bank-card>p{margin:-7px 0 4px;color:#718178;font-size:11px}.weekly-bank-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e5ece7;border-radius:10px;background:#fff}.weekly-bank-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.weekly-bank-copy small{color:#89948d;font-size:8px;font-weight:800;letter-spacing:.08em}.weekly-bank-copy strong{overflow-wrap:anywhere;color:#284737;font-size:12px}.weekly-bank-copy-button{flex:0 0 auto;padding:8px 11px;border:1px solid #dce9df;border-radius:8px;background:#f3f8f4;color:#246548;font-size:9px;font-weight:800;cursor:pointer}.generic-detail-dialog{position:fixed;inset:0;width:min(780px,calc(100vw - 28px));max-width:none;max-height:min(86dvh,760px);margin:auto;padding:0;overflow:hidden;border:1px solid #dce8df;border-radius:16px;background:#fff;color:#294336;box-shadow:0 25px 90px rgba(7,24,17,.34)}.generic-detail-dialog::backdrop{background:rgba(13,29,22,.56);backdrop-filter:blur(3px)}.generic-detail-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid #e8efea;background:#f7faf8}.generic-detail-dialog h2{margin:0;color:#234133;font-size:15px}.generic-detail-close{display:grid;width:32px;height:32px;place-items:center;border:1px solid #e0e9e2;border-radius:8px;background:#fff;color:#50695a;font-size:21px;cursor:pointer}.generic-detail-body{max-height:calc(min(86dvh,760px) - 63px);overflow:auto;padding:16px}.generic-detail-body>.firm-shift-form,.generic-detail-body>.firm-shift-add-form,.generic-detail-body>.staff-create-form,.generic-detail-body>.assignment-supervisors-form{position:static!important;width:100%!important;box-sizing:border-box}.generic-detail-body>.staff-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.generic-detail-body>.assignment-group-members{max-height:65dvh;overflow:auto}
@media(max-width:600px){.weekly-bank-card{padding:13px}.weekly-bank-row{align-items:flex-start;flex-direction:column}.weekly-bank-copy-button{width:100%}.generic-detail-dialog{width:calc(100vw - 16px);max-height:90dvh;border-radius:12px}.generic-detail-body{max-height:calc(90dvh - 61px);padding:11px}.generic-detail-body>.staff-create-form{grid-template-columns:1fr}}
.firm-location-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(125px,.8fr) minmax(125px,.8fr) auto auto;align-items:end;gap:8px;padding:11px;border:1px solid #e2ebe4;border-radius:11px;background:#f8fbf9}.firm-location-copy{display:flex;min-height:35px;flex-direction:column;justify-content:center;gap:3px}.firm-location-copy strong{color:#365443;font-size:10px}.firm-location-copy small,.firm-location-help{color:#849188;font-size:8px}.firm-location-form label{display:flex;min-width:0;flex-direction:column;gap:4px;color:#718077;font-size:8px;font-weight:700}.firm-location-form input{height:32px;min-width:0;border:1px solid #dce7df;border-radius:7px;background:#fff;padding:0 8px;color:#324b3b;font-size:9px}.firm-location-form button{height:32px;white-space:nowrap}.firm-location-form .location-save{border-color:#1c654b;background:#1c654b;color:#fff}.firm-location-help{grid-column:1/-1}.geo-check-note{display:block;margin-top:5px;color:#718477;font-size:8px;line-height:1.4}
@media(max-width:760px){.firm-location-form{grid-template-columns:1fr 1fr}.firm-location-copy,.firm-location-help{grid-column:1/-1}.firm-location-form button{width:100%}}
.login-card{max-height:calc(100dvh - 36px);overflow:auto;scrollbar-gutter:stable}.public-application{margin-top:16px;border:1px solid #e3ebe5;border-radius:12px;background:#fbfdfb}.public-application>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;cursor:pointer;list-style:none}.public-application>summary::-webkit-details-marker{display:none}.public-application>summary>span{display:flex;flex-direction:column;gap:4px}.public-application>summary b{color:#274233;font-size:12px}.public-application>summary small{color:#849188;font-size:9px}.public-application>summary strong{padding:7px 10px;border-radius:7px;background:#eaf4ed;color:#246348;font-size:9px}.public-application-form{display:flex;flex-direction:column;gap:13px;padding:14px;border-top:1px solid #e6ede8}.application-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.application-form-grid label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#596f60;font-size:9px;font-weight:700}.application-form-grid input,.application-form-grid select,.application-form-grid textarea{width:100%;min-width:0;border:1px solid #dfe8e2;border-radius:8px;background:#fff;padding:8px 9px;color:#2d4437;font:inherit;font-size:10px}.application-form-grid input,.application-form-grid select{height:36px}.application-form-grid textarea{resize:vertical}.application-full{grid-column:1/-1}.application-section-title{padding-top:6px;color:#26634b;font-size:10px;font-weight:800;letter-spacing:.03em}.application-choice-set{display:flex;align-items:center;gap:14px;min-width:0;margin:0;padding:9px;border:1px solid #e1e9e3;border-radius:8px;color:#5c7063;font-size:9px}.application-choice-set legend{padding:0 4px;font-size:9px;font-weight:700}.application-choice-set label,.application-consent{display:flex;align-items:center;gap:5px;font-weight:500}.application-choice-set input,.application-consent input{width:15px;height:15px;accent-color:#17634b}.application-consent{align-items:flex-start;color:#718077;font-size:8px;line-height:1.5}.public-application-form>small{color:#849188;font-size:8px}.application-alert{margin:0}.announcement-admin-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:14px}.announcement-compose{display:flex;flex-direction:column;gap:12px}.announcement-compose label{display:flex;flex-direction:column;gap:6px;color:#617368;font-size:10px;font-weight:700}.announcement-compose input,.announcement-compose textarea{width:100%;border:1px solid #dfe8e2;border-radius:9px;background:#fff;padding:10px;color:#2c4436;font:inherit;font-size:11px}.announcement-compose input{height:40px}.announcement-compose textarea{resize:vertical}.announcement-compose small{color:#859188;font-size:9px}.announcement-admin-list{display:flex;max-height:520px;flex-direction:column;gap:8px;overflow:auto}.announcement-admin-list article{padding:11px 12px;border:1px solid #e4ece6;border-radius:10px;background:#fff}.announcement-admin-list time{display:block;margin-bottom:4px;color:#8b978f;font-size:8px}.announcement-admin-list strong{color:#2a4938;font-size:11px}.announcement-admin-list p{margin:5px 0 0;color:#65766b;font-size:10px;line-height:1.5;white-space:pre-wrap}.application-admin-panel .table-wrap{max-height:calc(100dvh - 250px);overflow:auto}.application-actions{display:flex;gap:6px;white-space:nowrap}.application-actions a{text-decoration:none}.payment-announcement-form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px 14px;border:1px solid #dceae0;border-radius:11px;background:#f5faf6}.payment-announcement-form>div{display:flex;flex-direction:column;gap:4px}.payment-announcement-form strong{color:#2b513c;font-size:10px}.payment-announcement-form small{color:#78877e;font-size:9px}.payment-announcement-form button{white-space:nowrap}.staff-announcements{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px;border:1px solid #dce9df;border-radius:12px;background:#f8fbf8}.staff-announcements-head{display:flex;align-items:center;gap:9px;padding:2px 3px 5px}.staff-announcements-head>span{font-size:18px}.staff-announcements-head>div{display:flex;flex-direction:column;gap:2px}.staff-announcements-head strong{color:#2e503b;font-size:11px}.staff-announcements-head small{color:#839087;font-size:8px}.staff-announcement{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #e6ede8;border-radius:9px;background:#fff}.staff-announcement strong{color:#2b4937;font-size:10px}.staff-announcement p{margin:4px 0;color:#586b5f;font-size:9px;line-height:1.5;white-space:pre-wrap}.staff-announcement small{color:#87938b;font-size:8px}.staff-announcement.payment-notice{border-color:#cfe5d6;background:#fdfffd}.notice-amount{flex:0 0 auto;color:#17654b;font-size:17px}.application-matrix{display:flex;flex-direction:column;overflow:auto;border:1px solid #e0e8e2;border-radius:8px}.application-matrix-head,.application-matrix-row{display:grid;align-items:center;gap:5px;min-width:680px;padding:6px 7px}.application-education-matrix .application-matrix-head,.application-education-matrix .application-matrix-row{grid-template-columns:95px 1.5fr 1fr 78px 78px .8fr}.application-language-matrix .application-matrix-head,.application-language-matrix .application-matrix-row{grid-template-columns:1.2fr 1fr 1fr 1fr}.application-computer-matrix .application-matrix-head,.application-computer-matrix .application-matrix-row{grid-template-columns:1fr 1fr}.application-matrix-head{background:#f1f6f2;color:#6d7f72;font-size:8px;font-weight:800}.application-matrix-row{border-top:1px solid #edf1ee}.application-matrix-row strong{color:#4b6253;font-size:8px}.application-matrix-row input,.application-matrix-row select{width:100%;height:31px;min-width:0;border:1px solid #e1e9e3;border-radius:6px;background:#fff;padding:0 6px;color:#334a3b;font:inherit;font-size:8px}.application-matrix-row input[readonly]{background:#f8faf8;font-weight:700}.application-matrix-row input[type=hidden]{display:none}
@media(max-width:720px){.login-card{max-height:calc(100dvh - 18px);padding:18px}.application-form-grid{grid-template-columns:1fr}.application-full{grid-column:auto}.application-choice-set{flex-wrap:wrap}.announcement-admin-grid{grid-template-columns:1fr}.payment-announcement-form,.staff-announcement{align-items:flex-start;flex-direction:column}.payment-announcement-form button{width:100%}.notice-amount{align-self:flex-end}}
.firm-site-settings-panel{margin-top:14px}.firm-site-settings-list{display:flex;flex-direction:column;gap:8px}.firm-site-settings-row{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr);align-items:start;gap:12px;padding:12px;border:1px solid #e3ebe5;border-radius:11px;background:#fbfdfb}.firm-site-settings-identity{display:flex;align-items:center;gap:10px}.firm-site-settings-identity>div{display:flex;flex-direction:column;gap:4px}.firm-site-settings-identity strong{color:#2a4938;font-size:11px}.firm-site-settings-identity small{color:#7c8b81;font-size:9px}.firm-site-location-editor>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#17634b;font-size:10px;font-weight:700}.firm-site-location-editor .firm-location-form{margin-top:10px}.firm-location-address{grid-column:1/-1}.firm-location-form textarea{min-width:0;resize:vertical;border:1px solid #dce7df;border-radius:7px;padding:7px 9px;color:#324b3b;font:inherit;font-size:9px;background:#fff}
@media(max-width:760px){.firm-site-settings-row{grid-template-columns:1fr}.firm-site-settings-identity{align-items:flex-start}.firm-location-address{grid-column:1/-1}}
.application-launcher{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-top:15px;padding:11px 12px;border:1px solid #e0e9e3;border-radius:11px;background:#fbfdfb;text-align:left;cursor:pointer}.application-launcher-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#eaf4ed;color:#17634b;font-size:20px}.application-launcher>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.application-launcher b{color:#274233;font-size:11px}.application-launcher small{color:#849188;font-size:9px}.application-launcher strong{display:flex;align-items:center;gap:8px;color:#17634b;font-size:9px}.application-launcher strong span{font-size:13px}.public-application-dialog{width:min(980px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #dce7df;border-radius:16px;background:#fff;color:#263b31;box-shadow:0 24px 80px #10271d3d;overflow:hidden}.public-application-dialog::backdrop{background:#13251dc2;backdrop-filter:blur(3px)}.public-application-shell{display:flex;max-height:calc(100dvh - 30px);flex-direction:column}.application-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #e6ede8;background:#fff}.application-dialog-header h2{margin:4px 0;color:#1c392b;font-size:20px}.application-dialog-header p{margin:0;color:#7b897f;font-size:10px}.application-dialog-close{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid #e1e9e3;border-radius:9px;background:#f8faf8;color:#456252;font-size:22px;cursor:pointer}.public-application-dialog .public-application-form{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 22px;border-top:0}.public-application-dialog .application-matrix{max-width:100%}
@media(max-width:720px){.application-launcher{grid-template-columns:34px minmax(0,1fr)}.application-launcher>strong{grid-column:2}.public-application-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.public-application-shell{max-height:calc(100dvh - 18px)}.application-dialog-header{padding:13px 14px}.application-dialog-header h2{font-size:17px}.public-application-dialog .public-application-form{padding:13px 14px 18px}}
.application-language-matrix{overflow:visible;display:block}.application-language-matrix .application-matrix-head,.application-language-matrix .application-matrix-row{min-width:0;grid-template-columns:minmax(80px,1.15fr) repeat(3,minmax(68px,1fr));padding:5px 7px}.application-language-matrix .application-matrix-row select{height:36px;min-width:0;padding:0 5px;appearance:auto;-webkit-appearance:menulist;position:relative;z-index:1;cursor:pointer;color:#263b31;background-color:#fff;font-size:9px;line-height:normal}.application-language-matrix .application-matrix-row select:focus{z-index:3;outline:2px solid #9bc5ad;outline-offset:1px}.application-success-dialog{width:min(440px,calc(100vw - 28px));max-width:none;padding:0;border:1px solid #dce8df;border-radius:18px;background:#fff;color:#263b31;box-shadow:0 24px 80px #10271d4d}.application-success-dialog::backdrop{background:#10251dcc;backdrop-filter:blur(4px)}.application-success-card{display:flex;align-items:center;flex-direction:column;padding:32px 30px 28px;text-align:center}.application-success-icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:14px;border-radius:50%;background:#e9f5ed;color:#17634b;font-size:26px;font-weight:800;box-shadow:inset 0 0 0 1px #d4e9da}.application-success-card .eyebrow{color:#17634b}.application-success-card h2{margin:8px 0;color:#1c392b;font-size:22px}.application-success-card p{margin:0 0 22px;color:#66786d;font-size:12px;line-height:1.7}.application-success-card button{min-width:190px}
@media print{.public-application-dialog,.application-success-dialog{display:none!important}}
.weekly-period-navigator{display:grid;grid-template-columns:1fr minmax(220px,auto) 1fr;align-items:center;gap:12px;margin:10px 0;padding:11px 14px;border:1px solid #dce8df;border-radius:12px;background:linear-gradient(115deg,#f6faf7,#fff)}.weekly-period-step{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:8px 10px;border:1px solid #e1eae3;border-radius:8px;background:#fff;color:#17634b;text-decoration:none;font-size:10px;font-weight:700}.weekly-period-step:last-child{justify-self:end}.weekly-period-step:hover{background:#edf6ef}.weekly-period-current{display:flex;align-items:center;flex-direction:column;gap:3px;text-align:center}.weekly-period-current>span{color:#738278;font-size:8px;font-weight:800;letter-spacing:.09em}.weekly-period-current strong{color:#183b2d;font-size:15px;font-variant-numeric:tabular-nums}.weekly-period-current small{color:#78877e;font-size:9px}.staff-announcement{position:relative;padding-right:42px}.announcement-dismiss-form{position:absolute;top:8px;right:8px;margin:0}.announcement-dismiss{display:grid;width:25px;height:25px;place-items:center;border:1px solid #e4ebe6;border-radius:7px;background:#f8faf8;color:#738278;font-size:17px;line-height:1;cursor:pointer}.announcement-dismiss:hover{border-color:#edcaca;background:#fff2f2;color:#b54b4b}.staff-announcement-copy{min-width:0;flex:1}.staff-announcement-copy p{overflow-wrap:anywhere}
@media(max-width:720px){.weekly-period-navigator{grid-template-columns:auto 1fr auto;gap:6px;padding:9px}.weekly-period-step{padding:7px;font-size:8px}.weekly-period-step span{display:none}.weekly-period-current strong{font-size:12px}.weekly-period-current>span{font-size:6px}.weekly-period-current small{font-size:7px}}
.staff-exit-section{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #efdada;border-radius:10px;background:#fffafa}.staff-exit-section>div{display:flex;flex-direction:column;gap:4px}.staff-exit-section h4{margin:0;color:#713f3f;font-size:11px}.staff-exit-section small{max-width:490px;color:#8a7777;font-size:9px;line-height:1.45}.staff-exit-section form,.staff-archive-panel form{margin:0}.staff-exit-button{padding:9px 12px;border:1px solid #e7c9c9;border-radius:8px;background:#fff;color:#a34545;font:inherit;font-size:9px;font-weight:750;white-space:nowrap;cursor:pointer}.staff-exit-button:hover{background:#fff0f0}.staff-archive-panel{margin-top:13px;padding:0;overflow:hidden}.staff-archive-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;list-style:none;cursor:pointer}.staff-archive-panel>summary::-webkit-details-marker{display:none}.staff-archive-panel>summary>span{display:flex;flex-direction:column;gap:4px}.staff-archive-panel>summary b{color:#344c3d;font-size:11px}.staff-archive-panel>summary small{color:#819087;font-size:9px}.staff-archive-panel>summary>strong{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:8px;background:#f2f5f3;color:#65756b;font-size:9px}.staff-archive-panel>summary i{font-style:normal}.staff-archive-panel[open]>summary{border-bottom:1px solid #e8eee9}.staff-archive-panel .table-wrap{max-height:360px;overflow:auto}.employment-exited-badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:#fff0ef;color:#a84a43;font-size:8px;font-weight:800}.staff-reactivate-button{padding:7px 9px;border:1px solid #d5e9dc;border-radius:7px;background:#f3faf5;color:#286748;font:inherit;font-size:8px;font-weight:750;cursor:pointer}
@media(max-width:700px){.staff-exit-section{align-items:stretch;flex-direction:column}.staff-exit-button{width:100%}.staff-archive-panel>summary{align-items:flex-start}.staff-archive-panel .table-wrap{max-width:100%;overflow:auto}.staff-archive-panel table{min-width:520px}}

/* Shared transport occupancy, seat details, and driver feedback */
.transport-shared-bindings{grid-column:1/-1}.transport-shared-bindings small{display:block;margin:4px 0;color:#7e8d83;font-size:9px;line-height:1.5}.transport-shared-bindings select{min-height:120px!important}.assignment-fields label>small{display:block;color:#839087;font-size:8px;line-height:1.4}.driver-feedback-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding:15px;border:1px solid #dce9df;border-radius:12px;background:linear-gradient(135deg,#f6faf7,#fff)}.driver-feedback-heading{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #e6eee8}.driver-feedback-heading h3{margin:5px 0;color:#244434;font-size:14px}.driver-feedback-heading p{margin:0;color:#7d8a82;font-size:10px}.driver-feedback-heading>span{padding:6px 9px;border-radius:999px;background:#edf5ef;color:#53715e;font-size:9px;white-space:nowrap}.driver-feedback-form>label{display:flex;flex-direction:column;gap:6px;color:#50665a;font-size:10px;font-weight:750}.driver-feedback-form>label small{font-weight:500;color:#829087}.driver-feedback-form textarea{width:100%;resize:vertical;border:1px solid #dfe8e2;border-radius:8px;background:#fff;padding:9px;color:#2b4436;font:inherit;font-size:10px}.driver-rating-picker{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:0;padding:0;border:0}.driver-rating-picker legend{margin-right:7px;color:#50665a;font-size:10px;font-weight:750}.driver-rating-picker label{position:relative;cursor:pointer}.driver-rating-picker input{position:absolute;opacity:0}.driver-rating-picker span{color:#c7d0c9;font-size:25px;line-height:1}.driver-rating-picker input:checked+span,.driver-rating-picker label:has(input:checked) span{color:#e6a627}.driver-rating-picker label:has(input:focus-visible) span{outline:2px solid #78aa8f}.driver-feedback-form>.btn{justify-self:start}.driver-feedback-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.driver-feedback-kpis .panel{display:flex;flex-direction:column;gap:8px;padding:16px}.driver-feedback-kpis small{color:#7c8a81;font-size:9px;font-weight:800;letter-spacing:.08em}.driver-feedback-kpis strong{color:#173b2d;font-size:23px}.driver-feedback-kpis strong span{color:#d69a1f;font-size:13px}.driver-feedback-admin{padding:14px}.driver-feedback-search{display:flex;align-items:end;gap:9px;margin-bottom:13px}.driver-feedback-search label{display:grid;flex:1;gap:6px;color:#68786e;font-size:10px;font-weight:700}.driver-feedback-search input{height:40px;padding:0 11px;border:1px solid #dce7df;border-radius:9px;background:#fff;color:#263b31;font:inherit}.driver-feedback-admin .table-wrap{max-height:calc(100dvh - 370px);overflow:auto}.driver-feedback-admin table{min-width:1000px}.driver-feedback-admin th{position:sticky;top:0;z-index:1}.driver-feedback-admin td small{display:block;margin-top:4px;color:#819087;font-size:9px}.feedback-stars{display:block;color:#dda327;white-space:nowrap;letter-spacing:.05em}.feedback-text-cell{max-width:250px;white-space:normal;line-height:1.5}.driver-passenger-dialog{position:fixed;inset:0;width:min(430px,calc(100vw - 28px));max-width:none;margin:auto;padding:0;overflow:hidden;border:1px solid #dce8df;border-radius:16px;background:#fff;color:#284234;box-shadow:0 24px 80px #10271d4d}.driver-passenger-dialog::backdrop{background:#10251dcc;backdrop-filter:blur(3px)}.driver-passenger-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #e7eee9;background:#f7faf8}.driver-passenger-dialog h2{margin:4px 0;color:#203b2d;font-size:17px}.driver-passenger-dialog>header button{width:32px;height:32px;border:1px solid #dfe8e2;border-radius:8px;background:#fff;color:#546a5c;font-size:21px;cursor:pointer}.driver-passenger-details{display:grid;gap:11px;padding:17px}.driver-passenger-details p{margin:0;color:#5f7266;font-size:11px;line-height:1.5}.driver-passenger-details p:first-child{color:#244434;font-weight:750}.driver-seat-section .service-seat{width:100%;height:32px}.driver-seat-section button.service-seat:disabled{opacity:1}.driver-seat-section button.service-seat:not(:disabled){cursor:pointer}
@media(max-width:760px){.driver-feedback-form{grid-template-columns:1fr}.driver-feedback-heading,.driver-rating-picker{grid-column:1}.driver-feedback-kpis{grid-template-columns:1fr}.driver-feedback-search{align-items:stretch;flex-direction:column}.driver-feedback-search label{width:100%}.driver-feedback-admin .table-wrap{max-height:65dvh}.transport-route-form .transport-shared-bindings{grid-column:auto}}

/* Separate, focused employee payout account page and structured application form rows. */
.staff-bank-page{max-width:920px;margin:0 auto;padding:26px}.staff-bank-intro{display:flex;align-items:center;gap:15px;padding:4px 0 20px;border-bottom:1px solid #e8efea}.staff-bank-large-icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:15px;background:#eaf4ed;color:#17634b;font-size:25px;font-weight:800}.staff-bank-intro h2{margin:4px 0;color:#203b2d;font-size:19px}.staff-bank-intro p{max-width:600px;margin:0;color:#75847b;font-size:10px;line-height:1.6}.staff-bank-page .staff-bank-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:22px 0}.staff-bank-form label{display:flex;min-width:0;flex-direction:column;gap:7px;color:#52665a;font-size:10px;font-weight:750}.staff-bank-form input{width:100%;height:42px;border:1px solid #dce7df;border-radius:9px;background:#fff;padding:0 12px;color:#263b31;font:inherit;font-size:12px;letter-spacing:.02em}.staff-bank-privacy{display:flex;align-items:flex-start;gap:9px;margin:4px 0 0;padding:12px;border:1px solid #e1ece4;border-radius:10px;background:#f7faf8;color:#718078;font-size:9px;line-height:1.5}.staff-bank-privacy p{margin:0}.staff-bank-privacy span{font-size:13px}.application-helper{margin:-7px 0 0;color:#7c8981;font-size:9px;line-height:1.45}.application-experience-matrix .application-matrix-head,.application-experience-matrix .application-matrix-row{grid-template-columns:1.1fr 1fr .9fr 1.1fr;min-width:650px}.application-reference-matrix .application-matrix-head,.application-reference-matrix .application-matrix-row{grid-template-columns:1.4fr 1fr;min-width:400px}.application-textarea-label{display:flex;flex-direction:column;gap:5px;color:#596f60;font-size:9px;font-weight:700}.application-textarea-label textarea{width:100%;border:1px solid #dfe8e2;border-radius:8px;background:#fff;padding:8px 9px;color:#2d4437;font:inherit;font-size:10px;resize:vertical}
@media(max-width:720px){.staff-bank-page{padding:16px}.staff-bank-page .staff-bank-form{grid-template-columns:1fr}.staff-bank-page .staff-bank-form button{width:100%}.staff-bank-intro{align-items:flex-start}}

.application-header-brand{display:flex;align-items:center;gap:14px}.application-header-brand img{width:118px;height:42px;object-fit:contain;object-position:left center}.application-computer-matrix .application-matrix-head,.application-computer-matrix .application-matrix-row{min-width:0;grid-template-columns:1fr 1fr}.application-computer-matrix .application-matrix-row{min-height:40px}.application-computer-matrix .application-matrix-row input[readonly]{font-size:10px}.application-computer-matrix .application-matrix-row select{height:36px;font-size:10px}.application-form-brand{max-width:140px}@media(max-width:720px){.application-header-brand{gap:9px}.application-header-brand img{width:76px;height:34px}.application-dialog-header h2{font-size:16px}.application-dialog-header p{font-size:9px}}
.application-section-title small{margin-left:5px;color:#849188;font-size:8px;font-weight:600;letter-spacing:0;text-transform:none}.application-simple-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}.application-simple-grid label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#596f60;font-size:9px;font-weight:700}.application-simple-grid input,.application-simple-grid select{width:100%;height:36px;min-width:0;border:1px solid #dfe8e2;border-radius:8px;background:#fff;padding:0 9px;color:#2d4437;font:inherit;font-size:10px}.application-textarea-label textarea{min-height:72px;line-height:1.5}@media(max-width:720px){.application-simple-grid{grid-template-columns:1fr}}
.account-settings-page{max-width:900px;margin:0 auto}.account-settings-card{padding:26px}.account-settings-card>header{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.account-settings-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#eaf5ee;color:var(--green);display:grid;place-items:center;font-size:21px}.account-settings-card header .eyebrow{margin-bottom:5px}.account-settings-card header h2{font:750 19px Manrope,sans-serif;margin:0}.account-settings-card header p{font-size:12px;color:var(--muted);margin:6px 0 0}.account-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-settings-form>label{display:flex;flex-direction:column;gap:7px;color:#687970;font-size:11px;font-weight:700}.account-settings-form input{height:43px;border:1px solid #dce6df;border-radius:9px;padding:0 12px;background:#fbfdfb;color:#243d33;font-size:13px}.account-settings-form input:focus{outline:0;border-color:#78aa8f;box-shadow:0 0 0 3px #e9f5ed}.account-full{grid-column:1/-1}.account-password-divider{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:4px}.account-password-divider span{font-size:12px;font-weight:800;color:var(--ink)}.account-password-divider small,.account-settings-actions span{font-size:10px;color:var(--muted)}.account-settings-actions{grid-column:1/-1;display:flex;align-items:center;gap:13px;padding-top:3px}.account-force-notice{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin-bottom:14px;border:1px solid #f0dcad;border-radius:11px;background:#fff8e8;color:#765b1a;font-size:12px}.account-force-notice span{font-size:11px;color:#8e7845}.staff-temp-password-note{display:block;grid-column:1/-1;padding:10px 12px;border-radius:8px;background:#fff8e8;color:#785d22;font-size:11px}.staff-password-reset{border:1px solid #e5ece7;border-radius:10px;padding:13px;background:#fafcfb}.staff-password-reset-button{border:0;border-radius:8px;background:#edf5ef;color:#26664e;padding:10px 13px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}@media(max-width:700px){.account-settings-form{grid-template-columns:1fr}.account-settings-form>label,.account-full,.account-password-divider,.account-settings-actions{grid-column:1}.account-password-divider,.account-settings-actions{align-items:flex-start;flex-direction:column}}
.service-seat{display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:800}.service-seat.own{outline:2px solid #145846;outline-offset:2px;box-shadow:0 0 0 3px #d8efe3}.seat-legend.own{background:#145846}
.staff-service-options{display:grid;gap:12px}.staff-service-option{padding:14px;border:1px solid #e3ebe5;border-radius:12px;background:#fbfdfb}.staff-service-option.selected{border-color:#8dc7a7;background:#f5fbf7}.staff-service-option>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 10px;border:0}.staff-service-option h3{margin:4px 0 0;font-size:14px}.staff-service-option h3 span{color:#91a299}.staff-service-option-contact{display:flex;align-items:center;gap:8px;margin:0 0 12px}.staff-service-option-contact>span{color:#718278;font-size:11px}.staff-service-seat-form{display:grid;gap:10px}.staff-service-seat-form>label{display:grid;gap:6px;max-width:420px;color:#64766d;font-size:11px;font-weight:650}.staff-service-seat-form select{min-height:40px;padding:8px 10px;border:1px solid #dce6df;border-radius:9px;background:#fff;color:#173a2e}.service-seat-map button.service-seat{appearance:none;padding:0;cursor:pointer}.service-seat-map button.service-seat:disabled{cursor:not-allowed;opacity:.9}.service-seat-map button.service-seat:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 6px #18342e33}.staff-service-lock-note{color:#88968f;font-size:10px}
.staff-service-follow-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;padding:20px 22px;border:1px solid #d7e9df;background:linear-gradient(110deg,#f4fbf6,#fff 72%)}.staff-service-follow-intro{display:flex;align-items:center;gap:14px;min-width:0}.staff-service-follow-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#e5f4eb;color:#17644a;font-size:26px}.staff-service-follow-intro h2{margin:4px 0 5px;font-size:17px;color:#173e31}.staff-service-follow-intro p{margin:0;max-width:560px;color:#718278;font-size:11px;line-height:1.6}.staff-service-follow-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.staff-service-follow-actions .btn{white-space:nowrap}.driver-location-controls>div small+small{max-width:420px;line-height:1.45}.driver-location-controls{flex-wrap:wrap}@media(max-width:760px){.staff-service-follow-card{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.staff-service-follow-actions{justify-content:flex-start}.staff-service-follow-actions .btn{white-space:normal}.driver-location-controls>div{flex-basis:100%}}

/* Live service map: free OpenStreetMap tiles with a vehicle and plate marker. */
.live-service-map{display:block;width:100%;height:min(58vh,520px);min-height:320px;background:#edf3ef;border-top:1px solid #e3ebe5;z-index:0}.service-track-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.service-track-footer .btn{flex:0 0 auto}.live-vehicle-icon{background:transparent!important;border:0!important}.live-vehicle-marker{display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 3px 3px #10241d66)}.live-vehicle-marker svg{width:52px;height:38px;overflow:visible}.live-vehicle-marker b{margin-top:-1px;padding:3px 7px;border:1px solid #17352c;border-radius:4px;background:#fff;color:#153b30;font-size:10px;line-height:1.2;white-space:nowrap;box-shadow:0 1px 5px #10241d44}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:600px){.live-service-map{height:55vh;min-height:270px}.service-track-footer{align-items:flex-start;flex-direction:column}.service-track-footer .btn{width:100%;justify-content:center}}

.brand{gap:8px}.brand-mark{width:40px;height:38px;padding:0;background:transparent;border-radius:0;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-name{display:flex;flex-direction:column;gap:0;line-height:1}.brand-name strong{font:800 16px Manrope,sans-serif;letter-spacing:1.15px;color:#123d70}.brand-name small{margin-top:3px;font:700 9px 'DM Sans',sans-serif;letter-spacing:3.2px;color:#1595ca}
.driver-location-upcoming{border-style:dashed;background:#f5f8f6}.driver-location-upcoming button:disabled,.staff-track-service button:disabled{opacity:.72;cursor:not-allowed;transform:none;filter:none}.staff-track-service{min-height:48px}



/* Açılım blue PWA install and startup experience */
.brand-version{align-self:flex-end;margin:0 0 1px 2px;color:#6d8ba4;font-size:8px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.install-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c7def1;background:#eef7ff;color:#145a91;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .18s,border-color .18s}
.install-button:hover{background:#e0f0fd;border-color:#a9cde9}
.login-install-button{display:flex;width:100%;align-items:center;gap:11px;margin-top:14px;padding:12px 13px;border:1px solid #cfe2f0;border-radius:12px;background:linear-gradient(110deg,#f2f8fd,#fff);color:#174a73;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.login-install-button:hover{transform:translateY(-1px);border-color:#9ec9e6;box-shadow:0 8px 22px rgba(32,106,160,.11)}
.login-install-button[hidden]{display:none!important}
.login-install-icon{display:grid;width:35px;height:35px;flex:0 0 35px;place-items:center;border-radius:10px;background:#dceefb;color:#176da8;font-size:20px;font-weight:800}
.login-install-button>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}
.login-install-button b{font-size:11px}
.login-install-button small{color:#71869a;font-size:9px;line-height:1.4}
.login-install-button>strong{display:flex;align-items:center;gap:5px;color:#126aa5;font-size:10px;white-space:nowrap}
.login-story{background:linear-gradient(145deg,#103d68,#0b3156 58%,#14588b)}
.login-story h1 em{color:#91d7ff}
.install-help-dialog{width:min(440px,calc(100vw - 28px));max-width:none;padding:20px;border:1px solid #d7e7f3;border-radius:17px;background:#fff;color:#153451;box-shadow:0 24px 80px rgba(8,32,55,.28)}
.install-help-dialog::backdrop{background:rgba(9,28,48,.62);backdrop-filter:blur(3px)}
.install-help-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.install-help-dialog h2{margin:0;font:800 20px Manrope,sans-serif;color:#153f64}
.install-help-dialog header button{width:30px;height:30px;border:1px solid #dce7ef;border-radius:8px;background:#f6f9fc;color:#58718a;font-size:20px;cursor:pointer}
.install-help-dialog p,.install-help-dialog li{color:#6e8092;font-size:12px;line-height:1.65}
.install-help-dialog ol{padding-left:20px;margin:12px 0 18px}
.install-help-dialog li+li{margin-top:8px}
.install-help-dialog li b{color:#204f77}
.install-help-dialog li span{color:#176da8;font-weight:900}
.app-splash{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 37%,#174b77 0,#102f50 38%,#0b2038 100%);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s ease,visibility .34s}
html.app-starting .app-splash{opacity:1;visibility:visible;pointer-events:auto}
html.app-ready .app-splash{opacity:0;visibility:hidden;pointer-events:none}
.app-splash-card{display:flex;width:min(320px,86vw);align-items:center;flex-direction:column;padding:30px 28px 23px;border:1px solid #ffffff23;border-radius:24px;background:linear-gradient(155deg,#ffffff12,#ffffff08);box-shadow:0 25px 85px #06172b70;backdrop-filter:blur(16px);text-align:center;animation:splash-rise .48s ease both}
.app-splash-card>img{width:82px;height:70px;object-fit:contain;padding:10px;border-radius:18px;background:#fff;box-shadow:0 10px 28px #06172b44}
.app-splash-brand{display:flex;align-items:center;flex-direction:column;margin-top:14px;line-height:1}
.app-splash-brand strong{font:900 22px Manrope,sans-serif;letter-spacing:2px;color:#fff}
.app-splash-brand span{margin-top:6px;font-size:10px;font-weight:800;letter-spacing:5px;color:#77c8f0}
.app-splash-progress{width:100%;height:5px;overflow:hidden;margin-top:26px;border-radius:9px;background:#ffffff25}
.app-splash-progress span{display:block;width:35%;height:100%;border-radius:9px;background:linear-gradient(90deg,#6bb9ed,#b6e5ff);box-shadow:0 0 14px #70c4ff88;animation:splash-progress 1.1s ease-in-out infinite alternate}
html.app-ready .app-splash-progress span{width:100%;animation:none;transition:width .18s ease}
.app-splash-card p{margin:13px 0 0;color:#d8e8f5;font-size:11px;font-weight:700;letter-spacing:.03em}
.app-splash-card small{margin-top:15px;color:#93b6d2;font-size:9px;font-weight:800;letter-spacing:.1em}
@keyframes splash-progress{from{width:24%;transform:translateX(-10%)}to{width:67%;transform:translateX(60%)}}
@keyframes splash-rise{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.feedback-locked-note{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px dashed #cdddea;border-radius:10px;background:#f8fbfd;color:#456680}
.feedback-locked-note>span{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:9px;background:#e8f3fc;color:#2476ae;font-size:15px}
.feedback-locked-note>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}
.feedback-locked-note strong{color:#315c7d;font-size:10px}
.feedback-locked-note small{color:#71869a;font-size:9px;line-height:1.5}
.feedback-locked-note>a{color:#176ca5;font-size:9px;font-weight:800;text-decoration:none;white-space:nowrap}
.feedback-locked-note>a:hover{text-decoration:underline}
@media(max-width:650px){.brand-version{font-size:7px;margin-left:0}.login-install-button{padding:10px}.login-install-button small{font-size:8px}.feedback-locked-note{align-items:flex-start;flex-wrap:wrap}.feedback-locked-note>a{margin-left:39px}}
.service-feedback-info{display:flex;align-items:center;gap:11px;margin:-12px 0 12px;padding:12px 14px;border:1px solid #cfe2f0;border-radius:12px;background:linear-gradient(110deg,#edf6fd,#fff);color:#315d7e}
.service-feedback-info>span{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:9px;background:#dceefb;color:#2379b6;font-size:18px}
.service-feedback-info>div{display:flex;flex-direction:column;gap:3px}
.service-feedback-info strong{color:#1c4d73;font-size:10px}
.service-feedback-info small{color:#71869a;font-size:9px;line-height:1.5}
.driver-feedback-form{border-color:#d4e5f1;background:linear-gradient(135deg,#f3f8fd,#fff)}
.driver-feedback-heading{border-color:#dfebf4}
.driver-feedback-heading h3{color:#214a6a}
.driver-feedback-heading>span{background:#eaf3fa;color:#37688b}
.driver-feedback-form>label{color:#45657e}
.driver-feedback-form textarea{border-color:#d9e6ef;color:#23425c}
.driver-feedback-form .driver-rating-picker label span{color:#b5c7d5}
.driver-feedback-form .driver-rating-picker input:checked+span,.driver-feedback-form .driver-rating-picker label:has(input:checked) span{color:#e8a52d}
.driver-stop-count{padding:6px 9px;border-radius:999px;background:#eaf4fb;color:#1d6596;font-size:9px;font-weight:800;white-space:nowrap}

/* Mobile navigation launcher: large touch-friendly tiles for every role. */
.mobile-menu-toggle,.mobile-menu-backdrop{display:none}
@media(max-width:650px){
  .authenticated-app .topbar{position:relative;z-index:30}
  .top-user .install-button{display:none}
  .mobile-menu-toggle{display:flex;flex:0 0 38px;width:38px;height:38px;margin-left:auto;margin-right:8px;padding:10px 9px;border:1px solid #dce6f0;border-radius:11px;background:#fff;flex-direction:column;justify-content:center;gap:4px;cursor:pointer}
  .mobile-menu-toggle span{display:block;height:2px;width:18px;border-radius:2px;background:#174b83}
  .workspace.signed-workspace{height:calc(100dvh - 56px);flex-direction:row}
  .app-sidebar{position:fixed;z-index:32;left:12px;right:12px;top:64px;bottom:auto;width:auto;height:min(78dvh,620px);max-height:calc(100dvh - 78px);padding:17px 14px 12px;display:flex;flex-direction:column;border:1px solid #dce5ee;border-radius:18px;background:#fff;color:#18324d;box-shadow:0 18px 55px #102b4933;overflow:hidden;transform:translateY(-8px) scale(.985);opacity:0;visibility:hidden;pointer-events:none;transition:transform .18s ease,opacity .18s ease,visibility .18s}
  .mobile-menu-open .app-sidebar{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}
  .sidebar-caption{display:block;padding:2px 3px 13px;color:#75869a;font-size:10px}
  .sidebar-bottom{display:flex;padding:10px 3px 2px;color:#78889b;font-size:9px}
  .sidebar-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;overflow:auto;padding:2px 1px 10px}
  .sidebar-nav a{height:88px;min-width:0;padding:10px 5px;flex:initial;display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid #e5ebf1;border-radius:14px;background:#f8fafc;color:#42556c;font-size:10px;line-height:1.2;text-align:center;white-space:normal}
  .sidebar-nav a:hover,.sidebar-nav a.active{border-color:#b9d5f2;background:#edf5ff;color:#164f89;box-shadow:inset 0 0 0 1px #d9eaff}
  .sidebar-nav a.active{box-shadow:inset 0 -3px #2677c7}
  .nav-icon{width:34px;height:34px;border-radius:11px;background:#e8f1fb;color:#2166a6;font-size:19px}
  .sidebar-nav a.active .nav-icon{background:#d9eafe;color:#16578f}
  .mobile-menu-backdrop{display:block;position:fixed;z-index:31;inset:56px 0 0;border:0;background:#0c1e32a6;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s}
  .mobile-menu-open .mobile-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .app-page{width:100%;height:100%;padding:10px;overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.app-sidebar,.mobile-menu-backdrop{transition:none!important}}
