:root{--green:#1f6f4a;--light:#f5f7f6;--border:#d9e0dc}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--light);color:#1b1b1b}.top{background:var(--green);color:#fff;padding:14px 18px;display:flex;gap:16px;align-items:center}.top a{color:#fff;text-decoration:none}.brand{font-size:20px;font-weight:700;margin-right:auto}.nav{display:flex;gap:8px;overflow:auto;background:#fff;padding:10px;border-bottom:1px solid var(--border)}.nav a{white-space:nowrap;text-decoration:none;color:#123;padding:8px 10px;border-radius:8px}.nav a:hover{background:#edf4f0}.container{max-width:1180px;margin:0 auto;padding:18px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.04)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.btn,button{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:10px;padding:12px 16px;text-decoration:none;font-weight:700;cursor:pointer}.secondary{background:#eef2ef;color:#123}.danger{background:#b42318}.big{font-size:20px;padding:18px 22px;width:100%;margin:8px 0}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;margin:6px 0 12px;background:#fff}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left}.badge{padding:4px 8px;border-radius:999px;background:#eef2ef;font-size:12px}.ok{background:#dff6e8}.warn{background:#fff3cd}.bad{background:#fde2e1}.install{position:fixed;left:16px;right:16px;bottom:16px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:50}.hidden{display:none}@media(max-width:700px){.container{padding:12px}.top{padding:12px}.nav{font-size:14px}table{font-size:13px}.hide-mobile{display:none}}
.muted{color:#5f6b66}.notice{margin-top:12px;padding:12px;border-radius:10px;background:#eef2ef;border:1px solid var(--border)}.notice.ok{background:#dff6e8}.notice.warn{background:#fff3cd}.clock-flow h2{margin-top:0}.clock-flow .hidden{display:none!important}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.form-grid h2{grid-column:1/-1;margin:10px 0 0}.form-grid label{display:flex;flex-direction:column;gap:5px}.small{padding:6px 10px;font-size:.9rem}
.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.rota-scroll{overflow:auto}.rota-board{min-width:1050px}.rota-board th{background:#f5f7f6;vertical-align:top}.rota-board td{min-width:130px;height:95px;vertical-align:top}.open-row td{background:#fffdf2}.shift-card{border:1px solid var(--border);border-radius:10px;padding:8px;margin:6px 0;background:#fff}.shift-card.open-shift{cursor:grab;background:#eef9f1;border-color:#b8dfc3}.shift-card.assigned{background:#eef2ff}.drop-cell{background:#fcfdfc}.drop-cell:hover{outline:2px dashed var(--green);outline-offset:-4px}.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stack{display:block}.stack label{display:block}
table input, table select{min-width:90px;margin:0}.primary{background:var(--green)}

.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:760px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:10px 12px;border-radius:10px;background:#eef2ef;text-decoration:none;color:#123}.tabs a.active{background:var(--green);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.menu-card{display:block;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;text-decoration:none;color:#123}.menu-card strong{display:block;margin-bottom:4px}.status-pending{background:#fff3cd}.status-approved,.status-complete{background:#dff6e8}.status-rejected,.status-incomplete{background:#fde2e1}.status-insufficient_time{background:#ffe8c7}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2ef;font-size:12px}.role-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.role-checkboxes label{display:flex;align-items:center;gap:8px;background:#f8faf9;border:1px solid var(--border);padding:8px;border-radius:10px}.role-checkboxes input{width:auto;margin:0}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.table-wrap table{min-width:680px}.big{font-size:18px}.hide-user-nav{display:none}}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0}.inline-form label{min-width:180px}.inline-form input{margin-bottom:0}.period-nav .btn{white-space:nowrap}.edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:end}.compact-form input,.compact-form select{margin-bottom:0}.template-items{display:flex;flex-direction:column;gap:8px}.template-item{display:grid;grid-template-columns:1fr 90px 110px 90px;gap:8px;align-items:end;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fafcfb}@media(max-width:700px){.template-item{grid-template-columns:1fr}.period-nav{align-items:stretch}.period-nav .btn,.inline-form button{width:100%}.inline-form{width:100%}}
.role-row{display:flex;gap:1rem;grid-column:1/-1;align-items:flex-start}.role-row .col{flex:1;min-width:0}.actions-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.actions-row input,.actions-row select{min-width:140px}.table-wrap{overflow-x:auto}.top a{margin-left:.75rem}@media(max-width:760px){.role-row{flex-direction:column}.role-row .col{width:100%}}
.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.task-list{display:flex;flex-direction:column;gap:10px}.task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}.task-title{font-weight:700}.task-main{min-width:0}.task-status{text-align:right}.task-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.task-actions .inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-actions .note-input{min-width:180px;max-width:260px;margin:0}.success{background:#1f6f4a}.warning{background:#b7791f}@media(max-width:760px){.page-head .actions-row{width:100%;align-items:stretch}.page-head .button,.page-head .btn{flex:1 1 100%;text-align:center}.task-card{grid-template-columns:1fr}.task-status{text-align:left}.task-actions,.task-actions .inline-form{width:100%}.task-actions button,.task-actions .note-input{width:100%;max-width:none}}
.shift-link{display:block;text-decoration:none;color:inherit}.shift-link:hover{filter:brightness(.98);transform:translateY(-1px)}
.settings-dropdown{margin:12px 0 18px}.settings-dropdown summary{list-style:none;display:inline-block}.settings-dropdown summary::-webkit-details-marker{display:none}.settings-dropdown[open] summary{margin-bottom:12px}.compact-panel{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fafcfb}
/* v0.1.12 UI updates */
.task-simple-group h2{margin-top:0}.task-row-simple{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:12px 0}.task-row-simple:first-of-type{border-top:0}.task-button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.task-button-row .inline-form{display:inline-flex}.task-row-dashboard{padding:10px 0;border-top:1px solid var(--border)}.task-row-dashboard:first-of-type{border-top:0}.timesheet-row{margin-bottom:10px}.date-inline{display:flex;align-items:center;gap:8px}.date-inline input{width:auto;margin:0}.rota-calendar-user{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.rota-day-card{border:1px solid var(--border);border-radius:12px;background:#fafcfb;padding:12px}.rota-day-card h3{margin-top:0}.user-shift-card{border-radius:12px;padding:10px;margin:8px 0;border:1px solid var(--border)}.block-pill{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:700}.block-am,.block-am-row .block-pill{background:#fde2e1!important}.block-pm,.block-pm-row .block-pill{background:#dff6e8!important}.block-full,.block-full-row .block-pill{background:#e8f0ff!important}.block-custom,.block-custom-row .block-pill{background:#fff3cd!important}.user-shift-card.open{border-style:dashed}.warning{background:#b7791f;color:#fff}
@media(max-width:760px){.task-row-simple{align-items:stretch;flex-direction:column}.task-button-row{justify-content:stretch}.task-button-row form,.task-button-row button{width:100%}.date-inline{width:100%;display:block}.date-inline input{width:100%}.timesheet-row .btn{flex:1 1 100%;text-align:center}}

.dashboard-stack{display:block}.dashboard-tasks-full{margin-top:1rem}.icon-btn{min-width:44px;text-align:center;padding:.55rem .75rem}.icon-actions{gap:.4rem}.task-row-simple{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e6ece8}.task-button-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.danger{background:#b42318!important;color:#fff!important}@media(max-width:700px){.task-row-simple{align-items:flex-start}.task-button-row{min-width:100%;justify-content:flex-start}.task-row-simple{flex-wrap:wrap}}
/* v0.1.14 simplified admin lists */
.table-link{font-weight:700;color:var(--green);text-decoration:none}.table-link:hover{text-decoration:underline}.settings-dropdown .btn{cursor:pointer}
/* v0.1.15 responsive icons, payroll/settings/vehicles */
.icon-nav .nav-icon{display:inline-block;min-width:1.25rem;text-align:center}.icon-nav .nav-text{margin-left:.35rem}.icon-only{text-decoration:none;font-size:1.15rem}.btn-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.clock-primary{display:block;text-align:center;font-size:1.35rem}.simple-shift-table td,.simple-shift-table th{vertical-align:middle}.vehicle-available{background:#dff6e8}.vehicle-needs_cleaning{background:#fff3cd}.vehicle-needs_vehicle_wash{background:#dbeafe}.vehicle-maintenance,.vehicle-off_road{background:#fde2e1}.vehicle-retired{background:#e5e7eb}@media(max-width:760px){.icon-nav{justify-content:space-around}.icon-nav .nav-text{display:none}.icon-nav a{font-size:1.35rem;padding:.55rem .65rem}.top .brand{font-size:1rem}.top .icon-only{font-size:1.25rem;margin-left:.35rem}.btn-row{flex-direction:row!important}.btn-row .btn{width:auto!important;flex:0 0 auto}.simple-shift-table td,.simple-shift-table th{white-space:normal}}

/* v0.1.17 responsive list rows + scheduling drag/deallocate */
.responsive-list{display:flex;flex-direction:column;gap:.5rem;width:100%}.responsive-row{display:grid;grid-template-columns:minmax(170px,auto) minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem .25rem;border-bottom:1px solid var(--border)}.responsive-row:last-child{border-bottom:0}.responsive-row .row-primary{font-weight:700;min-width:0}.responsive-row .row-secondary{min-width:0}.responsive-row .row-action{justify-self:end}.responsive-row form{margin:0}.maintenance-row{grid-template-columns:minmax(180px,1fr) auto auto}.vehicle-row{grid-template-columns:minmax(130px,1fr) auto}.shift-row{grid-template-columns:minmax(210px,auto) minmax(0,1fr) auto}.scheduling-board .shift-card[draggable="true"]{cursor:grab}.scheduling-board .shift-card[draggable="true"]:active{cursor:grabbing}.scheduling-board .drop-cell{transition:outline .15s ease, background .15s ease}.scheduling-board .drop-cell:hover,.scheduling-board .drop-cell.drag-over{outline:2px dashed var(--green);outline-offset:-4px}.deallocate-zone{background:#fffdf2}.scheduling-board-wrap .muted{margin-top:0}
@media(max-width:760px){.responsive-row{grid-template-columns:1fr;gap:.35rem;align-items:start}.responsive-row .row-action{justify-self:start}.responsive-row .row-action button{width:100%}.responsive-row form{width:100%}.shift-row,.maintenance-row,.vehicle-row{grid-template-columns:1fr}.responsive-list{gap:.25rem}.responsive-row{padding:.85rem 0}.rota-board{font-size:13px}.rota-board td{min-width:120px}}


/* v0.1.19 mobile bottom nav + responsive no-scroll layouts */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{touch-action:manipulation}.bottom-app-nav{display:none}
@media(max-width:767.98px){body{padding-bottom:88px}.nav{display:none!important}.bottom-app-nav{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid rgba(0,0,0,.12);box-shadow:0 -4px 18px rgba(0,0,0,.08)}.bottom-app-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:52px;border-radius:.9rem;text-decoration:none;font-size:.72rem;line-height:1;color:#495057}.bottom-app-nav .nav-icon{font-size:1.25rem;line-height:1}.bottom-app-nav a.active{background:var(--green,#1f6f4a);color:#fff}}
.clock-primary-row .btn-clock-action{width:100%;display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:72px;font-size:1.3rem;font-weight:700;border-radius:1rem}.responsive-list{display:flex;flex-direction:column;gap:.5rem}.responsive-list-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.08);border-radius:.85rem;background:#fff}.responsive-list-row.two-col{grid-template-columns:minmax(0,1fr) auto}@media(max-width:575.98px){.responsive-list-row,.responsive-list-row.two-col{grid-template-columns:1fr;align-items:start}.responsive-list-row .row-action,.responsive-list-row .row-action .btn{width:100%}}
.view-toggle-icons{display:inline-flex;gap:.35rem;align-items:center}.view-toggle-icons .btn{width:42px;height:38px;display:inline-flex;align-items:center;justify-content:center}.icon-save-btn{width:42px;height:38px;display:inline-flex;align-items:center;justify-content:center}.notification-zero,.dashboard-notifications-zero,[data-notification-count="0"]{display:none!important}


/* v0.1.20 Dashboard Quick Actions */
.quick-access-section{margin:1.25rem 0 1.75rem}.quick-access-title{font-weight:800;font-size:clamp(1.8rem,6vw,3.25rem);letter-spacing:-.04em;margin-bottom:1.25rem;color:#000}.quick-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,4vw,3.25rem)}.quick-access-card{min-height:clamp(150px,28vw,235px);border-radius:1.6rem;padding:1.4rem 1rem;text-decoration:none;color:#202124;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.05rem;border:0;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.quick-access-card:hover{color:#202124;transform:translateY(-1px);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.06)}.quick-access-card:active{transform:scale(.985)}.quick-access-card.is-peach{background:#fde6dc}.quick-access-card.is-blue{background:#d8e6ff}.quick-access-card.is-green{background:#dff4e8}.quick-access-card.is-yellow{background:#fff1c9}.quick-access-card.is-lilac{background:#eadfff}.quick-access-icon-wrap{width:clamp(76px,11vw,106px);height:clamp(76px,11vw,106px);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:clamp(2.15rem,5vw,3.5rem);line-height:1}.quick-access-label{font-weight:500;font-size:clamp(1.35rem,3.5vw,2.45rem);line-height:1.15;text-align:center}@media(max-width:991.98px){.quick-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.quick-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.quick-access-card{min-height:118px;border-radius:1.05rem;padding:.8rem .35rem;gap:.65rem}.quick-access-icon-wrap{width:54px;height:54px;font-size:1.75rem}.quick-access-label{font-size:.95rem;line-height:1.1}}


/* v0.1.21 unavailability */
.unavailability-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:#fff3cd;color:#664d03;font-size:.85rem;font-weight:600}.unavailability-row{border:1px solid rgba(0,0,0,.08);border-radius:.85rem;padding:.75rem 1rem;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;margin-bottom:.5rem}@media(max-width:575.98px){.unavailability-row{grid-template-columns:1fr}}

/* v0.3.0 consolidated additions */
.payroll-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.payroll-action-card{border:0;border-radius:1.25rem;min-height:112px;padding:1rem .75rem;text-decoration:none;color:#1f2937;background:#eef4ff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;text-align:center;font-weight:600}.payroll-action-card span:first-child{font-size:2rem}.payroll-action-card.active{background:var(--green,#1f6f4a);color:#fff}.payroll-period-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-next-shift{border-radius:1rem}.vehicle-not-permitted{background:#fee2e2;color:#991b1b}.responsive-row.payroll-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}@media(max-width:575.98px){.payroll-actions{gap:.55rem}.payroll-action-card{min-height:86px;border-radius:1rem;font-size:.85rem;padding:.65rem .35rem}.responsive-row.payroll-row{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}}
