:root,[data-theme="dark"]{
  --bg:#05070d;--bg-2:#0b1424;--card:rgba(11,20,36,.72);--card2:rgba(18,32,58,.55);--field:rgba(5,7,13,.55);
  --accent:#22d3ee;--accent-2:#2f8cff;--accent-ink:#04101f;
  --grad:linear-gradient(90deg,#2f8cff,#22d3ee);
  --text:#ffffff;--muted:#b8c4d6;--line:rgba(120,170,255,.32);
  --ok:#8eefb8;--ok-bg:rgba(34,197,94,.16);
  --warn:#f5d78a;--warn-bg:rgba(234,179,8,.16);
  --bad:#ffb4a8;--bad-bg:rgba(239,68,68,.18);
  --info:#9fd4ff;--info-bg:rgba(47,140,255,.18);
  --shadow:0 16px 40px rgba(0,0,0,.35);--side:272px;
  --grid:rgba(34,211,238,.07);--glow:rgba(47,140,255,.28);
  --btn-primary-bg:linear-gradient(90deg,#2f8cff,#22d3ee);
  --btn-primary-ink:#04101f;
  --btn-primary-shadow:0 0 18px rgba(34,211,238,.35);
  --btn-secondary-bg:rgba(11,20,36,.5);
  --btn-secondary-ink:#f4f7fb;
  --btn-secondary-border:rgba(47,140,255,.7);
  --btn-danger-bg:transparent;
  --btn-danger-ink:#ffb4a8;
  --btn-danger-border:rgba(255,160,150,.75);
  --btn-danger-hover:rgba(239,68,68,.18);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#f4f7fb;--bg-2:#e6eef7;--card:rgba(255,255,255,.78);--card2:rgba(244,248,252,.9);--field:#ffffff;
  --accent:#1d64c8;--accent-2:#22d3ee;--accent-ink:#04101f;
  --grad:linear-gradient(90deg,#2f8cff,#22d3ee);
  --text:#0b1424;--muted:#4d5e74;--line:rgba(47,140,255,.28);
  --ok:#0f7a3a;--ok-bg:#e5f6ec;
  --warn:#8a5a12;--warn-bg:#f8f1dc;
  --bad:#9b3b32;--bad-bg:#fdeceb;
  --info:#1d4f86;--info-bg:#e7f1fb;
  --shadow:0 12px 32px rgba(15,40,80,.08);--side:272px;
  --grid:rgba(47,140,255,.09);--glow:rgba(47,140,255,.16);
  --btn-primary-bg:#1d6fe0;
  --btn-primary-ink:#ffffff;
  --btn-primary-shadow:0 8px 18px rgba(29,111,224,.22);
  --btn-secondary-bg:#ffffff;
  --btn-secondary-ink:#0b1424;
  --btn-secondary-border:#1d6fe0;
  --btn-danger-bg:#ffffff;
  --btn-danger-ink:#b42318;
  --btn-danger-border:#d92d20;
  --btn-danger-hover:#fff1f0;
  color-scheme:light;
}
*{box-sizing:border-box}
html{
  min-height:100%;
  background-color:var(--bg);
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px),
    radial-gradient(70% 42% at 50% -8%, var(--glow), transparent 58%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  background-size:64px 64px, 64px 64px, auto, auto;
  background-attachment:fixed;
}
html,body{margin:0;color:var(--text);font:16px/1.55 Sarabun,"Noto Sans Thai",sans-serif}
body{min-height:100vh;background:transparent}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,.brand b,.hello b{font-family:Prompt,Sarabun,sans-serif;font-weight:600;margin:0}
a{color:var(--accent)}
button,a,.item{min-height:48px}

.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.login-card{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px 22px;box-shadow:var(--shadow)}
.login-card .eyebrow{color:var(--accent);font:700 13px Prompt,sans-serif;letter-spacing:.12em}
.login-card h1{font-size:28px;margin:6px 0}
.sub{color:var(--muted);margin:0 0 12px;font-size:16px}
.item-body .sub{display:block;margin:2px 0 0}
.btn{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-ink);border-radius:14px;padding:12px 16px;cursor:pointer;min-height:48px;font-weight:700;backdrop-filter:blur(10px);box-shadow:none}
.btn:hover{background:color-mix(in srgb,var(--accent) 16%,var(--btn-secondary-bg))}
.btn:focus-visible,.theme-toggle:focus-visible,.logout-icon:focus-visible,.tabs a:focus-visible,.add-card:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.gold{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border:0;font-weight:700;box-shadow:var(--btn-primary-shadow)}
.btn.gold:hover{filter:brightness(1.08);background:var(--btn-primary-bg)}
[data-theme="light"] .btn.gold:hover{background:#185fbf;filter:none}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}
.btn.ghost:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.btn.red{background:var(--btn-danger-bg);color:var(--btn-danger-ink);border:1px solid var(--btn-danger-border);box-shadow:none}
.btn.red:hover{background:var(--btn-danger-hover);filter:none}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;box-shadow:none;filter:none}
.btn.icon{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn.icon svg{width:18px;height:18px;flex:none}
.head-tools{display:flex;gap:8px;align-items:center;flex:none;margin-left:auto}
.theme-toggle,.logout-icon{
  width:56px;min-width:56px;height:56px;min-height:56px;padding:5px 2px;border:0;border-radius:14px;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  cursor:pointer;flex:none;touch-action:manipulation;
  font:700 11px/1 Prompt,Sarabun,sans-serif;
}
.theme-toggle span,.logout-icon span{white-space:nowrap}
.theme-toggle svg,.logout-icon svg{width:20px;height:20px;flex:none}
.theme-toggle{background:#0b1424;color:#f4f7fb;box-shadow:0 8px 18px rgba(4,16,31,.28)}
[data-theme="dark"] .theme-toggle{background:linear-gradient(180deg,#2f8cff,#22d3ee);color:#04101f;box-shadow:0 0 18px rgba(34,211,238,.35)}
.theme-toggle:hover,.logout-icon:hover{filter:brightness(1.08)}
.logout-icon{background:#e10600;color:#fff;box-shadow:0 8px 16px rgba(225,6,0,.28)}
.logout-icon.is-leaving{width:auto;min-width:88px;padding:5px 8px}
.logout-icon:disabled{cursor:wait}
.field{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-weight:600}
.field .ctrl:user-invalid,.combo .combo-input:user-invalid{border-color:var(--bad,#e10600);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad,#e10600) 22%,transparent)}
.combo-input:disabled{opacity:.62}
.toolbar .combo,.top>.field{flex:0 1 220px;min-width:0;width:auto}
.car-st-edit .combo{flex:1 1 160px;min-width:140px}
.err{color:var(--bad);min-height:1.2em}

.shell{min-height:100vh}
.view-banner{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 16px;background:#04101f;color:#fff;border-bottom:2px solid #22d3ee}
.view-banner b{font-family:Prompt,sans-serif;font-size:16px;line-height:1.35}
.view-banner .btn{min-height:48px;background:#fff;color:#04101f;border-color:#fff}
.side{display:none}
.main{min-width:0}
.top{display:flex;gap:10px;align-items:center;padding:16px 16px 8px;position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}
.hello{flex:1;min-width:0}
.hello b{display:block;font-size:22px}
.hello span{color:var(--muted);font-size:15px}
.theme-btn{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:0 14px;min-height:48px;cursor:pointer;color:var(--accent);font-weight:700}
.content{padding:8px 16px 108px}
.scrim{display:none}
.burger{display:none}

.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.kpi,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.kpi span{color:var(--muted);font-size:15px}
.kpi strong{display:block;font-family:Prompt,sans-serif;font-size:32px;margin-top:4px}
.card h3{margin-bottom:8px;font-size:20px}
.card+.card,.stack{margin-top:12px}
.stack{display:grid;gap:10px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
input.search{flex:1;min-width:0}
.item{width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px);cursor:pointer}
.item.car-card,.item.app-card,.item.cust-card{cursor:pointer}
@media(max-width:700px){
  .item.car-card{flex-wrap:wrap;align-items:flex-start}
  .item.car-card .item-body{flex:1 1 auto}
  .item.car-card .row-actions{flex:1 0 100%;margin-left:0;justify-content:flex-start}
}
.row-actions .flag{font-size:13px;white-space:nowrap;margin:0}
.item img,.thumb{width:60px;height:60px;object-fit:cover;border-radius:14px;background:var(--card2);flex:none}
.item-body{flex:1;min-width:0}
.item-body b{display:block;font-size:17px}
.price{display:block;color:var(--accent);font-weight:700;font-size:18px}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700;background:var(--card2);color:var(--muted);white-space:nowrap}
.pill.available,.pill.won,.pill.approved,.pill.active,.pill.delivered{color:var(--ok);background:var(--ok-bg)}
.pill.new,.pill.submitted,.pill.draft,.pill.reviewing{color:var(--warn);background:var(--warn-bg)}
.pill.reserved,.pill.appointment,.pill.negotiating,.pill.sent_to_finance{color:var(--info);background:var(--info-bg)}
.pill.sold,.pill.rejected,.pill.lost,.pill.spam,.pill.cancelled{color:var(--bad);background:var(--bad-bg)}
.kpi-stock{border-top:4px solid #22d3ee}
.kpi-leads{border-top:4px solid #f5b942}
.kpi-finance{border-top:4px solid #34d399}
.kpi-sold{border-top:4px solid #fb7185}
.charts{display:grid;gap:12px;margin-bottom:12px}
.chart-box{position:relative;height:260px}
.chart-empty{min-height:88px}
.kind-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.kind-tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 12px;min-height:40px;cursor:pointer;font-weight:700}
.kind-tabs button.on{background:var(--accent);color:#04101f;border-color:var(--accent)}
.crud-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.detail{margin-top:12px;display:grid;gap:12px}
.photos{display:flex;gap:8px;overflow:auto}
.photos figure{margin:0;min-width:160px}
.photos img{width:160px;height:110px;object-fit:cover;border-radius:12px}
.steps{display:flex;gap:0;list-style:none;margin:12px 0 0;padding:0}
.steps li{flex:1;text-align:center;font-size:14px;color:var(--muted);position:relative}
.steps i{display:block;width:14px;height:14px;border-radius:50%;margin:0 auto 6px;background:var(--line);position:relative;z-index:1;box-shadow:0 0 0 4px var(--card)}
.steps li.done i,.steps li.now i{background:var(--accent)}
.steps li.now{color:var(--accent);font-weight:700}
.steps li:not(:last-child):after{content:"";position:absolute;top:6px;left:calc(50% + 12px);width:calc(100% - 24px);height:3px;background:color-mix(in srgb,var(--muted) 55%,var(--line));z-index:0}
.steps li.done:not(:last-child):after{background:var(--accent)}
.more-list{display:grid;gap:10px}
.more-list button,.more-list a{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--text);font-weight:700;font-size:17px;cursor:pointer}
.seg{display:flex;gap:8px;margin-bottom:12px}
.seg button.on{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border-color:transparent;box-shadow:var(--btn-primary-shadow)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--accent);font-size:14px}
.matrix{overflow:auto}
.matrix td{text-align:center}
.check{color:var(--accent)}
.empty{color:var(--muted);padding:18px;text-align:center}
.toast{position:fixed;left:16px;right:16px;bottom:92px;background:var(--text);color:var(--bg);padding:12px 14px;border-radius:14px;z-index:50}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:var(--card);border-top:1px solid var(--line);padding:4px 4px calc(6px + env(safe-area-inset-bottom))}
.tabbar button{flex:1;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;font-size:13px;font-weight:700;cursor:pointer}
.tabbar button.on{color:var(--accent)}
.tabbar svg{width:24px;height:24px}
.side-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--line)}
.side-user{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:8px;border:0;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.side-user:hover,.side-user.on{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.side-avatar{flex:none;width:44px;height:44px}
.side-avatar .face-slot{width:44px;height:44px;border-radius:12px}
.side-user-text{min-width:0;flex:1}
.side-user b,.side-user .side-role{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-user b{font-size:14px;line-height:1.25}
.side-user .side-role{color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}
.side>.nav{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;grid-auto-rows:max-content}
.side-foot{flex:none}

@media(min-width:901px){
  .shell{display:grid;grid-template-columns:var(--side) 1fr}
  .side{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden;background:var(--card);border-right:1px solid var(--line);padding:max(16px,env(safe-area-inset-top)) 12px 18px}
  .brand{display:flex;gap:10px;align-items:center;padding:4px 8px 16px}
  .mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--btn-primary-bg);color:var(--btn-primary-ink);font-family:Prompt,sans-serif;font-weight:700}
  .brand b{display:block;font-size:18px}
  .brand span,.nav p{color:var(--muted);font-size:13px}
  .nav{display:grid;gap:4px}
  .nav button{width:100%;text-align:left;background:transparent;border:0;color:var(--text);border-radius:12px;padding:12px;cursor:pointer;font-weight:600;min-height:48px}
  .nav button.on{background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent)}
  .tabbar{display:none}
  .content{padding:8px 28px 32px}
  .kpis{grid-template-columns:repeat(4,1fr)}
  .charts{grid-template-columns:1fr 1fr}
  .chart-wide{grid-column:1/-1}
  .toast{left:auto;right:24px;bottom:24px;width:max-content}
  .top h2{font-size:20px}
  .wiz-actions{bottom:0}
  .slot-grid{grid-template-columns:repeat(4,1fr)}
}
.wiz-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.wiz-head b{flex:1;font-family:Prompt,sans-serif;font-size:22px}
.wiz-steps{display:flex;gap:6px;overflow:auto;padding:2px 0 10px}
.wiz-steps button{flex:0 0 auto}
.wiz-steps button.on{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border-color:transparent}
.wiz-pane{display:none}
.wiz-pane.on{display:block}
.form-grid{display:grid;grid-template-columns:1fr;gap:0 12px}
.slot-grid,.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.slot{border:1px dashed var(--line);border-radius:16px;background:var(--card);padding:8px;display:flex;flex-direction:column;gap:6px;min-height:148px}
.slot.on{border-style:solid;border-color:var(--accent)}
.slot img{width:100%;height:84px;object-fit:cover;border-radius:10px;background:var(--card2)}
.slot b{font-size:15px}
.share-pick{margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:16px}
.share-pick legend{font-weight:700;padding:0 6px}
.share-opts{display:flex;gap:8px;overflow:auto;padding:4px 0}
.share-opt{flex:0 0 112px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:6px;font-size:12px;font-weight:700;background:var(--card);cursor:pointer}
.share-opt img{width:100%;height:72px;object-fit:contain;background:#0f1216;border-radius:8px}
.share-opt:has(input:checked){border-color:#c9a227;box-shadow:0 0 0 1px #c9a227}
.slot .btn, .doc-row .btn{width:100%}
.check{display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 10px;min-height:48px;font-weight:600}
.group-label{margin:12px 0 6px;color:var(--muted);font-weight:700}
.wiz-actions{position:sticky;bottom:76px;display:flex;gap:8px;padding:10px 0;background:color-mix(in srgb,var(--bg) 94%,transparent)}
.wiz-actions .btn{flex:1}
.paybox{background:var(--card2);border:1px solid var(--line);border-radius:16px;padding:12px;margin:8px 0}
.paybox strong{display:block;font-family:Prompt,sans-serif;font-size:28px;color:var(--accent)}
.doc-row{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
.label-missing{margin:10px 0;padding:12px 14px;border-radius:12px;background:#3a1218;color:#ffd7dc;border:1px solid #9b1c1c}
.label-missing ul{margin:6px 0 0;padding-left:18px}
.label-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.label-print{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--card);border-left:4px solid var(--accent,#c9a227)}
.label-print-legend{font-weight:800;margin-right:auto}
.label-print .btn{min-height:48px;min-width:88px}
[data-theme="light"] .label-missing{background:#fff4f4;color:#7a1420}
@media(min-width:700px){
  .form-grid{grid-template-columns:1fr 1fr}
  .slot-grid{grid-template-columns:1fr 1fr 1fr}
}
.web-grid{display:grid;gap:12px}
.web-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.section-row,.phone-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.phone-row{grid-template-columns:1fr 1.2fr auto}
.hour-row{display:grid;grid-template-columns:72px 1fr 1fr auto;gap:8px;align-items:center;margin:6px 0}
.pin-map{height:240px;border-radius:16px;border:1px solid var(--line);margin-top:8px}
.flag{display:flex;gap:8px;align-items:center;font-weight:700}
.sim-bar{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.sim-bar .btn.on{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border-color:transparent}
.studio{display:grid;gap:12px;min-width:0}
.studio-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.studio-bar h3{margin:0}
.studio-lead{margin:0;flex:1 1 200px;min-width:0}
.studio-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;align-items:center}
.studio-actions .btn,.studio-tabs .btn,.sim-bar .btn{white-space:nowrap;min-height:44px}
.studio-dirty{font-weight:700;color:var(--accent)}
.studio-tabs{display:none;gap:8px}
.studio-body{display:grid;gap:12px;align-items:start;min-width:0}
.studio-form,.studio-sim{min-width:0}
.studio-form .form-grid{grid-template-columns:1fr}
.acc{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.acc + .acc{margin-top:8px}
.acc-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;background:transparent;color:inherit;border:0;font-weight:700;text-align:left;cursor:pointer}
.acc-btn span:first-child{min-width:0}
.acc-chev{flex:none}
.acc-panel{display:none;padding:0 12px 12px}
.studio-crud{margin-top:12px}
.studio-crud>.card{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.acc.is-open .acc-panel{display:block}
.studio-stage{position:relative;overflow:hidden;width:100%;border:1px solid var(--line);border-radius:16px;background:#0b0d12}
[data-theme="light"] .studio-stage{background:#e7edf5}
.studio-stage iframe{position:absolute;top:0;left:0;border:0;display:block;transform-origin:top left;background:#fff}
@media(min-width:701px){
  .studio-body{grid-template-columns:minmax(260px,380px) minmax(0,1fr)}
  .studio-tabs{display:none}
  .studio.is-form .studio-sim,.studio.is-sim .studio-form{display:block}
  .studio-form{max-height:calc(100vh - 150px);overflow:auto}
  .studio-sim{position:sticky;top:8px}
}
@media(max-width:700px){
  .studio-tabs{display:flex}
  .studio.is-form .studio-sim{display:none}
  .studio.is-sim .studio-form{display:none}
  .studio.is-settings-collapsed .studio-form{display:none}
  .studio.is-settings-collapsed.is-form .studio-sim{display:block}
}
@media(min-width:701px){
  .studio.is-settings-collapsed .studio-body{grid-template-columns:minmax(0,1fr)}
  .studio.is-settings-collapsed .studio-form{display:none}
}
.studio-pane-toggle,.studio-actions #studioPaneToggle{white-space:nowrap}
.sales-mini-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.sales-mini{display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;min-width:0}
.sales-mini img,.sales-mini-ph{width:72px;height:72px;object-fit:cover;border-radius:12px;background:#14171d}
.sales-mini b{font-size:12px;line-height:1.35;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
  .sales-mini{width:72px}
  .sales-mini img,.sales-mini-ph{width:64px;height:64px}
}

.mark.brand-mark{background:none;overflow:hidden;padding:0}.mark.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.mark.brand-mark .mark-on-dark{display:none}[data-theme="dark"] .mark.brand-mark .mark-on-light{display:none}[data-theme="dark"] .mark.brand-mark .mark-on-dark{display:block}

.mark.brand-mark.logo-h{width:auto;height:44px;border-radius:0;display:flex;align-items:center}.mark.brand-mark.logo-h img{height:44px;width:auto}.brand:has(.logo-h){flex-direction:column;align-items:flex-start;gap:6px}

/* catalog picker (car form) */
.cc-pick{grid-column:1/-1;margin:0 0 6px;padding:12px;border:1px solid var(--line,rgba(148,163,184,.35));border-radius:12px;background:rgba(14,165,233,.05)}
.cc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.cc-grid .field{min-width:0;margin:0}
.cc-grid .combo,.cc-grid .combo-input{width:100%}
.cc-hint{display:block;min-height:1.1em;margin-top:3px;font-size:11.5px;color:#fbbf24}
[data-theme="light"] .cc-hint{color:#b45309}
.cc-note{margin:8px 0 0}
@media (max-width:1100px){.cc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.cc-grid{grid-template-columns:1fr}}

/* === 20261017adm: grouped sidebar, mobile drawer, responsive pass, admission queue === */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip;max-width:100%}
.shell{min-height:100vh;min-height:100dvh}
.top{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.content{padding-bottom:calc(96px + env(safe-area-inset-bottom));min-width:0}
.content img,.content video,.content canvas{max-width:100%}
.content table{max-width:100%}
.content :is(.table-wrap,.tbl-wrap,.adm-wrap){overflow-x:auto;-webkit-overflow-scrolling:touch}
.nav-grp{border-radius:12px}
.nav-grp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border-radius:12px;font-weight:700;color:var(--muted);font-size:14px;user-select:none}
.nav-grp>summary::-webkit-details-marker{display:none}
.nav-grp>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-right:4px}
.nav-grp[open]>summary::after{transform:rotate(-135deg)}
.nav-grp.has-on>summary{color:var(--accent)}
.nav-sub{display:grid;gap:2px;padding:0 0 6px 10px;border-left:2px solid var(--line);margin-left:12px}
.nav-burger{display:none;flex:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.nav-burger span{display:block;width:18px;height:2px;background:var(--text);border-radius:2px}
.nav-scrim{display:none}
@media(max-width:900px){
  .nav-burger{display:inline-flex}
  .side{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:70;width:min(300px,86vw);height:100vh;height:100dvh;overflow:hidden;background:var(--card);border-right:1px solid var(--line);padding:max(16px,env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));transform:translateX(-104%);transition:transform .25s ease;overscroll-behavior:contain}
  body.nav-open .side{transform:none;box-shadow:0 10px 40px rgba(0,0,0,.45)}
  body.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:65;background:rgba(2,6,23,.55)}
  body.nav-open{overflow:hidden}
  .side .brand{display:flex;gap:10px;align-items:center;padding:4px 8px 16px}
  .side .nav{display:grid;gap:4px}
  .side .nav button{width:100%;text-align:left;background:transparent;border:0;color:var(--text);border-radius:12px;padding:12px;cursor:pointer;font-weight:600;min-height:44px;font-size:16px}
  .side .nav button.on{background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent)}
  .hello b{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hello span{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
}
@media(pointer:coarse){
  .content :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea),.side select{font-size:16px!important}
  .content :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:44px}
  .content :is(button,.btn),.tabbar button,.top :is(button,.btn){min-height:44px}
  .content input[type=checkbox],.content input[type=radio]{width:22px;height:22px}
}
@media(max-width:640px){
  .content table:not(.adm-table){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .kpis{grid-template-columns:1fr 1fr!important}
  .charts{grid-template-columns:1fr!important}
}
/* Admission */
.adm{display:grid;gap:14px}
.adm-head{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between}
.adm-head h2,.adm-head h3{margin:0}
.adm-links{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:480px){.adm-links{width:100%}.adm-links .btn{flex:1 1 0;justify-content:center;text-align:center}}
.adm-tabs{display:flex;flex-wrap:wrap;gap:8px}
.adm-tabs .btn.on{background:var(--accent);color:var(--btn-primary-ink,#06202a);border-color:transparent}
.adm-tabs b{margin-left:4px}
.adm-tools{display:grid;grid-template-columns:1fr 160px;gap:10px}
.adm-table{width:100%;border-collapse:collapse}
.adm-table th,.adm-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.adm-table th{font-size:13px;color:var(--muted)}
.adm-table small{display:block;color:var(--muted);font-size:13px}
.adm-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* a flex <td> stops being a table cell, so its row border drew at a different height (768/1280); keep the cell a cell */
@media(min-width:641px){td.adm-act{display:table-cell;text-align:right}td.adm-act>*{display:inline-flex;margin:3px 0 3px 6px;vertical-align:middle}}
.adm-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}
.adm-pending{background:rgba(245,158,11,.18);color:#f59e0b}.adm-admitted{background:rgba(34,197,94,.18);color:#22c55e}.adm-rejected{background:rgba(239,68,68,.16);color:#ef4444}
.adm-modal{position:fixed;inset:0;z-index:90;background:rgba(2,6,23,.6);display:grid;place-items:center;padding:16px}
.adm-sheet{width:min(640px,100%);max-height:88vh;max-height:88dvh;overflow:auto;display:grid;gap:12px;overscroll-behavior:contain}
.adm-dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 12px;margin:0}
.adm-dl dt{color:var(--muted);font-size:14px}.adm-dl dd{margin:0;overflow-wrap:anywhere}
.adm-files,.adm-foot{display:flex;flex-wrap:wrap;gap:8px}
.adm-who{display:flex;gap:12px;align-items:center;min-width:0}.adm-who>div{min-width:0;overflow-wrap:anywhere}
.adm-ph{flex:none;width:64px;height:64px;padding:0;border-radius:50%;overflow:hidden;border:2px solid var(--line);background:rgba(127,127,127,.15);cursor:zoom-in;display:block}
.adm-ph img{width:100%;height:100%;object-fit:cover;display:block}
.adm-ph.is-empty,.adm-ph.is-locked{cursor:default;background:rgba(127,127,127,.15) url("/images/avatars/avatar-sales-01-512.webp") center/cover;opacity:.55}
.adm-ph.is-empty{border:2px dashed #f59e0b;opacity:.75}
.adm-ph.is-big{width:160px;height:160px;border-width:3px}
.adm-photo-big{display:grid;justify-items:center;gap:6px;text-align:center}.adm-photo-big small{color:var(--muted)}
.adm-nophoto{color:#b45309!important;font-weight:700}[data-theme="dark"] .adm-nophoto,:root:not([data-theme="light"]) .adm-nophoto{color:#fbbf24!important}[data-theme="light"] .adm-nophoto{color:#92400e!important}
.adm-warn{margin:0;padding:8px 12px;border-radius:12px;background:rgba(245,158,11,.16);color:#92400e;font-weight:700;font-size:14px;text-align:left}:root:not([data-theme="light"]) .adm-warn{color:#fbbf24}[data-theme="light"] .adm-warn{color:#92400e}
.adm-lightbox{position:fixed;inset:0;z-index:120;background:rgba(2,6,23,.88);display:grid;place-items:center;gap:12px;padding:16px;align-content:center}
.adm-lightbox img{width:min(92vw,560px);height:auto;max-width:min(92vw,720px);max-height:78vh;max-height:78dvh;border-radius:16px;object-fit:contain;background:#111}
@media(max-width:640px){
  .adm-tools{grid-template-columns:1fr}
  .adm-table thead{display:none}
  .adm-table,.adm-table tbody,.adm-table tr,.adm-table td{display:block;width:100%}
  .adm-table tr{border:1px solid var(--line);border-radius:14px;padding:8px 4px;margin-bottom:10px}
  .adm-table td{border:0;padding:6px 10px}
  .adm-table td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted)}
  .adm-act{justify-content:stretch}.adm-act .btn{flex:1 1 0}
  .adm-modal{place-items:end center;padding:0}
  .adm-sheet{border-radius:20px 20px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .adm-dl{grid-template-columns:1fr}.adm-dl dt{margin-top:6px}
}
/* Sidebar brand: logo and Powered by TentDeal inside a compact card, then the menu. */
.side .brand.dealer-brand{flex-direction:column;align-items:stretch;text-align:center;gap:0;padding:0;margin:0 0 10px;background:transparent;border:0}
.side-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 14px 10px;border-radius:16px;background:linear-gradient(180deg,#0b1424,#05070d);border:1px solid rgba(34,211,238,.32)}
[data-theme="light"] .side-head{background:linear-gradient(180deg,#EEF4FF,#E3ECFF);border:1px solid #D3E0F6}
.dealer-logo-box{display:flex;align-items:center;justify-content:center;width:min(180px,calc(var(--side) * 0.66),100%);margin:0 auto;padding:0;background:transparent;border-radius:0}
.dealer-brand .dealer-logo{display:block;margin:0 auto;width:auto;height:auto;max-width:100%;max-height:132px;object-fit:contain;border-radius:0;background:transparent}
.dealer-brand .logo-on-light{display:none}
[data-theme="light"] .dealer-brand .logo-on-dark{display:none}
[data-theme="light"] .dealer-brand .logo-on-light{display:block}
.logo-swatches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.logo-swatch{border-radius:12px;padding:10px 10px 4px}
.logo-swatch p{margin:0 0 8px;font-size:13px;font-weight:700}
.logo-swatch img{display:block;max-width:100%;max-height:72px;width:auto;height:auto;margin:0 auto 8px;object-fit:contain;background:transparent}
.logo-swatch img,.dealer-brand .dealer-logo{filter:none;opacity:1}
.logo-swatch .file-drop-thumb{background:transparent}
.logo-swatch .file-drop-thumb img{width:100%;height:100%;max-height:none;margin:0;object-fit:contain;background:transparent;filter:none;opacity:1}
.logo-swatch.is-dark{background:#14171d;color:#fff}
.logo-swatch.is-light{background:#f4f7fb;color:#10141a}
@media (max-width:700px){.logo-swatches{grid-template-columns:1fr}}
.dealer-brand .dealer-name{display:none}
@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url("/shared/fonts/Prompt-Bold.ttf?v=20261019side") format("truetype");unicode-range:U+44,U+54,U+61,U+65,U+6C,U+6E}
.side .powered{display:inline-flex;min-height:0;margin:0;align-items:baseline;justify-content:center;gap:5px;padding:0;color:#B8C4D6;text-decoration:none;border-radius:8px;line-height:1.35;white-space:nowrap}
.side .powered{cursor:default;pointer-events:none;user-select:none}
.side .powered .pw-by{font-size:11px;font-weight:500;letter-spacing:.01em;color:#B8C4D6}
.side .powered .pw-mark{font-family:Prompt,sans-serif;font-weight:700;font-size:13px;letter-spacing:-.03em;line-height:1.35;white-space:nowrap}
.side .powered .pw-tent{color:#FFFFFF}
.side .powered .pw-deal{color:#00BDF9;text-shadow:0 0 6px rgba(0,189,249,.55)}
[data-theme="light"] .side .powered,[data-theme="light"] .side .powered .pw-by{color:var(--muted)}
[data-theme="light"] .side .powered .pw-tent{color:#011336}
[data-theme="light"] .side .powered .pw-deal{color:#0050F8;text-shadow:none}

/* audit: solid drawer */
@media(max-width:900px){.side{background:var(--bg-2)}}
/* audit: wiz sticky desktop */
@media(min-width:901px){.wiz-actions{bottom:0}}

.demo-shell{max-width:980px;margin:0 auto;padding:28px 16px 64px}
.demo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.demo-head h1{margin:4px 0 0;font-size:28px}
.demo-head .eyebrow{color:var(--accent);font:700 13px Prompt,sans-serif;letter-spacing:.12em}
.demo-shell .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.demo-shell .toolbar .ctrl{max-width:220px}
.demo-list{display:grid;gap:10px}
.demo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.demo-row b{display:block}
.demo-row .sub{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.demo-actions .ctrl{width:160px;min-height:44px}
.demo-actions .btn{min-height:44px}
@media(max-width:720px){
  .demo-row{grid-template-columns:1fr}
  .demo-actions{justify-content:stretch}
  .demo-actions .ctrl,.demo-actions .btn{width:100%}
  .demo-row .sub{white-space:normal}
}
html.intro-on,html.intro-on body{background:#000;background-image:none;overflow:hidden}
.login-intro{position:fixed;inset:0;z-index:90;width:100vw;height:100vh;height:100dvh;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.login-intro-video{display:block;position:relative;z-index:2;width:100vw;height:auto;max-height:100dvh;object-fit:contain;object-position:center;background:#000;opacity:1}
.login-intro-skip{position:absolute;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:3;min-height:44px;min-width:44px;margin:0;padding:0 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:600 15px/1 Sarabun,Prompt,sans-serif;cursor:pointer}
.intro-held{display:flex;flex-flow:row nowrap;align-items:flex-start;gap:8px;margin:8px 0 12px}
.intro-preview{display:block;flex:none;width:min(200px,calc(100% - 120px));aspect-ratio:9/16;height:auto;object-fit:contain;background:#000;border-radius:12px}
.content .intro-preview{max-width:min(200px,calc(100% - 120px))}
.intro-actions{display:flex;flex:1;flex-direction:column;align-items:stretch;gap:8px;min-width:112px;padding-top:2px}
.intro-actions .file-drop{min-height:0;width:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.intro-actions .file-drop-empty{display:flex;align-items:stretch;width:100%}
.intro-actions .file-drop-copy,.intro-actions .file-drop-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.intro-actions .btn,.intro-actions .file-drop-browse{width:100%;margin:0;min-height:44px;padding:8px 10px;white-space:nowrap;font-size:14px}
.rate-sheet{display:grid;gap:12px}
.rate-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rate-top h2{margin:0}
.rate-top .btn{min-height:44px;white-space:nowrap}
.rate-note{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.rate-block{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}
.rate-block h3{margin:0 0 8px;font-size:16px;line-height:1.35}
.rate-head,.rate-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 6.25rem;gap:8px;align-items:center}
.rate-head{color:var(--muted);font-size:12px;margin-bottom:4px}
.rate-head span,.rate-year{white-space:nowrap}
.rate-row{min-height:44px}
.rate-row .ctrl{min-height:44px;width:100%}
.rate-addon .rate-head,.rate-addon .rate-row{grid-template-columns:7.5rem minmax(0,1fr)}
.quote-box{display:grid;gap:4px;max-width:28rem}
.quote-box .ctrl{min-height:48px;width:100%}
.quote-terms{display:flex;flex-wrap:wrap;gap:8px}
.quote-terms button{min-height:44px;min-width:64px;white-space:nowrap}
.quote-terms button.on{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border-color:transparent}
.quote-out{margin:8px 0;font-size:16px;line-height:1.45}
.quote-out b{display:block;font-size:28px;font-variant-numeric:tabular-nums}
.quote-out .cg-lender-note{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}
.rate-term-head,.rate-term-row{display:grid;grid-template-columns:2.4rem repeat(4,minmax(0,1fr));gap:4px;align-items:center}
.rate-term-head{color:var(--muted);font-size:12px;margin-bottom:4px}
.rate-term-head span,.rate-term-row .rate-year{white-space:nowrap}
.rate-term-row{min-height:44px}
.rate-term-row .ctrl{min-height:44px;width:100%;padding:6px 2px;text-align:center}
.rate-blank{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--muted)}
.rate-brands{min-height:72px}
.quote-box .btn{min-height:48px}
.co-add{display:flex;align-items:flex-end;gap:8px}
.co-add .field{flex:1;min-width:0;margin:0}
.contract-edit{display:grid;gap:12px;max-width:920px}
.contract-edit h2,.contract-edit h3{margin:0}
.contract-grid{display:grid;gap:0 12px}
.contract-grid[hidden]{display:none}
.contract-grid .field{min-width:0;margin:8px 0}
.contract-grid .ctrl,.contract-edit .ctrl{width:100%;min-height:44px;max-width:100%}
.contract-pay{display:flex;flex-wrap:wrap;gap:8px 14px}
.contract-pay .check{display:flex;align-items:center;gap:8px;min-height:44px}
.contract-actions{display:flex;flex-wrap:wrap;gap:8px}
.contract-actions .btn{min-height:44px}
.contract-paper,.booking-paper,.receipt-paper{display:none}
@page{size:A4;margin:12mm}
html:has(body.contract-printing){
  color-scheme:light;
  background:#fff !important;
  background-image:none !important;
  background-color:#fff !important;
}
body.contract-printing,
body.contract-printing .shell,
body.contract-printing .main,
body.contract-printing .content,
body.contract-printing .contract-paper{
  background:#fff !important;
  background-image:none !important;
  background-color:#fff !important;
  color:#000;
}
@media (max-width:700px){
  .stack{min-width:0}
  .stack>.item{min-width:0;max-width:100%}
  .ucs-app .media-row,.ucs-app .lead-card{flex-wrap:wrap;align-items:flex-start;max-width:100%}
  .ucs-app .media-row .item-body,.ucs-app .lead-card .item-body{flex:1 1 0;min-width:0;max-width:100%}
  .ucs-app .media-row .item-body b,.ucs-app .media-row .item-body .sub,.ucs-app .lead-card .item-body b,.ucs-app .lead-card .item-body .sub{overflow:hidden;text-overflow:ellipsis}
  .ucs-app .media-row .row-actions{flex:1 0 100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;max-width:100%}
  .ucs-app .lead-card .pill,.ucs-app .media-row .pill{max-width:100%}
  .contract-edit,.contract-edit .card,.contract-grid{max-width:100%;min-width:0}
  .contract-edit .toolbar h2{flex:1 1 100%;min-width:0}
  .contract-edit .ctrl,.contract-edit .combo,.contract-edit .combo-input{min-width:0;max-width:100%;width:100%}
  .contract-actions{max-width:100%}
  [data-co]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  [data-co] .ctrl{flex:1 1 100%;min-width:0;width:100%}
}
@media (min-width:720px){
  .contract-grid.two{grid-template-columns:1fr 1fr}
}
@media print{
  :root,html,body{color-scheme:light !important;background:#fff !important;background-image:none !important;background-color:#fff !important;height:auto !important;min-height:0 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.contract-printing .side,
  body.contract-printing .top,
  body.contract-printing .tabbar,
  body.contract-printing .view-banner,
  body.contract-printing .contract-edit{display:none !important}
  body.contract-printing,
  body.contract-printing .shell,
  body.contract-printing .main,
  body.contract-printing .content{display:block !important;background:#fff !important;color:#000 !important;width:auto !important;height:auto !important;min-height:0 !important;margin:0 !important;padding:0 !important;overflow:visible !important}
  html:has(body.contract-printing),
  body.contract-printing,
  body.contract-printing .shell,
  body.contract-printing .main,
  body.contract-printing .content,
  body.contract-printing .contract-paper{background:#fff !important;background-image:none !important;background-color:#fff !important}
  body.contract-printing .contract-paper{display:block !important;color:#000;background:#fff !important;box-shadow:none;font-family:Sarabun,Prompt,sans-serif;font-size:14px;line-height:1.75;page-break-after:avoid;break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.contract-printing .contract-paper h1{text-align:center;font-size:22px;margin:0 0 8px;line-height:1.3}
  body.contract-printing .contract-paper p{margin:0 0 8px}
  body.contract-printing .contract-paper .blank{display:inline-block;min-width:3.2em;border-bottom:1px solid #000;padding:0 6px 4px;line-height:1.4;text-underline-offset:4px;vertical-align:baseline}
  body.contract-printing .contract-paper .tax-blank{min-width:16em}
  body.contract-printing .contract-signs{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:18px;page-break-inside:avoid;break-inside:avoid;page-break-after:avoid;break-after:avoid}
  body.contract-printing .sign{page-break-inside:avoid;break-inside:avoid;min-width:0}
  body.contract-printing .sig-grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:6px;align-items:end}
  body.contract-printing .sig-space{grid-column:1 / -1;height:18mm}
  body.contract-printing .sig-label,
  body.contract-printing .sig-role{white-space:nowrap}
  body.contract-printing .sig-dots{border-bottom:1px dotted #000;min-height:1.15em}
  body.contract-printing .sig-name{text-align:center;line-height:1.9}
  body.booking-printing .side,
  body.booking-printing .top,
  body.booking-printing .tabbar,
  body.booking-printing .view-banner,
  body.booking-printing .contract-edit{display:none !important}
  body.booking-printing,
  body.booking-printing .shell,
  body.booking-printing .main,
  body.booking-printing .content{display:block !important;background:#fff !important;color:#000 !important;width:auto !important;margin:0 !important;padding:0 !important;overflow:visible !important}
  body.booking-printing .booking-paper{display:block !important;color:#000;background:#fff;font-family:Sarabun,Prompt,sans-serif;font-size:14px;line-height:1.75}
  body.booking-printing .booking-paper h1{text-align:center;font-size:22px;margin:0 0 8px}
  body.booking-printing .booking-paper p{margin:0 0 8px}
  body.receipt-printing .side,
  body.receipt-printing .top,
  body.receipt-printing .tabbar,
  body.receipt-printing .view-banner,
  body.receipt-printing .contract-edit{display:none !important}
  body.receipt-printing,
  body.receipt-printing .shell,
  body.receipt-printing .main,
  body.receipt-printing .content{display:block !important;background:#fff !important;color:#000 !important;width:auto !important;margin:0 !important;padding:0 !important;overflow:visible !important}
  body.receipt-printing .receipt-paper{display:block !important;color:#000;background:#fff;font-family:Sarabun,Prompt,sans-serif;font-size:14px;line-height:1.75}
  body.receipt-printing .receipt-paper h1{text-align:center;font-size:22px;margin:0 0 8px}
  body.receipt-printing .receipt-paper p{margin:0 0 8px}
}
.app-icon-field{margin-top:4px}
.app-icon-previews{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:8px 0 12px}
.app-icon-previews figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.app-icon-previews figcaption{font-size:12px;line-height:1.35;white-space:nowrap}
.app-icon-shape{display:block;width:72px;height:72px;overflow:hidden;background:#14171d}
.app-icon-shape img{display:block;width:100%;height:100%;object-fit:cover}
.app-icon-shape.is-circle{border-radius:50%}
.app-icon-shape.is-squircle{border-radius:22%}
.app-icon-shape.is-tab{width:16px;height:16px;border-radius:3px;background:#fff}
.app-icon-tab-bar{display:flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:6px 12px;border-radius:10px 10px 0 0;background:#e8eaed;color:#202124}
.app-icon-tab-title{font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.app-icon-err{margin:10px 0 0;white-space:normal}
.app-icon-reset{margin-top:8px;white-space:nowrap}
.app-icon-field .file-drop-hint{line-height:1.45}
@media screen and (max-width:900px){
  .app-icon-previews{gap:12px}
}
@media (max-width:700px){
  .app-icon-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .app-icon-shape{width:64px;height:64px}
  .app-icon-tab-bar{padding:6px 8px;min-width:0}
  .app-icon-tab-title{max-width:72px}
  .app-icon-reset{width:100%}
}
/* Typography scale + page header (td/backend-typography) */
/* tokens: /shared/type.css */
.content{font-size:var(--fs-body);line-height:1.55}
.card h3,.page-title{font-size:var(--fs-title);line-height:1.3;font-weight:700;letter-spacing:-.01em}
.sub{font-size:var(--fs-sub);line-height:1.5}
.group-label,.nav-grp>summary{font-size:var(--fs-label)}
.btn{font-size:var(--fs-btn)}
.studio-bar{display:flex;align-items:flex-start;gap:10px 16px;flex-wrap:wrap}
.page-head-text{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:4px}
.page-head-text .page-title{margin:0}
.page-sub{margin:0;color:var(--muted);font-size:var(--fs-sub);line-height:1.5;overflow-wrap:anywhere}
.page-sub a{white-space:nowrap}
.studio-lead{flex:none}
.studio-dirty{align-self:center}
.studio-actions{flex:0 1 auto;justify-content:flex-end;margin-left:auto}
@media(max-width:700px){.studio-actions{margin-left:0;width:100%;justify-content:flex-start}.studio-actions .btn{flex:1 1 auto}}
/* Sidebar rail */
.nav-ico{display:none}
.side .rail-toggle{display:none}
@media(min-width:901px){
  .nav button,.nav-grp>summary{display:flex;align-items:center;gap:10px}
  .nav-ico{display:inline-flex;flex:none;width:20px;height:20px}
  .nav-ico svg{width:20px;height:20px}
  .nav-grp>summary{justify-content:flex-start}
  .nav-grp>summary::after{margin-left:auto}
  .side{position:sticky}
  .side .rail-toggle{display:inline-flex;position:absolute;top:max(6px,env(safe-area-inset-top));right:6px;z-index:2;width:34px;height:34px;min-width:34px;min-height:34px;border-radius:10px;border-color:var(--line);background:var(--card);color:var(--muted)}
  .side .rail-toggle:hover,.side .rail-toggle:focus-visible{color:var(--accent)}
  .side .rail-toggle svg{width:18px;height:18px}
  .shell{transition:grid-template-columns .2s ease}
  body.side-rail{--side:76px}
  body.side-rail .side{padding-left:10px;padding-right:10px}
  body.side-rail .nav-txt,body.side-rail .powered,body.side-rail .side-user-text,body.side-rail .nav-grp>summary::after{display:none}
  body.side-rail .side-head{padding:6px;border-radius:12px}
  body.side-rail .dealer-logo-box{width:44px}
  body.side-rail .dealer-brand .dealer-logo{max-height:44px}
  body.side-rail .brand{padding:0 0 10px}
  body.side-rail .side .rail-toggle{position:static;align-self:center;margin:0 0 8px;order:-1}
  body.side-rail .nav button,body.side-rail .nav-grp>summary{justify-content:center;padding:10px;min-height:44px}
  body.side-rail .nav-sub{padding:0;margin:0;border-left:0}
  body.side-rail .nav-grp>summary{display:none}
  body.side-rail .nav-grp>.nav-sub{display:grid;gap:4px;padding-top:6px;margin-top:2px;border-top:1px solid var(--line)}
  body.side-rail .side-user{justify-content:center;padding:4px}
  body.side-rail .side-foot{padding-left:0;padding-right:0}
}
/* Studio settings column: rows fit the column, text wraps (2 lines), borders intact */
.studio-form,.studio-form .acc-panel,.studio-crud,.studio-crud .stack{min-width:0;max-width:100%;overflow-x:hidden}
.studio-crud .item{box-sizing:border-box;max-width:100%;min-width:0;flex-wrap:wrap;align-items:flex-start;box-shadow:none}
.studio-crud .item-body{flex:1 1 0;min-width:0}
.studio-crud .item-body b,.studio-crud .item-body .sub{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.studio-crud .item-body b{font-size:15px;line-height:1.4}
.studio-crud .item-body .sub{font-size:13px}
.studio-crud .row-actions{margin-left:auto;flex-wrap:wrap}
@media(min-width:701px){.studio-form{max-height:calc(100vh - 170px);overscroll-behavior:contain;padding-right:4px}}
/* Mobile bottom nav: keep every backend page clear of it (height measured in app.js). */
@media screen and (max-width:900px){
  .content{padding-bottom:calc(var(--tabbar-h,72px) + 24px + env(safe-area-inset-bottom)) !important}
  html{scroll-padding-bottom:calc(var(--tabbar-h,72px) + 16px)}
}
/* Admit v2: view switcher + member screens (type tokens from shared/type.css) */
.vw{position:relative}
.vw-btn{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:240px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer;text-align:left}
.vw-btn b{font-size:var(--fs-label,13px);line-height:var(--lh-tight,1.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.vw-cap{font-size:11px;color:var(--muted)}
.vw-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:240px;max-width:min(320px,92vw);padding:6px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(var(--card),var(--card)),var(--bg);box-shadow:0 12px 32px rgba(1,19,54,.18)}
.vw-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.vw-item{display:flex;justify-content:space-between;gap:12px;width:100%;min-height:44px;align-items:center;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:var(--fs-body,15px);cursor:pointer;text-align:left}
.vw-item span{font-size:var(--fs-label,13px);color:var(--muted);flex:none}
.vw-item:hover{background:rgba(0,80,248,.06)}
.vw-item.on{border-color:var(--accent);background:rgba(0,80,248,.08)}
.vw-card{margin-bottom:16px}
.vw-card h3{font-size:var(--fs-section,18px)}
.dm h2{font-size:var(--fs-title,22px)}
.dm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.dm-role,.adm-stepsel{min-height:36px;font-size:var(--fs-label,13px);margin-top:4px}
.adm-steps{margin-top:8px}
@media(max-width:700px){.top{flex-wrap:wrap}.top>.vw{order:9;flex:1 0 100%;min-width:0}.vw-btn{max-width:none;width:100%;min-height:40px;padding:4px 12px;flex-direction:row;align-items:center;gap:8px}.vw-pop{left:0;right:0;min-width:0;max-width:none}}
.top:has(.vw-pop:not([hidden])){z-index:70}

/* บริษัทไฟแนนซ์ list + form */
.co-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.co-head h3{margin:0}
#coList .stack{grid-template-columns:minmax(0,1fr)}
.row-thumb.co-logo,.row-thumb.co-logo img{background:#fff}
.row-thumb.co-logo img{object-fit:contain;padding:3px;opacity:1}
.co-logo-now{display:flex;align-items:center;gap:12px;margin:6px 0}
/* ทีม ↔ ลูกค้า visit history */
.dm-visits{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.dm-visits li{font-size:.86em;color:var(--muted,#8a8f98);white-space:normal;overflow-wrap:anywhere}
.dm-visits b{color:inherit;font-weight:600}
.dm-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;font-size:.78em;border:1px solid currentColor;opacity:.8}
/* งานไฟแนนซ์ (finflow.js) */
.ff .ff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.ff .ff-box{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px;min-width:0;display:flex;flex-direction:column;gap:10px}
.ff .ff-box h3{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ff .ff-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:0}
.ff .ff-kv>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}
.ff .ff-kv dt{color:var(--muted);font-size:13px}.ff .ff-kv dd{margin:0;overflow-wrap:anywhere}
.ff .ff-check,.ff .ff-docs,.ff .ff-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ff .ff-check{flex-direction:row;flex-wrap:wrap;gap:8px}.ff .ff-check li{padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:13px}
.ff .ff-check li.ok{color:#15803d;border-color:#86efac}.ff .ff-check li.miss{color:#b91c1c;border-color:#fca5a5}
.ff .ff-docs li small,.ff .ff-log li .sub{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.ff .ff-log li{border-left:3px solid var(--line);padding-left:10px}.ff .ff-log li p{margin:2px 0 0}
.ff .ff-row2,.ff .ff-row3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.ff .field{display:flex;flex-direction:column;gap:6px;min-width:0}.ff .ctrl{min-width:0;max-width:100%}
.ff .adm-tabs label.btn input{margin:0 4px 0 0}
.ff-st.ff-ok,.ff .ff-ok{background:#dcfce7;color:#166534}.ff-st.ff-warn,.ff .ff-warn{background:#fef3c7;color:#92400e}.ff-st.ff-bad{background:#fee2e2;color:#991b1b}.ff-st.ff-info{background:#e0f2fe;color:#075985}
.ff .ff-row{cursor:pointer}.ff .ff-row:hover{background:var(--hover,rgba(127,127,127,.06))}
#ffBack{margin-bottom:6px}

/* Loan case flow (053): progress line, aging, action buttons */
.ff .ff-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;counter-reset:ffs}
.ff .ff-steps li{counter-increment:ffs;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--muted)}
.ff .ff-steps li::before{content:counter(ffs) ". ";font-weight:700}
.ff .ff-steps li small{display:block;font-size:12px}
.ff .ff-steps li.done{background:#dcfce7;color:#166534;border-color:#86efac}.ff .ff-steps li.now{background:#e0f2fe;color:#075985;border-color:#7dd3fc;font-weight:700}.ff .ff-steps li.stop{background:#fee2e2;color:#991b1b;border-color:#fca5a5;font-weight:700}
.ff .ff-acts{display:flex;flex-wrap:wrap;gap:8px}.ff .btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
.ff small.ff-late{color:#b91c1c;font-weight:600}.ff .ff-alert{margin:12px 0 0;padding:8px 12px;border-radius:10px;background:#fef3c7;color:#92400e}
.ff .ff-fc{min-width:200px}.ff .ff-table td small,.ff .adm-table td small{display:block;color:var(--muted)}

.ff-dt{position:relative;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ff-dt-btn{min-width:180px;text-align:left;cursor:pointer}
.ff-dt-time{display:inline-flex;align-items:center;gap:4px}
.ff-dt-time select{width:auto;min-width:64px}
.ff-dt-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;box-sizing:border-box;width:min(300px,calc(100vw - 32px));max-width:100%;background:var(--bg-2,#0b1424);border:1px solid var(--accent,#e11d2a);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
@media (max-width:480px){.ff-dt-pop{position:static;width:100%;flex-basis:100%}}
.ff-dob [data-ff-dob]{max-width:100%;min-width:0}
@media (min-width:900px){.ff-dob{grid-column:span 2;max-width:420px}}
/* Staff-filled loan application form (057) */
.ff-staff .ff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px}
.ff-staff .ff-req{color:#e10600}
.ff-staff .ff-bad-in{border-color:#e10600!important;box-shadow:0 0 0 2px rgba(225,6,0,.18)}
.ff-staff .ff-err{color:#c62828;font-weight:600;min-height:1em}
.ff-staff .ff-chips{display:flex;flex-wrap:wrap;gap:8px}
.ff-staff .ff-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5dbe5;border-radius:999px;padding:6px 12px;cursor:pointer}
.ff-staff .ff-chip:has(input:checked){border-color:#e10600;background:rgba(225,6,0,.14);font-weight:600}
.ff-staff .ff-actions{margin:10px 0 16px}
.ff-staff .ff-file{margin:2px 0}
.ff-staff .ff-review{border-left:4px solid #e10600}
.ff-alert.ff-info{background:#eef5ff;border-color:#b9d3f5;color:#1d3f6b}

/* v5: owner banner — consent texts pending legal review */
.ff-legal{border:1px solid #c9a227;background:rgba(245,196,0,.08);border-radius:12px;padding:10px 14px;margin:10px 0}
.ff-legal summary{cursor:pointer;color:#f5c400;margin-top:6px}
.ff-legal h4{margin:10px 0 4px}.ff-legal p{margin:4px 0}.ff-legal code{font-size:12px}
.ff-note{color:#f0b4b4;font-size:13px;margin:4px 0 8px}

/* ---- ออกใบเสร็จ (receipts.js, migration 060) ---- */
.rc-issuer .rc-pane{margin-top:10px}
.rc-tabbar{display:flex;gap:6px;border-bottom:1px solid var(--line,#2a3550);margin-top:8px}
.rc-tab{flex:1;max-width:220px;background:none;border:1px solid transparent;border-bottom:none;border-radius:10px 10px 0 0;padding:10px 12px;color:inherit;font:inherit;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:.7}
.rc-tab.on{opacity:1;background:rgba(56,189,248,.12);border-color:var(--line,#2a3550);box-shadow:inset 0 -3px 0 #38bdf8}
.rc-using{font-size:11px;font-weight:600;color:#22c55e}
.rc-use{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px dashed #22c55e;border-radius:10px;margin-bottom:8px}
.rc-sec{border:1px solid var(--line,#2a3550);border-radius:12px;padding:6px 12px 10px;margin:0 0 10px}
.rc-sec legend{padding:0 6px;font-weight:700;font-size:13px}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 12px}
.rc-grid4{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.rc-ticks{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:4px 0}
.rc-tick{display:flex;align-items:center;gap:6px;font-size:13px}
.rc-fill{padding:4px 10px;font-size:12px}
.ctrl.rc-linked{opacity:.65}
@media (max-width:640px){.rc-tab{max-width:none}.rc-grid{grid-template-columns:1fr}.rc-grid4{grid-template-columns:1fr 1fr}.rc-grid>*{min-width:0}.rc-img .file-drop{max-width:100%;min-width:0}}
.rc-switch{display:flex;gap:8px;align-items:center;font-weight:600;margin-top:8px}
.rc-img-box{min-height:64px;border:1px dashed #c9c9c9;border-radius:8px;display:grid;place-items:center;padding:6px;margin:4px 0}
.rc-img-box img{max-height:70px;max-width:100%}
.rc-img-box[hidden]{display:none}
.rc-preview{font-weight:600;color:#7a4b00}
.rc-paper{background:#fff;color:#111;max-width:210mm;margin:12px auto;box-shadow:0 1px 6px rgba(0,0,0,.15);font-family:"Sarabun","Noto Sans Thai",sans-serif}
.rc-sheet{position:relative;height:148mm;box-sizing:border-box;padding:9mm 11mm 7mm;font-size:11.5px;line-height:1.45;overflow:hidden;display:flex;flex-direction:column}
.rc-cut{border-top:1px dashed #999;margin:0 6mm;height:0}
.rc-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.rc-top h1{font-size:18px;margin:0;text-align:center;color:#111}
.rc-logo{max-height:34px;max-width:120px}
.rc-head{display:flex;justify-content:space-between;align-items:flex-start;margin:4px 0}
.rc-tag{display:inline-block;border:1px solid #333;border-radius:6px;padding:2px 10px;font-size:10.5px}
.rc-copy{margin-left:6px;border:2px solid #b00;color:#b00;padding:0 8px;border-radius:4px}
.rc-meta{min-width:62mm}
.rc-kv{display:grid;grid-template-columns:30mm 1fr;gap:4px}
.rc-meta .rc-kv{grid-template-columns:30mm 1fr}
.rc-kv b{font-weight:700}
.rc-party{margin:3px 0}
.rc-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rc-two .rc-kv{grid-template-columns:30mm 1fr}
.rc-table{width:100%;border-collapse:collapse;margin-top:4px}
.rc-table th{background:#d0d0d0;color:#000!important;border:1px solid #333;padding:3px 6px;font-weight:700}
.rc-table td{border:1px solid #333;padding:3px 6px;vertical-align:top}
.rc-table tbody td{height:15mm}
.rc-table td:first-child{text-align:center;width:12mm}
.rc-table td.n{text-align:right;width:28mm}
.rc-sum td{background:#d6d6d6;font-weight:700}
.rc-total td{background:#f7972f;font-weight:700}
.rc-sign{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;text-align:center;position:relative}
.rc-sign p{margin:0}
.rc-signimg{position:absolute;max-height:32px;transform:translate(-50%,-90%);left:75%}
.rc-stamp{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:64px;font-weight:800;color:rgba(200,0,0,.28);border:6px solid rgba(200,0,0,.28);padding:0 24px;border-radius:12px;pointer-events:none}
#rcPrintHost{display:none}
@media print{
  @page{size:A4 portrait;margin:0}
  html.rc-print-mode body>*:not(#rcPrintHost){display:none!important}
  html.rc-print-mode,html.rc-print-mode body{margin:0!important;padding:0!important;height:296mm!important;min-height:0!important;overflow:hidden!important;background:#fff!important}
  html.rc-print-mode #rcPrintHost{display:block;width:210mm;height:296mm;overflow:hidden;break-inside:avoid;page-break-after:avoid}
  html.rc-print-mode,html.rc-print-mode body{background:#fff!important;margin:0;padding:0}
  #rcPaperPrint{width:210mm;height:296mm;margin:0;box-shadow:none;overflow:hidden}
  #rcPaperPrint .rc-sheet{height:147.5mm}
  .rc-sum td,.rc-total td,.rc-table th,.rc-stamp{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* AA contrast fixes in light mode */
[data-theme="light"] .rc-using{color:#15803d}
[data-theme="light"] .ff-legal summary{color:#8a5a12}

/* Small screens: staff table and role x permission matrix become cards */
.matrix-cards{display:none}
@media (max-width:600px){
  table.stack-sm thead{display:none}
  table.stack-sm,table.stack-sm tbody,table.stack-sm tr,table.stack-sm td{display:block;width:100%}
  table.stack-sm tr{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 10px}
  table.stack-sm td{border:0;padding:4px 0;text-align:left}
  table.stack-sm td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted)}
  .wrap-any{overflow-wrap:anywhere}
  .matrix table{display:none}
  .matrix-cards{display:grid;gap:8px}
  .matrix-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
  .matrix-card summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;min-height:44px;align-items:center}
  .matrix-card ul{margin:6px 0 0;padding-left:18px}
}
[data-theme="dark"] .ctrl::placeholder,:root:not([data-theme="light"]) .ctrl::placeholder{color:#a9b8cc;opacity:1}
[data-theme="light"] .ctrl::placeholder{color:#5b6b80;opacity:1}

/* Delivery consent (owner 25 Oct 2026) */
.consent-box{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line,#c9d6e8);border-radius:12px;margin:4px 0 10px;min-width:0}
.consent-box .flag span{overflow-wrap:anywhere}
.consent-box.is-invalid{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.18)}
.consent-tag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:normal}
.consent-tag.is-ok{background:#e7f6ec;color:#11683a}
.consent-tag.is-no{background:#fdecea;color:#b42318}
[data-theme="dark"] .consent-tag.is-ok,:root:not([data-theme="light"]) .consent-tag.is-ok{background:rgba(52,199,89,.16);color:#8ee6a8}
[data-theme="dark"] .consent-tag.is-no,:root:not([data-theme="light"]) .consent-tag.is-no{background:rgba(255,99,71,.16);color:#ffb4a8}
[data-theme="light"] .consent-tag.is-ok{background:#e7f6ec;color:#11683a}
[data-theme="light"] .consent-tag.is-no{background:#fdecea;color:#b42318}
/* Delivery list rows: full caption, wrapping meta, visible consent tag; actions drop below in narrow panels. */
.stack .item.dlv-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px 12px;cursor:default;container-type:inline-size}
.dlv-row .dlv-body{min-width:0}
.dlv-row .dlv-title{display:block;font-size:16px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
.dlv-row .dlv-meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin:4px 0 6px;font-size:13px;color:var(--muted);line-height:1.4}
.dlv-row .dlv-meta span{white-space:normal;overflow-wrap:anywhere}
.dlv-row .dlv-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.dlv-row .consent-tag{font-size:13px;line-height:1.35;padding:3px 10px}
.dlv-row .consent-tag.is-no{border:1px solid currentColor}
@container (max-width:460px){.dlv-row .dlv-actions{grid-column:1 / -1;justify-content:flex-start}}
.consent-box .field-err[hidden]{display:none}
/* รูปส่งมอบ / รีวิว page: full-width responsive grid. */
.proof-head h2{margin:0 0 4px}
.proof-head{padding:0 4px}
.proof-head .sub{margin:0 0 12px;white-space:normal;line-height:1.75;overflow-wrap:anywhere;text-wrap:pretty;max-width:72ch}
.proof-head .sub span{display:block}
.stack.proof-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));align-items:start}
.dlv-row .dlv-text{display:block;font-size:14px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;margin-bottom:4px}
.rc-img .file-drop{margin:6px 0}.rc-img .rc-img-err:empty{display:none}.rc-img [data-clear][hidden]{display:none}
/* Finflow step 5: one shared dropzone per document type, stacked cards (no table overflow on mobile). */
.ff-docrows{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px}
.ff-docrow{min-width:0;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ff-docrow-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.4}
.ff-docrow-head b{overflow-wrap:anywhere}
.ff-docrow-st{margin-left:auto}
.ff-docrow-files .ff-file{display:flex;align-items:center;gap:6px;min-width:0}
.ff-docrow-files .ff-file a{overflow-wrap:anywhere;min-width:0}
.ff-docrow .file-drop{min-width:0;max-width:100%}
.ff-req{color:#ef4444}
.ff-up-err:empty{display:none}

/* Receipts logo/signature: one preview only (the box above); hide the dropzone file-row thumbnail. */
.rc-img .file-drop-queue{display:none!important}
.rc-img .ucs-del-btn[hidden]{display:none}
/* รูปส่งมอบ / รีวิว cards: big photo on top, text, then buttons. */
.stack.proof-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
/* Owner 25 Oct 2026: max 4 cards per row, each at least 220px (4 desktop, 3 mid, 2 tablet, 1 phone). */
.stack.proof-grid{grid-template-columns:repeat(auto-fill,minmax(max(min(100%,220px),calc((100% - 3 * 14px) / 4)),1fr));gap:14px}
.dlv-card .dlv-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dlv-card .dlv-meta{gap:2px 8px;font-size:12.5px}
.stack.proof-grid{grid-template-columns:repeat(auto-fill,minmax(max(min(100%,220px),calc((100% - 3 * 14px) / 4)),1fr))}
@media (max-width:900px){.stack.proof-grid{grid-template-columns:repeat(auto-fill,minmax(max(min(100%,220px),calc((100% - 14px) / 2)),1fr))}}
.consent-tag.is-off{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--text,inherit);border:1px solid color-mix(in srgb,var(--muted) 40%,transparent)}
.stack .item.dlv-row.dlv-card{grid-template-columns:minmax(0,1fr);gap:10px}
.dlv-card .dlv-actions{justify-content:flex-start}
.dlv-photo{display:block;width:100%;aspect-ratio:4/5;padding:0;margin:0;border:1px solid var(--line,rgba(127,127,127,.25));border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--muted) 14%,transparent);cursor:zoom-in}
.dlv-photo img{display:block;width:100%;height:100%;object-fit:contain}
.dlv-photo:focus-visible{outline:3px solid var(--accent,#2b7bff);outline-offset:2px}
.proof-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:56px 12px 16px;background:rgba(5,10,20,.88)}
.proof-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;background:#111}
.proof-lb-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.6);color:#fff;font-size:20px;cursor:pointer}
.proof-lb-close:focus-visible{outline:3px solid #fff}
/* Sales own customers + สมัครสมาชิกแทนลูกค้า (migration 065) */
.adm-tag{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.adm-tag.is-chosen{color:var(--ok);background:var(--ok-bg)}
.adm-tag.is-auto{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}
.adm-tag.is-direct{color:var(--accent,#1d4ed8);background:color-mix(in srgb,var(--accent,#1d4ed8) 12%,transparent)}
.adm-table small.adm-bysale{color:var(--ok);font-weight:700}
.md-wrap{margin-bottom:14px}
.md-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.md-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13px;line-height:1.55}
.md-acts{display:flex;gap:8px;flex-wrap:wrap}
.md-editing{margin:0 0 10px;font-weight:700;color:var(--warn)}
.md-badge.is-ok{color:var(--ok);background:var(--ok-bg)}
.md-badge.is-wait,.md-badge.is-draft{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.md-badge.is-warn{color:var(--warn);background:var(--warn-bg)}
.md-badge.is-off{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}
.md-table .md-send{white-space:nowrap}
.md-exist{display:inline-block;margin:2px 0 0 6px;white-space:nowrap;border:1px solid var(--accent,#2f6fed);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}
.md-dob-val{display:block;font-weight:600;margin:4px 0 6px}.md-dob-cal{max-width:320px}
.md-grid label:has([data-md-dob]){grid-row:span 3}
@media (max-width:900px){.md-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.md-grid{grid-template-columns:1fr}.md-table thead{display:none}.md-table tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}.md-table td{display:block;border:0;padding:4px 0}.md-table td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted)}.md-table .adm-act{justify-content:flex-start}}
/* Member-draft link share: «คัดลอกลิงก์» + «QR Code» (25 Oct 2026). The link never carries the OTP. */
.md-share .ucs-confirm-card{max-width:min(440px,calc(100vw - 24px))}
.md-share-link{display:grid;gap:6px;margin:10px 0 0;font-weight:600;text-align:left}
.md-share-link input{width:100%;min-width:0;font-size:13px}
.md-share-qr{margin:12px auto 0;width:min(220px,70vw);padding:8px;border-radius:12px;background:#fff}
.md-share-qr[hidden]{display:none}
.md-share-qr svg{display:block;width:100%;height:auto}
.md-share-acts{flex-wrap:wrap}

/* Staff menu permissions (owner คุณติ้ง 26 Oct 2026) */
.perm-list{display:grid;gap:10px}
.perm-person{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--card)}
.perm-person>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;min-height:44px;flex-wrap:wrap}
.perm-who{display:flex;flex-direction:column;gap:2px}
.perm-tags{display:flex;gap:6px;flex-wrap:wrap}
.pill.perm-custom{color:var(--warn);background:var(--warn-bg)}
.pill.perm-lock{color:var(--muted)}
.perm-reason{margin:6px 0 0}
.perm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.perm-row{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--card2)}
.perm-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.perm-name .sub{flex-basis:100%}
.perm-opts{display:flex;flex-wrap:wrap;gap:6px}
.perm-opt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;min-height:36px;cursor:pointer;font-size:14px;color:var(--text)}
.perm-opt input{margin:0;accent-color:var(--gold,#c9a24a)}
.perm-opt:has(input:checked){border-color:var(--gold,#c9a24a);font-weight:700}
.perm-opt:has(input:disabled){cursor:default;opacity:.85}
.perm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.ro-banner{border:1px solid var(--line);border-left:4px solid var(--warn);background:var(--warn-bg);color:var(--text);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}
@media (max-width:1100px){.perm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .perm-grid{grid-template-columns:1fr}
  .perm-person{padding:10px}
  .perm-opts{display:grid;grid-template-columns:1fr;gap:6px}
  .perm-opt{min-height:44px}
  .perm-actions .btn{flex:1 1 100%;min-height:44px}
}
/* «ดูประวัติ» staff profile sheet */
.sp-head{display:flex;gap:12px;align-items:center}
.sp-head small{display:block;color:var(--muted)}
.sp-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.sp-sheet h4{margin:4px 0 0}
.sp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.sp-stats span{border:1px solid var(--line);border-radius:12px;padding:8px;font-size:13px;display:grid}
.sp-stats b{font-size:18px}
.sp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sp-list li{border-bottom:1px solid var(--line);padding-bottom:6px;overflow-wrap:anywhere}
.adm-hist{margin-left:6px;padding:6px 10px;font-size:13px}
.pf-addr{border:1px solid var(--line);border-radius:12px;padding:10px;margin:0;display:grid;gap:8px}
.pf-locked{color:var(--muted);font-size:13px}
.pf-birth-row{display:flex;gap:8px;flex-wrap:wrap}
.pf-birth-val{font-weight:600}
/* 390: the admission/history sheet must sit above the bottom tab bar (the content wrapper creates its own stacking layer) */
body:has(.adm-modal) .tabbar{display:none}
@media (max-width:900px){.adm-modal .adm-sheet{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
/* the page-enter animation leaves a transform on .content, which traps position:fixed sheets inside it; drop it while a sheet is open */
.content:has(.adm-modal){animation:none!important;transform:none!important}

/* Back-office list photos (26 Oct 2026): small square thumbs in tables, perm cards and lead rows. */
.row-thumb.face-slot.is-sm{width:40px;height:40px;border-radius:10px;flex:0 0 auto}
.row-thumb.face-slot.is-sm img{width:100%;height:100%;object-fit:cover}
.perm-person>summary .perm-who{flex:1 1 auto;min-width:0}
.lead-card.media-row{display:flex;align-items:center;gap:12px;text-align:left}

/* Theme presets in ตั้งค่าเว็บไซต์ › ธีม (26 Oct 2026) */
.theme-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 6px}
@media (max-width:760px){.theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
.theme-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;border-radius:14px;border:2px solid var(--line,#2a2f38);background:var(--card,#15181e);color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:44px}
.theme-card:hover{border-color:color-mix(in srgb,var(--accent,#e10600) 50%,transparent)}
.theme-card.is-on{border-color:var(--accent,#e10600);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#e10600) 30%,transparent)}
.theme-card.is-on .theme-name::after{content:" ✓"}
.theme-swatch{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid;border-radius:10px;aspect-ratio:16/10}
.tsw-nav{display:flex;align-items:center;justify-content:space-between;height:14px;padding:0 5px;border:1px solid;border-radius:5px}
.tsw-nav i{display:block;width:34%;height:4px;border-radius:2px;opacity:.75}
.tsw-nav b{display:block;width:22%;height:7px;border-radius:4px}
.tsw-card{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;padding:5px;border:1px solid;border-radius:7px}
.tsw-card i{display:block;width:60%;height:4px;border-radius:2px;opacity:.7}
.tsw-card em{font:800 12px/1 Barlow,"Noto Sans Thai",sans-serif;font-style:normal}
.tsw-card b{display:block;width:100%;height:9px;border-radius:5px}
.theme-name{font-weight:700;font-size:14px}
.theme-note{font-size:12px;opacity:.75}
.theme-state{margin:4px 0 10px;font-size:13px;font-weight:600}
.theme-state.is-custom{color:var(--gold,#d4a73a)}
[data-theme="light"] .theme-state.is-custom{color:#8a5a00}
/* TD 27 Oct 2026 (md=20261027): admit / member tables fit the content box from 768px up — no horizontal scrollbar. */
@media(min-width:768px){
  .content .adm-wrap{overflow-x:visible}
  .adm-table{table-layout:auto;max-width:100%}
  .adm-table th,.adm-table td{white-space:normal;overflow-wrap:anywhere;padding:10px 8px}
  .adm-table .adm-badge{white-space:normal}
  .adm-table .ucs-status-sel{min-width:0;max-width:100%}
  .adm-table td.adm-act{white-space:normal;width:1%}
  .adm-table td.adm-act .ucs-row-acts{flex-wrap:nowrap}
  .adm-table select.dm-role{min-width:104px}
  .adm-table th{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
  .adm-table td{overflow-wrap:break-word}
  .adm-table .adm-d,.adm-table .adm-t{white-space:nowrap}
  .adm-table .adm-who .sp-photo,.adm-table .adm-who .adm-nophoto{width:48px;height:48px;flex:0 0 48px}
  .adm-table .adm-who>div,.adm-table .adm-who b{overflow-wrap:break-word;word-break:normal}
}

/* สลับสิทธิ์ in the sidebar (27 Oct 2026) */
.side-switch{flex:none;margin:8px 0 0;padding:10px 8px 0;border-top:1px solid var(--line)}
.side-switch-cap{margin:0 4px 6px;font-size:12px;font-weight:600;color:var(--muted)}
.side-switch .vw-item{text-decoration:none;color:inherit}
body.side-rail .side-switch{display:none}
.side-switch{margin-top:auto}
.side-switch + .side-foot{margin-top:0}
.side-switch .vw-item{flex-direction:column;align-items:flex-start;gap:0;padding:6px 10px}
.side-switch .vw-item b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-label,13px)}
.side-switch .vw-item span{flex:initial;font-size:12px}
.side-switch-cap{display:block}
.side-switch-sel{width:100%;min-height:44px;padding:8px 34px 8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--field);color:var(--text);font-weight:700;font-size:14px;cursor:pointer}
.side-switch-sel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.side-switch-sel option{background:var(--bg-2);color:var(--text)}

/* td1028: reupload control = small outline button; airier document rows */
.ff .ff-docs{gap:12px}.ff .ff-docs li{padding-bottom:10px;border-bottom:1px solid var(--line,rgba(127,127,127,.2))}.ff .ff-docs li:last-child{border-bottom:0;padding-bottom:0}
.ff .ff-re{display:inline-flex;align-items:center;margin-top:6px;padding:4px 12px;min-height:30px;font-size:12.5px;border:1px solid var(--line,rgba(127,127,127,.45));border-radius:8px;background:transparent;color:inherit;cursor:pointer}.ff .ff-re:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb)}
.ff-nw{white-space:nowrap}
.ff .ff-link-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px}.ff .ff-link-form .field{flex:1 1 220px;margin:0}.ff .ff-link-form .err:empty{display:none}
.fin-links{margin:4px 0 10px}.fin-links a{font-weight:600}

/* td1028 E: per-role overview */
.role-dash .rd-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.role-dash .rd-month{display:flex;align-items:center;gap:6px;font-size:.9rem}
.role-dash .rd-month input{min-height:40px}
.role-dash .kpi small{display:block;opacity:.75;font-size:.8rem;margin-top:2px}
.role-dash h4{margin:16px 0 6px}
.role-dash .rd-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.role-dash .table-wrap{overflow-x:auto}
@media (max-width:720px){.role-dash .rd-pair{grid-template-columns:1fr}}

/* td1028: case progress strip จอง → ยื่นไฟแนนซ์ → อนุมัติ → ส่งมอบรถ → ค่างวด */
.ff .ff-prog{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:8px 0;padding:0}
.ff .ff-prog li{flex:1 1 90px;text-align:center;padding:6px 8px;border-radius:999px;border:1px solid var(--line,#d6d6d6);font-size:.85rem;color:var(--muted,#666)}
.ff .ff-prog li.on{background:#e8f6ee;border-color:#2f9e5b;color:#1d6b3c;font-weight:600}

/* td1028 item 3: role badge + tent picker */
.role-badge-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:2px solid var(--rb,#475569);font-size:13px;max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role-badge i,.tent-opt i{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.tent-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow:auto}
.tent-opt{display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border:1px solid var(--line,#ddd);border-radius:8px;background:none;color:inherit;cursor:pointer}
.tent-opt.on{font-weight:600}
/* td1029: tent dropdown (replaces badge + «เปลี่ยนเต็นท์»); name lives in .hello */
.tent-sel-wrap{position:relative;display:inline-flex;align-items:center;max-width:min(52vw,360px);min-width:0;border:2px solid var(--rb,#475569);border-radius:999px;background:var(--field,var(--card));color:var(--text)}
.tent-sel-wrap>i{position:absolute;left:11px;width:10px;height:10px;border-radius:50%;pointer-events:none}
.tent-sel-wrap::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);pointer-events:none}
.tent-sel{-webkit-appearance:none;appearance:none;width:100%;min-width:0;min-height:40px;padding:6px 32px 6px 28px;border:0;border-radius:999px;background:transparent;color:var(--text);-webkit-text-fill-color:var(--text);font:inherit;font-size:14px;font-weight:700;opacity:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}
.tent-sel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tent-sel option{background:var(--bg-2,#fff);color:var(--text)}
/* td1029b: one row everywhere — burger · tent (dropdown if >1 tent, plain text if 1) · theme · logout; no greeting */
.top{flex-wrap:nowrap}
.top .nav-burger{flex:none}
.top .role-badge-wrap{flex:1 1 auto;min-width:0;flex-wrap:nowrap;margin-left:0}
.top .tent-sel-wrap{flex:0 1 auto;max-width:min(100%,360px)}
.top .role-badge{max-width:100%;min-height:40px;box-sizing:border-box;font-size:14px;min-width:0}
.top .role-badge b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.top .head-tools{flex:none;margin-left:0}
@media(max-width:900px){.top .tent-sel{font-size:16px}}
@media(max-width:520px){
  .top{gap:6px}
  .top .theme-toggle,.top .logout-icon{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;justify-content:center}
  .top .theme-toggle span,.top .logout-icon span{display:none}
  .top .head-tools{gap:6px}
}
}

/* td1028 item 6 delivery media */
.dm-box{border:1px solid var(--line,#ddd);border-radius:8px;padding:8px}
.dm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dm-thumb{display:block;max-width:100%;max-height:90px;border-radius:6px;margin:4px 0}
.sig-pad{width:100%;max-width:480px;height:auto;aspect-ratio:3/1;background:#fff;border:1px dashed #999;border-radius:6px;touch-action:none}
.dm-sig .dm-thumb{display:inline-block;max-height:40px;vertical-align:middle}
