@font-face{font-family:Apo Sans;src:url("/static/fonts/SourceSans3-Regular.ttf.2bbd402483a1.woff2") format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Apo Sans;src:url("/static/fonts/SourceSans3-Semibold.ttf.b1104bf9708a.woff2") format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Apo Serif;src:url("/static/fonts/SourceSerif4-Regular.ttf.a82c1833867a.woff2") format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f3eee4;--ivory:#fbf9f4;--ink:#25382e;--muted:#5d6b60;--line:#d5d8ca;--green:#244d3c;--bottle:#12382b;--brass:#b58a48;--soft:#e8eee3;--warn:#785b27;--warn-bg:#f4ead5;--error:#a83d37;--error-bg:#f9e9e4;font-family:Apo Sans,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.45}
*{box-sizing:border-box}body{margin:0}a{color:var(--green)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:3px}h1,h2,h3{font-family:Apo Serif,Georgia,serif;font-weight:400;line-height:1.2;margin:0 0 12px}h1{font-size:31px}h2{font-size:26px}h3{font-size:22px}p{margin:0 0 16px}label{font-size:15px;font-weight:600}small,.small{font-size:13px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.skip-link{position:absolute;left:10px;top:-70px;padding:10px;background:var(--ivory);z-index:20}.skip-link:focus{top:10px}
.topbar{background:var(--bottle);color:var(--ivory);border-bottom:3px solid var(--brass);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 30px;min-height:95px}.brand{display:flex;gap:12px;align-items:center;font-family:Apo Serif,Georgia,serif;font-size:31px;line-height:1.1;text-decoration:none;color:var(--ivory)}.brand-symbol{font-size:29px;color:var(--brass)}.brand small{display:block;font:12px/1.35 Apo Sans,sans-serif;letter-spacing:.02em;margin-top:7px;max-width:310px}.pharmacy-picker{display:flex;flex-direction:column;gap:5px;min-width:220px;max-width:330px}.pharmacy-picker label{font-size:12px;font-weight:400}.user-menu{display:flex;align-items:center;gap:15px;font-size:14px}.user-menu form{margin:0}.text-button{background:transparent;border:0;color:var(--green);padding:8px 0;text-decoration:underline;min-height:40px}.text-button.light{color:var(--ivory)}
.layout{display:grid;grid-template-columns:192px minmax(0,1fr);max-width:1920px;margin:0 auto;min-height:calc(100vh - 140px)}.layout.no-sidebar{grid-template-columns:1fr}.sidebar{background:var(--bottle);padding:25px 12px;display:flex;flex-direction:column;gap:5px}.sidebar>a{color:var(--ivory);font-size:15px;padding:11px 12px;border-radius:3px;text-decoration:none;min-height:44px}.sidebar>a[aria-current=page]{background:var(--ivory);color:var(--ink);box-shadow:inset 3px 0 var(--brass);font-weight:600}.sidebar-foot{color:var(--ivory);font-size:12px;border-top:1px solid var(--brass);padding:20px 10px 0;margin-top:25px}.main{padding:30px;min-width:0;max-width:1800px}.no-sidebar .main{width:100%;max-width:1260px;margin:auto}.site-footer{font-size:12px;color:var(--muted);padding:16px 30px;border-top:1px solid var(--line)}
.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:24px}.page-heading p{margin:0;color:var(--muted);font-size:16px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--ivory);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:11px 15px;font-size:15px;min-height:44px;text-decoration:none}.button.primary{background:var(--green);color:var(--ivory);border-color:var(--green);font-weight:600}.button.danger{color:var(--error);border-color:var(--error)}.button.small{padding:7px 10px;font-size:13px;min-height:36px}.button.big{min-height:64px;width:100%;font-size:19px;letter-spacing:.03em}.button[aria-pressed=true]{background:var(--green);color:var(--ivory)}.field{background:var(--ivory);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:11px;width:100%;min-width:0;font-size:16px;min-height:44px}.field[type=color]{padding:4px;height:45px}.field[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack label,.form-grid label{display:flex;flex-direction:column;gap:7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-stack .check-label,.check-label{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check-label input{accent-color:var(--green);width:19px;height:19px;flex-shrink:0;margin-top:2px}.form-panel,.paper-panel{background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);padding:24px;border-radius:4px}.form-panel{max-width:760px}.form-panel.wide{max-width:1080px}.form-panel>form>.actions{margin-top:25px}.errorlist{color:var(--error);font-size:14px;margin:0;padding-left:20px}.notice{padding:14px 17px;background:var(--soft);border-left:3px solid var(--green);margin-bottom:20px;border-radius:3px;font-size:15px}.notice.warning{background:var(--warn-bg);color:var(--warn);border-color:var(--brass)}.notice.error{background:var(--error-bg);color:var(--error);border-color:var(--error)}.tag{display:inline-block;font-size:12px;background:var(--soft);color:var(--green);padding:5px 8px;border-radius:3px;white-space:normal}.tag.warning{background:var(--warn-bg);color:var(--warn)}.tag.neutral{background:var(--paper);color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.11em;color:var(--green);text-transform:uppercase;margin-bottom:18px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pharmacy-card{background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:4px;padding:24px;display:flex;flex-direction:column;gap:15px}.pharmacy-card p{margin:0}.pharmacy-card .actions{margin-top:auto}.summary-strip{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:24px}.summary-strip>div{background:var(--ivory);border-left:3px solid var(--brass);padding:15px 20px;min-width:160px}.summary-strip strong{display:block;font-size:26px;font-weight:600}.table-wrap{overflow-x:auto;background:var(--ivory);border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:12px;font-weight:600;background:var(--soft);padding:13px 12px}td{border-top:1px solid var(--line);padding:14px 12px;vertical-align:middle}td .secondary{display:block;color:var(--muted);font-size:12px;margin-top:5px}td .actions{gap:5px}.table-wrap .field{min-width:100px}details{margin:15px 0}summary{cursor:pointer;color:var(--green);min-height:32px}details p{margin-top:12px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.filters label{display:flex;flex-direction:column;gap:5px;font-size:13px}.filters .field{max-width:210px}.legend{display:flex;gap:9px 18px;flex-wrap:wrap;font-size:13px;margin:16px 0}.legend>span{display:flex;align-items:center;gap:6px}.person-mark{display:inline-block;width:7px;height:16px;background:var(--lane-color)}
.week-scroll{overflow-x:auto;background:var(--ivory);border:1px solid var(--line);border-radius:3px}.week-grid{display:grid;grid-template-columns:repeat(var(--day-count,6),minmax(var(--day-width,128px),1fr));min-width:calc(var(--day-count,6) * var(--day-width,128px));width:100%}.journal-day{padding:10px 6px 16px;min-width:0;border-right:1px solid var(--line)}.journal-day:last-child{border-right:0}.journal-day h3{font:600 14px Apo Sans,sans-serif;margin:0 0 10px}.day-absences{height:var(--head-height,52px);padding:7px 3px;font-size:11px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto}.day-absence{line-height:1.25;margin-bottom:6px}.day-absence strong{display:block}.day-absence small{font-size:11px;color:var(--muted)}.timeline{padding-top:92px;display:grid;grid-template-columns:20px minmax(0,1fr)}.hour-axis{height:440px;position:relative;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.hour-axis span{position:absolute;left:0;transform:translateY(-50%)}.lanes{display:grid;grid-template-columns:repeat(var(--staff-count,4),minmax(0,1fr));gap:2px;height:440px;position:relative;border-bottom:1px solid var(--line)}.time-grid-line{position:absolute;height:1px;left:0;right:0;background:var(--line);pointer-events:none}.lane{position:relative;min-width:0;border-left:1px solid var(--line)}.lane-label{position:absolute;top:-88px;left:-1px;right:auto;width:11px;height:82px;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:10px;line-height:1;overflow:hidden;text-overflow:ellipsis}.lane-hours{position:relative;height:100%;margin:0 1px}.time-band{position:absolute;left:0;right:0;background:var(--lane-color);border:0;border-radius:0;padding:0;min-height:3px;text-decoration:none}.time-band:focus-visible{outline:3px solid var(--ink)}.time-band[draggable=true]{cursor:grab}.time-band.dragging{opacity:.55}.lane.drop-target{background:var(--soft)}.away-band{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,var(--ivory) 0px,var(--ivory) 3px,var(--line) 3px,var(--line) 5px);color:var(--ink);font-size:10px;overflow:hidden}.away-band.pending{background:transparent;outline:1px dashed var(--ink);outline-offset:-1px}.away-band span{background:var(--ivory);padding:1px;writing-mode:vertical-rl}.plan-help{font-size:13px;color:var(--muted);margin-top:12px}.totals{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;margin-top:20px}.totals strong{font-weight:600}
.auth-card{max-width:490px;background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);padding:32px;border-radius:5px;margin:40px auto}.auth-card .form-stack{margin-top:25px}.subtle-link{display:block;font-size:14px;margin-top:18px}.pin-input{letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums}.mfa-qr{display:block;width:220px;max-width:100%;margin:22px auto}.secret-key{overflow-wrap:anywhere}.recovery-list{columns:2;padding:0;list-style:none;font-size:15px}.recovery-list li{padding:6px 0}.employee-card{max-width:400px;background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);padding:28px;text-align:center}.employee-card img{width:180px;max-width:100%}.employee-card h2{margin-top:15px}.kv-list{margin:0}.kv-list>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.kv-list dt{color:var(--muted)}.kv-list dd{margin:0;font-variant-numeric:tabular-nums}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.long-text{white-space:pre-wrap;overflow-wrap:anywhere}
.terminal-page{background:var(--paper)}.terminal-wrap{max-width:670px;margin:30px auto;padding:0 18px}.terminal-surface{background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:5px;padding:32px;min-height:460px}.terminal-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;color:var(--muted);font-size:13px}.terminal-heading time{font-size:23px;font-variant-numeric:tabular-nums;color:var(--ink)}.terminal-content{display:flex;flex-direction:column;gap:18px}.terminal-content h1{margin:0}.terminal-content p{margin:0}.terminal-content .form-stack{gap:14px}.scan-frame{background:var(--paper);border:1px dashed var(--line);min-height:140px;border-radius:4px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px;padding:20px;text-align:center}.camera-video{width:100%;max-height:260px;object-fit:cover}.terminal-footer{border-top:1px solid var(--line);margin-top:25px;padding-top:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:5px}.status-dot.offline{background:var(--brass)}.terminal-pair-link{overflow-wrap:anywhere}.terminal-note{font-size:14px;padding:14px;background:var(--soft);border-left:3px solid var(--brass)}.terminal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.terminal-item{background:var(--paper);border-left:3px solid var(--brass);padding:14px 17px}.terminal-item span{display:block;color:var(--muted);font-size:13px}.terminal-item strong{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin-top:4px}.terminal-confirm{font-size:36px;color:var(--green)}.own-records{font-size:14px}.own-records li{margin:10px 0}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
@media(max-width:900px){.topbar{padding:18px;gap:18px}.layout{grid-template-columns:166px minmax(0,1fr)}.main{padding:22px}.sidebar{padding:18px 8px}.sidebar>a{font-size:14px;padding:10px}.pharmacy-picker{min-width:170px}.user-menu>span{display:none}}
@media(max-width:680px){.topbar{flex-wrap:wrap}.brand{font-size:28px}.pharmacy-picker{order:3;max-width:none;width:100%}.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;gap:3px;padding:8px}.sidebar>a{font-size:13px;min-height:40px;padding:9px}.sidebar-foot{display:none}.main{padding:18px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.page-heading{gap:14px}.auth-card{padding:25px;margin:18px auto}h1{font-size:28px}.terminal-surface{padding:25px 20px}.terminal-wrap{margin-top:15px}.terminal-fields{grid-template-columns:1fr}.user-menu{margin-left:auto}.summary-strip{gap:10px}.summary-strip>div{min-width:130px;flex:1}.recovery-list{columns:1}}
@media print{@page{size:A4 landscape;margin:9mm}body{background:#fff;color:#152c20;font-size:9pt}.topbar,.sidebar,.site-footer,.no-print,.notice,.actions,.filters,.page-heading .actions{display:none!important}.layout,.layout.no-sidebar{display:block;min-height:0}.main,.no-sidebar .main{padding:0;max-width:none}.page-heading{padding-bottom:5mm;margin-bottom:5mm}h1{font-size:18pt}h2{font-size:14pt}.week-scroll{overflow:visible;border-color:#bbb}.week-grid{width:100%;min-width:0;grid-template-columns:repeat(var(--day-count,6),minmax(0,1fr))}.journal-day{padding:3px 2px 10px}.journal-day h3{font-size:8pt}.day-absences{height:var(--head-height,52px);font-size:7pt}.day-absence small{font-size:6.5pt}.timeline{padding-top:53px;grid-template-columns:13px minmax(0,1fr)}.hour-axis,.lanes{height:340px}.hour-axis{font-size:6.5pt}.lanes{gap:1px}.lane-label{top:-49px;height:45px;font-size:6.5pt}.lane-hours{margin:0 .5px}.time-band,.person-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}.away-band{font-size:6pt}.legend{font-size:7pt;gap:5px 12px;margin-top:7px}.plan-help,.totals{font-size:7pt;margin-top:6px}.form-panel,.paper-panel{padding:12px;border:0}.table-wrap{overflow:visible;border:0}table{font-size:8pt}th,td{padding:6px;border-color:#bbb}thead{display:table-header-group}tr{break-inside:avoid}.employee-card{margin:auto;max-width:90mm;break-inside:avoid}.auth-card{margin:0;border:0}.long-text{font-size:9pt}}

.panel{background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:4px;padding:24px;margin-bottom:24px}.secondary{color:var(--muted)}.kiosk-main{max-width:800px;margin:30px auto;padding:0 22px}.kiosk-main .panel{padding:30px}.kiosk-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.clock-button{min-height:80px;font-size:21px;font-weight:600}.status-panel{background:var(--soft);padding:20px;border-left:3px solid var(--green)}.status-panel strong{font-size:26px}.status-panel p{margin:8px 0 0}.kiosk-main #own-times .panel{padding:16px}.drag-preview{position:absolute;left:0;right:0;pointer-events:none;border:2px solid var(--brass);background:#b58a4840;z-index:2}.lane-hours{touch-action:none}.time-band{touch-action:none}
@media(max-width:600px){.kiosk-main{margin:18px auto;padding:0 14px}.kiosk-main .panel{padding:22px}.kiosk-actions{grid-template-columns:1fr}.clock-button{min-height:65px;font-size:20px}.kiosk .topbar{gap:12px}}

.opening-label{font-size:10px;margin:0 0 7px;min-height:15px}.journal-day h3{margin-bottom:3px}

.kiosk #network-state{display:inline}
@media(max-width:600px){.kiosk .topbar{flex-wrap:wrap}.kiosk .user-menu{width:100%;justify-content:space-between}}

/* Guided first setup uses the existing pharmacy palette and local typefaces. */
.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.setup-step{display:grid;grid-template-columns:32px 1fr;gap:0 10px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:4px;text-decoration:none}.setup-step>span{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--soft);color:var(--green)}.setup-step strong{font-size:16px;line-height:1.3}.setup-step small{color:var(--muted)}.setup-step[aria-current=step]{border:2px solid var(--brass);padding:13px;background:#fffdf5}.setup-step.done>span{background:var(--green);color:white}.setup-progress{display:flex;align-items:center;gap:15px;font-size:14px;margin:0 0 24px;color:var(--muted)}.setup-progress progress{width:180px;height:8px;accent-color:var(--green)}.setup-panel{max-width:1100px}.setup-panel>p{margin-bottom:24px}.setup-field{min-width:0}.setup-field>label{display:block;font-weight:600;margin-bottom:6px}.setup-field .help,.help{font-size:14px;font-weight:400;color:var(--muted);margin:7px 0 0}.setup-field input[type=checkbox]{width:18px;height:18px}.setup-field .check-label{font-weight:400}.setup-field:has(textarea){grid-column:1/-1}.setup-field:has(input[type=checkbox]){grid-column:1/-1}.has-error .field{border-color:#aa3b36}.required-marker{color:#8b4027}.setup-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.setup-back{margin-top:28px}.setup-review{padding:16px;border:1px solid var(--line);border-radius:4px;margin-bottom:16px;background:var(--paper)}.setup-review summary{font-weight:600;cursor:pointer}.setup-review dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:18px}.setup-review dt{font-weight:600}.setup-review dd{margin:0;overflow-wrap:anywhere}.setup-notice{border-left:3px solid var(--brass);padding:22px;background:var(--paper);font-size:15px;line-height:1.6;margin:20px 0}.setup-hours{min-width:610px}.setup-hours input{min-width:100px;width:100%}.setup-next{padding-left:24px}.setup-next>li{padding:14px 0 24px}.setup-next strong{font-size:20px}.setup-next p{margin:8px 0 15px}.setup-banner{margin-bottom:22px}.setup-field #id_work_models,.setup-field #id_csv_columns{display:flex;flex-wrap:wrap;gap:12px 24px}.setup-field #id_work_models label,.setup-field #id_csv_columns label{font-weight:400;display:flex;align-items:center;gap:8px}
@media(max-width:680px){.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-step{padding:11px;grid-template-columns:24px 1fr;gap:0 7px}.setup-step[aria-current=step]{padding:10px}.setup-step>span{width:24px;height:24px}.setup-step strong{font-size:14px}.setup-review dl{grid-template-columns:1fr}.setup-review dd{margin-bottom:12px}.setup-progress{flex-wrap:wrap}.setup-panel{padding:20px}.setup-notice{padding:14px}.setup-actions .button{width:100%}}
@media print{.setup-steps,.setup-progress,.setup-back,.setup-actions{display:none}.setup-notice{border:0;padding:0}.setup-review{break-inside:avoid}}
.business-choice{border:0;padding:0;margin:8px 0 12px;min-width:0}.business-choice legend{font-weight:600;margin-bottom:10px}.business-choice #id_business_type{display:grid;gap:10px}.business-choice label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);background:var(--paper);border-radius:4px;cursor:pointer}.business-choice label:has(:checked){border-color:var(--green);background:var(--soft)}.business-choice input[type=radio]{width:20px;height:20px;accent-color:var(--green);padding:0;flex:0 0 auto}.business-choice .help{font-weight:400}

.setup-choice-group{border:0;padding:0;margin:0;min-width:0}.setup-choice-group legend{font-weight:650;margin-bottom:10px}.setup-choice-group label{display:flex;gap:9px;align-items:center;margin:6px 0}.setup-choice-group input{width:auto;flex:none}

.form-stack .business-choice label{flex-direction:row;min-height:48px;padding:10px 14px}.business-choice input[type=radio]{min-height:20px;margin:0}.business-choice #id_business_type{border:0;background:none;padding:0}.form-stack .check-label,.form-grid .check-label,.form-stack .setup-choice-group label{flex-direction:row}.setup-field .setup-choice-group>div{border:0;background:none;padding:0}

.setup-step strong{min-width:0;overflow-wrap:anywhere}
