/* LADIVO — shared screen system. Layout primitives remain in styles.css. */
:root {
 --ink:#111820; --muted:#495666; --paper:#FFFFFF; --surface:#FFFFFF;
 --surface-soft:#F1F5F7; --accent:#38D9C4; --accent-ink:#111820;
 --forest:#38D9C4; --forest-hover:#65E3D2; --link:#006458;
 --line:#D8DFE5; --field-line:#738291; --focus:#006458;
 --success:#12533C; --success-bg:#D7F7EA;
 --warning:#704500; --warning-bg:#FFF0C7;
 --danger:#9B2424; --danger-bg:#FDE9E7;
 --blue:#174C7C; --blue-bg:#E4F0FD;
 --radius:14px; --shadow:none;
 color-scheme:light;
}
html[data-theme="dark"] {
 --ink:#EEF3F7; --muted:#B5C2CE; --paper:#151B22; --surface:#151B22;
 --surface-soft:#202A34; --line:#44525F; --field-line:#82919F;
 --link:#38D9C4; --focus:#38D9C4;
 --success:#8CE8C7; --success-bg:#163E35;
 --warning:#FFE09A; --warning-bg:#463718;
 --danger:#FFB8B4; --danger-bg:#492826;
 --blue:#B4D8FF; --blue-bg:#25394E;
 color-scheme:dark;
}
body {background:var(--paper);color:var(--ink);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea {font-family:Inter,'Segoe UI',Arial,sans-serif}
h1,h2,h3 {font-weight:700;line-height:1.15;letter-spacing:-.035em}
h1 {font-size:clamp(32px,3.5vw,46px)}
svg.ico {width:22px;height:22px;stroke-width:1.9}
.muted,.small,.boot span {color:var(--muted)}.small{font-size:15px}
.btn {min-height:56px;border:1px solid var(--field-line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:17px;font-weight:650;padding:13px 18px;gap:10px;box-shadow:none;white-space:normal;transition:background .15s ease}
.btn:hover {background:var(--surface-soft)}
.btn.primary,.public-app .public-btn.primary {background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:none}
.btn.primary:hover,.public-app .public-btn.primary:hover {background:var(--forest-hover);border-color:var(--forest-hover);color:var(--accent-ink)}
.btn.subtle{background:transparent;color:var(--ink);border-color:transparent}
.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}
.btn.compact{min-height:48px;padding:10px 12px;font-size:15px}
.btn.icon-btn{min-width:56px;flex-shrink:0;padding:12px}
button:disabled{opacity:.6;transform:none;box-shadow:none}button[aria-busy=true]{cursor:wait}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
input,select,textarea{min-height:56px;border:1px solid var(--field-line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:18px;padding:13px 14px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--link)}
input[type=date],input[type=time]{max-width:100%}
.label{font-size:16px;color:var(--ink);margin-bottom:9px}.field{margin-bottom:22px}
.error,.public-error{font-size:17px;line-height:1.5;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:10px;padding:14px 16px}
.hint{background:var(--surface-soft);color:var(--muted);font-size:16px;border-radius:10px;line-height:1.6}
.hint.amber{background:var(--warning-bg);color:var(--warning)}
.language-switch select,.public-header [data-language-select],.theme-switch select{width:auto;min-height:56px;max-width:100%;font-size:16px;font-weight:600;padding:12px 10px;border-radius:10px;color:var(--ink);border:1px solid var(--field-line);background:var(--surface);cursor:pointer}
.theme-switch{display:inline-flex;align-items:center;flex-shrink:0;margin:0}.theme-switch select{max-width:178px}
.language-switch select,.public-header [data-language-select]{min-width:74px}
.mobile-brand{display:none;font-size:24px;letter-spacing:-1.2px;font-weight:850;color:var(--ink)}
.shell{background:var(--paper)}.sidebar{background:var(--surface-soft);border-color:var(--line);overflow-y:auto}
.brand{color:var(--ink);font-size:32px;font-weight:850;letter-spacing:-1.6px;padding:0 12px}
.brand small,.sidebar-note{color:var(--muted)}.sidebar-note{font-size:13px}
.org-avatar,.avatar{background:var(--blue-bg);color:var(--blue)}.org-avatar{flex-shrink:0}
.nav-label{font-size:12px;letter-spacing:.8px;color:var(--muted)}
.nav-item{font-size:16px;color:var(--ink);min-height:52px;border-radius:10px;padding:12px;margin-bottom:5px}
.nav-item:hover{background:var(--line)}.nav-item.active{background:var(--accent);color:var(--accent-ink);font-weight:650;box-shadow:none}
.nav-item .pill{background:var(--surface);color:var(--ink)}.nav-item.active .pill{background:var(--accent-ink);color:var(--accent)}
.topbar{height:auto;min-height:88px;background:var(--surface);border-color:var(--line);padding:16px 28px;gap:16px}
.top-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.breadcrumb{font-size:14px;color:var(--muted);gap:8px;min-width:0}.breadcrumb strong{color:var(--ink)}
.demo-badge{font-size:12px;letter-spacing:0;border:1px solid var(--line);color:var(--muted);background:var(--surface-soft);padding:5px 9px;border-radius:6px;white-space:nowrap}
.profile{font-size:14px}.profile .muted{font-size:13px!important}
.content{padding:32px;max-width:1560px}.page-heading{gap:24px;align-items:flex-start}.page-heading>.row{flex-wrap:wrap}
.eyebrow{font-size:13px;letter-spacing:1px;color:var(--muted);font-weight:650}.subtitle{font-size:17px;line-height:1.55;color:var(--muted);max-width:700px}
.warehouse-select{font-size:17px;width:280px;background:var(--surface)}
.panel{background:var(--surface);border-radius:var(--radius);border-color:var(--line);box-shadow:none}
.panel-head{padding:24px}.panel-head h2{font-size:20px}.panel-body{padding:0 24px 24px}
.stats{background:var(--surface);border-color:var(--line);border-radius:var(--radius);box-shadow:none;margin:26px 0}
.stat{padding:24px;border-color:var(--line)}.stat:nth-child(2),.stat:nth-child(3),.stat:nth-child(4){background:var(--surface)}
.stat-title,.stat-title svg,.stat-note,.stat-value span{color:var(--muted)}.stat-title{font-size:16px}.stat-note{font-size:14px}.stat-note.good{color:var(--success)}.stat-note.warn{color:var(--warning)}
.stat-value,html[lang=en] .stat-value{font-size:40px;font-weight:700;color:var(--ink)}
.legend,.timeline-head,.timeline-caption{font-size:13px;color:var(--muted)}.legend{flex-wrap:wrap}.timeline-caption{gap:12px}
.lane-label{font-size:14px;color:var(--ink)}.lane-track{background:var(--surface-soft);border-color:var(--line)}
.lunch{color:var(--muted);background:var(--line);font-size:12px}
.slot-block{background:var(--blue-bg);color:var(--blue);border-color:var(--blue);font-size:11px}.slot-block strong{font-size:12px}
.slot-block.working{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.slot-block.waiting{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}
.slot-block.completed{background:var(--surface-soft);color:var(--muted);border-color:var(--field-line)}
.dot,.dot.working{background:var(--success)}.dot.waiting{background:var(--warning)}.dot.booked{background:var(--blue)}.dot.completed{background:var(--muted)}
.tabs{background:var(--surface-soft);border-radius:10px;padding:4px;flex-wrap:wrap;gap:4px}
.tabs button{min-height:48px;font-size:15px;color:var(--muted);padding:10px;border-radius:7px}
.tabs button.active{background:var(--surface);color:var(--ink);font-weight:650}
.table-tools input{font-size:17px}th{font-size:13px;color:var(--muted);background:var(--surface-soft);border-color:var(--line)}
td{font-size:16px;border-color:var(--line)}td strong{color:var(--ink)}td small{font-size:14px;color:var(--muted)}.booking-time{font-size:19px}
.status,.pill{font-size:14px;color:var(--blue);background:var(--blue-bg);border-radius:7px;padding:5px 9px}
.status.unloading{background:var(--success-bg);color:var(--success)}.status.checked_in{background:var(--warning-bg);color:var(--warning)}.status.cancelled{background:var(--danger-bg);color:var(--danger)}.status.completed{background:var(--surface-soft);color:var(--muted)}
.queue-panel,.guard-queue{background:var(--surface-soft);border-color:var(--line)}.queue-big{font-size:64px;font-weight:750;letter-spacing:-2px}.queue-big span{font-size:28px;color:var(--muted)}
.queue-space{background:var(--surface);color:var(--muted);border-color:var(--line)}.queue-space.filled{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.queue-footer{font-size:16px;color:var(--muted);border-color:var(--line)}
.notice{background:var(--warning-bg);color:var(--warning);border-color:var(--warning);border-radius:var(--radius)}.notice-title{font-size:17px;color:var(--warning)}.notice p,.notice a{font-size:16px;color:var(--warning)}
.page-foot{font-size:13px;color:var(--muted);gap:15px;border-color:var(--line);line-height:1.5}.empty{font-size:17px;color:var(--muted)}
.form-panel{padding:28px}.form-section{border-color:var(--line)}.form-section h2{font-size:24px}.form-section>p{font-size:17px;color:var(--muted)}.day-choice{font-size:16px;min-height:52px;gap:9px;border-color:var(--field-line);background:var(--surface);color:var(--ink)}
.summary-box{background:var(--surface-soft)}.summary-box p{font-size:17px;color:var(--muted)}
.audit-row{border-color:var(--line)}.audit-row p{font-size:17px}.audit-row small,.audit-time{font-size:14px;color:var(--muted)}.audit-mark{background:var(--success-bg);color:var(--success)}
.chip{background:var(--surface-soft);color:var(--ink);font-size:15px}
.login-wrap{background:var(--paper)}.login-art{background:var(--accent);color:var(--accent-ink);padding:48px 12%}.login-art .brand{color:var(--accent-ink)}
.login-art h1{font-size:clamp(44px,5vw,74px);line-height:1.02;font-weight:800}.login-art p{color:var(--accent-ink);font-size:20px}
.login-lines span,.login-lines span:nth-child(2),.login-lines span:nth-child(4){background:var(--accent-ink);border-radius:0;height:2px}
.login-form{max-width:450px;width:100%}.login-form h1{font-size:38px}.login-form>p,.login-back{font-size:18px;color:var(--muted)}
.login-language{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.login-demo p{font-size:14px;color:var(--muted)}.login-demo .row{flex-wrap:wrap;gap:10px}.login-demo .btn{font-size:15px;min-height:52px;flex:1}
.guard-login-note{color:var(--ink);line-height:1.55}
dialog{border-radius:16px;max-width:650px;background:var(--surface);color:var(--ink);border-color:var(--line)}.modal-head{padding:26px}.modal-head h2{font-size:26px}.modal-body{padding:0 26px 26px}
#toast{background:var(--ink);color:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:18px;padding:17px 22px}#toast.failure{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}

/* Driver details, confirmation and ticket. Slot layout belongs to public-flow.css. */
.public-app{--p-green:var(--link);--p-ink:var(--ink);--p-muted:var(--muted);--p-line:var(--line);--p-bg:var(--paper);--p-soft:var(--surface-soft);background:var(--paper);color:var(--ink)}
.public-app button:focus-visible,.public-app a:focus-visible,.public-app input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.public-app .public-btn{min-height:56px;border-radius:12px;font-size:18px!important;padding:14px 20px;font-weight:650;white-space:normal;line-height:1.35;gap:10px}
.public-app .public-btn.secondary{background:var(--surface);border-color:var(--field-line);color:var(--ink)}
.public-app .public-btn.danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}
.public-app .public-loading{font-size:18px;color:var(--muted)}.public-app .public-loading>span{border-color:var(--line);border-top-color:var(--link)}
.public-flow{max-width:1120px;padding-top:26px}.public-eyebrow{font-size:13px;color:var(--muted)}
.public-flow .public-demo-strip{border-color:var(--line);background:var(--surface-soft);color:var(--muted);font-size:14px;border-radius:8px;padding:12px 14px}.public-demo-strip strong{font-size:14px;color:var(--ink)}
.public-flow .public-back,.public-text-btn{font-size:16px;color:var(--link);min-height:48px;display:inline-flex;align-items:center}
.public-flow .public-back{color:var(--link)!important}.public-app .public-about-link{color:var(--muted)!important}
.flow-heading h1{font-size:40px;line-height:1.1;font-weight:750}.invitation-label span{font-size:14px;color:var(--muted)}.invitation-label strong{font-size:16px;color:var(--ink)}
.booking-progress{border-color:var(--line);gap:28px}.booking-progress li{font-size:16px;color:var(--muted);padding-bottom:18px}.booking-progress li>span{width:28px;height:28px;background:var(--surface-soft);font-size:14px;color:var(--muted)}
.booking-progress li.active{color:var(--ink);border-color:var(--ink)}.booking-progress li.active>span{background:var(--accent);color:var(--accent-ink)}.booking-progress li.complete>span{background:var(--success-bg);color:var(--success)}
.booking-progress li.done{color:var(--success)}.booking-progress li.done>span{background:var(--success-bg);color:var(--success)}.booking-progress li.active:after{background:var(--ink)}
.booking-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.booking-section{background:var(--surface);border-color:var(--line);padding:28px;border-radius:14px;box-shadow:none}
.booking-aside{background:var(--surface-soft);border-color:var(--line);border-radius:14px;padding:24px}
.section-top h2{font-size:30px;font-weight:750}.section-top p{font-size:17px;color:var(--muted)}
.warehouse-location strong{font-size:18px;color:var(--ink)}.warehouse-location div>span{font-size:16px;color:var(--muted);line-height:1.55}.warehouse-location>.public-ico{color:var(--link)}
.warehouse-contact{font-size:16px;color:var(--muted)}.warehouse-contact>a{font-size:18px;color:var(--link);min-height:48px;display:inline-flex;align-items:center}
.warehouse-details{font-size:15px;color:var(--muted)}.warehouse-details>div{gap:10px}.aside-divider{background:var(--line)}
.warehouse-details dt,.warehouse-contact>span{color:var(--muted)}.warehouse-details dd{color:var(--ink)}
.warehouse-location>svg{color:var(--link)}
.aside-note{font-size:16px;color:var(--ink);background:var(--surface);border-radius:10px;padding:16px;line-height:1.55}.aside-caption{font-size:14px;color:var(--muted)}
.warehouse-route{margin-top:20px}.warehouse-route .route-link{width:100%;font-size:16px;white-space:normal;min-height:56px;justify-content:space-between}.warehouse-route small{display:block;font-size:14px;line-height:1.45;color:var(--muted);margin-top:10px}
.selection-summary{border-radius:10px;background:var(--surface-soft);border-color:var(--field-line);padding:18px;gap:12px}
.selection-summary>div>span{font-size:16px;color:var(--muted)}.selection-summary strong{font-size:40px;color:var(--ink)}.selection-summary strong>span{font-size:24px;color:var(--muted)}.selection-summary .selection-side{font-size:15px;color:var(--muted)}.selection-summary .public-text-btn{font-size:16px;color:var(--link)}
.deadline-note{color:var(--warning);gap:10px;padding:18px 0}.deadline-note strong{font-size:18px;color:var(--warning)}.deadline-note p{font-size:16px;color:var(--muted);line-height:1.6}
.deadline-note>span{color:var(--warning)}
.driver-form{gap:24px 18px}.driver-form label{font-size:17px;color:var(--ink)}.driver-form label small{font-size:15px;color:var(--muted)}
.driver-form input:not([type=checkbox]),.driver-form select{min-height:56px;font-size:18px;border-radius:10px;border-color:var(--field-line);background:var(--surface);color:var(--ink);padding:13px 14px}
.driver-form .checkbox-label{font-size:17px;min-height:52px}.driver-form .driver-field-error{font-size:16px;color:var(--danger)}.driver-form .plate-input{font-size:22px!important;text-transform:uppercase;font-weight:700;letter-spacing:1px}
.public-app .driver-form [aria-invalid=true]{background:var(--danger-bg)!important;border-color:var(--danger)!important;color:var(--ink)!important}
.driver-form input::placeholder{color:var(--muted)}.driver-form input:disabled,.driver-form select:disabled{background:var(--surface-soft);color:var(--muted)}
.form-actions{gap:14px;flex-wrap:wrap}.review-attention{background:var(--warning-bg);border-color:var(--warning);color:var(--warning);border-radius:12px;padding:20px}
.review-attention>p{font-size:18px;line-height:1.55;color:var(--warning)}.review-attention>span{border-color:var(--warning)}.review-critical-label{font-size:16px;color:var(--ink)}
.review-critical-card{background:var(--surface-soft);border-color:var(--field-line);border-radius:10px;padding:20px}.review-critical-card>span,.review-critical-card>small{font-size:16px;color:var(--muted)}.review-critical-card>strong{font-size:28px;color:var(--ink);overflow-wrap:anywhere}
.review-format-note{font-size:16px!important;color:var(--muted)}.review-details>div{font-size:18px;border-color:var(--line)}.review-details dt{font-size:16px;color:var(--muted)}.review-details dd{color:var(--ink);overflow-wrap:anywhere}.review-details dd small{font-size:16px;color:var(--muted)}.review-caption{font-size:15px;color:var(--muted)}
.public-ticket-flow{max-width:1100px}.ticket-title h1{font-size:38px;font-weight:750}.ticket-title p{font-size:18px;color:var(--muted)}.ticket-status-icon{background:var(--success-bg);color:var(--success);border:0;width:60px;height:60px}
.arrival-ticket{border-radius:14px;background:var(--surface);border-color:var(--line);box-shadow:none}.ticket-left{padding:30px}.ticket-right{background:var(--surface-soft);border-color:var(--line);padding:28px}
.ticket-status-icon.cancelled{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.ticket-date,.arrival-ticket .deadline-note,.ticket-dotted-line,.ticket-qr-purpose{border-color:var(--line)}.ticket-number-symbol{color:var(--link)}
.ticket-date>span{font-size:18px;color:var(--ink)}.ticket-date small{font-size:16px;color:var(--muted)}.ticket-date strong{color:var(--ink);font-size:52px}.ticket-date strong span{color:var(--muted)}
.ticket-person>div{font-size:18px;grid-template-columns:110px 1fr;border-color:var(--line)}.ticket-person dt{font-size:16px;color:var(--muted)}.ticket-person dd{color:var(--ink);overflow-wrap:anywhere}.ticket-person dd>small{font-size:15px;color:var(--muted)}
.ticket-qr{background:#FFFFFF;width:220px;height:220px;padding:12px;border-radius:10px}.ticket-number-label{font-size:16px;color:var(--muted)}.ticket-number{font-size:32px;color:var(--ink)}.ticket-right>p{font-size:16px;color:var(--muted);max-width:none}.ticket-verified{font-size:16px;color:var(--success)}
.ticket-qr-purpose{max-width:100%;color:var(--ink)}.ticket-qr-purpose>strong{font-size:18px;color:var(--ink)}.ticket-qr-purpose>p{font-size:16px;color:var(--muted)}.ticket-qr-purpose>.public-text-btn{font-size:17px;min-height:48px;color:var(--link)}
.ticket-actions .public-text-btn{font-size:17px;min-height:52px;color:var(--link)}.ticket-actions .danger{color:var(--danger)}.ticket-bottom-note,.copy-fallback{font-size:16px;color:var(--muted)}.ticket-physical-note{font-size:16px!important;color:var(--muted)!important}
.cancel-confirm{border-radius:12px;background:var(--surface);border-color:var(--danger)}.cancel-confirm h3{font-size:26px;color:var(--ink)}.cancel-confirm p{font-size:17px;color:var(--muted)}
.plate-country,.guard-grid .plate-country{display:inline-block!important;font-size:14px!important;color:var(--muted);border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);padding:3px 6px;vertical-align:middle}

/* Guard: flat document comparison, one prominent next action. */
.guard-workspace{max-width:1200px;margin:auto}.guard-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.guard-role{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted);margin-right:auto}.guard-toolbar .warehouse-select{width:320px;max-width:100%}
.guard-role>span{margin-left:auto;white-space:nowrap;font-size:14px}.guard-role b{color:var(--ink);font-variant-numeric:tabular-nums}.guard-capacity-alert{margin-bottom:20px}
.guard-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start}.guard-main,.guard-side{min-width:0}
.guard-lookup{padding:24px;margin-bottom:24px}.guard-search input{font-size:20px;min-height:60px}.guard-search .btn{min-height:60px;font-size:17px}.guard-search{gap:12px}
.guard-scan-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}.guard-scan-row>span{font-size:15px;color:var(--muted)}
.guard-lookup-secondary{margin:24px 0 0;padding:0 24px}.guard-lookup-secondary summary{display:flex;align-items:center;gap:12px;min-height:64px;font-size:18px;font-weight:650;cursor:pointer}.guard-lookup-secondary[open]{padding-bottom:24px}.guard-lookup-secondary[open] summary{margin-bottom:12px}
.guard-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:none}
.guard-signal{padding:18px 24px;gap:12px;align-items:center;background:var(--success-bg);color:var(--success);display:flex;font-size:18px;line-height:1.4}
.guard-signal>.ico{width:26px;height:26px}.guard-signal.yellow{background:var(--warning-bg);color:var(--warning)}.guard-signal.red{background:var(--danger-bg);color:var(--danger)}.guard-signal.blue{background:var(--blue-bg);color:var(--blue)}
.guard-data{padding:26px;background:var(--surface)}.guard-task{font-size:clamp(30px,3vw,42px);line-height:1.12;letter-spacing:-.04em}.guard-instruction{font-size:18px;color:var(--muted);line-height:1.5;margin:14px 0 24px}
.guard-driver{font-size:32px;font-weight:750;line-height:1.2;margin:0 0 20px;overflow-wrap:anywhere}
.guard-plates{display:grid;gap:0}.guard-plates>div{padding:17px 0;border-top:1px solid var(--line)}.guard-plates span{display:block;font-size:18px;color:var(--muted);margin-bottom:6px}
.guard-plates strong{display:block;font-size:clamp(28px,3vw,40px);font-weight:750;letter-spacing:.015em;line-height:1.2;overflow-wrap:anywhere}
.guard-times{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:18px;gap:18px}
.guard-times>div+div{border-left:1px solid var(--line);padding-left:18px}.guard-times span{display:block;font-size:17px;color:var(--muted)}.guard-times strong{display:block;font-size:36px;line-height:1.3;font-variant-numeric:tabular-nums}.guard-times small{font-size:15px;color:var(--muted);display:block}.guard-times .guard-exempt{font-size:20px;margin-top:8px}
.guard-phone{display:flex;width:100%;font-size:23px;min-height:64px;gap:16px;overflow-wrap:anywhere}
.guard-record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;font-size:15px;color:var(--muted);padding:18px 0}
.guard-presence{display:inline-flex;gap:7px;align-items:center;font-size:15px;color:var(--muted)}
.guard-actions{gap:12px}.guard-actions .btn{min-height:56px;font-size:17px;white-space:normal}.guard-actions .guard-primary{flex-basis:100%;width:100%;min-height:64px;font-size:20px;border-radius:12px;font-weight:750;padding:17px 20px}
.guard-actions .secondary{background:var(--surface);border-color:var(--field-line);color:var(--ink)}
.guard-extra{margin-top:22px;border-top:1px solid var(--line);padding-top:8px;font-size:17px}.guard-extra summary{cursor:pointer;min-height:56px;padding:14px 0;font-weight:650}.guard-extra p{margin-bottom:16px;color:var(--muted);line-height:1.55}
.guard-separation{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--muted);line-height:1.5;margin-top:20px}
.guard-welcome{padding:36px 16px;text-align:center;max-width:550px;margin:auto}.guard-welcome-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:var(--surface-soft);color:var(--link);margin:0 auto 24px}.guard-welcome-icon .ico{width:32px;height:32px}
.guard-welcome h2{font-size:30px}.guard-welcome p{font-size:18px;color:var(--muted);line-height:1.55;margin-top:16px}.guard-welcome>span:last-child{display:inline-block;margin-top:24px;font-size:16px;color:var(--muted)}
.guard-queue .panel-body>p{font-size:17px;color:var(--muted);margin-top:12px}.guard-queue .hint{margin-top:20px}
.guard-queue-list{margin-top:24px;border-top:1px solid var(--line)}.guard-queue-list summary{cursor:pointer;min-height:56px;font-size:18px;font-weight:650;padding:16px 0}.guard-queue-list>p{font-size:17px;color:var(--muted)}
.guard-queue-person{display:grid;grid-template-columns:1fr auto;text-align:left;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:18px 0;gap:6px}.guard-queue-person strong{font-size:20px}.guard-queue-person span{font-size:16px;color:var(--muted);grid-row:2}.guard-queue-person>.ico{grid-row:1/3;grid-column:2;align-self:center}
.guard-overflow{padding:16px;background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);font-size:17px;line-height:1.55;margin:20px 0 0;border-radius:10px}
.guard-grid{gap:22px;margin-bottom:24px}.guard-grid small{font-size:16px;color:var(--muted);margin-bottom:6px}.guard-grid strong{font-size:24px;overflow-wrap:anywhere}.guard-grid a{font-size:20px;color:var(--link);min-height:48px;display:flex;align-items:center}

