:root{color-scheme:light;--ink:#30251e;--cream:#f3ebdd;--line:#d7cebd;--olive:#596347;--muted:#655f55}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 Arial,sans-serif}[hidden]{display:none!important}.masthead{background:var(--ink);color:var(--cream);padding:20px max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;gap:24px}.masthead img{display:block}.masthead span{font-size:11px;letter-spacing:.12em;flex:1}.masthead button{background:transparent;color:var(--cream);border:1px solid #8f8475}main{max-width:1100px;margin:auto;padding:32px 24px}h1,h2,h3,p{margin:0 0 16px}h1{font:clamp(32px,5vw,48px)/1.1 Georgia,serif}h2{font:28px/1.2 Georgia,serif}h3{font:23px/1.2 Georgia,serif}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.14em;color:var(--olive);margin-bottom:12px}.card{background:#fcf9f2;border:1px solid var(--line);padding:28px;margin-bottom:24px;border-radius:8px}.login{max-width:450px;margin:36px auto}.small,footer{font-size:13px;color:var(--muted)}.heading,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.heading p{margin-bottom:0}button,input,select,textarea{font:inherit}button{cursor:pointer;padding:12px 18px;border-radius:4px;border:1px solid var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--ink);color:var(--cream)}.secondary{background:transparent;color:var(--ink)}.large{width:100%;padding:18px;margin:8px 0 18px;font-size:20px}label{display:block;font-size:14px;font-weight:bold;margin-bottom:16px}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #aca18e;padding:12px;background:white;border-radius:3px;color:var(--ink);min-width:0}textarea{min-height:85px}.check{display:flex;gap:10px;align-items:center;font-weight:normal}.check input{width:18px;height:18px;margin:0}form>button{width:100%;margin-bottom:16px}.pill{display:inline-block;background:#e5eadc;color:#39452c;padding:5px 12px;border-radius:20px;font-size:13px;margin-bottom:20px}.table-wrap{overflow:auto;position:relative}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}td,th{padding:14px 12px;border-bottom:1px solid var(--line)}td{font-size:14px}td button{font-size:12px;padding:7px 10px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pair{display:flex;gap:14px}.pair>*{flex:1;min-width:0}details{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}summary{cursor:pointer;font-weight:bold;margin-bottom:18px}fieldset{border:1px solid var(--line);margin-bottom:16px}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:8px;padding:28px;background:#fcf9f2;color:var(--ink)}dialog::backdrop{background:#30251e88}#message:not(:empty){max-width:750px;margin:16px auto;padding:14px 18px;border:1px solid #af7858;background:#fff8ed}footer{padding:20px 0;text-align:center}.roster-line{padding:12px 0;border-bottom:1px solid var(--line)}.roster-line small{display:block;color:var(--muted)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ae6849;outline-offset:3px}@media(max-width:650px){main{padding:24px 16px}.masthead{padding:16px;gap:12px}.masthead img{width:95px;height:auto}.masthead span{font-size:9px}.masthead button{padding:9px}.card{padding:20px}.setup-grid{grid-template-columns:1fr;gap:0}.heading{align-items:flex-start}.section-head{display:block}.pair{flex-wrap:wrap}.pair>*{flex-basis:120px}.login{margin:18px auto}input,select,textarea{font-size:16px}}

.week-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.week-nav strong{font-size:14px;text-align:center}.week-nav button{background:transparent;min-width:44px}.schedule-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.schedule-entry,.drink-entry{border-top:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}.schedule-entry p,.drink-entry p{margin:8px 0}.schedule-entry.cancelled{border-left:3px solid #ae6849;padding-left:12px}.schedule-entry.cancelled strong{color:var(--muted)}.schedule-entry button,.drink-entry button{font-size:13px;padding:9px 12px}#beverage-form{max-width:480px}#schedule-error:not(:empty),#void-error:not(:empty),#extras-message:not(:empty){color:#853e26;margin:16px 0}

.private-message{white-space:pre-wrap}#complaint-form{max-width:650px}#complaint-text{min-height:150px}#finance-history{max-height:350px;overflow:auto}

.team-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.team-nav a{color:var(--ink);border:1px solid var(--line);padding:10px 14px;border-radius:4px;font-size:14px;text-decoration:none}.team-nav a:hover{background:#e6ddcd}section{scroll-margin-top:20px}

.business-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.business-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}.business-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.business-line{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:14px}#business-panel>div>button{margin:0 8px 12px 0}#business-panel .drink-entry button{margin:4px 8px 4px 0}dialog{max-height:90vh;overflow:auto}#business-panel{overflow-wrap:anywhere}

/* Focused team dashboard: one task area at a time. */
.dashboard-nav{align-items:stretch;gap:8px}.dashboard-nav>a,.dashboard-nav summary{font-weight:600;background:#fcf9f2;border:1px solid var(--line);padding:12px 16px;border-radius:6px;font-size:14px;margin:0}.dashboard-nav a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.dashboard-nav>details{margin:0;padding:0;border:0;position:relative}.team-more-menu{position:absolute;right:0;top:54px;min-width:220px;padding:8px;background:#fcf9f2;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #30251e1a;z-index:15;display:grid;gap:4px}.team-more-menu a{border:0;white-space:nowrap}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.dashboard-shortcuts a{display:flex;flex-direction:column;gap:5px;padding:20px;border:1px solid var(--line);background:#fcf9f2;border-radius:8px;color:var(--ink);text-decoration:none}.dashboard-shortcuts a:hover{background:#eee5d5}.dashboard-shortcuts span{font-size:13px;color:var(--muted)}.dashboard-count{display:inline-block;vertical-align:middle;background:var(--olive);color:white;border-radius:20px;padding:3px 10px;font:600 14px/1.5 Arial,sans-serif}.loan-entry .section-head{margin:0;display:flex}.loan-entry>.pair{max-width:380px;margin-top:16px}.loan-entry>.pair button{min-height:44px;font-size:15px}.loan-entry strong{font-size:17px}#dashboard-approvals{border-top:4px solid var(--olive)}#dashboard-approvals a{color:var(--olive);font-size:14px}#dashboard-loan-message:empty{display:none}#punch-panel{max-width:640px}#finance-panel>details{margin-bottom:20px}@media(max-width:650px){.dashboard-nav{gap:6px;flex-wrap:nowrap}.dashboard-nav>a,.dashboard-nav summary{font-size:12px;padding:11px 9px;white-space:nowrap}.dashboard-shortcuts{grid-template-columns:1fr;gap:8px}.dashboard-shortcuts a{padding:14px 16px}.loan-entry .section-head{align-items:flex-start;gap:12px}.loan-entry .section-head strong:last-child{white-space:nowrap}.dashboard-count{font-size:12px}.dashboard-nav .team-more-menu a{font-size:14px}.dashboard-nav{justify-content:space-between}}

/* Compact weekly roster */
.roster-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 14px}.roster-toolbar .week-nav{margin:0;flex:1;min-width:240px;justify-content:flex-start}.roster-toolbar .week-nav strong{flex:1}.roster-jump{margin:0;font-size:12px}.roster-jump input{padding:8px;margin:3px 0 0}.roster-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin:16px 0}.roster-week{border-top:1px solid var(--line)}.roster-day{display:grid;grid-template-columns:95px 1fr;border-bottom:1px solid var(--line)}.roster-date{padding:17px 12px;display:flex;flex-direction:column;gap:2px;font-size:13px}.roster-date>strong{font-size:17px}.roster-day.is-today{background:#eff0e6}.roster-today{font-size:11px;color:var(--olive);font-weight:bold}.roster-shift{display:flex;justify-content:space-between;gap:14px;padding:15px 8px;border-bottom:1px dashed var(--line)}.roster-shift:last-child{border:0}.roster-shift-info{display:flex;flex-direction:column;gap:4px}.roster-time{font-size:18px;letter-spacing:-.02em}.roster-place{display:block;font-size:13px;color:var(--muted)}.roster-person{font-size:14px}.roster-tag{font-size:12px;color:#865330}.roster-empty{margin:0;padding:20px 8px;color:var(--muted);font-size:14px}.roster-note{margin:4px 0 0;padding:0;border:0;font-size:13px}.roster-note summary{margin:0;font-weight:400}.roster-note p{margin:8px 0}.roster-actions{margin:0;padding:0;border:0;text-align:right}.roster-actions summary{font-size:13px;margin:0;padding:8px}.roster-actions button{display:block;white-space:nowrap;padding:8px;font-size:13px;margin-top:6px}.roster-help{margin:20px 0 0}.roster-meta+ p:empty{display:none}.next-shift-card{padding:20px 24px;background:#e9ecdf;border:1px solid #c7ceb9;border-radius:8px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.next-shift-card .eyebrow{margin:0}.next-shift-date{font:24px/1.25 Georgia,serif}.next-shift-time{font-size:21px}.next-shift-card a{color:var(--olive);font-weight:600;margin-top:8px;font-size:14px}.next-shift-card p{margin:0}.roster-shift.cancelled{opacity:.7}.roster-shift.cancelled .roster-time{text-decoration:line-through}#schedule-filters{max-width:300px}#schedule-filters label{margin:0}#schedule-panel .section-head h2{margin:0}
@media(max-width:650px){.roster-toolbar{gap:10px}.roster-toolbar .week-nav{flex-basis:100%;min-width:0}.roster-jump{flex:1}.roster-jump input{width:100%}.roster-meta{align-items:flex-start;flex-direction:column;gap:3px}.roster-day{grid-template-columns:65px 1fr}.roster-date{padding:15px 6px}.roster-time{font-size:16px}.roster-shift{gap:6px}.next-shift-card{padding:18px}.next-shift-date{font-size:22px}#schedule-panel .section-head{display:flex}}
.shift-planner{max-width:680px}.planner-fields{padding:0;border:0;display:flex;flex-direction:column;gap:14px;min-width:0}.planner-fields>label,.planner-fields .pair label{margin:0}.planner-fields>strong{font-size:14px}.planner-people{max-height:210px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.planner-people label,.planner-days label{margin:0;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fffdf8;min-height:48px}.planner-people label:has(input:checked),.planner-days label:has(input:checked){background:#e9ecdf;border-color:var(--olive)}.planner-days{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.planner-days label{font-size:12px;padding:9px;gap:7px}.planner-fields>details{margin:0}.planner-review{max-height:50vh;overflow:auto;margin:16px 0}.planner-person-review{padding:12px 0;border-top:1px solid var(--line)}.planner-person-review p{margin:5px 0;font-size:14px}.planner-total{font-weight:bold;font-size:18px}.planner-error:not(:empty){padding:12px;background:#fff1e5;color:#783b22;border-radius:5px}.planner-fields .small{margin:0}@media(max-width:650px){.planner-days{grid-template-columns:repeat(2,1fr)}.planner-people{grid-template-columns:1fr}.shift-planner{padding:20px}}

/* Manager's employee-by-day planning grid */
#schedule-panel:has(.roster-grid){padding:24px 18px}#schedule-filters{max-width:none;display:flex;gap:14px;flex-wrap:wrap}#schedule-filters label{flex:1;min-width:180px;max-width:300px}.roster-grid-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;max-height:68vh}main:has(.dashboard-page:not([hidden]) #schedule-panel .roster-grid){max-width:1440px}.roster-grid{min-width:1040px;table-layout:fixed;border-collapse:separate;border-spacing:0;white-space:normal}.roster-grid th,.roster-grid td{padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;text-transform:none;letter-spacing:0}.roster-grid thead th{position:sticky;top:0;background:#eee8dd;z-index:2;font-size:12px;font-weight:bold;text-align:center;padding:12px 6px}.roster-grid th:first-child{width:145px;position:sticky;left:0;background:#fcf9f2;z-index:3;text-align:left;font-size:14px}.roster-grid thead th:first-child{z-index:4;background:#eee8dd}.roster-grid th:last-child,.roster-grid td:last-child{width:62px}.roster-grid small{display:block;font-weight:400;margin-top:5px;color:var(--muted)}.roster-grid .grid-today{background:#edf0e4}.grid-cell{display:flex;flex-direction:column;gap:5px;min-height:70px;padding:0;width:100%;background:transparent;border:0;text-align:left}.grid-cell:hover{outline:1px dashed var(--olive);outline-offset:2px}.grid-empty{color:#80776b;font-size:12px;padding:19px 8px}.shift-chip{display:flex;flex-direction:column;gap:4px;padding:8px 7px;border-radius:5px;font-size:11px;line-height:1.4;border-left:3px solid #987457;background:#ede3d5;color:#42362b}.shift-chip strong{font-size:12px}.shift-morning{background:#f3e7c8;border-color:#ab8830;color:#574517}.shift-mid{background:#dde8d8;border-color:#71865f;color:#334b2b}.shift-closing{background:#e7deed;border-color:#8b699c;color:#54355e}.shift-off{background:#eeede8;border-color:#aaa69a;color:#6a665b;padding:16px 7px}.grid-total{text-align:center;font-weight:bold}.grid-help{margin:12px 0 0}.cell-choices{display:grid;gap:8px;margin:12px 0}.cell-choices button{text-align:left;min-height:48px}.cell-existing{padding:15px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.cell-existing button{font-size:13px;padding:9px;margin:4px 8px 0 0}.roster-cell-dialog>button{margin-top:20px}.roster-cell-dialog select{margin-bottom:18px}.roster-cell-dialog .planner-review{max-height:35vh}.roster-cell-dialog .primary{width:100%}.cell-off{padding:20px;background:#eeede8;border-radius:6px}.roster-toolbar:has(#copy-last-week:not([hidden])) .roster-jump{max-width:180px}@media(max-width:650px){.roster-grid{min-width:1030px}.roster-grid th:first-child{width:120px}.roster-grid-scroll{max-height:65vh}.roster-toolbar #copy-last-week{font-size:13px}.roster-toolbar .roster-jump{max-width:none!important}}

/* Keep the entire manager week visible in a narrow desktop panel. */
#workspace:has(.dashboard-page:not([hidden]) #schedule-panel .roster-grid)>.heading>div{display:none}
#workspace:has(.dashboard-page:not([hidden]) #schedule-panel .roster-grid)>.heading{justify-content:flex-end;margin-bottom:8px}
#workspace:has(.dashboard-page:not([hidden]) #schedule-panel .roster-grid)>.heading button{padding:7px 14px}
@media(min-width:651px) and (max-width:1100px){.roster-grid{min-width:800px}.roster-grid th:first-child{width:110px;font-size:12px}.roster-grid th:last-child,.roster-grid td:last-child{width:45px}.roster-grid th,.roster-grid td{padding:5px}.roster-grid thead th{font-size:11px}.shift-chip{padding:7px 4px}.grid-empty{padding:19px 2px}}

/* Classics menu: one employee selection and one confirmation. */
.beverage-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.beverage-menu button{min-height:72px;text-align:left;background:#fcf9f2;border:1px solid var(--line);font-weight:bold;padding:16px}.beverage-menu button[aria-pressed="true"]{border:2px solid var(--olive);background:#e7ecdf;color:#33422a;padding:15px}.beverage-menu button:disabled{opacity:1;cursor:default}.beverage-menu button[aria-pressed="true"]::after{content:' ✓';float:right}.beverage-availability:not(:empty){padding:12px 16px;background:#eee8dd;border-radius:5px;font-size:14px}#beverage-form{max-width:none}.beverage-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.beverage-confirm p{margin:0;font-weight:bold}.beverage-history{margin-top:28px}.beverage-history summary{margin-bottom:12px}@media(max-width:650px){.beverage-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.beverage-menu button{font-size:14px;padding:12px}.beverage-menu button[aria-pressed="true"]{padding:11px}.beverage-confirm{display:block}.beverage-confirm button{width:100%;margin-top:12px}}
