/* RepairDash stable UI rebuild - compact ERP layout */
:root{
  --bg:#f4f7fb;--surface:#fff;--surface2:#f8fafc;--line:#d8e1ec;--line2:#e8eef6;--text:#111827;--muted:#64748b;
  --primary:#2563eb;--primary2:#1d4ed8;--accent:#f97316;--danger:#dc2626;--ok:#059669;--nav:#0b1324;--nav2:#101b31;
  --shadow:0 12px 30px rgba(15,23,42,.07);--radius:12px;--radius-sm:8px;--control:34px;
}
*{box-sizing:border-box}html{height:100%;overflow-x:hidden}body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}img,canvas,svg{max-width:100%}button,input,select,textarea{font:inherit;max-width:100%}
button,.button,input[type=submit],.top-actions a,.hero-actions a,.tree-btn,.public-submit{min-height:var(--control);height:auto;border:1px solid var(--line);background:#fff;color:#172033;border-radius:var(--radius-sm);padding:7px 12px;font-weight:800;font-size:13px;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;cursor:pointer;box-shadow:none;transition:.12s ease}button:hover,.top-actions a:hover,.hero-actions a:hover{border-color:#9fb5d1;background:#f8fbff}button.primary,.primary,.tree-btn.primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}button.danger,.danger{background:#fff1f2!important;color:var(--danger)!important;border-color:#fecaca!important}button:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{width:100%;min-height:var(--control);border:1px solid var(--line);background:#fff;color:var(--text);border-radius:var(--radius-sm);padding:7px 10px;outline:0}textarea{min-height:88px;resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}input[type=checkbox],input[type=radio]{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:0!important;flex:0 0 auto;accent-color:var(--primary)}label{font-weight:800;color:#334155;font-size:13px}.muted,small{color:var(--muted)}
/* shell */
body.app-body{display:block;background:linear-gradient(180deg,#f7faff 0,#f4f7fb 100%)}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#dbeafe;z-index:100;overflow-y:auto;border-right:1px solid rgba(255,255,255,.08);padding:14px 10px}.brand{margin:2px 0 12px;padding:14px 13px;border:1px solid rgba(96,165,250,.25);border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.26),rgba(15,23,42,.1))}.brand:before{content:"";display:block;width:34px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent));margin-bottom:10px}.brand strong{display:block;color:#fff;font-size:17px;line-height:1.25;letter-spacing:-.04em;white-space:normal}.brand small{display:block;margin-top:7px;color:#9fb2ca;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-group{margin:0 0 8px;border-bottom:1px solid rgba(255,255,255,.055);padding-bottom:8px}.menu-top{display:flex;align-items:center;min-height:35px;padding:8px 10px;border-radius:8px;color:#e2e8f0;font-size:13px;font-weight:900}.menu-top:hover,.menu-top.active{background:rgba(255,255,255,.08);color:#fff}.submenu{display:grid;gap:3px;margin:4px 0 0 9px;padding-left:8px;border-left:1px solid rgba(255,255,255,.12)}.submenu a{display:flex;align-items:center;min-height:30px;padding:6px 9px;border-radius:8px;color:#aebed3;font-size:12px;font-weight:800}.submenu a:hover{background:rgba(255,255,255,.06);color:#fff}.submenu a.active{background:#fff;color:#0f172a}.main{margin-left:248px;width:calc(100% - 248px);min-width:0;padding:22px}.topbar{width:100%;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;padding:2px 0 16px;border-bottom:1px solid var(--line2)}.topbar>div:first-child{flex:1 1 auto;min-width:0;max-width:none}.topbar h1{display:block;width:100%;margin:0 0 5px;color:#0f172a;font-size:26px;line-height:1.2;font-weight:950;letter-spacing:-.055em;white-space:normal;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb!important;text-orientation:mixed!important}.topbar p{margin:0;color:var(--muted);font-size:13px;font-weight:800;word-break:keep-all}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;white-space:nowrap}.flash{margin:0 0 14px;padding:11px 14px;border-radius:var(--radius);border:1px solid #bae6fd;background:#ecfeff;color:#155e75;font-weight:900}
/* common panels */
.panel,.settings-card,.estimate-tree-shell,.estimate-builder-shell,.generated-pages-panel,.public-card,.alarm-panel,.tree-detail-card,.settings-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel{padding:18px;margin-bottom:16px}.panel h2,.panel-title h2{margin:0;font-size:18px;letter-spacing:-.04em}.panel h3{font-size:16px;letter-spacing:-.03em}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title span{font-size:12px;color:var(--muted);font-weight:800}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px;background:linear-gradient(135deg,#fff,#edf5ff);border:1px solid #d7e6fb;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.dashboard-hero h2{font-size:25px;margin:4px 0 8px;letter-spacing:-.06em}.eyebrow{margin:0;color:var(--primary);font-weight:950;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.kpi-grid,.modern-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.kpi-grid article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.kpi-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900}.kpi-grid b{display:block;margin-top:4px;font-size:28px;line-height:1.1;letter-spacing:-.06em}.kpi-grid em{display:block;margin-top:7px;color:#7b8794;font-size:12px;font-style:normal}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.chart-card canvas,.dashboard-lower canvas{width:100%!important;height:240px!important;max-height:260px!important}
/* tables */
.table-wrap,.table-scroll{width:100%;overflow:auto;border:1px solid var(--line2);border-radius:var(--radius-sm);background:#fff}table{width:100%;border-collapse:collapse!important;table-layout:auto;background:#fff}th,td{border-bottom:1px solid var(--line2);padding:10px 11px;text-align:left;vertical-align:middle;font-size:13px;line-height:1.35}th{background:#f8fafc;color:#475467;font-size:12px;font-weight:950;white-space:nowrap}tr:last-child td{border-bottom:0}tr:hover td{background:#fbfdff}td,th{overflow-wrap:anywhere}.actions-cell{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:180px}.inline,form.inline{display:inline-flex!important;gap:5px!important;align-items:center!important;margin:0!important}.copy-link{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.copy-link input{min-width:160px;height:32px;font-size:12px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#1d4ed8;border:1px solid #dbeafe;font-size:12px;font-weight:900}.status-pill.online{background:#ecfdf3;color:#027a48;border-color:#bbf7d0}.status-pill.warn{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
/* forms */
.form-section,.refined-section,.settings-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px}.form-section h3,.settings-card h3{margin:0 0 12px;font-size:16px}.settings-grid,.page-edit-form,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-grid .wide,.page-edit-form .wide,.form-grid .wide{grid-column:1/-1}.settings-grid label,.page-edit-form label,.form-grid label,.tree-form-set label{display:grid;gap:6px}.form-footer,.clean-footer,.settings-savebar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.check,.privacy,.edit-group-list label{display:flex!important;align-items:center!important;gap:8px!important;min-height:0!important;padding:8px 10px!important;border:1px solid var(--line2)!important;background:#f8fafc!important;border-radius:var(--radius-sm)!important;line-height:1.35}.service-select-grid,.edit-group-list,.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.service-select-card{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:10px}.mini-form{display:grid;gap:8px;margin-bottom:12px}.row-item{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line2);background:#fff;border-radius:var(--radius-sm);padding:10px;margin-bottom:7px}.row-item b{display:block}.row-item small{display:block;margin-top:2px;color:var(--muted)}
/* online estimate builder */
.builder-head,.estimate-tree-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line2);background:linear-gradient(135deg,#fff,#f8fbff)}.builder-head h2,.estimate-tree-head h2{margin:0;font-size:20px;letter-spacing:-.05em}.builder-grid,.builder-grid-balanced{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;padding:16px}.live-preview-panel{position:sticky;top:82px;align-self:start}.phone-preview{border:1px solid #d5deea;border-radius:22px;background:#101827;padding:10px;box-shadow:0 20px 60px rgba(15,23,42,.14)}.phone-preview-screen{background:#fff;border-radius:16px;min-height:380px;overflow:hidden}.preview-head{padding:14px;border-bottom:1px solid var(--line2)}.preview-body{padding:14px}.preview-chip,.preview-card{border:1px solid var(--line2);border-radius:10px;padding:10px;margin-bottom:8px;background:#f8fafc}.page-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.page-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.page-card h3{margin:0 0 8px}.page-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.page-list-table{min-width:880px}.page-edit-details{position:relative;display:inline-block}.page-edit-details summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 12px;background:#fff;font-weight:800}.page-edit-details summary::-webkit-details-marker{display:none}.page-edit-details[open] .page-edit-form{position:fixed!important;z-index:10000!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(720px,calc(100vw - 32px))!important;max-height:calc(100vh - 44px)!important;overflow:auto!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:20px!important;box-shadow:0 30px 90px rgba(15,23,42,.32)!important;grid-template-columns:1fr 1fr!important}.page-edit-details[open] summary{position:fixed;z-index:10001;right:calc(50% - min(360px,50vw) + 14px);top:calc(50% - 43vh + 14px);background:#f1f5f9}.page-edit-details[open]:before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9999}
/* nested estimate tree */
.estimate-tree-shell{overflow:hidden}.tree-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;min-height:620px}.tree-admin-left{background:#eaf0f7;border-right:1px solid var(--line);padding:14px;min-width:0;overflow:auto}.tree-admin-right{background:#fff;padding:14px;min-width:0}.tree-toolbar{display:flex;gap:6px;justify-content:flex-end;margin-bottom:10px}.tree-btn{border-radius:4px;min-height:32px;padding:6px 11px}.rd-root-list,.rd-tree-list{list-style:none;margin:0;padding:0}.rd-tree-list .rd-tree-list{margin-left:32px;border-left:1px solid #d7e0eb}.rd-tree-item{margin:0}.rd-tree-row{min-width:0;display:grid;grid-template-columns:30px 30px minmax(160px,1fr) auto auto;align-items:center;min-height:47px;background:#fff;border:1px solid #d8e1ec;border-bottom:0}.rd-tree-item:last-child>.rd-tree-row{border-bottom:1px solid #d8e1ec}.rd-tree-toggle{width:30px;height:47px;border:0;border-right:1px solid #e5ebf3;background:#f8fafc;border-radius:0;padding:0;color:#64748b}.rd-tree-handle{width:30px;text-align:center;color:#9aa6b2;cursor:grab}.rd-tree-title{min-width:0;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rd-tree-meta{color:#7b8794;font-size:12px;white-space:nowrap}.rd-tree-price{color:#c2410c;font-size:12px;font-weight:900;white-space:nowrap}.rd-tree-row-actions{display:flex;gap:5px;align-items:center;padding-right:8px}.rd-tree-row-actions button{min-height:28px;padding:4px 8px;font-size:12px}.level-service>.rd-tree-row{background:#f8fbff}.level-category>.rd-tree-row{background:#fff}.level-model>.rd-tree-row{background:#fcfdff}.level-service .rd-tree-title{font-size:15px}.tree-add-root{width:100%;min-height:42px;margin-top:8px;text-align:left;background:#f8fafc;border:1px dashed #aebccd;color:#334155;border-radius:4px}.tree-help{border:1px dashed #c6d1df;background:#f8fafc;border-radius:4px;padding:10px;color:#667085;font-size:12px;font-weight:700}.tree-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tree-summary span{border:1px solid var(--line2);border-radius:6px;background:#f8fafc;padding:9px;text-align:center;font-size:12px}.rd-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:11000;align-items:center;justify-content:center;padding:18px}.rd-modal.open{display:flex}.rd-modal-card{position:relative;width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 90px rgba(15,23,42,.32);padding:20px}.rd-modal-close{position:absolute;right:12px;top:12px;width:30px;min-height:30px;padding:0;border-radius:50%}.tree-form-set form{display:grid;gap:10px}.tree-form-set textarea{min-height:78px}.dd-placeholder,.sortable-ghost{background:#dbeafe!important;border:1px dashed var(--primary)!important;min-height:42px!important}.dd-dragel{z-index:12000!important}.dd-dragel .rd-tree-row{box-shadow:0 16px 40px rgba(15,23,42,.22)}
/* public estimate/order */
body.public-body{background:linear-gradient(180deg,#eef5ff,#f8fafc);min-height:100vh}.public-wrap{width:min(1040px,calc(100vw - 28px));margin:0 auto;padding:24px 0}.public-wrap.small{width:min(660px,calc(100vw - 28px))}.public-store,.public-store-modern{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;background:#0b1324;color:#fff;border-radius:18px;padding:16px}.public-store span{display:block;color:#b7c7dc;font-size:12px}.public-hero,.public-hero-modern{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:14px}.public-hero h1,.public-hero-modern h1{margin:0 0 8px;font-size:clamp(28px,4vw,44px);letter-spacing:-.05em}.public-card{padding:20px;border-radius:18px}.flow-progress{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.flow-progress span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#eef2f6;color:#667085;font-size:12px;font-weight:900}.flow-progress span.active,.flow-progress span.done{background:var(--primary);color:#fff}.flow-step-panel{display:none;padding:10px 0}.flow-step-panel.active,.flow-row .flow-step-panel{display:block}.flow-row .flow-progress{display:none}.step-copy h2{margin:0 0 8px;font-size:clamp(23px,3vw,34px);letter-spacing:-.04em}.step-copy p{margin:0 0 16px;color:var(--muted)}.choice-grid,.public-choice-grid,.estimate-choice-list,.public-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.choice,.flow-choice,.estimate-choice,.flow-service-choice{width:100%;min-height:72px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#1f2937}.choice.active,.flow-choice.active,.estimate-choice.active,.flow-service-choice.active{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.10)}.estimate-choice strong,.flow-service-choice strong{color:#c2410c;white-space:nowrap}.public-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-customer-grid .wide{grid-column:1/-1}.flow-actions,.flow-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.store-float{position:fixed;right:18px;bottom:18px;width:min(380px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 42px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:18px;display:none;z-index:1000}.show-store .store-float{display:block}.show-store:before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.25);z-index:900}.store-float h2{margin:0 0 12px;font-size:19px}.store-float p{margin:8px 0}.store-float button{width:100%;margin-top:8px}
/* dark */
body.dark{--bg:#0b1220;--surface:#111827;--surface2:#0f172a;--line:#263244;--line2:#1f2a3d;--text:#e5e7eb;--muted:#94a3b8;--primary:#3b82f6;background:#0b1220;color:var(--text)}body.dark .main,body.dark body{background:#0b1220}body.dark .topbar{border-color:#1f2a3d}body.dark .topbar h1,body.dark td{color:var(--text)}body.dark .panel,body.dark .settings-card,body.dark .estimate-tree-shell,body.dark .estimate-builder-shell,body.dark .generated-pages-panel,body.dark .public-card,body.dark .tree-detail-card,body.dark .rd-modal-card,body.dark .form-section,body.dark .refined-section,body.dark .rd-tree-row,body.dark .tree-admin-right,body.dark table{background:#111827;color:var(--text);border-color:var(--line)}body.dark input,body.dark select,body.dark textarea,body.dark button,body.dark .page-edit-details summary{background:#0f172a;color:var(--text);border-color:#334155}body.dark th,body.dark .tree-admin-left,body.dark .tree-add-root,body.dark .tree-help,body.dark .tree-summary span,body.dark .rd-tree-toggle{background:#0f172a;color:#cbd5e1;border-color:#334155}body.dark .dashboard-hero{background:linear-gradient(135deg,#111827,#172033)}body.dark .kpi-grid article,body.dark .page-card,body.dark .choice,body.dark .flow-choice,body.dark .estimate-choice,body.dark .flow-service-choice{background:#111827;border-color:var(--line);color:var(--text)}body.dark tr:hover td,body.dark .rd-tree-row:hover{background:#172033}
/* responsive */
@media(max-width:1180px){.dashboard-chart-grid,.grid-2,.builder-grid,.builder-grid-balanced,.tree-admin-layout{grid-template-columns:1fr}.live-preview-panel{position:relative;top:auto}.dashboard-chart-grid{grid-template-columns:1fr}.kpi-grid,.modern-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-admin-right{border-top:1px solid var(--line)}.rd-tree-row{grid-template-columns:28px 28px minmax(100px,1fr) auto}.rd-tree-meta,.rd-tree-row-actions{display:none}.rd-tree-row:hover .rd-tree-row-actions,.rd-tree-row.active .rd-tree-row-actions{display:flex;grid-column:1/-1;justify-content:flex-start;padding:6px 8px 9px 58px}.actions-cell{min-width:160px}}
@media(max-width:780px){:root{--control:32px}.sidebar{position:relative;width:100%;height:auto;inset:auto;padding:12px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.submenu{display:none}.main{margin-left:0;width:100%;max-width:100%;padding:14px}.topbar{position:relative;flex-direction:column;align-items:flex-start;gap:10px}.top-actions{width:100%;justify-content:flex-start}.topbar h1{font-size:22px}.dashboard-hero{align-items:flex-start;flex-direction:column;padding:16px}.kpi-grid,.modern-kpi{grid-template-columns:1fr 1fr}.panel{padding:14px}.settings-grid,.page-edit-form,.form-grid,.public-customer-grid{grid-template-columns:1fr}.page-edit-details[open] .page-edit-form{grid-template-columns:1fr!important}.tree-admin-left,.tree-admin-right{padding:10px}.rd-tree-list .rd-tree-list{margin-left:18px}.rd-tree-row{min-height:42px;grid-template-columns:26px 26px minmax(70px,1fr) auto}.rd-tree-toggle{width:26px;height:42px}.rd-tree-title{font-size:12px}.tree-toolbar{justify-content:flex-start;flex-wrap:wrap}.choice-grid,.public-choice-grid,.estimate-choice-list,.public-service-list{grid-template-columns:1fr}.flow-actions,.flow-nav{position:sticky;bottom:0;background:rgba(244,247,251,.95);padding:10px 0}.copy-link{display:grid;grid-template-columns:1fr auto;width:100%}.actions-cell{display:grid;grid-template-columns:1fr 1fr;width:100%}.actions-cell button,.actions-cell summary{width:100%}.public-wrap{width:calc(100vw - 20px);padding:14px 0}.public-store{align-items:flex-start;flex-direction:column}.store-float{left:12px;right:12px;bottom:12px;width:auto;max-height:70vh}}
@media(max-width:480px){.sidebar nav{grid-template-columns:1fr}.main{padding:10px}.kpi-grid,.modern-kpi{grid-template-columns:1fr}.panel{padding:12px}.chart-card canvas,.dashboard-lower canvas{height:190px!important}th,td{padding:8px;font-size:12px}.page-card-grid{grid-template-columns:1fr}.public-card{padding:16px}}

/* 2026-06-15 RepairDash ERP polish: flatter OnePointStudy-style admin UI */
:root{--radius:8px;--radius-sm:5px;--shadow:none;--bg:#f5f7fa;--surface:#fff;--line:#d7dee8;--line2:#e6ebf2;--nav:#0b1628;--nav2:#0e1a30;--primary:#2563eb;--primary2:#1d4ed8}
.panel,.settings-card,.estimate-tree-shell,.estimate-builder-shell,.generated-pages-panel,.tree-detail-card,.settings-hero{box-shadow:none;border-radius:8px}.dashboard-hero{box-shadow:none;border-radius:8px;background:#fff}.kpi-grid article{box-shadow:none;border-radius:8px}.sidebar{box-shadow:none}.brand{border-radius:8px}.menu-top,.submenu a{border-radius:5px}.topbar h1{font-size:24px}.panel{padding:16px}.panel-title{border-bottom:1px solid var(--line2);padding-bottom:10px}.table-wrap,.table-scroll{border-radius:6px}th{background:#f3f6fa;color:#243247}td{background:#fff}.status-pill{border-radius:4px}.button,button,input[type=submit],.top-actions a,.hero-actions a,.tree-btn,.public-submit{border-radius:5px;box-shadow:none}.form-section,.refined-section{border-radius:8px;background:#fff}.settings-grid input,.settings-grid select,.settings-grid textarea,.form-grid input,.form-grid select,.form-grid textarea{border-radius:5px}.rd-tree-row{border-radius:5px}.rd-tree-row:hover{background:#f8fbff}.rd-tree-toggle{border-radius:4px}.tree-admin-left,.tree-admin-right{box-shadow:none}.public-hero,.public-card,.public-store{border-radius:10px;box-shadow:none}.choice,.flow-choice,.estimate-choice,.flow-service-choice{border-radius:7px}.public-store{background:#0b1628}.actions-cell button,.actions-cell .button{min-height:30px;padding:5px 9px}.copy-link input{border-radius:4px}

/* 2026-06-15 online request confirm / alarm management */
.online-request-page table th:last-child,.online-request-page table td:last-child{width:150px;text-align:center}.status-pill.ok{background:#dcfce7;color:#166534;border-color:#86efac}.alarm-float{position:fixed;inset:0;background:rgba(15,23,42,.48);display:none;align-items:center;justify-content:center;z-index:9999;padding:22px}.alarm-float.show{display:flex}.alarm-float-card{width:min(520px,100%);background:#fff;border:1px solid #dbe3ef;box-shadow:0 24px 70px rgba(2,6,23,.28);padding:24px;position:relative}.alarm-float-card h3{margin:0 0 8px;font-size:20px;color:#0f172a}.alarm-float-card p{margin:0 0 16px;color:#64748b}.alarm-float-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:26px;line-height:1;color:#64748b;cursor:pointer}.alarm-choice{display:flex;align-items:center;gap:10px;border:1px solid #dbe3ef;background:#f8fafc;margin:8px 0;padding:13px 14px;font-weight:800;color:#1e293b}.alarm-choice small{margin-left:auto;color:#64748b;font-weight:600}.alarm-choice.disabled{opacity:.45;background:#f1f5f9}.alarm-choice input{width:16px;height:16px}.alarm-toggle-form .settings-grid{margin:12px 0 16px}.alarm-toggle-form label{border:1px solid #dbe3ef;background:#fff;padding:14px;font-weight:800}.alarm-center-page .alarm-settings-box{border:1px solid #dbe3ef;background:#f8fafc;margin:18px 0;padding:18px}.confirm-request-btn{height:34px;padding:0 14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button{height:38px;padding:0 16px;border:1px solid #cbd5e1;background:#fff;font-weight:800}.modal-actions button.primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}

/* 2026-06-15 customer orders / sidebar collapse patch */
.sidebar-toggle{width:36px;height:32px;margin:0 0 10px;border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}.app-body.sidebar-collapsed .sidebar{width:64px;padding:12px 8px}.app-body.sidebar-collapsed .brand strong,.app-body.sidebar-collapsed .brand small,.app-body.sidebar-collapsed .menu-top,.app-body.sidebar-collapsed .submenu{font-size:0;color:transparent;overflow:hidden}.app-body.sidebar-collapsed .brand{padding:12px 8px}.app-body.sidebar-collapsed .brand:before{margin:0 auto;width:28px}.app-body.sidebar-collapsed .menu-group{padding-bottom:4px;margin-bottom:4px}.app-body.sidebar-collapsed .menu-top{display:block;min-height:32px;padding:8px}.app-body.sidebar-collapsed .menu-top:before{content:"•";display:flex;align-items:center;justify-content:center;color:#dbeafe;font-size:20px;line-height:1}.app-body.sidebar-collapsed .main{margin-left:64px;width:calc(100% - 64px)}
.order-titlebar{align-items:flex-start}.order-searchbar{display:grid;grid-template-columns:160px minmax(220px,1fr) auto auto;gap:8px;margin:0 0 12px}.order-bulkbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 10px;color:#64748b;font-weight:800}.check-col{width:42px;text-align:center}.customer-orders-page td:nth-child(4){min-width:150px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border:1px solid var(--line);background:#fff;border-radius:5px;font-weight:800}.pagination a.disabled{opacity:.45;pointer-events:none}.rd-modal{position:fixed;inset:0;background:rgba(15,23,42,.48);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.rd-modal.show{display:flex}.rd-modal-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #dbe3ef;box-shadow:0 24px 70px rgba(2,6,23,.28);padding:22px;position:relative}.rd-modal-card h3{margin:0 0 14px;font-size:19px}.rd-modal-close{position:absolute;right:12px;top:10px;border:0!important;background:transparent!important;font-size:26px;line-height:1;color:#64748b;min-height:28px;padding:0 8px}.order-modal-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-modal-card .wide{grid-column:1/-1}
@media(max-width:780px){.app-body.sidebar-collapsed .sidebar{width:100%;padding:12px}.app-body.sidebar-collapsed .brand strong,.app-body.sidebar-collapsed .brand small,.app-body.sidebar-collapsed .menu-top{font-size:inherit;color:inherit}.app-body.sidebar-collapsed .submenu{display:none}.app-body.sidebar-collapsed .main{margin-left:0;width:100%}.order-searchbar{grid-template-columns:1fr}.order-bulkbar{align-items:flex-start;flex-direction:column}.order-modal-card .form-grid{grid-template-columns:1fr}}

/* 20260615 - 신규 고객 주문 견적 분류 콤보박스 */
.classification-box{border:1px solid #d9e2ef;background:#f8fafc;padding:14px;margin:4px 0 2px;}
.classification-box b{display:block;color:#10233f;margin-bottom:4px;}
.classification-box .muted{margin:0 0 10px;font-size:12px;color:#64748b;}
.classification-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.classification-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;}
.classification-grid select,.classification-box input{width:100%;border:1px solid #cbd5e1;background:#fff;padding:9px 10px;border-radius:4px;}
@media (max-width:900px){.classification-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.classification-grid{grid-template-columns:1fr;}}
/* 20260615 - 신규 고객 주문 메모 4분할 */
.memo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #d9e2ef;background:#f8fafc;padding:12px;margin-top:2px;}
.memo-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px;}
.memo-grid textarea{min-height:96px;resize:vertical;}
@media(max-width:780px){.memo-grid{grid-template-columns:1fr;}}

/* 20260615 - online request/shipment list + dark mode contrast hardening */
.request-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.reject-request-form{display:inline-flex;margin:0}.danger-pill{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.shipment-type-tabs{display:flex;gap:8px;margin:0 0 12px}.shipment-type-tabs span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:5px;font-weight:900;color:#334155}.shipment-type-tabs span.active{background:#eaf1ff;border-color:#bfdbfe;color:#1d4ed8}.ship-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:5px;font-weight:900;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.ship-badge.quick{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.shipments-page td,.online-request-page td{vertical-align:middle}.request-searchbar,.shipment-searchbar{margin-top:10px}
body.dark,body.dark .main{background:#0b1220!important;color:#e5e7eb!important}body.dark .panel,body.dark .settings-card,body.dark .estimate-tree-shell,body.dark .estimate-builder-shell,body.dark .generated-pages-panel,body.dark .tree-detail-card,body.dark .settings-hero,body.dark .dashboard-hero,body.dark .kpi-grid article,body.dark .rd-modal-card,body.dark .alarm-float-card,body.dark .classification-box,body.dark .memo-grid,body.dark .alarm-settings-box,body.dark .form-section,body.dark .refined-section{background:#111827!important;color:#e5e7eb!important;border-color:#263244!important}body.dark table,body.dark .table-wrap{background:#111827!important;border-color:#263244!important}body.dark thead,body.dark th{background:#0f172a!important;color:#dbeafe!important;border-color:#263244!important}body.dark tbody,body.dark tr,body.dark td{background:#111827!important;color:#e5e7eb!important;border-color:#263244!important}body.dark tr:hover td{background:#172033!important}body.dark input,body.dark select,body.dark textarea{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}body.dark input::placeholder,body.dark textarea::placeholder{color:#64748b!important}body.dark label,body.dark .panel-title h2,body.dark h2,body.dark h3,body.dark .classification-box b{color:#f8fafc!important}body.dark .muted,body.dark small,body.dark .panel-title span{color:#94a3b8!important}body.dark button,body.dark .button,body.dark .pagination a,body.dark .pagination span,body.dark .shipment-type-tabs span{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}body.dark button.primary,body.dark .primary{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}body.dark button.danger,body.dark .danger{background:#3b1218!important;color:#fecaca!important;border-color:#7f1d1d!important}body.dark .alarm-choice{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}body.dark .alarm-choice.disabled{background:#111827!important;color:#64748b!important}body.dark .ship-badge{background:#102a4c!important;color:#bfdbfe!important;border-color:#1d4ed8!important}body.dark .ship-badge.quick{background:#3b2410!important;color:#fed7aa!important;border-color:#c2410c!important}body.dark .status-pill{background:#172033!important;color:#dbeafe!important;border-color:#334155!important}body.dark .status-pill.ok{background:#052e1b!important;color:#86efac!important;border-color:#166534!important}body.dark .danger-pill{background:#3b1218!important;color:#fecaca!important;border-color:#7f1d1d!important}

/* 20260615 - 고객 주문 상세정보 플로팅창 */
.customer-orders-page .symptom-cell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#334155;font-weight:700}.customer-orders-page .order-detail-btn{white-space:nowrap}.order-detail-card{width:min(860px,calc(100vw - 34px))}.order-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px}.order-detail-summary div{border:1px solid #dbe3ef;background:#f8fafc;padding:10px;border-radius:6px}.order-detail-summary b{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.order-detail-summary span{display:block;font-weight:800;color:#0f172a;word-break:break-word}.order-detail-memos{display:grid;gap:10px}.order-detail-memos section{border:1px solid #dbe3ef;background:#fff;padding:12px;border-radius:6px}.order-detail-memos h4{margin:0 0 8px;font-size:14px;color:#0f172a}.order-detail-memos p{margin:0;min-height:38px;white-space:pre-wrap;line-height:1.55;color:#334155}.order-detail-card .modal-actions{margin-top:14px}
body.dark .customer-orders-page .symptom-cell{color:#e5e7eb!important}body.dark .order-detail-summary div,body.dark .order-detail-memos section{background:#0f172a!important;border-color:#334155!important}body.dark .order-detail-summary b{color:#94a3b8!important}body.dark .order-detail-summary span,body.dark .order-detail-memos h4,body.dark .order-detail-memos p{color:#e5e7eb!important}
@media(max-width:760px){.order-detail-summary{grid-template-columns:1fr}.customer-orders-page .symptom-cell{max-width:180px}}

/* 20260615 - shipment order source / manual shipment modal */
.shipment-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.shipment-order-source{margin:14px 0 18px;padding:14px;border:1px solid var(--line);background:#f8fafc}.shipment-order-source .sub-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 10px}.shipment-order-source .sub-title h3{margin:0;font-size:16px}.shipment-order-source .sub-title span{font-size:12px;color:#64748b}.shipment-actions{display:flex;gap:6px;flex-wrap:wrap}.shipment-actions form{margin:0}.quick-btn{border-color:#fed7aa!important;background:#fff7ed!important;color:#c2410c!important}.shipment-modal-card{max-width:760px}.shipment-modal-card textarea{min-height:90px}.shipments-page td{vertical-align:middle}
body.dark .shipment-order-source{background:#0f172a!important;border-color:#263244!important;color:#e5e7eb!important}body.dark .shipment-order-source .sub-title span{color:#94a3b8!important}body.dark .quick-btn{background:#3b2410!important;color:#fed7aa!important;border-color:#c2410c!important}

/* 20260615 - customer order inline material/process status */
.customer-orders-page .inline-status-select{min-width:112px;height:32px;min-height:32px;padding:5px 8px;border-radius:5px;font-size:12px;font-weight:800;background:#fff;color:#0f172a;}
.customer-orders-page td:nth-child(6),.customer-orders-page td:nth-child(7){white-space:nowrap;}
body.dark .customer-orders-page .inline-status-select{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important;}
.ship-badge.direct{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.inline-select-form{margin:0}.inline-select-form select{min-width:110px;height:32px;padding:4px 8px;font-weight:800}body.dark .ship-badge.direct{background:#052e1b!important;color:#86efac!important;border-color:#166534!important}

/* 20260615 - sidebar submenu accordion + dark mode estimate page hardening */
.sidebar-toggle,#sidebarToggle,#sidebarToggleTop{display:none!important}.menu-top[data-menu-top]{cursor:pointer;justify-content:space-between}.menu-top[data-menu-top]::after{content:"⌄";font-size:12px;opacity:.75;transition:transform .16s ease}.menu-group.collapsed .menu-top[data-menu-top]::after{transform:rotate(-90deg)}.menu-group.collapsed .submenu{display:none!important}.menu-group.open .submenu{display:grid}.menu-group.open .menu-top{background:rgba(255,255,255,.08);color:#fff}
body.dark .estimate-tree-head,body.dark .estimate-pages-head,body.dark .estimate-page-table-wrap,body.dark .estimate-pages-list-shell,body.dark .page-editor-groups,body.dark .page-group-checks,body.dark .page-group-checks label,body.dark .page-editor-grid,body.dark .tree-form-set,body.dark .tree-edit-fields,body.dark .snapshot-compact-list>div{background:#111827!important;color:#e5e7eb!important;border-color:#263244!important}body.dark .estimate-tree-head h2,body.dark .estimate-pages-head h2,body.dark .page-editor-modal h3,body.dark .page-editor-groups h4,body.dark .tree-detail-card h3,body.dark .rd-modal-card h3{color:#f8fafc!important}body.dark .estimate-tree-head span,body.dark .estimate-pages-head span,body.dark .page-editor-groups p,body.dark .page-group-checks small{color:#94a3b8!important}body.dark .rd-tree-list,body.dark .rd-tree-item,body.dark .rd-root-list{background:transparent!important;color:#e5e7eb!important}body.dark .rd-tree-row,body.dark .rd-tree-row span,body.dark .rd-tree-title,body.dark .rd-tree-meta,body.dark .rd-tree-price{color:#e5e7eb!important}body.dark .rd-tree-row.level-group{background:#10213d!important;border-color:#1d4ed8!important}body.dark .rd-tree-row.level-cat{background:#132033!important;border-color:#334155!important}body.dark .rd-tree-row.level-model{background:#101827!important;border-color:#334155!important}body.dark .rd-tree-row.level-service{background:#0f172a!important;border-color:#334155!important}body.dark .estimate-page-table td,body.dark .estimate-page-table th,body.dark .estimate-page-table small,body.dark .compact-link input{color:#e5e7eb!important;background:#111827!important;border-color:#263244!important}body.dark .estimate-page-table th{background:#0f172a!important;color:#dbeafe!important}body.dark .compact-link a{background:#0f172a!important;color:#bfdbfe!important;border-color:#334155!important}body.dark .empty-guide{background:#0f172a!important;color:#94a3b8!important;border-color:#334155!important}body.dark .tree-btn,body.dark .tree-add-root,body.dark .rd-tree-row-actions button{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}body.dark .tree-btn.primary,body.dark #saveEstimateTreeOrder{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}

/* 20260615 - estimate classification table/tree dark mode final hardening */
body.dark .estimate-tree-shell,
body.dark .estimate-tree-shell .estimate-tree-head,
body.dark .estimate-tree-shell .tree-admin-left,
body.dark .estimate-tree-shell .tree-admin-right,
body.dark .estimate-tree-shell .tree-detail-card,
body.dark .estimate-tree-shell .tree-form-set,
body.dark .estimate-tree-shell .tree-edit-fields,
body.dark .estimate-tree-shell .snapshot-compact-list,
body.dark .estimate-tree-shell .snapshot-compact-list > div,
body.dark .estimate-tree-shell .empty-guide {
  background:#111827!important;
  color:#e5e7eb!important;
  border-color:#263244!important;
}

body.dark .estimate-tree-shell .rd-tree-list,
body.dark .estimate-tree-shell .rd-root-list,
body.dark .estimate-tree-shell .rd-tree-item {
  background:transparent!important;
  color:#e5e7eb!important;
  border-color:#263244!important;
}

body.dark .estimate-tree-shell .rd-tree-row {
  color:#e5e7eb!important;
  border-color:#334155!important;
  box-shadow:none!important;
}
body.dark .estimate-tree-shell .rd-tree-row.level-group { background:#10213d!important; }
body.dark .estimate-tree-shell .rd-tree-row.level-cat { background:#132033!important; }
body.dark .estimate-tree-shell .rd-tree-row.level-model { background:#101827!important; }
body.dark .estimate-tree-shell .rd-tree-row.level-service { background:#0f172a!important; }
body.dark .estimate-tree-shell .rd-tree-row:hover { background:#172033!important; }

body.dark .estimate-tree-shell .rd-tree-title,
body.dark .estimate-tree-shell .rd-tree-price,
body.dark .estimate-tree-shell .rd-tree-meta,
body.dark .estimate-tree-shell .rd-tree-count,
body.dark .estimate-tree-shell .rd-tree-handle,
body.dark .estimate-tree-shell .rd-tree-toggle,
body.dark .estimate-tree-shell .tree-summary,
body.dark .estimate-tree-shell .tree-summary span,
body.dark .estimate-tree-shell label,
body.dark .estimate-tree-shell h2,
body.dark .estimate-tree-shell h3,
body.dark .estimate-tree-shell h4,
body.dark .estimate-tree-shell p,
body.dark .estimate-tree-shell small {
  color:#e5e7eb!important;
}
body.dark .estimate-tree-shell .muted,
body.dark .estimate-tree-shell .rd-tree-meta,
body.dark .estimate-tree-shell small {
  color:#94a3b8!important;
}

body.dark .estimate-tree-shell input,
body.dark .estimate-tree-shell select,
body.dark .estimate-tree-shell textarea,
body.dark .estimate-tree-shell .tree-add-root,
body.dark .estimate-tree-shell .tree-btn,
body.dark .estimate-tree-shell .rd-tree-row-actions button,
body.dark .estimate-tree-shell .snapshot-compact-list button,
body.dark .estimate-tree-shell .snapshot-compact-list a {
  background:#0f172a!important;
  color:#e5e7eb!important;
  border-color:#334155!important;
}
body.dark .estimate-tree-shell input::placeholder,
body.dark .estimate-tree-shell textarea::placeholder { color:#64748b!important; }
body.dark .estimate-tree-shell .primary,
body.dark .estimate-tree-shell button.primary,
body.dark .estimate-tree-shell #saveEstimateTreeOrder {
  background:#2563eb!important;
  color:#fff!important;
  border-color:#2563eb!important;
}
body.dark .estimate-tree-shell button.danger,
body.dark .estimate-tree-shell .danger {
  background:#3b1218!important;
  color:#fecaca!important;
  border-color:#7f1d1d!important;
}

/* prevent white-on-white in any estimate classification legacy table */
body.dark table.estimate-class-table,
body.dark .estimate-class-table,
body.dark .estimate-class-table thead,
body.dark .estimate-class-table tbody,
body.dark .estimate-class-table tr,
body.dark .estimate-class-table th,
body.dark .estimate-class-table td,
body.dark .estimate-tree-shell table,
body.dark .estimate-tree-shell thead,
body.dark .estimate-tree-shell tbody,
body.dark .estimate-tree-shell tr,
body.dark .estimate-tree-shell th,
body.dark .estimate-tree-shell td {
  background:#111827!important;
  color:#e5e7eb!important;
  border-color:#263244!important;
}
body.dark .estimate-tree-shell th,
body.dark .estimate-class-table th {
  background:#0f172a!important;
  color:#dbeafe!important;
}

/* 20260615 - estimate classification dark mode white-box final fix */
body.dark .estimate-tree-shell .tree-admin-left,
body.dark .estimate-tree-shell .tree-admin-right,
body.dark .estimate-tree-shell .tree-detail-card,
body.dark .estimate-tree-shell .tree-help,
body.dark .estimate-tree-shell .tree-summary span,
body.dark .estimate-tree-shell .tree-add-root,
body.dark .estimate-tree-shell .empty-guide,
body.dark .estimate-tree-shell .snapshot-compact-list,
body.dark .estimate-tree-shell .snapshot-compact-list > div {
  background:#0f172a!important;
  color:#e5e7eb!important;
  border-color:#334155!important;
}
body.dark .estimate-tree-shell .rd-tree-toggle,
body.dark .estimate-tree-shell .rd-tree-handle {
  background:#0b1220!important;
  color:#cbd5e1!important;
  border-color:#334155!important;
}
body.dark .estimate-tree-shell button:disabled,
body.dark .estimate-tree-shell .tree-btn:disabled,
body.dark .estimate-tree-shell input:disabled,
body.dark .estimate-tree-shell select:disabled,
body.dark .estimate-tree-shell textarea:disabled,
body.dark .estimate-tree-shell .disabled,
body.dark .estimate-tree-shell [disabled] {
  background:#1f2937!important;
  color:#64748b!important;
  border-color:#334155!important;
  opacity:1!important;
  -webkit-text-fill-color:#64748b!important;
}
body.dark .estimate-tree-shell input,
body.dark .estimate-tree-shell select,
body.dark .estimate-tree-shell textarea,
body.dark .estimate-tree-shell button,
body.dark .estimate-tree-shell .button,
body.dark .estimate-tree-shell .tree-btn,
body.dark .estimate-tree-shell .rd-tree-row-actions button,
body.dark .estimate-tree-shell .snapshot-compact-list button,
body.dark .estimate-tree-shell .snapshot-compact-list a {
  background:#0f172a!important;
  color:#e5e7eb!important;
  border-color:#334155!important;
  -webkit-text-fill-color:currentColor!important;
}
body.dark .estimate-tree-shell input::placeholder,
body.dark .estimate-tree-shell textarea::placeholder {
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
}
body.dark .estimate-tree-shell .tree-add-root:hover,
body.dark .estimate-tree-shell button:hover,
body.dark .estimate-tree-shell .tree-btn:hover {
  background:#172033!important;
  color:#f8fafc!important;
  border-color:#475569!important;
}
body.dark .estimate-tree-shell .primary,
body.dark .estimate-tree-shell button.primary,
body.dark .estimate-tree-shell #saveEstimateTreeOrder {
  background:#2563eb!important;
  color:#fff!important;
  border-color:#2563eb!important;
  -webkit-text-fill-color:#fff!important;
}

/* 2026-06-15: 견적 분류 관리 다크모드 rd-tree-count 배지 보정 */
body.dark .estimate-tree-shell .rd-tree-count,
body.dark .rd-tree-count,
html.dark .estimate-tree-shell .rd-tree-count,
html.dark .rd-tree-count,
[data-theme="dark"] .estimate-tree-shell .rd-tree-count,
[data-theme="dark"] .rd-tree-count,
.dark-mode .estimate-tree-shell .rd-tree-count,
.dark-mode .rd-tree-count {
  background:#1e293b!important;
  color:#dbeafe!important;
  border:1px solid #334155!important;
  box-shadow:none!important;
}
body.dark .estimate-tree-shell .rd-tree-row.level-group .rd-tree-count,
body.dark .estimate-tree-shell .rd-tree-row.level-cat .rd-tree-count,
body.dark .estimate-tree-shell .rd-tree-row.level-model .rd-tree-count,
body.dark .estimate-tree-shell .rd-tree-row.level-service .rd-tree-count {
  background:#24324a!important;
  color:#eff6ff!important;
}

/* 2026-06-15: 공통 check / inline-check 다크모드 보정 */
body.dark-mode .check,
body.dark-mode .inline-check,
body.dark-mode label.check,
body.dark-mode label.inline-check,
body.dark-mode label.check.inline-check {
  background: #111827 !important;
  border-color: #334155 !important;
  color: #e5e7eb !important;
}
body.dark-mode .check:hover,
body.dark-mode .inline-check:hover,
body.dark-mode label.check:hover,
body.dark-mode label.inline-check:hover,
body.dark-mode label.check.inline-check:hover {
  background: #162033 !important;
  border-color: #3b82f6 !important;
}
body.dark-mode .check input[type="checkbox"],
body.dark-mode .inline-check input[type="checkbox"],
body.dark-mode label.check.inline-check input[type="checkbox"] {
  accent-color: #3b82f6 !important;
}
body.dark-mode .check *,
body.dark-mode .inline-check *,
body.dark-mode label.check.inline-check * {
  color: inherit !important;
}

/* RepairDash integrated patch 20260615 */
.sidebar-toggle{margin-top:10px;width:100%;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.08);color:inherit;border-radius:6px;padding:7px 8px;cursor:pointer;font-size:12px}.app-body.sidebar-collapsed .sidebar{width:72px}.app-body.sidebar-collapsed .brand strong,.app-body.sidebar-collapsed .brand small,.app-body.sidebar-collapsed .submenu,.app-body.sidebar-collapsed .menu-top{font-size:0}.app-body.sidebar-collapsed .menu-top:before{content:'•';font-size:20px}.app-body.sidebar-collapsed .main{margin-left:72px}.menu-group .submenu{display:none}.menu-group.open .submenu{display:block}.menu-top{cursor:pointer}.rd-search-bar{display:flex;gap:8px;align-items:center;margin:12px 0 16px;flex-wrap:wrap}.rd-search-bar input{min-width:240px}.rd-search-bar select,.rd-search-bar input,.rd-search-bar button,.rd-table select{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:6px;padding:8px 10px}.table-responsive{overflow:auto}.rd-table{width:100%;border-collapse:collapse}.rd-table th,.rd-table td{border-bottom:1px solid #e5e7eb;padding:10px 9px;vertical-align:middle}.rd-table thead th{background:#f8fafc;color:#0f172a;font-weight:700}.list-actions{margin-top:12px;display:flex;gap:8px}.pagination{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.pagination a{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;text-decoration:none;color:#334155;background:#fff}.pagination a.active{background:#0f3b66;color:#fff;border-color:#0f3b66}.no-wrap-actions{white-space:nowrap}.other-input{display:none;margin-top:6px}.rd-modal-card.wide{max-width:900px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-item{border:1px solid #e5e7eb;background:#f8fafc;border-radius:8px;padding:10px}.detail-item b{display:block;color:#0f172a;margin-bottom:4px}.detail-item span{white-space:pre-wrap;color:#334155}.shipment-page .quick-ship{margin:2px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:6px;padding:6px 8px}.dark .rd-search-bar select,.dark .rd-search-bar input,.dark .rd-search-bar button,.dark .rd-table select,body.dark .rd-search-bar select,body.dark .rd-search-bar input,body.dark .rd-search-bar button,body.dark .rd-table select,.app-body.dark .rd-search-bar select,.app-body.dark .rd-search-bar input,.app-body.dark .rd-search-bar button,.app-body.dark .rd-table select{background:#111827!important;color:#e5e7eb!important;border-color:#334155!important}.dark .rd-table th,.app-body.dark .rd-table th,body.dark .rd-table th{background:#111827!important;color:#e5e7eb!important}.dark .rd-table td,.app-body.dark .rd-table td,body.dark .rd-table td{background:#0f172a!important;color:#e5e7eb!important;border-color:#1f2937!important}.dark .pagination a,.app-body.dark .pagination a,body.dark .pagination a{background:#111827!important;color:#e5e7eb!important;border-color:#334155!important}.dark .pagination a.active,.app-body.dark .pagination a.active,body.dark .pagination a.active{background:#2563eb!important;color:#fff!important}.dark .detail-item,.app-body.dark .detail-item,body.dark .detail-item{background:#111827!important;border-color:#334155!important}.dark .detail-item b,.dark .detail-item span,.app-body.dark .detail-item b,.app-body.dark .detail-item span,body.dark .detail-item b,body.dark .detail-item span{color:#e5e7eb!important}.dark .shipment-page .quick-ship,.app-body.dark .shipment-page .quick-ship,body.dark .shipment-page .quick-ship{background:#1f2937!important;color:#e5e7eb!important;border-color:#475569!important}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.app-body.sidebar-collapsed .main{margin-left:0}}

/* 2026-06-15 request status column + wide order modals */
.status-pill.request-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#e2e8f0;color:#334155;border:1px solid #cbd5e1}
.status-pill.request-status.approved{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
.status-pill.request-status.rejected{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.status-pill.request-status.pending{background:#fef3c7!important;color:#92400e!important;border-color:#fde68a!important}
.order-modal-wide,.order-detail-wide{width:min(1280px,96vw)!important;max-width:1280px!important;max-height:88vh;overflow:auto}
.order-create-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start}.order-create-grid label.wide{grid-column:span 2}.order-create-grid .modal-actions.wide{grid-column:1 / -1}.order-create-grid textarea{min-height:92px}.order-detail-wide .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-section{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:14px}.detail-section h4{margin:0 0 10px;font-size:14px;color:#0f172a}.detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-section .detail-item{padding:9px;border-radius:7px}.detail-section .detail-item span{min-height:20px;display:block;line-height:1.45}
body.dark .status-pill.request-status,body.dark-mode .status-pill.request-status,.dark .status-pill.request-status{background:#1e293b!important;color:#e5e7eb!important;border-color:#334155!important}body.dark .status-pill.request-status.approved,body.dark-mode .status-pill.request-status.approved,.dark .status-pill.request-status.approved{background:#064e3b!important;color:#bbf7d0!important;border-color:#047857!important}body.dark .status-pill.request-status.rejected,body.dark-mode .status-pill.request-status.rejected,.dark .status-pill.request-status.rejected{background:#7f1d1d!important;color:#fecaca!important;border-color:#991b1b!important}body.dark .status-pill.request-status.pending,body.dark-mode .status-pill.request-status.pending,.dark .status-pill.request-status.pending{background:#78350f!important;color:#fde68a!important;border-color:#92400e!important}body.dark .detail-section,body.dark-mode .detail-section,.dark .detail-section{background:#0f172a!important;border-color:#334155!important}body.dark .detail-section h4,body.dark-mode .detail-section h4,.dark .detail-section h4{color:#f8fafc!important}
@media(max-width:1100px){.order-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.order-detail-wide .detail-grid{grid-template-columns:1fr}.detail-section-grid{grid-template-columns:1fr}}@media(max-width:700px){.order-create-grid{grid-template-columns:1fr!important}.order-create-grid label.wide{grid-column:auto}.order-modal-wide,.order-detail-wide{width:96vw!important}}

/* 2026-06-15: index.php 매장 가입 UI */
.login-wrap-wide{width:min(520px,94vw)}
.repairdash-login-card .login-form input{background:#f8fafc!important;color:#0f172a!important}
.login-actions-row{display:flex;justify-content:center;margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb}
.store-signup-open{height:40px;border:1px solid #1d4ed8;background:#fff;color:#1d4ed8;border-radius:7px;padding:0 18px;font-weight:900;cursor:pointer}
.store-signup-open:hover{background:#eff6ff}.alert.success{padding:12px;border-radius:7px;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;font-weight:800;margin:10px 0}
.store-signup-card{width:min(980px,96vw)!important;max-width:980px!important}.store-signup-card h3{margin:0 0 6px;font-size:22px}.store-signup-form{display:grid;gap:14px}.signup-section{border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;padding:14px}.signup-section h4{margin:0 0 12px;color:#0f172a;font-size:15px}.signup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.signup-grid label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:900}.signup-grid label.wide{grid-column:1/-1}.signup-grid input{height:40px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#0f172a;padding:0 10px}.business-verify-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px}.business-verify-row button{height:40px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:7px;font-weight:900}.signup-grid small{font-size:11px;color:#64748b}.signup-grid small.ok{color:#166534}.signup-grid small.bad{color:#b91c1c}.signup-actions{border-top:1px solid #e5e7eb;padding-top:12px}.signup-actions .primary{background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important}
body.dark .repairdash-login-card,body.dark-mode .repairdash-login-card,.dark .repairdash-login-card{background:#111827!important;color:#e5e7eb!important;border-color:#263244!important}body.dark .repairdash-login-card .login-form input,body.dark-mode .repairdash-login-card .login-form input,.dark .repairdash-login-card .login-form input{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}body.dark .login-actions-row,body.dark-mode .login-actions-row,.dark .login-actions-row{border-color:#263244!important}body.dark .store-signup-open,body.dark-mode .store-signup-open,.dark .store-signup-open{background:#0f172a!important;color:#dbeafe!important;border-color:#3b82f6!important}body.dark .signup-section,body.dark-mode .signup-section,.dark .signup-section{background:#0f172a!important;border-color:#334155!important}body.dark .signup-section h4,body.dark-mode .signup-section h4,.dark .signup-section h4,body.dark .signup-grid label,body.dark-mode .signup-grid label,.dark .signup-grid label{color:#e5e7eb!important}body.dark .signup-grid input,body.dark-mode .signup-grid input,.dark .signup-grid input,body.dark .business-verify-row button,body.dark-mode .business-verify-row button,.dark .business-verify-row button{background:#111827!important;color:#e5e7eb!important;border-color:#334155!important}body.dark .signup-actions,body.dark-mode .signup-actions,.dark .signup-actions{border-color:#334155!important}
@media(max-width:720px){.store-signup-card{width:96vw!important}.signup-grid{grid-template-columns:1fr}.business-verify-row{grid-template-columns:1fr}.business-verify-row button{width:100%}}

/* 2026-06-15 매장 재고 관리 */
.inventory-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;}
.inventory-summary article{border:1px solid var(--line,#e5e7eb);border-radius:14px;background:#fff;padding:16px;display:grid;gap:4px;}
.inventory-summary article b{font-size:24px;color:#0f172a;}
.inventory-summary article span{font-size:12px;color:#64748b;font-weight:800;}
.inventory-summary article.warn{border-color:#f59e0b;background:#fffbeb;}
.inventory-search{grid-template-columns:1.4fr .7fr .7fr auto auto;}
.inventory-table td{vertical-align:middle;}
.stock-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:26px;border-radius:999px;font-size:12px;font-weight:900;}
.stock-badge.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;}
.stock-badge.low{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;}
.inventory-modal-card{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;}
.inventory-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.inventory-form-grid fieldset{border:1px solid var(--line,#e5e7eb);border-radius:16px;background:#f8fafc;padding:16px;display:grid;gap:10px;margin:0;}
.inventory-form-grid legend{font-weight:900;color:#0f172a;padding:0 6px;}
.inventory-form-grid label,.inventory-memo{display:grid;gap:6px;font-size:12px;font-weight:900;color:#334155;}
.inline-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.inventory-memo{margin-top:14px;}
.inventory-memo textarea{min-height:92px;}
html.dark .inventory-summary article, body.dark .inventory-summary article, [data-theme="dark"] .inventory-summary article{background:#111827;border-color:#334155;}
html.dark .inventory-summary article b, body.dark .inventory-summary article b, [data-theme="dark"] .inventory-summary article b{color:#e5e7eb;}
html.dark .inventory-summary article span, body.dark .inventory-summary article span, [data-theme="dark"] .inventory-summary article span{color:#94a3b8;}
html.dark .inventory-summary article.warn, body.dark .inventory-summary article.warn, [data-theme="dark"] .inventory-summary article.warn{background:#2a1c05;border-color:#92400e;}
html.dark .inventory-form-grid fieldset, body.dark .inventory-form-grid fieldset, [data-theme="dark"] .inventory-form-grid fieldset{background:#0f172a;border-color:#334155;}
html.dark .inventory-form-grid legend, body.dark .inventory-form-grid legend, [data-theme="dark"] .inventory-form-grid legend{color:#e5e7eb;}
html.dark .inventory-form-grid label, html.dark .inventory-memo, body.dark .inventory-form-grid label, body.dark .inventory-memo, [data-theme="dark"] .inventory-form-grid label, [data-theme="dark"] .inventory-memo{color:#cbd5e1;}
@media (max-width:1100px){.inventory-summary{grid-template-columns:repeat(2,1fr)}.inventory-form-grid{grid-template-columns:repeat(2,1fr)}.inventory-search{grid-template-columns:1fr 1fr}.inventory-search input{grid-column:span 2}}
@media (max-width:640px){.inventory-title-row{align-items:flex-start;flex-direction:column}.inventory-summary,.inventory-form-grid,.inventory-search{grid-template-columns:1fr}.inventory-search input{grid-column:auto}}