@media(max-width:1200px){.topbar{flex-wrap:wrap}.breadcrumb{flex:1 1 100%}.content{padding:28px}.dashboard-aside{gap:20px}.guard-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.profile{display:none}}
@media(max-width:950px){.guard-layout{grid-template-columns:1fr}.guard-side{margin-top:0}.booking-layout{grid-template-columns:1fr}.booking-aside{margin-top:0}.public-flow{max-width:760px}.guard-workspace{max-width:680px}}
@media(max-width:800px){
 .shell{grid-template-columns:1fr}.shell-main{grid-column:1}.sidebar{width:260px}.topbar{display:grid;grid-template-columns:1fr 56px;padding:16px 20px;min-height:0;gap:12px;height:auto}.mobile-brand{display:inline-flex;align-items:center;line-height:1;font-size:28px;font-weight:850}.mobile-toggle{grid-column:2;grid-row:1}.topbar>.mobile-brand{grid-column:1;grid-row:1}.top-actions{grid-column:1/-1;justify-content:flex-start;gap:10px;flex-wrap:nowrap}.top-actions .theme-switch{margin-right:auto}.top-actions .profile,.top-actions .demo-badge,.breadcrumb{display:none}.top-actions #logout{min-width:48px;min-height:56px}.language-switch select,.theme-switch select{font-size:16px;min-height:56px}.content{padding:24px 20px 40px}.page-heading{gap:20px}.page-heading h1{font-size:34px}.subtitle{font-size:18px}.page-heading>.row{width:100%}.warehouse-select{width:100%}.stats{grid-template-columns:1fr 1fr}.stat{padding:20px 16px;border-color:var(--line)!important}.stat-value,html[lang=en] .stat-value{font-size:36px}.stat-title{font-size:15px}.stat-note{font-size:14px}.table-tools .tabs{justify-content:flex-start}.dashboard-aside{grid-template-columns:1fr}.form-panel{padding:24px 20px}.fields{grid-template-columns:1fr}.panel-head{padding:22px 20px}.panel-body{padding:0 20px 22px}.page-foot{font-size:13px;gap:12px}.audit-row{flex-wrap:wrap}.audit-time{font-size:13px}.login-form-wrap{padding:24px 20px;min-height:100dvh}.login-language .mobile-brand{width:100%;margin-bottom:14px}.login-language{justify-content:flex-start}.login-form h1{font-size:36px}.modal-head{padding:22px 20px}.modal-body{padding:0 20px 24px}.modal-head h2{font-size:26px}.guard-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:12px;margin-bottom:20px}.guard-role{grid-column:1/-1;font-size:14px;margin:0}.guard-toolbar .warehouse-select{width:100%;font-size:17px}.guard-search{grid-template-columns:1fr}.guard-lookup{padding:22px 18px}.guard-scan-row .btn{width:100%}.guard-lookup-secondary{padding:0 18px}.guard-lookup-secondary[open]{padding-bottom:22px}.guard-card{border:0;border-radius:0;overflow:visible}.guard-signal{border-radius:10px;padding:16px;font-size:18px}.guard-data{padding:24px 0 0}.guard-task{font-size:34px}.guard-instruction{font-size:18px;margin-bottom:24px}.guard-driver{font-size:30px}.guard-plates strong{font-size:34px}.guard-times strong{font-size:36px}.guard-phone{font-size:21px;min-height:60px}.guard-actions .btn{width:100%;font-size:18px}.guard-actions .guard-primary{font-size:20px;min-height:64px}.guard-separation{font-size:16px}.guard-side{margin-top:10px}
}
@media(max-width:760px){
 .public-flow{padding:22px 20px 44px}.flow-heading{flex-wrap:wrap;gap:16px}.flow-heading h1{font-size:34px;max-width:none}.booking-progress{gap:16px;justify-content:space-between}.booking-progress li{font-size:14px;gap:7px}.booking-progress li>span{width:25px;height:25px;flex-shrink:0}.booking-section{padding:24px 0;border:0;border-radius:0}.booking-aside{padding:24px 20px}.section-top h2{font-size:30px}.section-top p{font-size:18px}.driver-form{gap:24px}.driver-field-group{grid-template-columns:1fr;gap:16px}.driver-form label{font-size:18px}.driver-form input:not([type=checkbox]),.driver-form select{font-size:18px}.driver-form label small{font-size:15px}.selection-summary{padding:18px 16px;flex-wrap:wrap}.selection-summary strong{font-size:36px}.selection-summary strong>span{font-size:23px}.review-critical-grid{grid-template-columns:1fr;gap:14px}.review-critical-card>strong{font-size:28px}.review-details>div{grid-template-columns:90px 1fr;gap:14px}.form-actions{display:grid;grid-template-columns:1fr;gap:14px}.form-actions .public-btn.primary{grid-row:1}.review-caption{text-align:left;font-size:15px}.ticket-title h1{font-size:32px}.ticket-title p{font-size:18px}.ticket-left{padding:24px 18px}.ticket-right{padding:24px 18px}.ticket-date strong{font-size:48px}.ticket-person>div{grid-template-columns:88px 1fr;gap:12px}.ticket-actions{gap:14px}.ticket-actions .public-btn{width:100%}.booking-aside .warehouse-details{font-size:16px}.public-ticket-flow .warehouse-location{padding-top:24px}.ticket-bottom-note{font-size:16px}
}
@media(max-width:390px){.topbar{padding:14px 16px}.content{padding:22px 16px 36px}.public-flow{padding-left:16px;padding-right:16px}.guard-task{font-size:32px}.guard-plates strong{font-size:31px}.guard-phone{font-size:20px}.guard-driver{font-size:28px}.guard-times{gap:12px}.guard-times>div+div{padding-left:12px}.guard-times span{font-size:16px}.booking-progress{gap:8px}.booking-progress li{font-size:13px;gap:5px}.guard-grid{grid-template-columns:1fr}.theme-switch select{max-width:165px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
 html[data-theme],:root{--ink:#111820;--muted:#495666;--paper:#FFFFFF;--surface:#FFFFFF;--surface-soft:#F1F5F7;--line:#D8DFE5;--field-line:#738291;--link:#006458;--success:#12533C;--success-bg:#D7F7EA;--warning:#704500;--warning-bg:#FFF0C7;color-scheme:light}
 body,.public-app{background:#fff;color:#111820}.theme-switch,.language-switch,.guard-side,.guard-lookup,.guard-toolbar,.warehouse-route,.mobile-brand{display:none!important}.guard-card,.arrival-ticket{box-shadow:none}.ticket-qr{width:200px;height:200px}.public-flow{padding:0}.ticket-left,.ticket-right{padding:20px}.ticket-title h1{font-size:26px}.ticket-person>div{font-size:15px}
}

/* Physical movement and handling confirmation. */
.clock-badge{font-size:14px;color:var(--muted);white-space:nowrap}
.guard-sync{font-size:14px;color:var(--muted);margin:-8px 0 20px}.guard-sync.sync-failed{padding:14px;border:1px solid var(--danger);border-radius:10px;background:var(--danger-bg);color:var(--danger);font-size:17px}
.guard-notices{margin-bottom:22px}.guard-notices .panel-body{padding-top:0}.guard-notices .muted{font-size:17px}
.guard-movement-summary{width:100%;justify-content:flex-start;margin-bottom:20px;border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.guard-movement-summary>.ico:last-child{margin-left:auto}.guard-notices{scroll-margin-top:20px}
.guard-notice{width:100%;position:relative;display:block;text-align:left;padding:18px 30px 18px 0;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--line);min-height:64px}
.guard-notice:first-child{border-top:0}.guard-notice strong{display:block;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.guard-notice>span{display:block;font-size:16px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.guard-notice p{font-size:17px;line-height:1.5;margin-top:12px}.guard-notice small{display:block;font-size:15px;color:var(--muted);margin-top:9px}.guard-notice>.ico{position:absolute;right:0;top:20px}
.guard-notice.exit_ready p,.guard-notice.entry_ready p{color:var(--success);font-weight:650}.guard-notice.processing_due p,.guard-notice.entry_wait p{color:var(--warning);font-weight:650}
.guard-actual-events{margin:18px 0 0;border-top:1px solid var(--line);padding-top:10px;font-size:15px;color:var(--muted)}.guard-actual-events>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0}.guard-actual-events dt{margin:0}.guard-actual-events dd{margin:0;text-align:right;color:var(--ink)}
.operations-panel{margin:24px 0}.operations-panel .muted{font-size:17px;line-height:1.5}.operation-vehicle{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.operation-vehicle strong{font-size:25px;display:block;overflow-wrap:anywhere}.operation-vehicle span{display:block;font-size:17px;color:var(--muted);margin-top:6px}.operation-vehicle .btn{min-height:60px}
@media(max-width:800px){.topbar .clock-badge{display:none}.operation-vehicle{flex-direction:column;align-items:stretch;gap:16px}.operation-vehicle .btn{width:100%}.guard-actual-events{font-size:15px}.guard-sync{margin-top:0}}
/* Separate operational and guard calendars share the existing form styling. */
#settings-form [hidden]{display:none!important}
#settings-form .schedule-toggle{white-space:normal;align-items:center;margin:12px 0}
#settings-form .schedule-toggle input{flex:0 0 auto}
#settings-form .schedule-exception-title{margin:24px 0 12px}
#settings-form .schedule-date-row{margin-bottom:10px}
#settings-form .schedule-date-row .chip{overflow-wrap:anywhere}
#settings-form .schedule-custom-hours{margin-bottom:14px}
#settings-form #checkin-schedule-fields{margin-top:20px}
.client-list{display:grid;gap:24px}
.client-card .panel-body{padding:24px}
.client-card h3{margin:0 0 14px}
.client-card .panel-head p{margin-top:8px}
.client-warehouse-row,.client-employee-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.client-warehouse-row>div,.client-employee-row>strong{min-width:0;overflow-wrap:anywhere}
.client-warehouse-row p{margin:6px 0 0}
.management-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.client-employees summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font-weight:600}
.client-employee-row{flex-wrap:wrap}
.client-employee-row span{color:var(--muted);overflow-wrap:anywhere}
.management-client-name{margin-bottom:20px;font-weight:600}
.management-warehouses{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 24px;min-width:0}
.management-warehouses legend{padding:0 8px;font-weight:600}
.management-warehouses .schedule-toggle{display:flex;white-space:normal;gap:12px;min-height:56px;overflow-wrap:anywhere}
.management-warehouses input{flex:0 0 auto}
.partner-row{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.partner-row>div:first-child{min-width:0;overflow-wrap:anywhere}
.partner-row h2{margin-bottom:10px}
.partner-row p{margin:8px 0}
.partner-row .management-actions{align-content:start;margin:0}
#partner-search{flex:1;min-width:180px}
#modal [hidden]{display:none!important}
.invite-ready-code{font-size:32px;letter-spacing:2px;margin:20px 0;overflow-wrap:anywhere}
.invitation-code{max-width:24ch;font-family:monospace;white-space:normal;overflow-wrap:anywhere}
.public-app .invitation-label{min-width:0;max-width:100%;flex-shrink:1;flex-wrap:wrap}
.public-app .invitation-label strong{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.partner-row{flex-direction:column;gap:16px}.partner-row .management-actions{flex-direction:row}.partner-row .management-actions .btn{width:auto;flex:1}}
@media(max-width:600px){.client-card .panel-body{padding:18px}.client-warehouse-row{align-items:stretch;flex-direction:column}.management-actions{flex-direction:column}.management-actions .btn{width:100%}}

/* Field-test readability: large dates and explicit gate actions. */
.workspace-back{margin-bottom:22px}.schedule-date{width:230px;max-width:100%;min-height:56px;font-size:20px;padding:10px 14px}
.invite-ready-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.invite-ready-actions .btn{min-height:56px;font-size:17px;white-space:normal}
.email-event{padding:16px 0;border-bottom:1px solid var(--line)}
.guard-actions{display:flex;flex-direction:column;gap:14px}.guard-actions .btn,.guard-blocked-entry .btn{width:100%;min-height:68px;font-size:22px;font-weight:750;white-space:normal;line-height:1.3;padding:18px}
.guard-blocked-entry p{font-size:17px;line-height:1.5;margin:10px 0}.guard-blocked-entry .btn:disabled{opacity:.65}
.guard-search input{font-size:22px;min-height:64px}.guard-search .btn{min-height:64px;font-size:19px}
.time-labels{font-size:15px}.timeline-caption{font-size:14px}.booking-time{font-size:23px}
.public-app .day-picker{display:flex;overflow-x:auto;gap:10px;padding:4px 2px 12px}.public-app .day-chip{flex:0 0 82px;min-height:96px;padding:12px 8px}.public-app .day-chip strong{font-size:29px}.public-app .day-chip>span,.public-app .day-chip small{font-size:15px}
.public-app .date-control input{min-height:60px;font-size:22px}.public-app .chosen-date{font-size:21px}.home-code-entry input{text-transform:uppercase}
@media(max-width:480px){.invite-ready-actions{grid-template-columns:1fr}.schedule-date{width:200px}.guard-actions .btn{font-size:21px}}
