.dashboard-page{background:#f4f6f0}.dashboard-shell{max-width:1700px;margin:auto}.dashboard-sidebar>.brand,.group-name,.sidebar-back{display:none}.dashboard-sidebar{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid #d3dfd0;padding:4px 12px calc(6px + env(safe-area-inset-bottom))}.dashboard-nav{display:flex;gap:7px;justify-content:space-around}.dashboard-nav>button{min-height:57px;min-width:54px;flex:1;border-radius:10px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px}.dashboard-nav>button .icon{width:20px;height:20px}.dashboard-nav>button[aria-current=page]{background:#e9f2e1;color:#064d46}.dashboard-nav>button:hover{background:#edf3e7}.dashboard-body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.dashboard-topbar{height:75px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #dee7d8;background:#fff}.dashboard-mobile-brand{font-size:23px}.dashboard-mobile-brand .brand-mark{width:29px;height:29px;font-size:27px;border-radius:9px}.demo-badge{font-size:11px;border:1px solid #b4c7ab;border-radius:6px;padding:6px 8px;white-space:nowrap}.dashboard-home{display:none}.role-preview{padding:18px 20px;background:#e9f0df;display:grid;gap:12px;border-bottom:1px solid #d6e2cb}.role-preview strong{display:block;font-size:14px;font-weight:500}.role-preview div>span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.role-preview select{width:100%;min-height:44px;border-radius:8px;border:1px solid #afc5a5;background:#fff;padding:9px 12px;color:var(--ink);font-size:16px}#dashboard-main{padding:26px 20px}.dashboard-title{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-title p{font-size:11px;color:var(--muted);margin-bottom:7px}.dashboard-title h1{font-size:33px;letter-spacing:-1.6px}.dashboard-title .button{min-height:44px;font-size:11px;padding:9px 12px;gap:6px}.dashboard-title .button .icon{width:15px;height:15px}.dashboard-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.dashboard-filters label{display:grid;gap:7px;font-size:11px;color:var(--muted);min-width:0}.dashboard-filters label:nth-child(2){grid-column:1/-1;grid-row:1}.dashboard-filters select{width:100%;min-width:0;font-size:14px;min-height:44px;color:var(--ink);background:white;border:1px solid #bfd0b8;border-radius:8px;padding:10px 8px}.dashboard-grid{display:grid;gap:15px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.metric{background:white;border:1px solid #dce5d6;border-radius:12px;padding:17px 15px;min-width:0}.metric-label{font-size:11px;color:var(--muted);display:block;margin-bottom:12px}.metric-value{font:600 26px/1.2 Manrope,sans-serif;letter-spacing:-1.1px;overflow-wrap:anywhere}.metric-note{font-size:11px;color:var(--muted);margin-top:8px}.metric.balance{grid-column:1/-1;background:#e6eedb}.metric.balance .token-total{gap:7px}.metric.balance .token-total img{width:28px;height:28px}.metric.balance .token-total .total{font-size:29px}.metric.balance .button{min-height:44px;font-size:12px;margin-top:15px;gap:10px;padding:9px 16px}.dash-card{padding:20px 16px;background:#fff;border:1px solid #dce5d6;border-radius:14px;min-width:0}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:20px}.card-heading h2{font-size:18px;letter-spacing:-.6px;font-weight:600}.card-heading p{font-size:12px;color:var(--muted);margin-top:6px}.card-heading .status{font-size:10px}.chart-summary{font:600 29px Manrope,sans-serif;letter-spacing:-1px;margin-bottom:18px}.daily-chart{display:flex;align-items:end;gap:5px;height:158px;border-bottom:1px solid #c4d5bc}.day-bar{flex:1;min-width:0;height:var(--value);min-height:3px;background:#9abc8d;border-radius:3px 3px 0 0}.day-bar:last-child{background:var(--ink)}.chart-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:9px}.chart-data{margin-top:12px}.chart-data summary{min-height:44px;display:flex;align-items:center;font-size:12px;cursor:pointer}.daily-data{list-style:none;padding:0;margin:3px 0 0;display:grid;gap:8px}.daily-data li{display:flex;justify-content:space-between;font-size:12px}.mix-list{display:grid;gap:14px}.mix-row{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px;font-size:13px;padding-bottom:13px;border-bottom:1px solid #e5ecdf}.mix-row:last-child{padding:0;border:0}.mix-row img{height:27px;width:auto;max-width:70px;margin:auto}.mix-row img[src$="google-pay.svg"]{height:49px;max-width:74px}.mix-row>div{display:grid;gap:3px}.mix-row>div strong{font-weight:500}.mix-row>div small{font-size:11px;color:var(--muted)}.channel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding-block:11px;border-bottom:1px solid #e5ecdf}.channel-row:last-child{border:0}.channel-row>span{color:var(--muted)}.payment-list{display:grid;gap:0}.payment-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px solid #e5ecdf;font-size:12px;line-height:1.5}.payment-row:last-child{border:0;padding-bottom:0}.payment-row:first-child{padding-top:0}.payment-row strong{font-weight:500}.payment-row>small{font-size:11px;color:var(--muted)}.payment-row>small:last-child{text-align:right}.location-grid,.flow-grid{display:grid;gap:16px}.location-title{font:600 20px Manrope,sans-serif;letter-spacing:-.7px;margin-bottom:7px}.location-subtitle{font-size:12px;color:var(--muted);margin-bottom:20px}.location-total{font:600 32px Manrope,sans-serif;letter-spacing:-1px;margin-bottom:6px}.location-count{font-size:12px;color:var(--muted)}.location-card .text-link{margin-top:12px;font-size:13px}.location-card details{margin-top:8px;border-top:1px solid var(--line)}.location-card summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:13px;list-style:none}.location-card summary>.icon{width:17px}.location-card summary::-webkit-details-marker{display:none}.location-card .mix-list{padding-bottom:10px}.flow-note{font-size:13px;color:var(--muted);margin-bottom:20px}.flow-allocation{background:#e8f1df;border-radius:8px;padding:12px;display:grid;gap:6px;margin-top:20px;font-size:12px}.flow-allocation strong{font-weight:500}.flow-controls{margin-top:20px}.flow-form{display:grid;gap:14px}.flow-form label,.team-form label,.dashboard-dialog label{display:grid;gap:7px;font-size:12px}.flow-form input,.flow-form select,.team-form input,.team-form select,.dashboard-dialog select{width:100%;min-height:44px;border-radius:8px;background:#fff;border:1px solid #b3c7ab;color:var(--ink);font-size:16px;padding:10px;min-width:0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flow-form .button{justify-self:start;font-size:13px;min-height:44px}.flow-command{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line);margin-top:20px;font-size:13px}.flow-command .button{font-size:12px;min-height:44px}.roles-list{display:grid;gap:0}.role-row{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:27px 1fr;gap:12px}.role-row:first-child{padding-top:0}.role-row:last-child{border:0;padding-bottom:0}.role-level{background:#e9f0e1;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:11px}.role-row strong{display:block;font-size:14px;font-weight:500;margin-bottom:5px}.role-row p{font-size:12px;color:var(--muted)}.member-row{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}.member-row:first-child{padding-top:0}.member-row:last-child{border:0}.member-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e7eedd;font-size:12px;font-weight:600}.member-row strong{display:block;font-size:14px;font-weight:500}.member-row p{font-size:12px;color:var(--muted);margin-top:4px}.member-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.team-form{display:grid;gap:14px}.team-form>.button{font-size:13px;margin-top:5px;min-height:46px}.empty-state{padding:40px 15px;text-align:center;color:var(--muted);font-size:14px}.dashboard-disclaimer{font-size:11px;color:var(--muted);line-height:1.6;margin-top:24px}.dashboard-message:empty{display:none}.dashboard-message{position:fixed;z-index:25;left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));background:var(--ink);color:white;box-shadow:0 7px 24px #20372b24;border-radius:12px;padding:16px 20px;font-size:13px;line-height:1.5;max-width:460px;margin-inline:auto}.dashboard-dialog{border:1px solid var(--line);padding:25px;width:calc(100% - 30px);max-width:460px;border-radius:16px;color:var(--ink);max-height:calc(100dvh - 30px);overflow:auto;background:var(--paper)}.dashboard-dialog::backdrop{background:#002c2466;backdrop-filter:blur(4px)}.dashboard-dialog form{display:grid;gap:19px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-top h2{font-size:24px;letter-spacing:-1px}.dialog-top .icon-button{width:44px;height:44px}.dashboard-dialog>.button{font-size:14px}.staff-note{display:flex;align-items:center;gap:10px;background:#e6eddd;font-size:13px;line-height:1.5;border-radius:10px;padding:15px;margin-bottom:18px}.staff-note .icon{width:20px;height:20px}.demo-bill{display:flex;gap:8px;align-items:end;margin-top:17px}.demo-bill label{display:grid;gap:6px;font-size:12px;flex:1;min-width:0}.demo-bill input{font-size:16px;min-height:44px;border-radius:8px;border:1px solid #b6c8ad;width:100%;padding:10px;color:var(--ink)}.demo-bill button{min-height:44px;font-size:12px;padding:9px 14px}.owner-access-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:15px}
@media(min-width:700px){.role-preview{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 32px}.role-select{min-width:220px}.dashboard-topbar{padding-inline:32px}.dashboard-title h1{font-size:38px}.dashboard-title p{font-size:12px}.dashboard-title .button{font-size:13px}.dashboard-filters{grid-template-columns:1fr 1.5fr 1fr;gap:14px}.dashboard-filters label:nth-child(2){grid-column:auto;grid-row:auto}.dashboard-filters select{font-size:14px}.metric-grid{grid-template-columns:1fr 1fr 1.3fr}.metric.balance{grid-column:auto}.metric-value{font-size:30px}.metric.balance .token-total .total{font-size:28px}.metric.balance .button{min-height:36px;margin-top:11px}.dashboard-grid{grid-template-columns:1.3fr 1fr}.dash-card.full-width{grid-column:1/-1}.location-grid,.flow-grid{grid-template-columns:1fr 1fr}#dashboard-main{padding:30px 32px}.team-grid{grid-template-columns:1fr 1fr}.daily-chart{height:185px}}
@media(min-width:1050px){.dashboard-shell{display:grid;grid-template-columns:205px 1fr;min-height:100vh}.dashboard-sidebar{position:sticky;top:0;bottom:auto;left:auto;right:auto;align-self:start;height:100vh;padding:30px 16px;border:0;border-right:1px solid #dce5d4;background:#fafbf7;display:flex;flex-direction:column;z-index:10}.dashboard-sidebar>.brand{display:flex;font-size:24px;margin-bottom:35px;padding-inline:5px}.dashboard-sidebar .brand-mark{width:31px;height:31px;font-size:29px}.group-name{display:block;font-size:13px;font-weight:500;padding:0 12px 24px}.group-name>span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:6px}.dashboard-nav{flex-direction:column;gap:7px}.dashboard-nav>button{flex:auto;flex-direction:row;justify-content:start;padding:12px 16px;gap:13px;font-size:13px;min-height:47px}.sidebar-back{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:11px;margin-top:auto;padding-inline:10px}.sidebar-back .icon{width:16px}.dashboard-mobile-brand{display:none}.dashboard-topbar{height:65px;padding-inline:40px}.dashboard-home{display:flex;gap:8px;align-items:center;min-height:44px;font-size:12px;margin-left:auto}.dashboard-home .icon{width:17px}.role-preview{padding:20px 40px}.role-preview strong{font-size:15px}.dashboard-body{padding:0;min-width:0}#dashboard-main{padding:35px 40px 40px}.dashboard-title{margin-bottom:28px}.metric{padding:23px 21px}.metric-label{font-size:12px}.metric-value{font-size:35px}.metric-note{font-size:12px}.metric.balance .token-total .total{font-size:33px}.metric.balance .button{min-height:44px}.dashboard-grid{gap:20px}.dash-card{padding:26px}.card-heading h2{font-size:20px}.daily-chart{height:215px}.chart-summary{font-size:33px}.location-grid,.flow-grid{gap:20px}.dashboard-message{left:230px;bottom:25px}.dashboard-disclaimer{font-size:11px}.metric-grid{margin-bottom:22px}}
@media(max-width:359px){#dashboard-main,.dashboard-topbar,.role-preview{padding-left:14px;padding-right:14px}.metric{padding:15px 12px}.metric-value{font-size:23px}.dashboard-title .button{max-width:108px}.two-fields{grid-template-columns:1fr}.dashboard-filters select{font-size:13px}.dash-card{padding:17px 13px}.demo-badge{font-size:10px}}
.shift-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:25px}.shift-layout>div{min-width:0}.shift-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.shift-filters label{display:grid;min-width:0;gap:7px;font-size:12px}.shift-filters input,.shift-filters select{width:100%;min-width:0;min-height:44px;font-size:16px;color:var(--ink);padding:10px;border:1px solid #b5c7ad;border-radius:8px;background:white}.shift-total{display:grid;gap:9px;margin:20px 0}.shift-total>span{font-size:12px;color:var(--muted)}.shift-total>strong{font:600 31px Manrope,sans-serif;letter-spacing:-1px}.shift-total>small{font-size:11px;color:var(--muted);line-height:1.5}.shift-card .button{font-size:13px;gap:15px;min-height:48px}.keeper-check{background:#eff4e9;border-radius:10px;padding:18px 15px;display:grid;gap:13px;align-content:start}.keeper-check>label{font-size:12px}.keeper-check>input{font-size:18px;width:100%;min-height:48px;padding:10px;border:1px solid #9fb593;border-radius:8px;background:white;color:var(--ink)}#keeper-result{display:grid;gap:7px;min-height:63px;font-size:12px}#keeper-result p{font-size:12px;color:var(--muted)}#keeper-result>strong{font:600 27px Manrope,sans-serif;letter-spacing:-1px}.keeper-check .surface-note{font-size:11px;border-top:1px solid #d4e0c9;padding-top:12px}.flow-form output{min-height:44px;background:#edf3e6;border:1px solid #b3c7ab;border-radius:8px;padding:10px;font-size:16px}
@media(min-width:700px){.shift-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.shift-filters{grid-template-columns:minmax(0,1fr)}.keeper-check{padding:22px 20px}}
@media(min-width:1250px){.shift-filters{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
@media(max-width:1049px){.dashboard-page[data-role=staff] .dashboard-sidebar{display:none}.dashboard-page[data-role=staff] .dashboard-body{padding-bottom:10px}.dashboard-page[data-role=staff] .dashboard-message{bottom:20px}}

.shift-shortcut{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 13px;margin-bottom:18px;border:1px solid #bfd0b8;background:#eaf1e2;border-radius:9px;font-size:12px}.shift-shortcut strong{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:500}.shift-shortcut .icon{width:16px;height:16px}.shift-shortcut:hover{background:#ddebd0}.shift-card{scroll-margin-top:15px}

/* Keep decoration off the native date input: iOS adds its padding to 100% width (WebKit 301648). */
.shift-filters .date-control{display:block;min-width:0;width:100%;padding:10px;border:1px solid #b5c7ad;border-radius:8px;background:white}
.shift-filters .date-control input{display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:24px;line-height:24px;padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.shift-filters .date-control input::-webkit-date-and-time-value{min-height:24px;margin:0;text-align:left}
