:root{--navy:#172b43;--blue:#3d87bf;--line:#dbe2e9;--bg:#f3f6f9;--text:#19283a;--muted:#6c7b8d;--orange:#ed8d2d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-size:16px}button,input,select,textarea{font:inherit}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 26px}.brand,.top-actions,.top-date{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:40px;height:40px;background:var(--navy);color:#fff;border-radius:10px;display:grid;place-items:center;font-size:22px}.brand span strong,.brand span small{display:block}.brand span strong{font-size:16px}.brand span small{font-size:12px;color:#718096;margin-top:2px}.top-date{gap:14px}.top-date button{border:0;background:none;font-size:25px;color:#738194}.top-actions{justify-self:end;gap:10px}.save-pill,.user-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13px;font-weight:700;background:#fff}.save-pill i{width:8px;height:8px;background:#2ea46f;border-radius:50%}.save-pill.saving i{background:#e4952a}.user-chip{background:#f5f7f9}.sidebar{position:fixed;top:74px;bottom:0;left:0;width:230px;background:var(--navy);padding:28px 16px;color:#fff;z-index:19;display:flex;flex-direction:column}.sidebar>p{font-size:12px;letter-spacing:.08em;color:#8497aa;margin:0 12px 14px;font-weight:800}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{height:48px;border:0;border-radius:10px;background:transparent;color:#ccd6e0;display:flex;align-items:center;gap:13px;padding:0 14px;text-align:left;font-weight:700}.sidebar nav button>span{font-size:19px;width:22px}.sidebar nav button.active{background:#fff;color:var(--navy)}.sidebar nav em{margin-left:auto;background:#d85656;color:#fff;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;font-size:11px;font-style:normal}.side-bottom{margin-top:auto}.server-card{background:#203951;border-radius:11px;padding:13px;display:flex;align-items:center;gap:10px}.server-card>i{width:9px;height:9px;border-radius:50%;background:#47c78d;box-shadow:0 0 0 5px #47c78d22}.server-card span strong,.server-card span small{display:block}.server-card span strong{font-size:13px}.server-card span small{font-size:11px;color:#a7b7c5;margin-top:3px}.side-bottom>button{border:0;background:none;color:#93a6b8;width:100%;padding:15px}.mobile-menu,.sidebar-close{display:none}.main{margin-left:230px;min-height:100vh;padding:105px 32px 44px;max-width:1800px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-heading small{font-size:11px;letter-spacing:.14em;color:#738297;font-weight:800}.page-heading h1{font-size:27px;margin:6px 0 0;letter-spacing:-.04em}.primary,.outline{border:1px solid var(--navy);border-radius:8px;padding:10px 14px;font-weight:800;font-size:13px}.primary{background:var(--navy);color:#fff}.outline{background:#fff;color:var(--navy)}.panel{position:relative;background:#fff;border:1px solid #d9e1e8;border-radius:14px;box-shadow:0 4px 16px #23364b0a;padding:21px}.panel.full{padding:20px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.revenue{grid-column:1/-1}.handover-summary{grid-row:span 2}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-title>span{display:flex;align-items:center;gap:10px}.panel-title>span>b{background:#e8eef3;color:#516477;border-radius:6px;padding:6px 8px;font-size:11px}.panel-title>span>strong{font-size:17px}.panel-title>button{border:0;background:none;color:#47637c;font-size:13px;font-weight:700}.test-tag{position:absolute;right:22px;top:20px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:11px;color:#637387}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metrics article{min-height:100px;padding:16px;border:1px solid #e0e6eb;background:#f8fafb;border-radius:10px;display:flex;flex-direction:column;justify-content:center}.metrics article small{font-size:13px;color:#667489;font-weight:700}.metrics article strong{font-size:22px;margin-top:6px}.metrics article em{font-style:normal;font-size:12px;color:#6f7c8f;margin-top:4px}.metrics .navy{background:var(--navy);color:#fff;border-color:var(--navy)}.metrics .navy small{color:#c6d4df}.channels{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e2e7ec;margin-top:18px;padding-top:16px}.channels>div{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:0 18px;border-right:1px solid #e2e7ec}.channels>div:first-child{padding-left:0}.channels>div:last-child{border:0}.channels div>strong{grid-row:span 2;align-self:center;font-size:14px}.channels span{font-size:12px;color:#748195}.channels span b{color:#26364a;margin-left:8px}.parking-gauge{display:grid;grid-template-columns:auto 1fr;align-items:baseline}.parking-gauge>strong{font-size:40px}.parking-gauge>span{color:#7b8797;font-weight:800}.parking-gauge>i{grid-column:1/-1;height:9px;background:#e6ebef;border-radius:6px;overflow:hidden;margin-top:10px}.parking-gauge>i>b{display:block;height:100%;background:var(--orange)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.mini-stats span{background:#f6f8fa;padding:10px 5px;border-radius:8px;text-align:center;color:#6f7d8f;font-size:11px}.mini-stats span b{display:block;color:#243447;font-size:15px;margin-top:5px}.mini-note{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #e5e9ed}.mini-note:last-child{border:0}.mini-note>b{color:#62758a}.mini-note>span{flex:1}.mini-note span strong,.mini-note span small{display:block}.mini-note span strong{font-size:14px}.mini-note span small{font-size:12px;color:#738195;margin-top:4px}.mini-note em{font-size:11px;background:#edf1f5;padding:5px 8px;border-radius:7px;font-style:normal}.mini-note.urgent>b{color:#d56b3e}.mini-note.urgent em{background:#fff0e7;color:#b9552a}.staff{display:flex;align-items:center;gap:11px}.staff>b{width:42px;height:42px;border-radius:50%;background:#e5edf4;display:grid;place-items:center;color:#31516e}.staff span{flex:1}.staff span strong,.staff span small{display:block}.staff span small{font-size:12px;color:#738195;margin-top:3px}.staff em{font-size:11px;font-style:normal;color:#287854;background:#e7f4ed;padding:6px 8px;border-radius:7px}.next{border-top:1px solid #e5e9ed;margin-top:15px;padding-top:14px;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;color:#758599;font-size:12px}.next>span{font-size:11px}.next>strong{grid-column:2;color:#27374a;font-size:13px}.toolbar,.parking-head,.handover-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.month{display:flex;gap:14px;align-items:center}.month button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:19px}.legend{display:flex;flex-wrap:wrap;gap:7px}.legend span{padding:5px 9px;border-radius:6px;font-size:11px;font-weight:800}.legend .주{background:#fff1df;color:#a85a11}.legend .야{background:#263443;color:#fff}.legend .격{background:#fff3bb;color:#806314}.legend .비{background:#f2dc77;color:#6f5813}.legend .월{background:#e5edfa;color:#315b91}.legend .stay{background:#dceeff;color:#256595}.legend .short{background:#fff0b9;color:#8a6710}.legend .key{background:#ffdfbc;color:#96520f}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.schedule-table,.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.schedule-table th,.schedule-table td,.data-table th,.data-table td{border-right:1px solid #e3e8ed;border-bottom:1px solid #e3e8ed;padding:5px;text-align:center;min-width:38px;height:44px}.schedule-table thead th,.data-table thead th{position:sticky;top:0;background:#edf2f6;color:#425368;z-index:2}.schedule-table th:first-child{position:sticky;left:0;background:#fff;min-width:92px;z-index:3}.schedule-table thead th:first-child{background:#dfe7ee}.schedule-table th small{display:block;font-size:9px;color:#8795a5}.shift{width:28px;height:28px;border:0;border-radius:7px;font-weight:900}.shift.주{background:#f6b56b;color:#6b3810}.shift.야{background:#263443;color:#fff}.shift.격{background:#ffe184;color:#71570a}.shift.비{background:#f2d45e;color:#6b550a}.shift.월{background:#cfe0f5;color:#275a8d}.shift.empty{background:#f2f4f6}.note{font-size:12px;color:#69778a}.two-col{display:grid;grid-template-columns:1fr 300px;gap:18px}.data-table th,.data-table td{text-align:left;padding:12px 14px;font-size:13px}.status{font-style:normal;background:#edf1f5;color:#657488;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800}.status.done{background:#e6f4ec;color:#2b7c58}.person{display:grid;grid-template-columns:1fr auto;gap:4px;border-bottom:1px solid #e2e7ec;padding:14px 2px}.person>b{color:#1e425f}.person>small{grid-column:1/-1;color:#7b8797}.carry{display:flex;gap:10px;background:#fff7e6;border:1px solid #f4dfad;border-radius:9px;padding:12px;margin-top:18px}.carry span strong,.carry span small{display:block}.carry span small{color:#806d45;margin-top:4px}.parking-head>div:first-child{display:flex;align-items:center;gap:20px}.parking-head>div:first-child>strong{font-size:20px}.parking-head>div:first-child>span{font-size:13px;color:#6e7d90}.parking-map{background:#e7ebee;border:1px solid #cbd4db;border-radius:12px;padding:20px}.parking-map>p{font-size:12px;font-weight:800;color:#526476;margin-top:0}.spot-grid{display:grid;gap:10px}.spot-grid.top{grid-template-columns:repeat(4,1fr);padding-left:12%}.spot-grid.mid,.spot-grid.doubles{grid-template-columns:repeat(6,1fr);margin-top:20px}.spot-grid.bottom{grid-template-columns:repeat(4,1fr);padding:0 8%;margin-top:20px}.parking-map>h4,.parking-map>h3{text-align:center;color:#607183;font-size:11px;margin:18px 0 8px}.parking-map>h3{font-size:13px;margin:18px 0 -10px}.spot{position:relative;min-height:112px;background:#fff;border:2px solid #ccd6de;border-radius:9px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.spot.stay{border-color:#4d91c9;background:#f1f8ff}.spot.short{border-color:#e4bc3f;background:#fff9df}.spot.double{border-style:dashed}.spot.empty{color:#99a5af}.spot>i{position:absolute;top:7px;left:8px;font-size:10px;font-weight:900;font-style:normal;color:#5d6c7c}.spot>strong{font-size:17px;color:#1e4f76}.spot.short>strong{color:#88660c}.spot>b{font-size:13px}.spot>small.kept{background:#ffe6c8;color:#945116;padding:3px 6px;border-radius:5px}.handover-tools{gap:20px}.handover-tools>label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 11px;max-width:420px;flex:1;color:#8593a2}.handover-tools input{border:0;outline:0;width:100%;padding:10px 0}.handover-tools>div{display:flex;gap:6px}.handover-tools button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;color:#667588}.handover-tools button.active{background:#1c344e;color:#fff}.handover-row{display:grid;grid-template-columns:84px 1fr auto;gap:18px;padding:19px 10px;border-top:1px solid #e5eaee;align-items:center}.handover-row.important{border-left:3px solid #e5783f;padding-left:15px;background:#fffaf7}.handover-row>div{display:flex;flex-direction:column;text-align:center;border-right:1px solid #e3e8ec}.handover-row>div small{color:#7b8999;margin-top:3px}.handover-row section span{display:flex;gap:5px}.handover-row section em{font-style:normal;border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:11px}.handover-row section em.hot{background:#fff0e7;color:#b7572d}.handover-row h3{font-size:15px;margin:8px 0 3px}.handover-row p{font-size:13px;color:#657488;margin:0}.handover-row section>small{display:block;color:#8a96a4;font-size:11px;margin-top:8px}.note-status{background:#fff1df;color:#a76016;border-radius:8px;padding:8px 10px;font-size:11px}.note-status.done{background:#e7f4ed;color:#2f7e5b}dialog{border:0;border-radius:14px;box-shadow:0 24px 70px #0d172640;max-width:540px;width:calc(100% - 32px);padding:0}dialog::backdrop{background:#101b2773}dialog form{padding:24px;position:relative}.dialog-x{position:absolute;right:14px;top:12px;border:0;background:none;font-size:25px;color:#6d7b8c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:13px;font-weight:800;color:#4c5d70;display:flex;flex-direction:column;gap:7px}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #cfd8e2;border-radius:8px;padding:11px;background:#fff}.form-grid textarea{min-height:90px;resize:vertical}.dialog-actions{display:flex;justify-content:space-between;margin-top:18px}.toast{position:fixed;z-index:100;left:50%;top:90px;transform:translate(-50%,-20px);background:#18324f;color:#fff;border-radius:9px;padding:12px 18px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.topbar{grid-template-columns:1fr auto}.top-date{display:none}.dashboard-grid{grid-template-columns:1fr}.revenue{grid-column:auto}.handover-summary{grid-row:auto}.two-col{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.channels{grid-template-columns:1fr;gap:12px}.channels>div{padding:0;border:0}.spot-grid{grid-template-columns:repeat(3,1fr)!important;padding:0!important}}
@media(max-width:720px){.topbar{height:66px;padding:0 14px}.brand-mark{width:36px;height:36px}.user-chip{display:none}.mobile-menu{display:block;border:0;background:none;font-size:21px}.sidebar{top:0;transform:translateX(-100%);transition:.2s;z-index:40}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block;position:absolute;right:12px;top:8px;border:0;background:none;color:#fff;font-size:28px}.main{margin-left:0;padding:90px 14px 30px}.page-heading h1{font-size:23px}.metrics{grid-template-columns:1fr}.spot-grid{grid-template-columns:repeat(2,1fr)!important}.toolbar,.parking-head,.handover-tools{align-items:flex-start;flex-direction:column}.parking-head>div:first-child{flex-wrap:wrap;gap:9px 16px}.handover-tools>div{overflow:auto;max-width:100%}.handover-row{grid-template-columns:70px 1fr}.note-status{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}}
.parking-rule{background:#f4f7f9;border:1px solid #e0e6eb;border-radius:8px;color:#56687b;font-size:13px;font-weight:700;padding:10px 14px;margin:-5px 0 14px}.legend .no-key{background:#dff1e7;color:#287453}.exact-map{min-width:950px}.top-deck{display:grid;grid-template-columns:130px repeat(2,minmax(125px,1fr)) repeat(2,90px) 190px;gap:10px;align-items:stretch}.accessible,.no-parking,.lobby{border:2px solid #b9c4cd;border-radius:9px;background:#f7f9fa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#526476;min-height:112px}.accessible{font-size:23px}.accessible strong{font-size:13px;margin-top:5px}.accessible small{font-size:10px;margin-top:3px}.no-parking{background:repeating-linear-gradient(135deg,#edf1f3,#edf1f3 8px,#e1e6e9 8px,#e1e6e9 16px);font-size:12px;font-weight:900;color:#75828e}.parking-memo,.restore-box{border:1px solid #cbd4dc;border-radius:9px;background:#fff;padding:11px;display:flex;flex-direction:column}.parking-memo strong,.restore-box strong{font-size:12px;color:#47596c}.parking-memo textarea{border:0;background:#f5f7f8;border-radius:6px;margin-top:8px;min-height:70px;padding:8px;resize:none;font-size:11px}.status-deck{display:grid;grid-template-columns:130px 1fr 160px;gap:10px;margin-top:10px;align-items:stretch}.lobby{min-height:238px;background:#dde6ec;font-size:15px;font-weight:900}.live-summary{border:1px solid #cbd5dd;background:#fff;border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.live-summary>strong{grid-column:1/-1;text-align:center;font-size:18px;color:#203b55;border-bottom:1px solid #e1e6ea;padding-bottom:13px}.live-summary>strong small{font-size:11px;color:#758493}.live-summary>span{background:#f3f6f8;border-radius:8px;padding:12px;text-align:center;color:#687789;font-size:12px}.live-summary>span b{display:block;font-size:19px;color:#1d344c;margin-top:4px}.right-spots,.core-grid>div,.bottom-deck>div:first-child,.bottom-deck>div:nth-child(3){display:grid;gap:10px}.right-spots{grid-template-rows:1fr 1fr}.core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.core-grid>div{grid-template-rows:repeat(3,1fr)}.core-grid .spot{min-height:104px}.double-guide{margin:13px 0 0!important;padding:8px;background:#d9e0e5;border-radius:7px;text-align:center;font-size:11px;font-weight:800;color:#566a7c}.entry-arrow{font-size:14px;font-weight:900;color:#40586d;text-align:center;padding:13px 0 4px}.bottom-deck{display:grid;grid-template-columns:1fr 2fr 1fr 190px;gap:10px;align-items:stretch}.drive-lane{border-left:2px dashed #aebac4;border-right:2px dashed #aebac4;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#647688}.drive-lane strong{font-size:12px}.drive-lane span{font-size:42px;line-height:1;margin-top:8px}.restore-box{justify-content:center}.restore-box p{font-size:11px;color:#6b7b8c;line-height:1.5;min-height:34px}.restore-box button{border:1px solid #9eacb8;background:#edf2f5;border-radius:7px;padding:8px;color:#314c65;font-weight:800;font-size:11px}.restore-box button:disabled{opacity:.45}.bottom-deck .spot{min-height:103px}
.spot.neutral{background:#eef2f4;border-color:#b8c3cc}.spot small.not-kept{background:#dff1e7;color:#287453}.spot small.kept{background:#f4c47d;color:#70470c}
@media(max-width:1100px){.parking-map{overflow:auto}.exact-map{min-width:900px}}

/* 24-inch front desk monitor: keep the full parking map in one viewport. */
.parking-panel{padding:14px!important}.compact-head{margin-bottom:10px}.compact-head>div:first-child{gap:14px}.compact-head>div:first-child>strong{font-size:19px}.compact-head>div:first-child>span{font-size:13px}.compact-head .legend span{padding:4px 8px}.compact-map{min-width:850px;padding:12px}.compact-map .top-deck{grid-template-columns:88px 150px 150px 66px 66px minmax(150px,1fr);gap:7px}.compact-map .accessible,.compact-map .no-parking{min-height:76px}.compact-map .accessible{font-size:18px}.compact-map .accessible strong{font-size:12px}.compact-map .parking-memo{min-height:76px;padding:8px}.compact-map .parking-memo textarea{min-height:42px;margin-top:5px;padding:6px}.main-deck{display:grid;grid-template-columns:88px minmax(520px,620px) 118px;justify-content:space-between;gap:7px;margin-top:7px}.compact-map .lobby{min-height:236px;font-size:14px}.compact-map .core-grid{margin-top:0;gap:7px}.compact-map .core-grid>div,.compact-map .right-spots,.compact-map .bottom-deck>div:first-child,.compact-map .bottom-deck>div:nth-child(3){gap:7px}.compact-map .core-grid .spot,.compact-map .right-spots .spot{min-height:74px}.compact-map .compact-spot{min-height:74px;padding:9px 6px;gap:2px;border-radius:7px}.compact-map .compact-spot>i{top:5px;left:6px;font-size:11px}.compact-map .compact-spot>strong{font-size:16px}.compact-map .compact-spot>b{font-size:13px}.compact-map .compact-spot>small{font-size:11px;padding:2px 5px;border-radius:4px}.compact-map .double-guide{margin:7px 0!important;padding:5px;font-size:12px}.compact-map .bottom-deck{grid-template-columns:132px minmax(300px,1fr) 132px 150px;gap:7px}.compact-map .bottom-deck .spot{min-height:68px}.compact-map .drive-lane{min-height:143px}.compact-map .drive-lane span{font-size:28px;margin:0}.compact-map .drive-lane strong{font-size:12px}.compact-map .restore-box{padding:8px}.compact-map .restore-box p{margin:6px 0;min-height:18px}.compact-map .restore-box button{padding:6px}.compact-map .spot.empty{background:#f9fbfc}.compact-map .spot.empty i{color:#526579}
@media(max-width:1100px){.compact-map{min-width:850px}}

/* Balanced sheet-like proportions: readable without pushing the last row below the screen. */
.balanced-map{min-width:980px;padding:12px}.balanced-map .top-deck{grid-template-columns:120px 1.25fr 1.25fr .58fr .58fr 1.25fr;gap:7px}.balanced-map .accessible,.balanced-map .no-parking,.balanced-map .parking-memo{min-height:84px}.balanced-map .compact-status{grid-template-columns:1fr 2fr 1fr;gap:7px;margin-top:7px}.balanced-map .compact-status .lobby{min-height:150px;font-size:18px}.balanced-map .compact-summary{min-height:150px;padding:10px;gap:7px}.balanced-map .compact-summary>span{padding:7px;font-size:13px}.balanced-map .compact-summary>span b{font-size:18px;margin-top:2px}.balanced-map .compact-legend{grid-column:1/-1;justify-content:center}.balanced-map .right-spots{gap:7px}.balanced-map .right-spots .spot{min-height:71px}.balanced-map .core-grid{margin-top:7px;gap:7px}.balanced-map .core-grid>div{gap:7px}.balanced-map .core-grid .spot{min-height:78px}.balanced-map .compact-spot{padding:10px 7px;gap:3px}.balanced-map .compact-spot>strong{font-size:18px}.balanced-map .compact-spot>b{font-size:14px}.balanced-map .compact-spot>small{font-size:12px}.balanced-map .double-guide{margin:7px 0!important;padding:5px}.balanced-map .bottom-deck{grid-template-columns:1fr 2fr 1fr 1.05fr;gap:7px}.balanced-map .bottom-deck .spot{min-height:68px}.balanced-map .drive-lane{min-height:143px;flex-direction:row;gap:14px;background:#e5f2fa;border:1px solid #9abed6}.balanced-map .drive-lane span{font-size:27px}.balanced-map .drive-lane strong{font-size:18px}.balanced-map .restore-box{min-height:143px}
@media(max-width:1200px){.balanced-map{min-width:980px}}

/* Approved parking layout: upper spaces shifted right, large bold operational text. */
.balanced-map .shifted-top{grid-template-columns:repeat(8,minmax(0,1fr))}.balanced-map .shifted-top>.warehouse,.balanced-map .shifted-top>.accessible,.balanced-map .shifted-top>.no-parking{grid-column:span 1}.balanced-map .shifted-top>.spot{grid-column:span 2}.balanced-map .warehouse{min-height:84px;border:2px solid #b9c4cd;border-radius:9px;background:#f7f9fa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#526476}.balanced-map .warehouse strong{font-size:15px;font-weight:900}.balanced-map .warehouse small{font-size:11px;font-weight:800;margin-top:4px}.balanced-map .compact-spot{font-weight:800}.balanced-map .compact-spot>i{font-size:13px;font-weight:900;color:#28445e}.balanced-map .compact-spot>strong{font-size:21px;font-weight:900;line-height:1.05}.balanced-map .compact-spot>b{font-size:16px;font-weight:900;line-height:1.05}.balanced-map .compact-spot>small{font-size:13px;font-weight:900}.balanced-map .accessible strong,.balanced-map .no-parking,.balanced-map .lobby,.balanced-map .double-guide,.balanced-map .drive-lane strong,.balanced-map .restore-box strong{font-weight:900}.balanced-map .compact-summary>span,.balanced-map .compact-summary>span b,.balanced-map .compact-legend span{font-weight:900}

/* Approved quick-entry dialog and restore-free lower deck. */
.balanced-map .bottom-deck.no-restore{grid-template-columns:1fr 2fr 1fr}.form-grid .full{grid-column:1/-1}.field-group{display:flex;flex-direction:column;gap:7px}.field-group>strong{font-size:13px;color:#4c5d70}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-btn{border:2px solid #cfd8e2;border-radius:8px;background:#fff;color:#3a4d60;padding:11px;font-weight:900}.stay-choice[aria-pressed="true"]{background:#dceeff;border-color:#4d91c9;color:#1e5f91}.short-choice[aria-pressed="true"]{background:#fff0b9;border-color:#e4bc3f;color:#7d5e08}.no-key-choice[aria-pressed="true"]{background:#dff1e7;border-color:#6daf8c;color:#287453}.key-choice[aria-pressed="true"]{background:#ffdfbc;border-color:#e9a45a;color:#8a4b0d}.room-number{display:flex;align-items:center;border:1px solid #cfd8e2;border-radius:8px;background:#fff;overflow:hidden}.room-number>b{padding-left:11px;font-size:18px;color:#1e5f91}.room-number input{border:0!important;border-radius:0!important;padding-left:5px!important;font-size:18px!important;font-weight:900}.dialog-help{text-align:center;margin-top:13px;color:#748195;font-size:12px;font-weight:700}
.approved-parking-editor-marker{display:none}
dialog#parkingDialog{max-width:590px;max-height:calc(100dvh - 32px);overflow:hidden;border-radius:13px}
#parkingDialog form{padding:20px}
#parkingDialog h2{margin:0 0 16px;font-size:21px;line-height:1.3;font-weight:700}
#parkingDialog .dialog-x{right:12px;top:9px;min-width:42px;min-height:42px;font-size:25px;line-height:1}
#parkingDialog .form-grid{gap:12px}
#parkingDialog .form-grid label,#parkingDialog .field-group>strong{font-size:15px;line-height:1.35;font-weight:800}
#parkingDialog .field-group{gap:7px}
#parkingDialog .choice-row{gap:8px}
#parkingDialog .choice-btn{min-height:46px;padding:9px 12px;font-size:16px;line-height:1.2;font-weight:800}
#parkingDialog .form-grid input,#parkingDialog .form-grid textarea{width:100%;min-height:46px;padding:10px 12px;font-size:17px;line-height:1.35;font-weight:700}
#parkingDialog .room-number{min-height:46px}
#parkingDialog .room-number>b{padding-left:12px;font-size:18px;font-weight:800}
#parkingDialog .room-number input{min-height:44px;padding-left:5px!important;font-size:17px!important}
#parkingDialog .form-grid textarea{min-height:76px;max-height:76px;resize:none}
#parkingDialog .dialog-help{margin:10px 0 13px;font-size:13px;line-height:1.35}
#parkingDialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
#parkingDialog .dialog-actions button{min-height:46px;padding:9px 14px;font-size:16px;line-height:1.2;font-weight:800}
@media (min-width:1051px){body.parking-active{overflow:hidden}body.parking-active .main{height:100dvh;padding-top:86px;padding-bottom:10px;overflow:hidden}body.parking-active .page-heading{margin-bottom:9px}body.parking-active .page-heading small{display:none}body.parking-active .page-heading h1{font-size:24px;margin-top:0}body.parking-active .parking-panel{height:calc(100dvh - 130px);overflow:hidden}body.parking-active .balanced-map .bottom-deck{min-height:126px}body.parking-active .balanced-map .bottom-deck .spot{min-height:58px}body.parking-active .balanced-map .drive-lane{min-height:126px}}
@media (max-width:720px){dialog#parkingDialog{max-height:calc(100dvh - 16px);width:calc(100% - 18px);overflow:auto}#parkingDialog form{padding:17px}#parkingDialog .form-grid{grid-template-columns:1fr;gap:10px}#parkingDialog .form-grid label.full,#parkingDialog .form-grid .full{grid-column:auto}#parkingDialog .choice-btn,#parkingDialog .dialog-actions button{min-height:44px}#parkingDialog .form-grid textarea{min-height:68px;max-height:68px}}
.room-choice-row{grid-template-columns:repeat(3,1fr)}
.other-choice[aria-pressed="true"]{background:#eee5ff;border-color:#946bc0;color:#623b91}
.legend .other{background:#eee5ff;color:#623b91}
.spot.other{border-color:#946bc0;background:#f6f0ff}
.spot.other>strong{color:#623b91}
#parkingDialog .room-number>b{padding-left:12px;font-size:17px;font-family:inherit;font-weight:700;color:inherit;line-height:1}
#parkingDialog .room-number input{font-family:inherit!important;font-size:17px!important;font-weight:700!important;color:inherit}
@media (min-width:1051px){
  body.parking-active .parking-panel{height:auto;overflow:visible}
  body.parking-active .balanced-map .warehouse,
  body.parking-active .balanced-map .accessible,
  body.parking-active .balanced-map .no-parking{min-height:72px}
  body.parking-active .balanced-map .compact-status .lobby,
  body.parking-active .balanced-map .compact-summary{min-height:132px}
  body.parking-active .balanced-map .right-spots .spot{min-height:62px}
  body.parking-active .balanced-map .core-grid .spot{min-height:66px}
  body.parking-active .balanced-map .bottom-deck{min-height:108px}
  body.parking-active .balanced-map .bottom-deck .spot{min-height:50px}
  body.parking-active .balanced-map .drive-lane{min-height:108px}
  body.parking-active .balanced-map .double-guide{margin:5px 0!important;padding:4px}
}
#parkingDialog .room-number>b{display:none}
#parkingDialog .room-number input{padding-left:12px!important}
@media (min-width:1051px){
  body.parking-active .main{padding-top:82px;padding-bottom:8px}
  body.parking-active .page-heading{margin-bottom:4px}
  body.parking-active .parking-panel{height:auto!important;padding:8px!important;overflow:visible}
  body.parking-active .balanced-map{height:auto;padding:8px}
  body.parking-active .balanced-map .top-deck{height:78px;gap:6px}
  body.parking-active .balanced-map .top-deck>*{height:100%;min-height:0}
  body.parking-active .balanced-map .compact-status{height:150px;margin-top:6px;gap:6px}
  body.parking-active .balanced-map .compact-status>*{height:100%;min-height:0}
  body.parking-active .balanced-map .compact-status .lobby,
  body.parking-active .balanced-map .compact-summary{height:150px;min-height:0}
  body.parking-active .balanced-map .right-spots{height:150px;gap:6px}
  body.parking-active .balanced-map .right-spots .spot{height:auto;min-height:0}
  body.parking-active .balanced-map .core-grid{height:252px;margin-top:6px;gap:6px}
  body.parking-active .balanced-map .core-grid>div{height:100%;gap:6px}
  body.parking-active .balanced-map .core-grid .spot{height:auto;min-height:0}
  body.parking-active .balanced-map .double-guide{height:24px;margin:5px 0!important;padding:4px;line-height:16px}
  body.parking-active .balanced-map .bottom-deck{height:184px;min-height:0;gap:6px}
  body.parking-active .balanced-map .bottom-deck>div:first-child,
  body.parking-active .balanced-map .bottom-deck>div:nth-child(3){height:184px;gap:6px}
  body.parking-active .balanced-map .bottom-deck .spot{height:auto;min-height:0}
  body.parking-active .balanced-map .drive-lane{height:184px;min-height:0}
}

/* Stronger lodging blue for quick front-desk recognition. */
.spot.stay{background:#cfe7fb;border-color:#2d78b4}
.spot.stay>strong{color:#124b75}
.spot.stay>i{color:#174f78}
.legend .stay{background:#bddcf5;color:#174f78}

/* Parking notes share the status row without increasing each space height. */
.spot-meta-row{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;max-width:100%;min-width:0}
.balanced-map .compact-spot .spot-meta-row>small{flex:0 0 auto;margin:0;padding:2px 5px;border-radius:4px;font-size:13px;font-weight:900;line-height:1.2}.spot[data-draggable="true"]{cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}.spot[data-draggable="true"]:active,.spot.dragging{cursor:grabbing}.toast.show{pointer-events:auto}.carried-in{background:#fff8e7}.carry-badge{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:5px;background:#f2c96e;color:#684c0c;font-size:10px;font-style:normal;font-weight:900}
.spot-memo{display:flex;align-items:center;gap:4px;min-width:0;max-width:70%;padding:3px 6px;border-radius:5px;background:#e4ebf1;color:#29455e;font-size:12px;font-weight:900;line-height:1.15;box-shadow:inset 0 0 0 1px #b8c7d3}
.spot-memo em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}

/* Approved schedule: locked by default, high-contrast states, no desktop scrolling. */
.legend .주{background:#f59d38;color:#4b2600;border-color:#c96808}.legend .야{background:#17191d;color:#fff;border-color:#050607}.legend .격{background:#1769aa;color:#fff;border-color:#0d4c80}.legend .비{background:#ffd34f;color:#422f00;border-color:#c18c00}.legend .월{background:#dce9f5;color:#275a8d;border-color:#a8c3dc}
.schedule-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:12px}.schedule-actions{justify-self:end;display:flex;align-items:center;gap:8px}.edit-state{color:#607184;font-size:13px;font-weight:800;white-space:nowrap}.edit-state.active{color:#1f6598}.schedule-blocks{display:grid;gap:12px}.schedule-block{min-width:0}.schedule-range{display:block;font-size:13px;color:#56677b;margin:0 0 6px 2px}.schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px;border-top:1px solid #dbe2e9;border-left:1px solid #dbe2e9;border-radius:9px;overflow:hidden}.schedule-table th,.schedule-table td{position:static;min-width:0;height:42px;border-right:1px solid #dbe2e9;border-bottom:1px solid #dbe2e9;text-align:center;padding:4px}.schedule-table thead th{height:45px;background:#edf2f6;color:#425368;font-weight:900}.schedule-table th:first-child{width:94px;background:#f8fafb;font-size:14px}.schedule-table thead th:first-child{background:#dfe7ee}.schedule-table th small{display:block;font-size:10px;color:#718195;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-table th.sun b,.schedule-table th.sun small,.schedule-table th.holiday b,.schedule-table th.holiday small{color:#c93239}.schedule-table th.holiday{background:#fff0f0}.schedule-table .work-total{width:54px;background:#f6f8fa;font-size:12px}.schedule-table .work-total b{font-size:15px}.shift{width:32px;height:32px;border:1px solid transparent;border-radius:7px;font-weight:900;font-size:14px;line-height:1}.shift:disabled{opacity:1;cursor:default}.schedule-panel.editing .shift:not(:disabled){cursor:pointer;box-shadow:inset 0 0 0 2px #ffffffa6}.shift.주{background:#f59d38;color:#4b2600;border-color:#c96808}.shift.야{background:#17191d;color:#fff;border-color:#050607}.shift.격{background:#1769aa;color:#fff;border-color:#0d4c80}.shift.비{background:#ffd34f;color:#422f00;border-color:#c18c00}.shift.월{background:#dce9f5;color:#275a8d;border-color:#a8c3dc}.shift.empty{background:#f1f4f6;color:#8794a3;border-color:#dce3e8}

/* Approved handover: today's large writing area and calendar history. */
.handover-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.handover-editor{padding:24px}.handover-date-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #dfe5ea}.handover-date-head>div{display:flex;align-items:baseline;gap:11px}.handover-date-head strong{font-size:21px}.handover-date-head span{font-size:13px;color:#6c7b8e;font-weight:800}.important-toggle{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:#a74f27}.important-toggle input{width:18px;height:18px}.worker-line{display:flex;align-items:center;gap:10px;margin:16px 0}.worker-line span{font-size:13px;color:#6c7b8e;font-weight:800}.worker-line strong{font-size:15px}.worker-line em{font-size:11px;font-style:normal;background:#e8f0f6;color:#315b7b;border-radius:6px;padding:4px 7px;font-weight:800}.memo-field{display:block;margin-top:14px}.memo-field>span{display:block;font-size:15px;font-weight:900;color:#35475a;margin-bottom:8px}.memo-field textarea{display:block;width:100%;min-height:250px;border:1px solid #cfd8e2;border-radius:9px;background:#fff;padding:14px;font-family:inherit;font-size:16px;line-height:1.65;font-weight:700;resize:none}.memo-field.sales textarea{min-height:145px}.handover-editor.read-only textarea{background:#f5f7f9;color:#425368}.handover-save{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.handover-save>span{font-size:13px;color:#6a788a;font-weight:700}.handover-calendar{padding:20px;height:max-content}.calendar-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.calendar-title>span{color:#486986}.calendar-title strong{font-size:17px}.handover-calendar>input{width:100%;border:1px solid #cfd8e2;border-radius:8px;background:#fff;padding:10px;font:800 15px inherit;color:#263b50}.today-button{width:100%;margin-top:8px;border:1px solid #ccd7e0;background:#f6f8fa;color:#24445f;border-radius:8px;padding:9px;font-size:13px;font-weight:900}.history-dates{display:grid;gap:7px;margin-top:18px}.history-dates button{display:flex;justify-content:space-between;align-items:center;border:1px solid #dbe2e9;background:#fff;border-radius:8px;padding:11px 10px;text-align:left;color:#43566b;font-size:13px;font-weight:800}.history-dates button.active{border-color:#2e628e;background:#edf6fd;color:#173f61}.history-dates button b{font-size:10px;color:#b5542b;background:#fff0e7;padding:3px 6px;border-radius:5px}

@media(max-width:1200px){.schedule-toolbar{grid-template-columns:1fr 1fr}.schedule-actions{grid-column:1/-1;justify-self:end}.handover-layout{grid-template-columns:1fr}.handover-calendar{display:grid;grid-template-columns:1fr auto;gap:8px}.calendar-title,.history-dates{grid-column:1/-1}.today-button{margin-top:0;width:auto}.memo-field textarea{min-height:220px}}
@media(max-width:720px){.schedule-toolbar{display:flex;align-items:flex-start;flex-direction:column}.schedule-actions{width:100%;justify-content:flex-end}.schedule-block{overflow-x:auto}.schedule-table{min-width:760px}.handover-editor{padding:18px}.handover-date-head,.handover-date-head>div{align-items:flex-start;flex-direction:column}.memo-field textarea{min-height:210px}.memo-field.sales textarea{min-height:130px}.worker-line{align-items:flex-start;flex-wrap:wrap}}
.allowance-table-wrap{max-height:650px}.future-row{color:#8390a0;background:#f8fafb}.grand-total{margin-top:8px;padding:15px 10px;background:#edf4f9;border-radius:8px;border-bottom:0}.grand-total b{font-size:18px}
.save-pill.offline i{background:#d85656}.save-pill.offline{border-color:#e7b4b4;color:#a33b3b}
.live-tag{position:absolute;right:22px;top:20px;border:1px solid #b8dfcd;background:#e9f7f0;color:#247451;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800}.source-strip{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #e2e7ec;margin-top:18px;padding-top:15px;color:#718095;font-size:12px}.source-strip b{color:#32475c;margin-right:6px}.staff-list{display:grid;gap:10px}.staff-list .staff+.staff{border-top:1px solid #e5e9ed;padding-top:10px}.next>span:first-child{grid-column:1/-1}.next>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.snapshot-tag{position:absolute;right:22px;top:20px;border:1px solid #cfdbe6;background:#f1f6fa;color:#3a5b78;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800}.sales-overview{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:end;margin-top:18px}.goal{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px;color:#6a798b}.goal strong{font-size:17px;color:#1b354f}.goal i{grid-column:1/-1;height:9px;background:#e5ebf0;border-radius:8px;overflow:hidden}.goal i b{display:block;height:100%;background:#3d87bf}.sales-trend{height:72px;display:flex;align-items:end;gap:6px;border-bottom:1px solid #dbe3ea;padding:0 4px}.sales-trend>span{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:4px}.sales-trend i{display:block;width:100%;max-width:32px;background:#7eabc9;border-radius:4px 4px 0 0;min-height:4px}.sales-trend span:last-child i{background:#ed8d2d}.sales-trend small{font-size:9px;color:#7a8795}.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.channel-grid>div{display:flex;justify-content:space-between;gap:12px;background:#f6f8fa;border-radius:9px;padding:13px}.channel-grid span{font-size:12px;color:#69798b}.channel-grid strong{font-size:14px}.channel-grid .other-channel{grid-column:1/-1;background:#fff7e9}.ops-stats{margin-top:34px}.empty-data{padding:30px;text-align:center;color:#788696;background:#f6f8fa;border-radius:10px}
@media(max-width:720px){.live-tag,.snapshot-tag{position:static;display:inline-block;margin:-8px 0 14px}.source-strip{flex-direction:column;gap:7px}.sales-overview{grid-template-columns:1fr}.channel-grid{grid-template-columns:1fr}.channel-grid .other-channel{grid-column:auto}}
.spot[data-draggable="true"]{cursor:grab;touch-action:none}.spot[data-draggable="true"]:active{cursor:grabbing}.spot{transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-color .28s ease}.spot.dragging{opacity:.16;transform:scale(.965);filter:saturate(.75)}.spot.drop-target{z-index:2;border-color:#ed8d2d!important;box-shadow:0 0 0 4px #ed8d2d2e,0 12px 28px #263d531f;background:#fff8ef!important;transform:translateY(-3px) scale(1.025)}.parking-drag-active,.parking-drag-active *{cursor:grabbing!important}.drag-ghost{position:fixed!important;z-index:120!important;margin:0!important;pointer-events:none!important;transform-origin:center!important;will-change:transform,box-shadow,opacity;opacity:.92;box-shadow:0 10px 26px #10263b2e,0 2px 7px #10263b24!important;transition:opacity .16s ease,box-shadow .28s cubic-bezier(.22,1,.36,1)!important}.drag-ghost.lifted{opacity:.98;box-shadow:0 22px 48px #10263b3d,0 5px 14px #10263b24!important}.drag-ghost.settling,.drag-ghost.cancelling{transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .22s ease,box-shadow .22s ease!important;opacity:.28;box-shadow:0 4px 12px #10263b20!important}.spot.drop-committed{animation:parking-drop-commit .46s cubic-bezier(.22,1,.36,1)}.spot.swap-committed{animation:parking-swap-commit .42s cubic-bezier(.22,1,.36,1)}@keyframes parking-drop-commit{0%{transform:scale(.94);box-shadow:0 0 0 5px #ed8d2d30}58%{transform:scale(1.035);box-shadow:0 14px 32px #263d5324}100%{transform:scale(1);box-shadow:none}}@keyframes parking-swap-commit{0%{transform:scale(.96);opacity:.55}70%{transform:scale(1.015);opacity:1}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.spot,.drag-ghost{transition:none!important}.spot.drop-committed,.spot.swap-committed{animation:none!important}}
[hidden]{display:none!important}.login-screen{position:fixed;inset:0;z-index:200;background:linear-gradient(145deg,#13283f,#294f70);display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 28px 90px #08142066;display:flex;flex-direction:column;gap:15px}.login-card .brand-mark{margin:auto}.login-card h1{margin:0;text-align:center;font-size:24px}.login-card>p{margin:-8px 0 8px;text-align:center;color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800}.login-card input,.login-card select{border:1px solid #cfd8e2;border-radius:9px;padding:12px;background:#fff}.login-card small{color:#b84040;min-height:18px;text-align:center}.user-chip{cursor:pointer}.save-pill.offline i,.server-card.offline>i{background:#d95b5b}.save-pill.error i{background:#d95b5b}.server-card.offline{background:#49303a}.sync-badge{position:absolute;right:21px;top:21px;border-radius:7px;padding:6px 9px;background:#e7f4ed;color:#277652;font-size:11px;font-weight:800}.sync-badge.error{background:#fff0ed;color:#b6493e}.spot-grid.unified{grid-template-columns:repeat(5,minmax(120px,1fr));min-width:720px}.parking-map{overflow:auto}.spot.compact-spot{min-height:118px}.spot-memo{display:block;max-width:100%;font-size:10px;color:#65758a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spot small.not-kept{background:#e6f4ec;color:#277652;padding:3px 6px;border-radius:5px}.toast{display:flex;align-items:center;gap:14px}.toast button{border:1px solid #ffffff66;background:#fff;color:#17314d;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:800}.link-button{border:0;background:none;color:#28699b;text-decoration:underline;cursor:pointer}.allowance-summary .large-money{display:block;font-size:32px;margin:14px 0}.allowance-summary>p{color:var(--muted);font-size:12px}.danger,.danger-button{border:1px solid #cb5656;border-radius:8px;background:#fff;color:#a83838;padding:10px 14px;font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid p{line-height:1.65;color:#5d6e81}.error-text,.conflict-banner{color:#aa3f35}.conflict-banner{background:#fff0ed;border:1px solid #f1c2bc;border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px;font-weight:700}.schedule-blocks{display:flex;flex-direction:column;gap:20px}.schedule-range{display:block;margin-bottom:8px;color:#526476}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.schedule-actions{display:flex;gap:8px}.work-total{white-space:nowrap}.handover-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.handover-date-head,.worker-line,.handover-save{display:flex;align-items:center;justify-content:space-between;gap:10px}.handover-date-head>div>*{display:block}.handover-date-head span,.worker-line span,.worker-line em,.handover-save span{font-size:12px;color:var(--muted);font-style:normal}.worker-line{background:#f5f8fa;border-radius:9px;padding:12px;margin:15px 0}.memo-field{display:flex;flex-direction:column;gap:7px;margin-top:13px;font-size:13px;font-weight:800}.memo-field textarea{min-height:135px;border:1px solid #ced8e1;border-radius:9px;padding:12px;resize:vertical}.handover-save{margin-top:15px}.handover-calendar input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;margin:12px 0}.today-button{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px;font-weight:700}.history-dates{display:flex;flex-direction:column;gap:6px;margin-top:13px}.history-dates button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px;display:flex;justify-content:space-between}.history-dates button.active{background:var(--navy);color:#fff}.history-dates b{font-size:10px;color:#d96c42}.field-group{grid-column:1/-1}.choice-row{display:flex;gap:8px;margin-top:8px}.choice-btn{border:1px solid #ccd6de;background:#fff;border-radius:8px;padding:9px 12px;font-weight:800}.choice-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.room-number{display:flex;border:1px solid #cfd8e2;border-radius:8px;overflow:hidden}.room-number b{padding:11px;background:#edf2f6}.room-number input{border:0!important;border-radius:0!important;min-width:0;width:100%}
@media(max-width:1050px){.spot-grid.unified{grid-template-columns:repeat(4,minmax(120px,1fr))}.handover-layout{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.schedule-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.spot-grid.unified{grid-template-columns:repeat(2,minmax(120px,1fr))!important}.spot[draggable="true"]{touch-action:pan-y}.login-card{padding:26px}.sync-badge{position:static;display:inline-block;margin:-8px 0 14px}}

.worker-link-panel{margin:15px 0;padding:14px;border:1px solid #d7e1e9;border-radius:10px;background:#f5f8fa}.worker-link-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:11px}.worker-link-head>span{font-size:12px;color:#6c7b8e;font-weight:800}.worker-link-head>strong{font-size:14px;color:#203a52}.worker-link-head>em{font-size:11px;font-style:normal;background:#e5f2fa;color:#28658f;border-radius:6px;padding:4px 7px;font-weight:900}.linked-worker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.linked-worker{display:flex;flex-direction:column;gap:5px}.linked-worker>span{font-size:12px;font-weight:900;color:#42566b}.linked-worker select{width:100%;min-height:40px;border:1px solid #c9d5df;border-radius:8px;background:#fff;padding:7px 8px;font-size:14px;font-weight:800;color:#243b52}.worker-link-panel>small{display:block;margin-top:9px;color:#718094;font-size:11px}.handover-save .primary{min-width:150px}
@media(max-width:900px){.linked-worker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.worker-link-head{grid-template-columns:1fr auto}.worker-link-head>strong{grid-column:1/-1;grid-row:2}.linked-worker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.handover-save{align-items:flex-start;flex-direction:column}.handover-save .primary{width:100%}}

/* Public quick-tunnel mobile layout, tuned for the iPhone 17 Pro's 402px CSS viewport. */
@media(max-width:430px){
  html.external-access{background:var(--bg);-webkit-text-size-adjust:100%}
  html.external-access body{min-width:0;overflow-x:hidden;overscroll-behavior-y:none;padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}
  html.external-access button,html.external-access input,html.external-access select,html.external-access textarea{font-size:16px}
  html.external-access button{touch-action:manipulation}
  html.external-access .topbar{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;gap:8px}
  html.external-access .brand{gap:7px;min-width:0}
  html.external-access .brand-mark{width:34px;height:34px;border-radius:9px;font-size:19px;flex:0 0 auto}
  html.external-access .brand span{min-width:0}
  html.external-access .brand span strong{font-size:14px;white-space:nowrap}
  html.external-access .brand span small{font-size:10px}
  html.external-access .mobile-menu{width:36px;height:44px;padding:0;font-size:22px;flex:0 0 auto}
  html.external-access .top-actions{gap:5px}
  html.external-access .save-pill{min-height:36px;padding:7px 9px;font-size:11px;white-space:nowrap}
  html.external-access .sidebar{width:min(86vw,340px);padding:calc(54px + env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));transition:transform .32s cubic-bezier(.22,1,.36,1);box-shadow:18px 0 45px #0d1b2a38}
  html.external-access .sidebar-close{top:calc(9px + env(safe-area-inset-top));right:12px;width:44px;height:44px}
  html.external-access .sidebar nav button{min-height:50px;height:auto}
  html.external-access .main{width:100%;min-width:0;margin:0;padding:calc(82px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  html.external-access .page-heading{margin-bottom:13px;align-items:center}
  html.external-access .page-heading small{font-size:9px;letter-spacing:.1em}
  html.external-access .page-heading h1{font-size:21px;margin-top:3px}
  html.external-access .panel,html.external-access .panel.full{padding:13px;border-radius:12px}
  html.external-access .dashboard-grid{gap:11px}
  html.external-access .panel-title{margin-bottom:12px}
  html.external-access .panel-title>span>strong{font-size:15px}
  html.external-access .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  html.external-access .metrics article{min-height:88px;padding:11px}
  html.external-access .metrics article small{font-size:11px}
  html.external-access .metrics article strong{font-size:19px}
  html.external-access .channels{gap:8px;margin-top:12px;padding-top:11px}
  html.external-access .channels>div,html.external-access .channel-grid>div{padding:10px}
  html.external-access .sales-overview{gap:14px;margin-top:12px}
  html.external-access .source-strip{overflow-wrap:anywhere}
  html.external-access .toolbar,html.external-access .parking-head,html.external-access .handover-tools{gap:10px;margin-bottom:12px;width:100%}
  html.external-access .month button,html.external-access .outline,html.external-access .primary,html.external-access .today-button{min-height:44px}
  html.external-access .schedule-actions{width:100%;justify-content:space-between;flex-wrap:wrap}
  html.external-access .schedule-actions button{flex:1}
  html.external-access .schedule-block{margin:0 -3px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  html.external-access .schedule-table{min-width:700px}
  html.external-access .table-wrap{margin:0 -3px;-webkit-overflow-scrolling:touch}
  html.external-access .data-table{min-width:620px}
  html.external-access .allowance-table-wrap{max-height:none}
  html.external-access .handover-layout{gap:11px}
  html.external-access .handover-editor,html.external-access .handover-calendar{padding:14px}
  html.external-access .handover-date-head strong{font-size:18px}
  html.external-access .worker-link-panel{margin:12px 0;padding:11px}
  html.external-access .worker-link-head{gap:5px}
  html.external-access .worker-link-head>em{font-size:9px;padding:4px 5px}
  html.external-access .linked-worker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  html.external-access .linked-worker select{min-height:44px;font-size:16px}
  html.external-access .memo-field textarea{min-height:190px;font-size:16px}
  html.external-access .memo-field.sales textarea{min-height:120px}
  html.external-access .handover-calendar{grid-template-columns:1fr}
  html.external-access .handover-calendar>*{grid-column:1/-1}
  html.external-access .today-button{width:100%}
  html.external-access .settings-grid{gap:11px}
  html.external-access .parking-panel{padding:7px!important;border-radius:11px}
  html.external-access .parking-map{overflow:visible}
  html.external-access .balanced-map{width:100%;min-width:0!important;padding:7px}
  html.external-access .balanced-map .top-deck.shifted-top{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  html.external-access .balanced-map .shifted-top>.warehouse,html.external-access .balanced-map .shifted-top>.accessible,html.external-access .balanced-map .shifted-top>.no-parking,html.external-access .balanced-map .shifted-top>.spot{grid-column:span 1}
  html.external-access .balanced-map .warehouse,html.external-access .balanced-map .accessible,html.external-access .balanced-map .no-parking{min-height:54px;padding:4px;font-size:11px}
  html.external-access .balanced-map .warehouse strong,html.external-access .balanced-map .accessible strong{font-size:10px}
  html.external-access .balanced-map .warehouse small,html.external-access .balanced-map .accessible small{display:none}
  html.external-access .balanced-map .compact-status{height:auto;grid-template-columns:62px minmax(0,1fr) 82px;gap:5px;margin-top:5px}
  html.external-access .balanced-map .compact-status .lobby,html.external-access .balanced-map .compact-summary,html.external-access .balanced-map .right-spots{height:142px;min-height:0}
  html.external-access .balanced-map .compact-status .lobby{font-size:12px}
  html.external-access .balanced-map .compact-summary{padding:6px;gap:4px}
  html.external-access .balanced-map .compact-summary>strong{font-size:13px;padding-bottom:4px}
  html.external-access .balanced-map .compact-summary>span{padding:4px;font-size:9px}
  html.external-access .balanced-map .compact-summary>span b{font-size:13px}
  html.external-access .balanced-map .compact-legend{gap:3px}
  html.external-access .balanced-map .compact-legend span{padding:2px 4px;font-size:8px}
  html.external-access .balanced-map .right-spots{gap:5px}
  html.external-access .balanced-map .core-grid{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:5px}
  html.external-access .balanced-map .core-grid>div{height:auto;gap:5px}
  html.external-access .balanced-map .compact-spot,html.external-access .balanced-map .core-grid .spot,html.external-access .balanced-map .right-spots .spot,html.external-access .balanced-map .bottom-deck .spot{height:auto;min-height:76px;padding:7px 3px;gap:2px;border-width:1.5px}
  html.external-access .balanced-map .compact-spot>i{top:4px;left:4px;font-size:9px}
  html.external-access .balanced-map .compact-spot>strong{font-size:14px}
  html.external-access .balanced-map .compact-spot>b{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html.external-access .balanced-map .compact-spot>small,html.external-access .balanced-map .compact-spot .spot-meta-row>small{font-size:8px;padding:2px 3px}
  html.external-access .balanced-map .spot-meta-row{gap:2px;flex-wrap:wrap}
  html.external-access .balanced-map .spot-memo{max-width:100%;font-size:8px;padding:2px 3px}
  html.external-access .balanced-map .double-guide{height:auto;margin:5px 0!important;padding:6px 4px;font-size:9px;line-height:1.35}
  html.external-access .balanced-map .bottom-deck.no-restore{height:auto;grid-template-columns:82px minmax(0,1fr) 82px;gap:5px}
  html.external-access .balanced-map .bottom-deck>div:first-child,html.external-access .balanced-map .bottom-deck>div:nth-child(3){height:auto;gap:5px}
  html.external-access .balanced-map .drive-lane{height:auto;min-height:157px;gap:5px;flex-direction:column}
  html.external-access .balanced-map .drive-lane span{font-size:22px}
  html.external-access .balanced-map .drive-lane strong{font-size:11px;text-align:center}
  html.external-access dialog,html.external-access dialog#parkingDialog{width:calc(100% - 10px);max-height:calc(100dvh - 10px);margin:auto;border-radius:16px}
  html.external-access dialog form,html.external-access #parkingDialog form{padding:18px 14px calc(14px + env(safe-area-inset-bottom))}
  html.external-access .dialog-x{width:44px;height:44px;right:5px;top:4px}
  html.external-access #parkingDialog .choice-btn,html.external-access #parkingDialog .dialog-actions button{min-height:46px}
  html.external-access .toast{top:calc(72px + env(safe-area-inset-top));width:calc(100% - 20px);justify-content:space-between;padding:11px 13px}
  html.external-access .login-screen{padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  html.external-access .login-card{padding:24px 20px;border-radius:17px}
}

/* Daily revenue closing: compact weekly selector, guarded numeric entry, and sticky totals. */
.revenue-close-shell,.revenue-close-calendar,.revenue-close-layout,.revenue-close-form,.revenue-close-summary{min-width:0;max-width:100%}.revenue-week{min-width:0;max-width:100%;width:100%}
.revenue-close-shell{display:grid;gap:16px}.revenue-close-calendar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 20px;box-shadow:0 4px 16px #23364b0a}.revenue-close-calendar .toolbar{margin-bottom:13px}.revenue-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.revenue-week button{min-width:0;min-height:82px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafb;color:#516274;padding:9px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.revenue-week button:hover:not(:disabled){border-color:#87a9c4;background:#f1f7fb}.revenue-week button.active{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 8px 18px #172b4326}.revenue-week button.done:not(.active){border-color:#b9dfcd;background:#edf8f2;color:#267454}.revenue-week button:disabled{opacity:.4;cursor:not-allowed}.revenue-week small{font-size:11px}.revenue-week b{font-size:20px}.revenue-week em{max-width:100%;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-close-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.revenue-close-form{display:grid;gap:24px;padding:25px}.revenue-close-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e1e7ec}.revenue-close-head>div{display:grid;gap:4px}.revenue-close-head strong{font-size:21px}.revenue-close-head small{color:var(--muted);font-size:11px}.close-status{border-radius:7px;background:#eef2f5;color:#657487;padding:6px 9px;font-size:11px;font-weight:900}.close-status.done{background:#e7f5ed;color:#297653}.revenue-close-form section>h3{display:flex;align-items:center;gap:9px;margin:0 0 13px;font-size:15px}.revenue-close-form section>h3>span{display:grid;place-items:center;width:28px;height:24px;border-radius:6px;background:#e8f0f6;color:#285c84;font-size:10px}.revenue-close-form section>h3>small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:700}.revenue-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.revenue-close-form label{display:grid;gap:6px;color:#536578;font-size:12px;font-weight:800}.revenue-number{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #ccd7e0;border-radius:9px;background:#fff;overflow:hidden}.revenue-number:focus-within{border-color:#417ba8;box-shadow:0 0 0 3px #3d87bf1d}.revenue-number input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:11px 9px;text-align:right;color:#20364b;font-weight:900}.revenue-number input[readonly]{background:#f3f6f8;color:#667789}.revenue-number i{padding:0 9px 0 3px;color:#8793a1;font-size:11px;font-style:normal}.revenue-channel-grid{display:grid;grid-template-columns:minmax(95px,.7fr) repeat(2,minmax(150px,1fr));gap:8px;align-items:center}.revenue-channel-grid>b{text-align:center;color:#6b7a8d;font-size:11px}.revenue-channel-grid>strong{display:flex;flex-direction:column;gap:2px;font-size:13px}.revenue-channel-grid>strong small{color:#b05a25;font-size:9px}.revenue-channel-grid label{font-size:0}.revenue-channel-grid output{border-radius:8px;background:#eef3f7;padding:11px;text-align:right;color:#253d54;font-weight:900}.revenue-close-other>div{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr;gap:11px;margin-bottom:11px}.revenue-close-form textarea{width:100%;min-height:72px;border:1px solid #ccd7e0;border-radius:9px;padding:10px;resize:vertical;color:#283d52}.revenue-close-form textarea[readonly]{background:#f3f6f8;color:#667789}.revenue-close-summary{position:sticky;top:95px;padding:23px}.revenue-close-summary>small{color:#6d7b8c;font-weight:800}.revenue-close-summary>strong{display:block;margin:7px 0 19px;font-size:31px;color:#173a59;letter-spacing:-.04em}.close-breakdown{display:grid;gap:9px}.close-breakdown span,.revenue-close-summary p{display:flex;justify-content:space-between;gap:12px;color:#6b798b;font-size:12px}.close-breakdown b,.revenue-close-summary p b{color:#26394d}.revenue-close-summary hr{border:0;border-top:1px solid #e0e6eb;margin:20px 0}.revenue-close-summary h3{margin:0 0 13px;font-size:14px}.revenue-close-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.revenue-close-actions:has(>button:only-child){grid-template-columns:1fr}.revenue-close-actions button{min-height:43px}.close-help{display:block;margin-top:11px!important;color:#7b8897!important;font-size:10px!important;line-height:1.5}
@media(max-width:1050px){.revenue-close-layout{grid-template-columns:1fr}.revenue-close-summary{position:static}.revenue-close-summary>strong{font-size:27px}.close-breakdown{grid-template-columns:repeat(3,1fr)}.close-breakdown span{flex-direction:column}.revenue-close-actions{max-width:420px}}
@media(max-width:720px){.revenue-close-calendar{padding:13px}.revenue-close-calendar .toolbar{align-items:flex-start}.revenue-week{overflow-x:auto;grid-template-columns:repeat(7,72px);padding-bottom:4px}.revenue-week button{min-height:76px}.revenue-close-form{padding:16px;gap:21px}.revenue-close-head{align-items:flex-start}.revenue-count-grid{grid-template-columns:1fr}.revenue-channel-grid{grid-template-columns:minmax(76px,.6fr) repeat(2,minmax(105px,1fr));overflow-x:auto}.revenue-close-other>div{grid-template-columns:1fr}.close-breakdown{grid-template-columns:1fr}.close-breakdown span{flex-direction:row}.revenue-close-actions{max-width:none}}
@media(max-width:430px){html.external-access .revenue-close-shell{gap:10px}html.external-access .revenue-close-calendar{padding:11px;border-radius:12px}html.external-access .revenue-close-calendar .toolbar .note{display:none}html.external-access .revenue-week{grid-template-columns:repeat(7,68px);margin:0 -2px}html.external-access .revenue-week button{min-height:72px;padding:7px 4px}html.external-access .revenue-close-layout{gap:10px}html.external-access .revenue-close-form{padding:14px;gap:20px}html.external-access .revenue-close-head strong{font-size:18px}html.external-access .revenue-channel-grid{grid-template-columns:78px repeat(2,124px);margin-right:-3px;padding-bottom:4px}html.external-access .revenue-number input{padding:12px 7px}html.external-access .revenue-close-summary{padding:17px}html.external-access .revenue-close-summary>strong{font-size:27px}html.external-access .revenue-close-actions button{min-height:48px}}

/* Keep numeric values visible even when a channel label uses zero-size text. */
.revenue-number input{min-height:44px;font-size:16px!important;line-height:1.25;appearance:textfield;-moz-appearance:textfield}.revenue-number input::-webkit-inner-spin-button,.revenue-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.allowance-toolbar-actions{display:flex;align-items:center;gap:12px}.allowance-toolbar-actions .primary{white-space:nowrap}.sync-pending{display:inline-block;margin-left:6px;padding:3px 6px;border-radius:5px;background:#fff1df;color:#a25b16;font-size:9px;font-style:normal;font-weight:900}.allowance-sync-note{border-radius:8px;background:#fff6e8;color:#9b591b;padding:9px 10px!important;font-weight:800}@media(max-width:720px){.allowance-toolbar-actions{width:100%;align-items:flex-start;flex-direction:column}.allowance-toolbar-actions .primary{width:100%;min-height:46px}}
.vending-panel{grid-column:1/-1}.vending-status{position:absolute;right:21px;top:21px;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800}.vending-status.ok{background:#e7f4ed;color:#277652}.vending-status.error{background:#fff0ed;color:#b6493e}.vending-status.waiting{background:#edf1f5;color:#657488}.vending-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vending-metrics article{border:1px solid #e0e6eb;background:#f8fafb;border-radius:10px;padding:15px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 12px}.vending-metrics small{grid-column:1/-1;color:#667489;font-weight:800}.vending-metrics strong{font-size:21px}.vending-metrics em{font-size:12px;font-style:normal;color:#5f7185;font-weight:800}.vending-footer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 16px;border-top:1px solid #e3e8ed;margin-top:14px;padding-top:13px}.vending-footer>span{display:flex;gap:8px;color:#6a798c;font-size:12px}.vending-footer>small{grid-column:1;color:#aa3f35}.vending-footer>div{grid-column:2;grid-row:1/3;display:flex;gap:8px}.vending-settings form{display:flex;flex-direction:column;gap:11px}.vending-settings label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}.vending-settings input{border:1px solid #cfd8e2;border-radius:9px;padding:11px;background:#fff}.vending-settings form>small{color:#6c7b8d}.vending-settings form>.primary{align-self:flex-start}.vending-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.vending-detail-grid>div{background:#f6f8fa;border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:5px}.vending-detail-grid b{margin-bottom:3px}.vending-detail-grid span{font-size:11px;color:#607185}.settings-actions{display:flex;gap:8px;margin-top:13px}
@media(max-width:720px){.vending-metrics,.vending-detail-grid{grid-template-columns:1fr}.vending-footer{grid-template-columns:1fr}.vending-footer>div{grid-column:1;grid-row:auto}.vending-footer button,.vending-settings form>.primary,.settings-actions button{flex:1;min-height:46px}.vending-status{position:static;display:inline-block;margin:-8px 0 13px}.settings-actions{display:flex}}
@media(max-width:430px){html.external-access .vending-metrics{gap:8px}html.external-access .vending-metrics article{padding:13px}html.external-access .vending-footer>div{display:grid;grid-template-columns:1fr 1fr}html.external-access .vending-footer button{padding:10px 7px}}
.pilot-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff2cc;color:#7a5100;font-size:12px;font-weight:800;border:1px solid #f0cf73}.login-dialog{border:0;border-radius:24px;padding:0;box-shadow:0 24px 80px #081c3680}.login-dialog::backdrop{background:#0d223be6}.login-dialog form{width:min(380px,calc(100vw - 40px));padding:34px;display:grid;gap:16px}.login-dialog .brand-mark{margin:auto}.login-dialog h2,.login-dialog p{text-align:center;margin:0}.login-dialog label{display:grid;gap:7px;font-weight:700}.login-dialog input{padding:13px;border:1px solid #c9d5e3;border-radius:12px}.user-admin-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px}.account-form,.account-list{display:grid;gap:12px}.account-form label{display:grid;gap:6px}.account-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border:1px solid #d9e2ec;border-radius:14px}.account-row small{display:block;color:#60758a;margin-top:4px}.account-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.pilot-badge{font-size:10px;padding:4px 7px}.user-admin-grid{grid-template-columns:1fr}.account-row{grid-template-columns:1fr}.account-actions{justify-content:flex-start}}
