:root { --primary:#3157d5; --primary-dark:#2748b5; --ink:#172337; --muted:#718096; --background:#f5f7fb; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { background:var(--background); }
body { margin:0; background:var(--background); color:var(--ink); font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; } button { color:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,tr:focus-visible { outline:3px solid rgba(49,87,213,.3); outline-offset:2px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.app-shell { min-height:100vh; }.desktop-sidebar { display:none; }.main-content { width:100%; padding:0 20px 132px; }
.page-header { margin:0 -20px; padding:26px 24px 79px; color:white; background:linear-gradient(135deg,#3157d5 0%,#3d65df 100%); }
.mobile-brand { margin:0 0 9px; font-size:13px; font-weight:700; letter-spacing:.02em; opacity:.76; }.page-header h1 { margin:0; font-size:27px; line-height:1.2; letter-spacing:-.04em; }.header-description,.top-button { display:none!important; }
.toolbar { position:relative; z-index:2; margin-top:-53px; }.search-box { display:flex; align-items:center; height:54px; padding:0 17px; border:1px solid rgba(22,34,53,.05); border-radius:17px; background:white; box-shadow:0 8px 24px rgba(15,23,42,.09); }
.search-symbol { width:24px; margin-right:10px; color:#8390a4; font-size:25px; line-height:1; transform:rotate(-18deg); }.search-box input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font-size:14px; }.search-box input::placeholder { color:#98a3b4; }
.filter-row { display:flex; flex-direction:column; gap:12px; margin-top:17px; }.filter-list { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }.filter-list::-webkit-scrollbar { display:none; }
.filter-chip { flex:0 0 auto; height:35px; padding:0 15px; border:0; border-radius:18px; background:#e9edf5; color:#405069; font-size:13px; font-weight:650; cursor:pointer; }.filter-chip strong { margin-left:2px; }.filter-chip.active { background:var(--primary); color:white; }
.sort-select { align-self:flex-end; }.sort-select select { height:34px; padding:0 30px 0 10px; border:0; color:#6f7e93; background:transparent; font-size:13px; font-weight:600; cursor:pointer; }
.quote-results { margin-top:8px; }.results-heading { display:flex; align-items:center; justify-content:space-between; min-height:34px; color:#768499; font-size:13px; }.results-heading p { margin:0; }.results-heading strong { color:var(--primary); }.results-heading span { max-width:65%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mobile-card-list { display:grid; gap:14px; }.quote-card { width:100%; padding:17px 16px 16px; border:1px solid rgba(22,34,53,.04); border-radius:20px; background:white; box-shadow:0 7px 22px rgba(15,23,42,.07); text-align:left; cursor:pointer; transition:transform 160ms ease; }.quote-card:active { transform:scale(.988); }
.card-topline,.card-mainline,.card-bottomline { display:flex; align-items:center; justify-content:space-between; gap:12px; }.created-date { color:#74839a; font-size:12px; }.card-mainline { margin-top:15px; align-items:flex-start; }.card-mainline>div { min-width:0; }.chevron { color:#a3afc0; font-size:28px; line-height:24px; }
.customer-name { display:block; font-size:18px; letter-spacing:-.03em; }.quote-title { display:block; margin-top:5px; color:#57667c; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.quote-number { display:block; margin-top:8px; color:#8591a3; font-size:12px; }
.card-bottomline { margin-top:15px; padding-top:14px; border-top:1px solid #edf0f5; }.amount { font-size:19px; letter-spacing:-.025em; }
.status { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:54px; height:26px; padding:0 10px; border-radius:13px; font-size:12px; font-weight:750; white-space:nowrap; }.status-dot { width:6px; height:6px; border-radius:50%; }
.status-전송 { color:#218653; background:#eaf7f0; }.status-전송 .status-dot { background:#25a565; }.status-작성중 { color:#a86f00; background:#fff5d9; }.status-작성중 .status-dot { background:#e5a100; }.status-완료 { color:#516075; background:#edf1f6; }.status-완료 .status-dot { background:#7c899a; }
.document-badges { display:flex; gap:6px; }.document-badge { padding:7px 9px; border-radius:8px; font-size:11px; font-weight:750; white-space:nowrap; }.document-badge.original { color:var(--primary); background:#eef2ff; }.document-badge.comparison { color:#c56d08; background:#fff2e4; }
.desktop-table-wrap { display:none; }.new-quote { align-items:center; justify-content:center; gap:9px; border:0; color:white; background:var(--primary); box-shadow:0 8px 25px rgba(49,87,213,.3); font-weight:750; cursor:pointer; }.new-quote:hover { background:var(--primary-dark); }.new-quote>span { font-size:20px; font-weight:400; }
.mobile-fab { position:fixed; right:20px; bottom:88px; z-index:5; display:flex; height:54px; padding:0 19px; border-radius:18px; font-size:14px; }.mobile-nav { position:fixed; right:0; bottom:0; left:0; z-index:4; display:grid; grid-template-columns:repeat(3,1fr); height:72px; padding:8px 28px 9px; border-top:1px solid #e5eaf1; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.mobile-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:14px; color:#8995a6; background:transparent; font-size:18px; }.mobile-nav button.active { color:var(--primary); background:#edf1ff; }.mobile-nav small { font-size:11px; font-weight:650; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; padding:30px; border-radius:20px; background:white; color:#607086; text-align:center; }.empty-icon { margin-bottom:12px; color:#a5afbd; font-size:38px; }.empty-state strong { color:var(--ink); }.empty-state p { margin:8px 0 0; font-size:13px; }
@media (min-width:760px) { .main-content { padding-right:32px; padding-left:32px; }.page-header { margin-right:-32px; margin-left:-32px; padding-right:36px; padding-left:36px; }.mobile-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px) {
  .app-shell { display:grid; grid-template-columns:238px minmax(0,1fr); }.desktop-sidebar { position:fixed; inset:0 auto 0 0; display:grid; grid-template-columns:46px 1fr; grid-template-rows:56px 1fr auto; column-gap:12px; width:238px; padding:28px 20px 22px; border-right:1px solid #e5eaf1; background:white; }
  .brand-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; color:white; background:var(--primary); font-size:21px; font-weight:800; box-shadow:0 7px 18px rgba(49,87,213,.22); }.brand-copy { display:flex; flex-direction:column; justify-content:center; }.brand-copy strong { font-size:17px; }.brand-copy span { margin-top:3px; color:#8995a6; font-size:12px; }
  .desktop-sidebar nav { grid-column:1/-1; margin-top:34px; }.sidebar-item { display:flex; align-items:center; gap:13px; width:100%; height:46px; margin-bottom:7px; padding:0 14px; border:0; border-radius:13px; color:#66758a; background:transparent; font-size:14px; font-weight:650; cursor:pointer; }.sidebar-item.active { color:var(--primary); background:#edf1ff; }.nav-icon { width:20px; font-size:19px; }.sidebar-version { grid-column:1/-1; color:#a0a9b7; font-size:11px; }
  .main-content { grid-column:2; max-width:1600px; min-width:0; padding:48px 52px 70px; }.page-header { display:flex; align-items:center; justify-content:space-between; margin:0; padding:0; color:var(--ink); background:none; }.mobile-brand { display:none; }.page-header h1 { font-size:30px; }.header-description { display:block!important; margin:8px 0 0; color:#7c899b; font-size:14px; }.top-button { display:flex!important; height:48px; padding:0 20px; border-radius:14px; font-size:14px; }
  .toolbar { margin-top:32px; }.search-box { width:min(520px,48vw); height:48px; border-color:#dfe5ed; border-radius:14px; box-shadow:none; }.filter-row { flex-direction:row; align-items:center; justify-content:space-between; margin-top:22px; }.filter-chip { height:38px; padding:0 17px; border-radius:12px; }.sort-select { align-self:auto; }.quote-results { margin-top:17px; }.results-heading { margin-bottom:9px; }.mobile-card-list { display:none; }
  .desktop-table-wrap { display:block; overflow-x:auto; border:1px solid #e4e9f0; border-radius:18px; background:white; box-shadow:0 8px 26px rgba(15,23,42,.045); } table { width:100%; min-width:970px; border-collapse:collapse; } th { height:48px; padding:0 16px; border-bottom:1px solid #e9edf3; color:#7b8799; background:#fafbfc; font-size:12px; font-weight:700; text-align:left; white-space:nowrap; } td { height:82px; padding:12px 16px; border-bottom:1px solid #edf0f4; font-size:13px; } tbody tr { cursor:pointer; transition:background 140ms ease; } tbody tr:hover,tbody tr:focus { background:#f8faff; } tbody tr:last-child td { border-bottom:0; }
  .align-right { text-align:right; }.table-customer { display:block; font-size:14px; }.table-number { display:block; margin-top:5px; color:#8390a2; font-size:11px; }.table-title { color:#526176; }.table-date { color:#66758a; white-space:nowrap; }.table-amount { font-weight:750; white-space:nowrap; }.table-chevron { width:40px; padding-right:20px; padding-left:4px; color:#a3afc0; font-size:22px; }.mobile-fab,.mobile-nav { display:none; }
}

/* v1.02 목록 페이지 · 고정 품목 · A4 미리보기 */
.list-number { display:inline-grid; place-items:center; min-width:24px; height:24px; border-radius:8px; color:var(--primary); background:#eef2ff; font-size:11px; font-weight:800; }
.mobile-quote-meta { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:11px; color:#65748a; font-size:12px; }
.mobile-quote-meta span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.card-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:22px; }
.pagination button { min-width:76px; height:38px; padding:0 13px; border:1px solid #dce3ec; border-radius:11px; color:#526176; background:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.pagination button:disabled { color:#adb6c2; background:#f0f2f5; cursor:not-allowed; }
.pagination span { color:#768499; font-size:12px; }.pagination span strong { color:var(--primary); }
.final-action-panel { border-color:#d8e1ff; background:linear-gradient(145deg,#fff 0%,#f7f9ff 100%); }
.final-actions { display:flex; flex-direction:column; gap:9px; }
.final-actions button { width:100%; min-height:48px; }
.preview-button { border:1px solid #91a6ed; border-radius:12px; color:var(--primary); background:#eef2ff; font-size:13px; font-weight:800; cursor:pointer; }
.preview-open { overflow:hidden; }
.preview-modal { position:fixed; inset:0; z-index:100; overflow:auto; padding:16px; background:rgba(13,23,41,.72); }
.preview-dialog { width:min(100%,980px); margin:0 auto; border-radius:18px; background:#eef1f6; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.preview-toolbar { display:flex; flex-direction:column; gap:12px; padding:16px; border-bottom:1px solid #d9dfe8; border-radius:18px 18px 0 0; background:#fff; }
.preview-toolbar>div:first-child strong,.preview-toolbar>div:first-child span { display:block; }.preview-toolbar>div:first-child strong { font-size:17px; }.preview-toolbar>div:first-child span { margin-top:4px; color:#7c899b; font-size:11px; }
.preview-toolbar-actions { display:flex; gap:8px; }.preview-toolbar-actions button { flex:1; }
.preview-document-tabs { display:flex; gap:8px; padding:12px 16px; overflow-x:auto; }
.preview-document-tabs button { flex:1 0 150px; padding:10px 12px; border:1px solid #d8dfe9; border-radius:11px; color:#65748a; background:#fff; text-align:left; cursor:pointer; }
.preview-document-tabs button.active { border-color:#6e8be6; color:var(--primary); background:#eef2ff; box-shadow:0 0 0 2px rgba(49,87,213,.08); }
.preview-document-tabs span,.preview-document-tabs strong { display:block; }.preview-document-tabs span { font-size:10px; }.preview-document-tabs strong { margin-top:4px; overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.paper-stage { overflow:auto; padding:0 10px 18px; }
.a4-paper { width:210mm; min-height:297mm; margin:0 auto; padding:16mm 14mm; color:#111827; background:#fff; box-shadow:0 7px 24px rgba(15,23,42,.14); font-family:"Noto Sans KR","Malgun Gothic",sans-serif; transform-origin:top left; }
.paper-header { position:relative; min-height:23mm; padding-top:3mm; border-bottom:2px solid #1f2937; text-align:center; }.paper-header p { position:absolute; top:0; left:0; margin:0; color:#3157d5; font-size:10px; font-weight:800; }.paper-header h2 { margin:0; font-size:28px; letter-spacing:.34em; }.paper-header span { position:absolute; right:0; bottom:4mm; color:#667085; font-size:9px; }
.paper-summary { display:grid; grid-template-columns:1.1fr .9fr; gap:8mm; padding:8mm 0 6mm; }.paper-summary strong { display:block; font-size:16px; }.paper-summary p { margin:3mm 0 5mm; color:#667085; font-size:9px; }.paper-summary dl { margin:0; }.paper-summary dl>div { display:grid; grid-template-columns:23mm 1fr; padding:1.5mm 0; border-bottom:1px solid #e5e7eb; font-size:9px; }.paper-summary dt { color:#667085; }.paper-summary dd { margin:0; font-weight:650; }.paper-supplier { padding:5mm; border:1px solid #9ca3af; }.paper-supplier strong { margin-bottom:3mm; font-size:15px; }.paper-supplier dl>div { grid-template-columns:22mm 1fr; }
.paper-total-title { display:flex; align-items:center; justify-content:space-between; padding:4mm 5mm; color:#fff; background:#3157d5; }.paper-total-title span { font-size:10px; }.paper-total-title strong { font-size:17px; }
.paper-items { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; }.paper-items th,.paper-items td { height:9mm; padding:1.5mm 1mm; border:1px solid #9ca3af; background:#fff; font-size:8px; text-align:center; cursor:default; }.paper-items th { height:8mm; color:#fff; background:#344054; font-weight:700; }.paper-items th:nth-child(1){width:7%}.paper-items th:nth-child(2){width:25%}.paper-items th:nth-child(3){width:18%}.paper-items th:nth-child(4){width:9%}.paper-items th:nth-child(5){width:9%}.paper-items th:nth-child(6){width:14%}.paper-items th:nth-child(7){width:18%}.paper-items .paper-item-name { text-align:left; }.paper-items .paper-number { text-align:right; }.paper-items .empty-row td { color:#b8c0cc; }
.paper-totals { display:flex; justify-content:flex-end; margin-top:4mm; }.paper-totals dl { width:72mm; margin:0; }.paper-totals dl>div { display:flex; justify-content:space-between; padding:2mm 3mm; border-bottom:1px solid #d1d5db; font-size:9px; }.paper-totals dt,.paper-totals dd { margin:0; }.paper-totals dd { font-weight:750; }.paper-totals dl>div:last-child { color:#3157d5; font-size:12px; }
.paper-memo { display:grid; grid-template-columns:18mm 1fr; min-height:18mm; margin-top:5mm; padding:3mm; border:1px solid #d1d5db; font-size:9px; }.paper-memo p { margin:0; color:#475467; line-height:1.6; }

@media (max-width:759px) {
  .items-table tr { padding:12px 10px 4px; }
  .items-table td:last-child { position:static; width:100%; }
  .a4-paper { transform:scale(.48); margin-bottom:-154mm; }
  .paper-stage { padding-left:calc((100% - 100.8mm) / 2); }
}
@media (min-width:760px) {
  .final-actions { flex-direction:row; justify-content:flex-end; }.final-actions button { width:auto; min-width:150px; }
  .preview-toolbar { flex-direction:row; align-items:center; justify-content:space-between; }.preview-toolbar-actions button { flex:none; }
  .paper-stage { padding:8px 24px 28px; }
}
@media (min-width:1024px) { .desktop-table-wrap table { min-width:1180px; }.row-number { color:#7c899b; font-weight:750; }.preview-modal { padding:28px; } }
@media print {
  @page { size:A4 portrait; margin:0; }
  body { background:#fff; }
  body>*:not(.preview-modal) { display:none!important; }
  .preview-modal { position:static; display:block!important; overflow:visible; padding:0; background:#fff; }
  .preview-dialog { width:auto; margin:0; border-radius:0; background:#fff; box-shadow:none; }
  .preview-toolbar,.preview-document-tabs { display:none!important; }
  .paper-stage { overflow:visible; padding:0; }
  .a4-paper { width:210mm; min-height:297mm; margin:0; padding:16mm 14mm; box-shadow:none; transform:none; }
}
@media (min-width:1360px) { .app-shell { grid-template-columns:258px minmax(0,1fr); }.desktop-sidebar { width:258px; padding-right:24px; padding-left:24px; }.main-content { padding-right:64px; padding-left:64px; } th,td { padding-right:20px; padding-left:20px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* v1.01 새 견적 작성 */
.editor-view { padding:0 0 76px; }
.editor-header { display:flex; align-items:center; gap:12px; margin:0 -20px 18px; padding:20px; border-bottom:1px solid #e6ebf2; background:#fff; }
.editor-header>div:nth-child(2) { min-width:0; flex:1; }.editor-header p { margin:0 0 3px; color:#7a8799; font-size:11px; }.editor-header h1 { margin:0; font-size:21px; letter-spacing:-.04em; }
.back-button { flex:0 0 auto; width:38px; height:38px; border:1px solid #dfe5ed; border-radius:12px; color:#445269; background:#fff; font-size:29px; line-height:1; cursor:pointer; }.editor-actions { display:none; gap:9px; }
.primary-button,.secondary-button { min-height:43px; padding:0 17px; border-radius:12px; font-size:13px; font-weight:750; cursor:pointer; }.primary-button { border:1px solid var(--primary); color:#fff; background:var(--primary); }.secondary-button { border:1px solid #dfe5ed; color:#4e5d72; background:#fff; }.secondary-button.compact { min-height:37px; padding:0 13px; white-space:nowrap; }
.editor-notice { display:flex; align-items:center; gap:10px; margin-bottom:14px; padding:13px 15px; border:1px solid #cfdafe; border-radius:14px; color:#435375; background:#eef2ff; font-size:12px; }.editor-notice strong { flex:0 0 auto; color:var(--primary); }
.form-panel { margin-bottom:14px; padding:18px 16px; border:1px solid #e3e8ef; border-radius:18px; background:#fff; box-shadow:0 5px 18px rgba(15,23,42,.035); }
.panel-heading { display:flex; align-items:flex-start; gap:11px; margin-bottom:18px; }.panel-heading-action { justify-content:space-between; }.heading-with-step { display:flex; align-items:flex-start; gap:11px; }.step-number { display:grid; flex:0 0 auto; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; background:var(--primary); font-size:13px; font-weight:800; }
.panel-heading h2 { margin:1px 0 3px; font-size:17px; letter-spacing:-.03em; }.panel-heading p { margin:0; color:#7c899b; font-size:12px; line-height:1.5; }
.form-grid { display:grid; gap:14px; }.form-grid label { display:block; min-width:0; }.form-grid label>span,.memo-panel label>span { display:block; margin-bottom:7px; color:#4d5b70; font-size:12px; font-weight:700; }.form-grid em,.items-table em,.price-table em { color:#e15353; font-style:normal; }
.form-grid input,.form-grid select,.items-table input,.price-input,.memo-panel textarea { width:100%; border:1px solid #dce3ec; border-radius:11px; color:var(--ink); background:#fff; }.form-grid input,.form-grid select,.items-table input { height:43px; padding:0 12px; }.memo-panel textarea { min-height:100px; padding:12px; resize:vertical; line-height:1.55; }.form-grid input:focus,.form-grid select:focus,.items-table input:focus,.price-input:focus-within,.memo-panel textarea:focus { border-color:#7893e8; outline:3px solid rgba(49,87,213,.12); }
.items-table-wrap,.price-table-wrap { overflow-x:auto; }.items-table,.price-table { width:100%; border-collapse:collapse; }.items-table th,.price-table th { padding:0 7px 9px; border:0; color:#728096; background:transparent; font-size:11px; text-align:left; }.items-table td,.price-table td { height:auto; padding:6px 7px; border:0; }.items-table th:nth-child(1){width:31%}.items-table th:nth-child(2){width:25%}.items-table th:nth-child(3){width:13%}.items-table th:nth-child(4){width:18%}
.remove-item { width:34px; height:34px; border:0; border-radius:10px; color:#d15757; background:#fff0f0; font-size:19px; cursor:pointer; }.remove-item:disabled { color:#aab3c0; background:#f0f2f5; cursor:not-allowed; }.mobile-field-label { display:none; }
.supplier-tabs { display:flex; gap:8px; margin:0 -3px 16px; padding:3px; overflow-x:auto; scrollbar-width:none; }.supplier-tabs::-webkit-scrollbar { display:none; }.supplier-tab { flex:1 0 150px; min-width:0; padding:13px; border:1px solid #dfe5ee; border-radius:14px; color:#5e6c80; background:#fafbfc; text-align:left; cursor:pointer; }.supplier-tab.active { border-color:#6e8be6; color:var(--primary); background:#eef2ff; box-shadow:0 0 0 2px rgba(49,87,213,.08); }.supplier-tab span,.supplier-tab strong,.supplier-tab small { display:block; }.supplier-tab span { font-size:11px; font-weight:750; }.supplier-tab strong { margin-top:5px; overflow:hidden; color:var(--ink); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.supplier-tab small { margin-top:7px; font-size:11px; font-weight:700; }
.supplier-editor { padding:16px; border:1px solid #e1e6ed; border-radius:16px; background:#fbfcfe; }.supplier-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }.supplier-title span { color:var(--primary); font-size:11px; font-weight:750; }.supplier-title h3 { margin:4px 0 0; font-size:16px; }.supplier-title .shared-badge { padding:7px 9px; border-radius:8px; color:#53637a; background:#edf0f5; font-size:10px; white-space:nowrap; }
.supplier-info-grid { margin-bottom:17px; }.price-table { min-width:620px; }.price-table td { padding:10px 8px; border-top:1px solid #e7ebf1; font-size:12px; }.price-table td strong,.price-table td span { display:block; }.price-table td>span { margin-top:3px; color:#8995a5; font-size:10px; }.price-input { display:flex; align-items:center; height:40px; padding:0 10px; background:#fff; }.price-input span { color:#7d8999; }.price-input input { width:100%; height:36px; border:0; outline:0; text-align:right; }
.total-box { display:flex; justify-content:flex-end; margin-top:15px; }.total-box dl { width:min(100%,330px); margin:0; padding:13px 15px; border-radius:13px; background:#f0f3f8; }.total-box dl>div { display:flex; justify-content:space-between; gap:20px; padding:5px 0; color:#66758a; font-size:12px; }.total-box dt,.total-box dd { margin:0; }.total-box dd { font-weight:700; }.total-box .grand-total { margin-top:5px; padding-top:10px; border-top:1px solid #d6dde7; color:var(--ink); font-size:15px; }.total-box .grand-total dd { color:var(--primary); font-size:18px; }
.mobile-editor-actions { position:fixed; right:0; bottom:0; left:0; z-index:10; display:grid; grid-template-columns:1fr 2fr; gap:9px; padding:10px 16px; border-top:1px solid #dfe5ed; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); }.toast { position:fixed; bottom:86px; left:50%; z-index:30; width:max-content; max-width:calc(100vw - 32px); padding:12px 17px; border-radius:12px; color:#fff; background:#1d2939; box-shadow:0 10px 30px rgba(15,23,42,.25); font-size:13px; transform:translateX(-50%); }

@media (max-width:759px) {
  .panel-heading-action { align-items:center; }.heading-with-step { min-width:0; }.items-table thead { display:none; }.items-table,.items-table tbody,.items-table tr,.items-table td { display:block; width:100%; }.items-table tr { position:relative; margin-bottom:12px; padding:12px 48px 7px 7px; border:1px solid #e1e6ed; border-radius:14px; }.items-table td { padding:0 0 8px; }.items-table td:last-child { position:absolute; top:10px; right:9px; width:auto; }.mobile-field-label { display:block; margin:0 0 5px; color:#748196; font-size:10px; font-weight:700; }.items-table input { height:40px; }.supplier-editor { padding:13px 11px; }.shared-badge { display:none; }
}

@media (min-width:760px) { .basic-grid,.supplier-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.form-panel { padding:22px; } }

@media (min-width:1024px) {
  .editor-view { padding-bottom:20px; }.editor-header { margin:0 0 24px; padding:0 0 18px; background:transparent; }.editor-header h1 { font-size:29px; }.editor-header p { font-size:12px; }.editor-actions { display:flex; }.editor-notice { width:max-content; max-width:100%; }.form-panel { margin-bottom:18px; padding:25px 27px; border-radius:18px; }.panel-heading h2 { font-size:18px; }.basic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.supplier-info-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.mobile-editor-actions { display:none; }.supplier-tabs { max-width:780px; }.supplier-tab { flex-basis:200px; }.toast { bottom:28px; }
  .items-table th,.price-table th { height:auto; padding:0 8px 10px; background:transparent; }.items-table td,.price-table td { height:auto; padding:7px 8px; }.price-table td { padding-top:11px; padding-bottom:11px; }
}

@media (max-width:759px) {
  .items-table tr { padding:12px 10px 4px; }
  .items-table td:last-child { position:static; top:auto; right:auto; width:100%; }
}

/* v1.03 본 견적 품목 · 비교 견적 비율/세부 수정 · 모바일 세로 보정 */
html,body { max-width:100%; overflow-x:hidden; }
.main-content,.quote-results,.mobile-card-list,.quote-card,.supplier-panel,.supplier-editor { min-width:0; }
.items-table { min-width:1060px; }
.items-table th:nth-child(1){width:55px}.items-table th:nth-child(2){width:23%}.items-table th:nth-child(3){width:17%}.items-table th:nth-child(4){width:9%}.items-table th:nth-child(5){width:10%}.items-table th:nth-child(6){width:15%}.items-table th:nth-child(7){width:18%}
.item-sequence { color:#6f7e93; text-align:center; white-space:nowrap; }.item-sequence strong { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:8px; color:var(--primary); background:#eef2ff; font-size:11px; }
.calculation-guide { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding:12px 14px; border:1px solid #d9e2fb; border-radius:12px; color:#5f6f86; background:#f3f6ff; font-size:11px; }.calculation-guide strong { color:var(--primary); font-size:12px; }
.comparison-controls { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:14px; padding:13px 14px; border:1px solid #dfe5ed; border-radius:13px; background:#fff; }.comparison-controls>label>span:first-child { display:block; margin-bottom:6px; color:#65748a; font-size:11px; font-weight:700; }.comparison-controls>div { display:flex; flex-wrap:wrap; gap:7px; }
.rate-input { display:flex; align-items:center; width:130px; height:40px; padding:0 10px; border:1px solid #dce3ec; border-radius:10px; background:#fff; }.rate-input input { min-width:0; width:100%; border:0; outline:0; text-align:right; }.rate-input b { margin-left:6px; color:var(--primary); }
.comparison-table { min-width:760px; }.comparison-table th:nth-child(1){width:55px}.comparison-table th:nth-child(2){width:24%}.comparison-table th:nth-child(3){width:18%}.comparison-table th:nth-child(4){width:15%}.comparison-table th:nth-child(5){width:18%}.comparison-table th:nth-child(6){width:20%}
.detail-input { width:100%; height:39px; padding:0 9px; border:1px solid #dce3ec; border-radius:9px; background:#fff; }.detail-input:focus { border-color:#7893e8; outline:3px solid rgba(49,87,213,.12); }
.paper-items th:nth-child(1){width:6%}.paper-items th:nth-child(2){width:21%}.paper-items th:nth-child(3){width:15%}.paper-items th:nth-child(4){width:8%}.paper-items th:nth-child(5){width:8%}.paper-items th:nth-child(6){width:13%}.paper-items th:nth-child(7){width:17%}.paper-items th:nth-child(8){width:12%}

@media (max-width:759px) {
  .main-content { overflow-x:hidden; padding-right:14px; padding-left:14px; }
  .page-header { margin-right:-14px; margin-left:-14px; padding-right:18px; padding-left:18px; }
  .mobile-card-list { width:100%; overflow:visible; }
  .quote-card { overflow:hidden; max-width:100%; padding:16px 14px; }
  .card-mainline>div,.card-bottomline,.card-badges,.document-badges { min-width:0; max-width:100%; }
  .card-bottomline { align-items:flex-start; flex-direction:column; }
  .card-badges { width:100%; justify-content:flex-start; }
  .document-badges { flex-wrap:wrap; }
  .amount { overflow-wrap:anywhere; }
  .items-table-wrap,.price-table-wrap { overflow:visible; }
  .items-table,.comparison-table { display:block; width:100%; min-width:0; }
  .items-table tbody,.comparison-table tbody { display:block; }
  .items-table tr,.comparison-table tr { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:12px; padding:12px; border:1px solid #e1e6ed; border-radius:14px; background:#fff; }
  .items-table td,.comparison-table td { position:static!important; display:block; width:100%!important; height:auto; padding:0; border:0; text-align:left!important; }
  .items-table .item-sequence,.comparison-table .item-sequence { grid-column:1/-1; }
  .items-table td:nth-child(2),.items-table td:nth-child(3),.items-table td:nth-child(7),.comparison-table td:nth-child(2),.comparison-table td:nth-child(3),.comparison-table td:nth-child(6) { grid-column:1/-1; }
  .comparison-table thead { display:none; }
  .comparison-table td { color:#445269; font-size:12px; }
  .comparison-table td>strong { font-size:13px; }
  .comparison-table .price-input { width:100%; }
  .mobile-field-label { display:block!important; margin:0 0 5px!important; color:#748196!important; font-size:10px!important; font-weight:700!important; }
  .item-sequence .mobile-field-label { display:inline-block!important; margin:0 7px 0 0!important; }
  .comparison-controls { align-items:stretch; flex-direction:column; }
  .comparison-controls>div { display:grid; grid-template-columns:1fr; }
  .comparison-controls button { width:100%; }
  .calculation-guide { align-items:flex-start; flex-direction:column; }
  .supplier-editor { overflow:hidden; padding:12px 10px; }
  .supplier-tabs { width:calc(100% + 6px); }
  .a4-paper { transform:scale(.4); margin-bottom:-178mm; }
  .paper-stage { overflow:hidden; padding-left:calc((100% - 84mm) / 2); }
}

@media (max-width:390px) {
  .items-table tr,.comparison-table tr { grid-template-columns:1fr; }
  .items-table td,.items-table td:nth-child(n),.comparison-table td,.comparison-table td:nth-child(n) { grid-column:1; }
  .items-table .item-sequence,.comparison-table .item-sequence { grid-column:1; }
  .preview-toolbar-actions { flex-direction:column; }
}

/* v1.04 매입가 · 견적 비율 · 키보드 입력 */
.items-table input[data-number-format] { text-align:right; font-variant-numeric:tabular-nums; }
.rate-help { max-width:520px; margin:0; color:#6f7e93; font-size:11px; line-height:1.55; }
@media (max-width:759px) { .rate-help { max-width:none; } }

/* v1.05 견적 상세 · 수정 · 복사 · 삭제 · 자동완성 */
.danger-button { min-height:43px; padding:0 17px; border:1px solid #f0b5b5; border-radius:12px; color:#b42318; background:#fff5f5; font-size:13px; font-weight:750; cursor:pointer; }
.detail-view { padding-bottom:30px; }.detail-header { display:flex; align-items:center; gap:12px; margin:0 -20px 18px; padding:20px; border-bottom:1px solid #e6ebf2; background:#fff; }.detail-header>div:nth-child(2) { min-width:0; flex:1; }.detail-header p { margin:0 0 3px; overflow:hidden; color:#7a8799; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.detail-header h1 { margin:0; overflow:hidden; font-size:21px; letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }.detail-actions { display:flex; gap:7px; }
.detail-summary { display:grid; gap:14px; margin-bottom:14px; }.detail-identity,.detail-facts { margin:0; padding:19px; border:1px solid #e3e8ef; border-radius:18px; background:#fff; box-shadow:0 5px 18px rgba(15,23,42,.035); }.detail-identity h2 { margin:15px 0 5px; font-size:22px; }.detail-identity p { margin:0; color:#65748a; font-size:13px; }.detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.detail-facts div { min-width:0; }.detail-facts dt { margin-bottom:5px; color:#7b8799; font-size:10px; font-weight:700; }.detail-facts dd { margin:0; overflow-wrap:anywhere; font-size:13px; font-weight:750; }
.detail-supplier-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:15px; padding:15px; border:1px solid #dfe5ed; border-radius:14px; background:#fbfcfe; }.detail-supplier-head>div span,.detail-supplier-head>div strong { display:block; }.detail-supplier-head>div span { color:var(--primary); font-size:10px; font-weight:800; }.detail-supplier-head>div strong { margin-top:5px; font-size:16px; }.detail-supplier-head dl { display:flex; flex-wrap:wrap; gap:12px 25px; margin:0; }.detail-supplier-head dl>div { min-width:90px; }.detail-supplier-head dt { color:#7b8799; font-size:9px; }.detail-supplier-head dd { margin:4px 0 0; font-size:11px; font-weight:700; }
.detail-table-wrap { overflow-x:auto; }.detail-items-table { width:100%; min-width:820px; border-collapse:collapse; }.detail-items-table th { height:40px; padding:0 10px; border-bottom:1px solid #dfe5ed; color:#718096; background:#f7f9fc; font-size:10px; text-align:left; }.detail-items-table td { height:auto; padding:11px 10px; border-bottom:1px solid #e9edf3; font-size:11px; }.detail-items-table tbody tr { cursor:default; }.detail-empty { color:#8995a6; text-align:center!important; }

@media (max-width:759px) {
  .detail-header { align-items:flex-start; flex-wrap:wrap; margin-right:-14px; margin-left:-14px; padding:16px 14px; }.detail-header>div:nth-child(2) { width:calc(100% - 50px); }.detail-actions { display:grid; grid-template-columns:repeat(3,1fr); width:100%; }.detail-actions button { min-width:0; padding:0 8px; }
  .detail-facts { grid-template-columns:1fr; }.detail-supplier-head { flex-direction:column; }.detail-supplier-head dl { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }.detail-table-wrap { overflow:visible; }.detail-items-table { display:block; width:100%; min-width:0; }.detail-items-table thead { display:none; }.detail-items-table tbody { display:block; }.detail-items-table tr { display:grid; grid-template-columns:44px 1fr; gap:7px 10px; margin-bottom:10px; padding:12px; border:1px solid #e1e6ed; border-radius:13px; background:#fff; }.detail-items-table td { display:block; height:auto; padding:0; border:0; }.detail-items-table td:nth-child(n+2) { grid-column:2; }.detail-items-table td:nth-child(1) { grid-row:1/8; color:var(--primary); font-weight:800; }.detail-items-table td:nth-child(4)::before { content:"수량  "; color:#8995a6; }.detail-items-table td:nth-child(5)::before { content:"단가  "; color:#8995a6; }.detail-items-table td:nth-child(6)::before { content:"공급가액  "; color:#8995a6; }.detail-items-table td:nth-child(7)::before { content:"비고  "; color:#8995a6; }
}

@media (min-width:760px) { .detail-summary { grid-template-columns:.8fr 1.2fr; }.detail-identity,.detail-facts { padding:23px; } }
@media (min-width:1024px) { .detail-header { margin:0 0 24px; padding:0 0 18px; background:transparent; }.detail-header h1 { font-size:29px; }.detail-documents-panel { padding:25px 27px; } }

/* v1.06 데이터베이스 · 백업 · 복원 */
.database-status-panel { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0 10px; padding:13px 14px; border:1px solid #dfe5ed; border-radius:14px; background:#fff; }.database-status-panel>div:first-child { display:flex; align-items:center; min-width:0; gap:10px; }.database-status-panel strong,.database-status-panel small { display:block; }.database-status-panel strong { font-size:12px; }.database-status-panel small { margin-top:3px; overflow:hidden; color:#718096; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.database-status-dot { flex:0 0 auto; width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 4px rgba(113,128,150,.12); }.database-status-dot.syncing { background:#e5a100; }.database-status-dot.online { background:#20a464; box-shadow:0 0 0 4px rgba(32,164,100,.13); }.database-status-dot.offline { background:#d64545; box-shadow:0 0 0 4px rgba(214,69,69,.12); }.database-actions { display:flex; flex:0 0 auto; gap:7px; }
.backup-modal { position:fixed; inset:0; z-index:110; overflow:auto; padding:16px; background:rgba(13,23,41,.72); }.backup-dialog { width:min(100%,760px); margin:3vh auto; overflow:hidden; border-radius:18px; background:#f4f6fa; box-shadow:0 24px 70px rgba(0,0,0,.35); }.backup-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px; border-bottom:1px solid #dfe5ed; background:#fff; }.backup-dialog>header strong,.backup-dialog>header span { display:block; }.backup-dialog>header strong { font-size:17px; }.backup-dialog>header span { margin-top:4px; color:#7c899b; font-size:10px; }.backup-notice { display:flex; gap:10px; margin:14px; padding:12px 14px; border:1px solid #cfdafe; border-radius:12px; color:#526176; background:#eef2ff; font-size:11px; }.backup-notice strong { flex:0 0 auto; color:var(--primary); }.backup-list { max-height:62vh; padding:0 14px 14px; overflow:auto; }.backup-item { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:8px; padding:13px 14px; border:1px solid #e0e5ec; border-radius:13px; background:#fff; }.backup-item>div { min-width:0; }.backup-item strong,.backup-item span,.backup-item small { display:block; }.backup-item strong { font-size:12px; }.backup-item span { margin-top:4px; color:#66758a; font-size:10px; }.backup-item small { margin-top:4px; overflow:hidden; max-width:480px; color:#98a2b3; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.backup-loading,.backup-error { padding:32px 15px; border-radius:13px; color:#718096; background:#fff; font-size:12px; text-align:center; }.backup-error { color:#b42318; }
@media (max-width:759px) { .database-status-panel { align-items:stretch; flex-direction:column; margin-top:12px; }.database-actions { display:grid; grid-template-columns:1fr 1fr; }.database-actions button { width:100%; }.backup-modal { padding:8px; }.backup-dialog { margin:1vh auto; }.backup-item { align-items:stretch; flex-direction:column; }.backup-item button { width:100%; }.backup-notice { align-items:flex-start; flex-direction:column; } }
@media (min-width:1024px) { .database-status-panel { margin:20px 0 4px; padding:12px 15px; }.backup-modal { padding:28px; } }

/* v1.07 VAT · 회사정보 · 양식 · PDF */
.vat-indicator { margin-top:12px; padding:9px 12px; border-radius:10px; color:#53637a; background:#eef2f7; font-size:11px; text-align:right; }
.settings-view { padding-bottom:30px; }.settings-form { max-width:1100px; }.wide-field { grid-column:1/-1; }
.asset-grid { display:grid; gap:14px; }.asset-card { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:15px; border:1px solid #e0e6ee; border-radius:15px; background:#fafbfd; }.asset-card>strong { width:100%; font-size:13px; }.asset-preview { display:grid; place-items:center; width:100%; height:132px; overflow:hidden; border:1px dashed #cbd4e0; border-radius:12px; color:#8a96a7; background:#fff; font-size:11px; }.asset-preview img { max-width:100%; max-height:100%; object-fit:contain; }.file-button { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:0 13px; border:1px solid #7893e8; border-radius:10px; color:var(--primary); background:#eef2ff; font-size:12px; font-weight:750; cursor:pointer; }.file-button input { position:absolute; width:1px; height:1px; opacity:0; }.settings-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; }
.paper-logo { position:absolute; top:0; left:0; max-width:38mm; max-height:16mm; object-fit:contain; }.paper-header:has(.paper-logo)>p { top:17mm; }.paper-seal { position:absolute; right:5mm; top:4mm; width:18mm; height:18mm; object-fit:contain; opacity:.88; }.paper-supplier { position:relative; }.paper-footer { margin-top:5mm; padding-top:3mm; border-top:1px solid #d1d5db; color:#667085; font-size:8px; text-align:center; }
.template-classic .paper-header { border-color:#374151; }.template-classic .paper-header p,.template-classic .paper-totals dl>div:last-child { color:#374151; }.template-classic .paper-total-title,.template-classic .paper-items th { background:#4b5563; }
.template-minimal .paper-header { border-bottom:1px solid #111827; }.template-minimal .paper-header p,.template-minimal .paper-totals dl>div:last-child { color:#111827; }.template-minimal .paper-total-title { color:#111827; border:1px solid #9ca3af; background:#fff; }.template-minimal .paper-items th { color:#111827; background:#f3f4f6; }
@media (min-width:760px) { .asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:759px) { .detail-actions { grid-template-columns:repeat(3,1fr); }.settings-actions { display:grid; grid-template-columns:1fr 1fr; }.settings-actions button { width:100%; } }

/* v1.08 회사별 메일 계정 · 견적 선택 전송 */
.smtp-help { display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; padding:12px 14px; border:1px solid #cfdafe; border-radius:12px; color:#526176; background:#eef2ff; font-size:11px; line-height:1.55; }.smtp-help strong { flex:0 0 auto; color:var(--primary); }.email-account-list { display:grid; gap:12px; }.email-account { overflow:hidden; border:1px solid #dfe5ed; border-radius:15px; background:#fafbfd; }.email-account>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid #e3e8ef; background:#fff; }.email-account>header span,.email-account>header strong { display:block; }.email-account>header span { color:#7b8799; font-size:9px; }.email-account>header strong { margin-top:3px; font-size:13px; }.danger-button.compact { min-height:35px; padding:0 12px; font-size:11px; }.email-account-grid { padding:14px; }.email-account-empty { padding:28px 15px; border:1px dashed #cbd4e0; border-radius:13px; color:#7b8799; background:#fafbfd; font-size:12px; text-align:center; }
.email-modal { position:fixed; inset:0; z-index:120; overflow:auto; padding:16px; background:rgba(13,23,41,.72); }.email-dialog { width:min(100%,880px); margin:2vh auto; overflow:hidden; border-radius:18px; background:#f4f6fa; box-shadow:0 24px 70px rgba(0,0,0,.35); }.email-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px; border-bottom:1px solid #dfe5ed; background:#fff; }.email-dialog>header strong,.email-dialog>header span { display:block; }.email-dialog>header strong { font-size:17px; }.email-dialog>header span { margin-top:4px; color:#7c899b; font-size:10px; }.email-dialog form { padding:15px; }.email-notice { display:flex; gap:10px; margin-bottom:13px; padding:12px 14px; border:1px solid #cfdafe; border-radius:12px; color:#526176; background:#eef2ff; font-size:11px; line-height:1.5; }.email-notice strong { flex:0 0 auto; color:var(--primary); }.email-document-list { display:grid; gap:9px; }.email-document { display:grid; grid-template-columns:1fr 1fr 1.25fr; align-items:end; gap:12px; padding:13px; border:1px solid #e0e5ec; border-radius:13px; background:#fff; }.email-document-check { display:flex; align-items:center; gap:9px; align-self:center; cursor:pointer; }.email-document-check input { width:19px; height:19px; accent-color:var(--primary); }.email-document-check strong,.email-document-check small { display:block; }.email-document-check small { margin-top:4px; color:#66758a; }.email-account-match { align-self:center; padding:8px 10px; border-radius:9px; font-size:10px; font-weight:700; }.email-account-match.matched { color:#1d7c4c; background:#eaf7f0; }.email-account-match.missing { color:#b42318; background:#fff0f0; }.email-document>label:last-child span,.email-message-grid label>span { display:block; margin-bottom:6px; color:#526176; font-size:10px; font-weight:700; }.email-document input[type=email],.email-message-grid input,.email-message-grid textarea { width:100%; border:1px solid #dce3ec; border-radius:10px; color:var(--ink); background:#fff; }.email-document input[type=email],.email-message-grid input { height:40px; padding:0 11px; }.email-message-grid { margin-top:13px; }.email-message-grid label:last-child { grid-column:1/-1; }.email-message-grid textarea { min-height:92px; padding:11px; resize:vertical; line-height:1.55; }.email-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }.email-send-result { display:grid; gap:6px; margin-top:13px; }.email-send-result>div { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:8px; padding:9px 11px; border-radius:9px; font-size:10px; }.email-send-result .success { color:#176b43; background:#eaf7f0; }.email-send-result .failure { color:#a8241b; background:#fff0f0; }
@media (min-width:760px) { .email-account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:759px) { .panel-heading-action { flex-direction:column; align-items:stretch; }.panel-heading-action>button { width:100%; }.smtp-help,.email-notice { flex-direction:column; }.email-modal { padding:7px; }.email-dialog { margin:1vh auto; }.email-dialog>header { align-items:flex-start; }.email-document { grid-template-columns:1fr; align-items:stretch; }.email-actions { display:grid; grid-template-columns:1fr 1fr; }.email-actions button { width:100%; }.email-send-result>div { grid-template-columns:1fr; } }

/* v1.12 로그인 · 사원/부서장/관리자 권한 */
.auth-screen { min-height:100vh; display:grid; place-items:center; padding:22px; background:radial-gradient(circle at 20% 10%,#e8edff 0,transparent 38%),linear-gradient(145deg,#f7f9ff,#eef2f8); }
.auth-card { width:min(100%,430px); padding:26px 24px; border:1px solid #dde4ef; border-radius:24px; background:#fff; box-shadow:0 24px 70px rgba(23,35,55,.13); }
.auth-brand { display:flex; align-items:center; gap:12px; margin-bottom:28px; }.auth-brand>span { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:#fff; background:var(--primary); font-size:22px; font-weight:850; box-shadow:0 8px 20px rgba(49,87,213,.25); }.auth-brand strong,.auth-brand small { display:block; }.auth-brand strong { font-size:18px; }.auth-brand small { margin-top:3px; color:#8a96a7; font-size:11px; }
.auth-form>div:first-child { margin-bottom:20px; }.auth-form p { margin:0 0 5px; color:var(--primary); font-size:11px; font-weight:800; }.auth-form h1 { margin:0; font-size:24px; letter-spacing:-.04em; }.auth-form>div:first-child>span { display:block; margin-top:8px; color:#718096; font-size:12px; line-height:1.5; }.auth-form label { display:block; margin-top:13px; }.auth-form label>span { display:block; margin-bottom:7px; color:#4d5b70; font-size:12px; font-weight:750; }.auth-form input { width:100%; height:46px; padding:0 13px; border:1px solid #d9e1eb; border-radius:12px; background:#fff; }.auth-form input:focus { border-color:#7893e8; outline:3px solid rgba(49,87,213,.12); }.auth-submit { width:100%; margin-top:20px; min-height:48px; }.auth-message { margin-top:14px; padding:11px 12px; border-radius:10px; color:#b42318; background:#fff0f0; font-size:12px; line-height:1.45; }
.sidebar-account { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:13px; padding:11px 10px; border-radius:12px; background:#f4f6fa; }.sidebar-account>div { min-width:0; }.sidebar-account strong,.sidebar-account span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sidebar-account strong { font-size:12px; }.sidebar-account span { margin-top:3px; color:#7b8799; font-size:9px; }.sidebar-account button,.mobile-account button { padding:6px 8px; border:0; border-radius:8px; color:#526176; background:#fff; font-size:9px; font-weight:750; cursor:pointer; }
.mobile-account { position:absolute; top:17px; right:16px; display:flex; align-items:center; gap:8px; }.mobile-account span strong,.mobile-account span small { display:block; text-align:right; }.mobile-account span strong { font-size:10px; }.mobile-account span small { margin-top:2px; color:rgba(255,255,255,.72); font-size:8px; }.mobile-account button { color:#fff; background:rgba(255,255,255,.17); }
.users-view { padding-bottom:50px; }.user-editor-panel { max-width:1050px; }.user-form { max-width:900px; }.user-active-label { display:flex!important; align-items:center; gap:8px; min-height:43px; padding-top:22px; }.user-active-label input { width:18px!important; height:18px!important; accent-color:var(--primary); }.user-active-label span { margin:0!important; }.user-form-actions { display:flex; align-items:end; gap:8px; }.user-list { display:grid; gap:9px; }.user-row { display:grid; grid-template-columns:1.25fr 1fr .7fr .7fr auto; align-items:center; gap:12px; padding:13px 14px; border:1px solid #e0e6ee; border-radius:13px; background:#fafbfd; }.user-row strong,.user-row span,.user-row small { display:block; }.user-row strong { font-size:13px; }.user-row span { margin-top:3px; color:#748196; font-size:10px; }.user-row small { color:#748196; font-size:10px; }.user-role-badge,.user-status-badge { display:inline-flex!important; justify-content:center; width:max-content; padding:6px 9px; border-radius:9px; font-size:10px!important; font-weight:800; }.user-role-badge.admin { color:#3157d5; background:#eef2ff; }.user-role-badge.manager { color:#815700; background:#fff4d8; }.user-role-badge.user { color:#526176; background:#edf1f6; }.user-status-badge.active { color:#197447; background:#eaf7f0; }.user-status-badge.inactive { color:#a8241b; background:#fff0f0; }.user-row-actions { display:flex; gap:6px; }.user-list-empty { padding:28px; border:1px dashed #ccd5e1; border-radius:13px; color:#7b8799; text-align:center; }
.quote-owner-panel { display:grid; grid-template-columns:1fr minmax(190px,280px) auto; align-items:center; gap:12px; margin:0 0 16px; padding:14px 16px; border:1px solid #d8e1ef; border-radius:14px; background:#f8faff; }.quote-owner-panel[hidden] { display:none; }.quote-owner-panel strong,.quote-owner-panel span { display:block; }.quote-owner-panel strong { font-size:12px; }.quote-owner-panel span { margin-top:4px; color:#748196; font-size:10px; }.quote-owner-panel select { width:100%; height:39px; padding:0 10px; border:1px solid #d6deea; border-radius:10px; color:var(--ink); background:#fff; }
@media (min-width:760px) { .user-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.user-form-actions { grid-column:1/-1; justify-content:flex-end; } }
@media (min-width:1024px) { .desktop-sidebar { grid-template-rows:56px 1fr auto auto; }.mobile-account { display:none; } }
@media (max-width:759px) { .auth-card { padding:23px 19px; border-radius:20px; }.user-row { grid-template-columns:1fr 1fr; }.user-row>div:first-child { grid-column:1/-1; }.user-row-actions { grid-column:1/-1; }.user-row-actions button { flex:1; }.user-form-actions { display:grid; grid-template-columns:1fr 1fr; }.page-header { position:relative; padding-top:55px; }.quote-owner-panel { grid-template-columns:1fr; }.quote-owner-panel button { width:100%; } }

/* v1.14 거래처 · 견적서 · 주문서 · 판매 조회 */
.data-lookup-view{padding-bottom:30px}.data-lookup-header{align-items:center}.data-type-tabs{display:flex;flex-wrap:wrap;gap:7px}.data-type-tabs button{min-height:38px;padding:0 15px;border:1px solid #dce3ec;border-radius:10px;color:#59697f;background:#fff;font-size:12px;font-weight:750;cursor:pointer}.data-type-tabs button.active{border-color:var(--primary);color:#fff;background:var(--primary)}.data-lookup-table-wrap{width:100%;overflow:auto;border:1px solid #e2e7ee;border-radius:13px;background:#fff}.data-lookup-table-wrap table{width:max-content;min-width:100%;border-collapse:collapse}.data-lookup-table-wrap th{position:sticky;top:0;z-index:2;height:42px;padding:0 12px;border-bottom:1px solid #dce3eb;color:#637187;background:#f5f7fa;font-size:10px;font-weight:800;text-align:left;white-space:nowrap}.data-lookup-table-wrap td{max-width:360px;min-width:110px;height:43px;padding:8px 12px;border-bottom:1px solid #edf0f4;color:#26364d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-lookup-table-wrap tbody tr:hover{background:#f8faff}.desktop-sidebar .sidebar-item.active[data-open-data]{color:#fff;background:var(--primary)}
@media(max-width:759px){.data-lookup-header{align-items:flex-start}.data-lookup-header>button{width:100%}.data-type-tabs{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.data-type-tabs button{width:100%}.data-lookup-table-wrap{max-height:65vh}.data-lookup-table-wrap th,.data-lookup-table-wrap td{min-width:125px}}

.document-summary-row{cursor:pointer}.document-summary-row:hover{background:#f3f6ff!important}.document-summary-row.expanded{background:#eef3ff!important}.number-cell{text-align:right!important;font-variant-numeric:tabular-nums}.document-detail-row td{padding:0!important;background:#f8faff}.document-detail-panel{padding:18px 20px}.document-detail-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.document-items-wrap{overflow:auto;border:1px solid #dfe5ed;border-radius:10px;background:#fff}.document-items-table{width:max-content;min-width:100%;border-collapse:collapse}.document-items-table th{position:static!important;background:#eef2f7!important}.document-items-table td,.document-items-table th{min-width:105px!important}.document-items-table td:nth-child(2){min-width:240px!important}

/* v1.17 견적서 22개 원본 컬럼 전체 표시 */
#dataLookupTable th,#dataLookupTable td{min-width:115px}
#dataLookupTable th:nth-child(4),#dataLookupTable td:nth-child(4){min-width:190px}
#dataLookupTable th:nth-child(15),#dataLookupTable td:nth-child(15){min-width:260px}
#dataLookupTable th:nth-child(22),#dataLookupTable td:nth-child(22){min-width:180px}
.estimate-all-columns-table th,.estimate-all-columns-table td{min-width:115px!important}
.estimate-all-columns-table th:nth-child(15),.estimate-all-columns-table td:nth-child(15){min-width:260px!important}

/* v1.18 조회 테이블 헤더 화면 상단 고정 */
.data-lookup-table-wrap{overflow:visible!important}
#dataLookupTable{overflow:visible}
#dataLookupTable thead th{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:#f5f7fa!important;
  box-shadow:0 1px 0 #dce3eb;
}
.document-items-wrap{overflow:auto!important}
.document-items-table thead th{position:sticky!important;top:0!important;z-index:5!important}

/* v1.19 테이블 레이아웃/고정 헤더 수정
   v1.18의 overflow:visible 때문에 넓은 테이블이 페이지 밖으로 흘러나가고
   펼친 상세 테이블이 본문 레이아웃을 밀던 문제를 수정한다. */
.data-lookup-results{
  min-width:0;
}
.data-lookup-table-wrap{
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100vh - 335px);
  min-height:260px;
  overflow:auto!important;
  position:relative;
  border:1px solid #e2e7ee;
  border-radius:13px;
  background:#fff;
}
#dataLookupTable{
  width:max-content!important;
  min-width:100%!important;
  table-layout:auto;
  border-collapse:separate!important;
  border-spacing:0;
}
#dataLookupTable>thead>tr>th{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  background:#f5f7fa!important;
  box-shadow:inset 0 -1px 0 #dce3eb;
}
#dataLookupTable>tbody>tr>td{
  vertical-align:middle;
}
.document-detail-row>td{
  position:relative;
  max-width:0;
}
.document-detail-panel{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.document-items-wrap{
  width:100%;
  max-width:100%;
  overflow:auto!important;
  box-sizing:border-box;
}
.document-items-table{
  width:max-content!important;
  min-width:100%!important;
}
.document-items-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:10!important;
  background:#eef2f7!important;
}
@media(max-width:759px){
  .data-lookup-table-wrap{
    max-height:calc(100vh - 300px);
    min-height:220px;
  }
}


/* v1.20 관리자 DB 조회 */
.db-inspector-view{padding-bottom:30px}
.db-inspector-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}
.db-inspector-toolbar label{display:flex;flex-direction:column;gap:6px;color:#66758a;font-size:11px;font-weight:700}
.db-inspector-toolbar select,.db-inspector-toolbar input{height:42px;min-width:240px;border:1px solid #dce3ec;border-radius:10px;background:#fff;padding:0 12px;color:#26364d}
.db-inspector-search{flex:1}
.db-inspector-search input{width:100%}
.db-inspector-summary{display:flex;justify-content:space-between;gap:12px;margin:10px 0;color:#65748a;font-size:11px}
.db-inspector-table-wrap{width:100%;max-width:100%;max-height:calc(100vh - 310px);overflow:auto;border:1px solid #e2e7ee;border-radius:12px;background:#fff}
#dbInspectorGrid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
#dbInspectorGrid th{position:sticky;top:0;z-index:10;min-width:120px;height:40px;padding:0 10px;background:#f4f6f9;border-bottom:1px solid #dce3eb;color:#5f6f84;text-align:left;font-size:10px;white-space:nowrap}
#dbInspectorGrid td{max-width:360px;min-width:120px;padding:8px 10px;border-bottom:1px solid #edf0f4;color:#25364c;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dbInspectorGrid tbody tr:hover{background:#f7f9fc}
@media(max-width:759px){
  .db-inspector-toolbar{display:grid;grid-template-columns:1fr}
  .db-inspector-toolbar select,.db-inspector-toolbar input{width:100%;min-width:0}
  .db-inspector-table-wrap{max-height:calc(100vh - 330px)}
}

/* v1.24 ERP 관리 · 회사 관리 */
.erp-management-view,.company-management-view{padding-bottom:40px}
.erp-management-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px}
.erp-management-card{position:relative;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:5px;min-height:116px;padding:20px;border:1px solid #e0e6ee;border-radius:18px;background:#fff;text-align:left;box-shadow:0 6px 20px rgba(15,23,42,.04);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.erp-management-card:hover{transform:translateY(-2px);border-color:#b9c7ee;box-shadow:0 10px 24px rgba(15,23,42,.07)}
.erp-card-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--primary);background:#edf1ff;font-size:22px}
.erp-management-card strong{align-self:end;font-size:16px}
.erp-management-card small{align-self:start;color:#748196;font-size:11px;line-height:1.55}
.erp-management-card em{position:absolute;top:14px;right:14px;padding:5px 8px;border-radius:8px;color:#77849a;background:#f0f2f5;font-size:9px;font-style:normal;font-weight:800}
.legacy-link-panel{border-color:#cfdafe;background:#fbfcff}
.erp-link-note{display:flex;gap:9px;margin-top:14px;padding:12px 14px;border-radius:12px;color:#596b85;background:#edf2ff;font-size:11px;line-height:1.5}
.erp-link-note strong{flex:0 0 auto;color:var(--primary)}
.company-management-view textarea{width:100%;min-height:96px;padding:12px;border:1px solid #dce3ec;border-radius:11px;color:var(--ink);background:#fff;font:inherit;resize:vertical}
.company-management-view textarea:focus{border-color:#7893e8;outline:3px solid rgba(49,87,213,.12)}
.company-assets{grid-template-columns:1fr}
.company-management-actions{display:flex;justify-content:flex-end;gap:9px;margin:18px 0 0}
.erp-management-button{margin-top:12px;border-top:1px solid #edf0f4}
@media(min-width:760px){.erp-management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-assets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.erp-management-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px}}

/* v1.26 회사 목록형 관리 */
.company-list-panel{margin-top:24px;padding:18px;border:1px solid #e0e6ee;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.company-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.company-list-toolbar>div{display:flex;align-items:baseline;gap:10px}.company-list-toolbar strong{font-size:18px}.company-list-toolbar small{color:#7a8798}
.company-list-table-wrap{overflow:auto;border:1px solid #e5e9ef;border-radius:14px}
.company-list-table{width:100%;min-width:1100px;border-collapse:collapse;background:#fff}.company-list-table th,.company-list-table td{padding:13px 14px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}.company-list-table th{background:#f7f9fc;color:#66758a;font-size:11px}.company-list-table td{font-size:12px}.company-list-table tbody tr:hover{background:#fbfcff}.company-list-table tbody tr:last-child td{border-bottom:0}
.company-row-actions{display:flex;gap:6px}.warehouse-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#edf2ff;color:var(--primary);font-weight:800}.muted-text{color:#9aa5b3}
.company-list-empty{display:grid;place-items:center;gap:7px;padding:48px 20px;color:#7b8796;text-align:center}.company-list-empty strong{color:#39465a;font-size:15px}
.company-form-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 12px;padding:0 2px}.company-form-heading span{display:block;margin-bottom:4px;color:var(--primary);font-size:11px;font-weight:800}.company-form-heading h2{margin:0;font-size:21px}
@media(max-width:759px){.company-list-panel{padding:12px}.company-list-toolbar{align-items:flex-start}.company-list-toolbar .primary-button{white-space:nowrap}.company-management-actions{flex-wrap:wrap}}

.company-type-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.company-type-badge.quote_writer{background:#e9f0ff;color:#2857c5}.company-type-badge.comparison{background:#f3eefc;color:#6f42b8}

/* v1.29 회사 인증/제출서류 */
.certification-list{display:grid;gap:10px;margin:4px 0 18px}
.certification-item{display:grid;gap:10px;padding:13px 14px;border:1px solid #e0e6ee;border-radius:13px;background:#fafbfd}
.certification-item.selected{border-color:#aebee9;background:#f6f8ff}
.certification-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;color:var(--ink);cursor:pointer}
.certification-check input{width:17px;height:17px;accent-color:var(--primary)}
.certification-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-left:26px}
.certification-file>span{min-width:140px;flex:1;color:#8a96a7;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.certification-file.has-file>span{color:#4d5b70;font-weight:700}
.compact-file{min-height:32px;padding:0 10px}
.pdf-file-preview{display:flex;min-height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px;text-align:center}
.pdf-file-preview strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink)}
.pdf-file-preview small{color:#8a96a7;font-size:10px}
.pdf-badge{display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:28px;padding:0 9px;border-radius:8px;background:#eef2ff;color:var(--primary);font-size:11px;font-weight:800}
.asset-preview{position:relative}
.asset-file-name{position:absolute;left:7px;right:7px;bottom:5px;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.9);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59677a;font-size:9px;text-align:center}
@media(min-width:760px){.certification-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.31 모든 회사 출하창고/SMTP 설정 */
.company-quote-type-field{grid-column:1/-1}.company-quote-type-field>span{display:block;margin-bottom:8px;font-size:12px;font-weight:800;color:#445269}.company-quote-type-field em{color:#dc3545;font-style:normal}.company-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-type-option{display:flex!important;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #dfe5ed;border-radius:12px;background:#fff;cursor:pointer}.company-type-option:has(input:checked){border-color:#7b8ec8;box-shadow:0 0 0 2px rgba(76,100,170,.10)}.company-type-option input{width:18px;height:18px;margin-top:2px}.company-type-option>span{display:flex!important;flex-direction:column;gap:3px}.company-type-option strong{font-size:13px;color:#26344d}.company-type-option small{font-size:11px;color:#758195}.company-type-badge.quote_writer{background:#e9f0ff;color:#2857c5}.company-type-badge.comparison{background:#f3eefc;color:#6f42b8}@media(max-width:700px){.company-type-options{grid-template-columns:1fr}}


.email-purchase-total { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 14px; margin-top:13px; padding:13px 15px; border:1px solid #d9e1ec; border-radius:12px; background:#fff; }
.email-purchase-total span { color:#526176; font-size:11px; font-weight:800; }
.email-purchase-total strong { justify-self:end; color:#172033; font-size:18px; }
.email-purchase-total small { grid-column:1/-1; color:#8a96a8; font-size:9px; }

.db-inspector-database-panel { margin: 0 0 18px; }
.company-mail-template-field textarea { min-height: 116px; resize: vertical; }
.company-mail-template-field small,
.email-template-help { display:block; margin-top:6px; color:#7b8799; font-size:11px; line-height:1.45; }

/* Unified sidebar active state */
.desktop-sidebar .sidebar-item.active,
.desktop-sidebar .sidebar-item.active[data-open-data],
.desktop-sidebar .erp-management-button.active {
  color: var(--primary) !important;
  background: #edf1ff !important;
}

.rich-field-label{display:block;margin-bottom:7px;color:#344259;font-size:12px;font-weight:800}
.mail-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border:1px solid #dce3ec;border-bottom:0;border-radius:10px 10px 0 0;background:#f7f9fc}
.mail-rich-toolbar button{min-height:30px;padding:0 9px;border:1px solid #d5ddea;border-radius:7px;background:#fff;color:#3c4b62;font-size:11px;font-weight:750;cursor:pointer}
.mail-rich-toolbar select{min-height:30px;border:1px solid #d5ddea;border-radius:7px;background:#fff;padding:0 8px}
.mail-color-control{display:flex!important;flex-direction:row!important;align-items:center;gap:5px!important;min-height:30px;padding:0 7px;border:1px solid #d5ddea;border-radius:7px;background:#fff}
.mail-color-control input{width:24px!important;height:22px!important;padding:0!important;border:0!important}
.mail-rich-editor{min-height:126px;padding:12px 13px;border:1px solid #cfd8e6;border-radius:0 0 10px 10px;background:#fff;color:#172337;font-size:13px;line-height:1.6;overflow:auto;outline:none}
.mail-rich-editor:focus{border-color:#8fa5e8;box-shadow:0 0 0 3px rgba(49,87,213,.12)}
.mail-rich-editor:empty:before{content:attr(data-placeholder);color:#a1aabc}
.email-rich-body{min-width:0}.email-send-rich-editor{min-height:115px}

/* 조회 메뉴 공통 UI — 견적 작성 목록과 동일한 레이아웃 타입 */
.data-lookup-view .page-header,
.db-inspector-view .page-header {
  margin-bottom: 24px;
}

.data-lookup-view .toolbar,
.db-inspector-view .toolbar {
  margin-bottom: 18px;
}

.data-lookup-view .search-box,
.db-inspector-view .search-box {
  width: min(468px, 100%);
}

.data-lookup-results,
.db-list-results {
  background: transparent;
}

.data-lookup-table-wrap,
.db-inspector-table-wrap {
  width: 100%;
  border: 1px solid #dfe6f0;
  border-radius: 16px;
  background: #fff;
  overflow: auto;
  box-shadow: 0 10px 30px rgba(23, 35, 55, .04);
}

.data-lookup-table-wrap table,
.db-inspector-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.data-lookup-table-wrap thead th,
.db-inspector-table-wrap thead th {
  height: 42px;
  padding: 0 16px;
  background: #fbfcfe;
  border-bottom: 1px solid #dfe6f0;
  color: #68758a;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  text-align: left;
}

.data-lookup-table-wrap tbody td,
.db-inspector-table-wrap tbody td {
  min-height: 58px;
  padding: 16px;
  border-bottom: 1px solid #edf1f6;
  color: #26344b;
  font-size: 12px;
  vertical-align: middle;
  white-space: nowrap;
}

.data-lookup-table-wrap tbody tr:last-child td,
.db-inspector-table-wrap tbody tr:last-child td {
  border-bottom: 0;
}

.data-lookup-table-wrap tbody tr:hover,
.db-inspector-table-wrap tbody tr:hover {
  background: #f8faff;
}

.data-lookup-results .results-heading,
.db-list-results .results-heading {
  margin: 0 0 12px;
}

.db-list-toolbar .filter-row {
  justify-content: space-between;
}

.db-area-select select {
  min-width: 180px;
}

.db-list-filter-row {
  gap: 10px;
}

.db-inspector-database-panel {
  margin-bottom: 18px;
}

.data-lookup-header {
  align-items: flex-start;
}

@media (max-width: 760px) {
  .data-lookup-table-wrap,
  .db-inspector-table-wrap {
    border-radius: 12px;
  }

  .db-list-filter-row {
    align-items: stretch;
  }

  .db-area-select,
  .db-area-select select,
  #dbInspectorReload {
    width: 100%;
  }
}

/* v1.32 조회 UI 실제 통일
   이전 v1.19 고정 높이/내부 스크롤 규칙을 명시적으로 해제한다. */
.data-lookup-view,
.db-inspector-view {
  padding-bottom: 40px;
}

.lookup-list-toolbar {
  display: block !important;
}

.lookup-list-toolbar .search-box {
  width: min(468px, 100%) !important;
}

.lookup-summary-filters {
  display: flex;
  margin-top: 14px;
}

.lookup-summary-filters .filter-button {
  opacity: 1 !important;
  cursor: default;
}

.data-lookup-results,
.db-list-results {
  margin-top: 22px !important;
}

.data-lookup-table-wrap,
.db-inspector-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  position: relative;
  border: 1px solid #dfe6f0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(23,35,55,.04);
}

#dataLookupTable,
#dbInspectorGrid {
  width: 100% !important;
  min-width: max-content;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

#dataLookupTable > thead > tr > th,
#dbInspectorGrid > thead > tr > th {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  height: 44px !important;
  padding: 0 16px !important;
  background: #fbfcfe !important;
  color: #68758a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  border-bottom: 1px solid #dfe6f0 !important;
}

#dataLookupTable > tbody > tr > td,
#dbInspectorGrid > tbody > tr > td {
  height: 58px;
  padding: 0 16px !important;
  background: #fff;
  border-bottom: 1px solid #edf1f6 !important;
  vertical-align: middle;
}

#dataLookupTable > tbody > tr:last-child > td,
#dbInspectorGrid > tbody > tr:last-child > td {
  border-bottom: 0 !important;
}

.data-lookup-results .pagination,
.db-list-results .pagination {
  margin-top: 20px !important;
}

.data-lookup-results .results-heading,
.db-list-results .results-heading {
  margin-bottom: 12px !important;
}

@media(max-width:759px) {
  .data-lookup-table-wrap,
  .db-inspector-table-wrap {
    max-height: none !important;
    min-height: 0 !important;
    overflow-y: visible !important;
  }
}

/* v1.33 조회 화면의 '전체 N'도 견적 작성 필터와 동일한 pill UI */
.lookup-total-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:38px;
  padding:0 15px;
  border:0;
  border-radius:12px;
  background:#edf1f8;
  color:#344259;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.lookup-total-pill.active {
  background:var(--primary);
  color:#fff;
}
.lookup-total-pill strong {
  font:inherit;
  color:inherit;
}
.lookup-summary-filters {
  margin-top:14px!important;
  gap:8px!important;
}
.data-lookup-results {
  margin-top:22px!important;
}


/* =========================================================
   v1.34 조회 메뉴 UI = 견적 작성 목록 UI
   거래처/주문서/판매/DB 데이터 내용은 그대로 유지하고
   화면의 치수, 행 높이, 헤더, 검색/필터, 페이지네이션만 동일화한다.
   ========================================================= */
@media (min-width:1024px) {
  .data-lookup-view .page-header,
  .db-inspector-view .page-header {
    margin:0 !important;
    padding:0 !important;
  }

  .data-lookup-view .toolbar,
  .db-inspector-view .toolbar {
    margin-top:32px !important;
    margin-bottom:0 !important;
  }

  .data-lookup-view .search-box,
  .db-inspector-view .search-box {
    width:min(520px,48vw) !important;
    height:48px !important;
    border:1px solid #dfe5ed !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .data-lookup-view .filter-row {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin-top:22px !important;
  }

  .data-lookup-view .filter-list {
    display:flex !important;
    gap:8px !important;
  }

  .data-lookup-view .filter-chip.lookup-total-chip {
    display:inline-flex !important;
    align-items:center !important;
    height:38px !important;
    padding:0 17px !important;
    border:0 !important;
    border-radius:12px !important;
    color:#fff !important;
    background:var(--primary) !important;
    font-size:13px !important;
    font-weight:650 !important;
  }

  .data-lookup-view .sort-select {
    align-self:auto !important;
  }

  .data-lookup-view .sort-select select {
    height:34px !important;
    padding:0 30px 0 10px !important;
    border:0 !important;
    color:#6f7e93 !important;
    background:transparent !important;
    font-size:13px !important;
    font-weight:600 !important;
  }

  .data-lookup-results,
  .db-list-results {
    margin-top:17px !important;
  }

  .data-lookup-results .results-heading,
  .db-list-results .results-heading {
    min-height:34px !important;
    margin:0 0 9px !important;
    color:#768499 !important;
    font-size:13px !important;
  }

  /* 이전 버전들의 max-height / sticky header / 내부 세로스크롤을 완전히 해제 */
  .data-lookup-table-wrap,
  .db-inspector-table-wrap {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    position:static !important;
    border:1px solid #e4e9f0 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 8px 26px rgba(15,23,42,.045) !important;
  }

  #dataLookupTable,
  #dbInspectorGrid {
    width:100% !important;
    min-width:970px !important;
    max-width:none !important;
    table-layout:auto !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
  }

  #dataLookupTable > thead > tr > th,
  #dbInspectorGrid > thead > tr > th {
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    min-width:0 !important;
    height:48px !important;
    padding:0 16px !important;
    border-bottom:1px solid #e9edf3 !important;
    color:#7b8799 !important;
    background:#fafbfc !important;
    box-shadow:none !important;
    font-size:12px !important;
    font-weight:700 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  #dataLookupTable > tbody > tr > td,
  #dbInspectorGrid > tbody > tr > td {
    min-width:0 !important;
    max-width:none !important;
    height:82px !important;
    padding:12px 16px !important;
    border-bottom:1px solid #edf0f4 !important;
    color:var(--ink) !important;
    background:#fff !important;
    font-size:13px !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  #dataLookupTable > tbody > tr:hover > td,
  #dbInspectorGrid > tbody > tr:hover > td {
    background:#f8faff !important;
  }

  #dataLookupTable > tbody > tr:last-child > td,
  #dbInspectorGrid > tbody > tr:last-child > td {
    border-bottom:0 !important;
  }

  .data-lookup-results .pagination,
  .db-list-results .pagination {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    margin-top:22px !important;
  }

  .data-lookup-results .pagination button,
  .db-list-results .pagination button {
    min-width:76px !important;
    height:38px !important;
    padding:0 13px !important;
    border:1px solid #dce3ec !important;
    border-radius:11px !important;
    color:#526176 !important;
    background:#fff !important;
    font-size:12px !important;
    font-weight:700 !important;
  }

  .data-lookup-results .pagination button:disabled,
  .db-list-results .pagination button:disabled {
    color:#adb6c2 !important;
    background:#f0f2f5 !important;
  }

  .data-lookup-results .pagination span,
  .db-list-results .pagination span {
    color:#768499 !important;
    font-size:12px !important;
  }

  .data-lookup-results .pagination span strong,
  .db-list-results .pagination span strong {
    color:var(--primary) !important;
  }
}

/* 모바일에서도 조회 테이블 안에 별도 세로 스크롤을 만들지 않는다. */
@media (max-width:1023px) {
  .data-lookup-table-wrap,
  .db-inspector-table-wrap {
    max-height:none !important;
    min-height:0 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
  }
}

/* 업체별 견적서는 서버에서 생성한 실제 PDF를 그대로 미리보기한다. */
.a4-paper.company-pdf-preview-host {
  width:min(210mm, 100%)!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:210 / 297;
  padding:0!important;
  margin:0 auto!important;
  transform:none!important;
  box-shadow:0 7px 24px rgba(15,23,42,.14)!important;
  overflow:hidden!important;
  background:#fff!important;
}
.company-pdf-preview-frame {
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}
.company-pdf-loading {
  width:100%;
  height:100%;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  color:#64748b;
  background:#fff;
  font-size:13px;
  line-height:1.7;
}
.company-pdf-loading.error { color:#b42318; }


/* Quote template manager */
.quote-template-manager-panel{overflow:hidden}.template-manager-actions{display:flex;gap:8px;flex-wrap:wrap}.quote-template-manager-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px}.quote-template-list{border:1px solid #dfe6f0;border-radius:14px;background:#f8fafc;padding:8px;max-height:560px;overflow:auto}.quote-template-list-item{width:100%;border:0;background:transparent;border-radius:10px;padding:11px 12px;text-align:left;cursor:pointer;color:#263248;display:flex;flex-direction:column;gap:4px}.quote-template-list-item:hover{background:#eef3ff}.quote-template-list-item.active{background:#e7edff;color:#244fd4;box-shadow:inset 0 0 0 1px #b9c8ff}.quote-template-list-item span{font-weight:800}.quote-template-list-item small{font-size:11px;color:#75829a}.quote-template-editor{border:1px solid #dfe6f0;border-radius:14px;padding:18px;background:#fff}.template-editor-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.template-editor-title strong{font-size:17px}.template-editor-title code{font-size:11px;color:#6c7890;background:#f4f6f9;padding:5px 7px;border-radius:7px}.template-column-heading{display:flex;justify-content:space-between;align-items:end;margin:20px 0 8px}.template-column-heading span{font-size:11px;color:#7a879b}.quote-template-columns{display:flex;flex-direction:column;border:1px solid #e1e6ee;border-radius:12px;overflow:hidden}.quote-template-column-row{display:grid;grid-template-columns:72px minmax(120px,1fr) 90px 110px 70px;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf0f4}.quote-template-column-row:last-child{border-bottom:0}.quote-template-column-row input,.quote-template-column-row select{height:36px;border:1px solid #d8dfe9;border-radius:8px;padding:0 9px;background:#fff}.template-col-visible{display:flex!important;flex-direction:row!important;align-items:center;gap:6px}.template-col-visible input{width:16px;height:16px}.quote-template-column-row code{font-size:11px;color:#7a8597;text-align:center}.template-editor-note{margin:10px 0 0;font-size:11px;color:#768398}.user-active-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.user-active-label input{width:18px;height:18px}@media(max-width:900px){.quote-template-manager-layout{grid-template-columns:1fr}.quote-template-list{max-height:220px}.quote-template-column-row{grid-template-columns:64px 1fr 72px 92px 60px}}


/* Quote Designer v1 */
.template-editor-title-actions{display:flex;align-items:center;gap:10px}.quote-designer-view{min-height:100vh;background:#eef1f6}.designer-app-header{height:76px;padding:0 24px;background:#fff;border-bottom:1px solid #dfe5ed;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.designer-header-left,.designer-header-actions{display:flex;align-items:center;gap:10px}.designer-header-left p{margin:0;color:#7b8798;font-size:11px}.designer-header-left h1{margin:3px 0 0;font-size:20px}.designer-toolbar{min-height:52px;padding:8px 20px;background:#f8fafc;border-bottom:1px solid #dce3eb;display:flex;align-items:center;gap:16px;position:sticky;top:76px;z-index:49}.designer-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#4b586c}.designer-toolbar select{height:34px;border:1px solid #cfd8e5;border-radius:8px;background:#fff}.designer-check input{width:16px;height:16px}.designer-toolbar-help{margin-left:auto;color:#7c899c;font-size:11px}.designer-shell{display:grid;grid-template-columns:210px minmax(600px,1fr) 245px;min-height:calc(100vh - 128px)}.designer-palette,.designer-properties{background:#fff;padding:16px;border-right:1px solid #dfe5ed;position:sticky;top:128px;height:calc(100vh - 128px);overflow:auto}.designer-properties{border-right:0;border-left:1px solid #dfe5ed}.designer-side-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.designer-side-title strong{font-size:16px}.designer-side-title span{font-size:10px;color:#8a96a6}.designer-palette-group{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}.designer-palette-group b{font-size:11px;color:#6f7d91;margin-bottom:2px}.designer-palette-group button{min-height:36px;border:1px solid #dce3ec;background:#fff;border-radius:9px;text-align:left;padding:0 10px;color:#2b374a;cursor:pointer;font-weight:700}.designer-palette-group button:hover{border-color:#7d9cff;background:#f4f7ff}.designer-palette-group button.accent{background:#edf2ff;border-color:#bfd0ff;color:#2853d8}.designer-stage{padding:28px 36px 80px;overflow:auto;background-color:#e6e9ee;background-image:linear-gradient(45deg,#e2e5ea 25%,transparent 25%),linear-gradient(-45deg,#e2e5ea 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e5ea 75%),linear-gradient(-45deg,transparent 75%,#e2e5ea 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.designer-page-scaler{margin:0 auto;box-shadow:0 12px 34px rgba(31,43,61,.18)}.designer-page{width:794px;height:1123px;background:#fff center/100% 100% no-repeat;position:relative;overflow:hidden;user-select:none}.designer-page.show-grid{background-color:#fff;background-image:linear-gradient(rgba(73,98,135,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(73,98,135,.09) 1px,transparent 1px);background-size:10px 10px}.designer-page.show-grid[style*="url"]{background-size:100% 100%,10px 10px,10px 10px}.designer-element{position:absolute;box-sizing:border-box;border-style:solid;border-color:#667085;overflow:hidden;cursor:move;display:flex;align-items:center;line-height:1.25;color:#111;white-space:normal}.designer-element.selected{outline:2px solid #2f61e8;outline-offset:1px;z-index:30}.designer-element.previewing{cursor:default;outline:0}.designer-element-content{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:inherit;overflow:hidden}.designer-element[style*="text-align:center"] .designer-element-content{justify-content:center}.designer-element[style*="text-align:right"] .designer-element-content{justify-content:flex-end}.designer-resize-handle{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;background:#2f61e8;border:2px solid #fff;border-radius:2px;cursor:nwse-resize}.designer-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px dashed #9ba8ba;background:#f8fafc;color:#667085;font-weight:800}.designer-image-placeholder.seal{border-radius:50%;color:#d84444}.type-line{border:0!important;background:#222!important;height:2px!important}.designer-sample-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;font-size:inherit;background:#fff}.designer-sample-table th,.designer-sample-table td{border:1px solid #9ba3ad;padding:3px 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.designer-sample-table th{text-align:center;background:#f3f4f6;font-weight:700}.designer-sample-table .align-right{text-align:right}.designer-sample-table .align-center{text-align:center}.designer-summary-sample{display:grid;grid-template-columns:auto 1fr auto 2fr auto 1fr auto 2fr;width:100%;height:100%;align-items:center}.designer-summary-sample>*{height:100%;display:flex;align-items:center;padding:0 6px;border-right:1px solid #9ba3ad;box-sizing:border-box}.designer-summary-sample span{justify-content:flex-end}.designer-properties label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#5a687c;margin-bottom:10px}.designer-properties input,.designer-properties select{height:36px;border:1px solid #d5dde8;border-radius:8px;padding:0 9px;background:#fff}.designer-properties input[type=color]{padding:3px;width:100%}.designer-prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.designer-empty-props{font-size:12px;line-height:1.6;color:#7b8799;background:#f8fafc;border:1px dashed #d7dfe9;border-radius:10px;padding:14px}.designer-property-actions{display:flex;gap:8px;margin-top:16px}.designer-property-actions>*{flex:1}@media(max-width:1100px){.designer-shell{grid-template-columns:180px minmax(520px,1fr)}.designer-properties{position:fixed;right:0;top:128px;width:245px;z-index:60;box-shadow:-10px 0 30px rgba(30,45,70,.12)}.designer-stage{padding-right:280px}}@media(max-width:780px){.designer-shell{display:block}.designer-palette{position:static;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.designer-properties{display:none}.designer-stage{padding:20px;overflow:auto}.designer-toolbar-help{display:none}}

.designer-import-tools{display:flex;align-items:center;gap:6px;padding-right:14px;margin-right:2px;border-right:1px solid #d9e1eb}.designer-import-tools strong{font-size:11px;color:#425168;white-space:nowrap}.designer-import-tools select{min-width:142px}.designer-import-tools .secondary-button{height:34px;white-space:nowrap}.designer-toolbar{flex-wrap:wrap}.designer-toolbar-help{min-width:240px}.designer-page.template-loaded{box-shadow:inset 0 0 0 1px rgba(47,97,232,.12)}@media(max-width:1250px){.designer-import-tools{flex-basis:100%;border-right:0;padding-right:0}.designer-toolbar-help{margin-left:0}}

/* PDF 원본 분석형 견적서 디자이너 v3 */
.designer-static-asset{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.designer-element.type-asset{border-color:transparent;background:transparent}.designer-element.type-box .designer-element-content{width:100%;height:100%}.designer-element.type-text .designer-element-content{white-space:pre-line}.designer-properties textarea{width:100%;resize:vertical;min-height:64px}.designer-element[style*="#ffffff00"]{background:transparent!important}


/* Quote designer v4: A4 fit, accurate table sizing, cell controls */
.designer-stage{scrollbar-gutter:stable both-edges}.designer-page-scaler{background:#fff}.designer-page{flex:none}.designer-element-content{align-items:var(--designer-v-align,middle)}
.designer-element[style*="--designer-v-align:top"] .designer-element-content{align-items:flex-start}.designer-element[style*="--designer-v-align:middle"] .designer-element-content{align-items:center}.designer-element[style*="--designer-v-align:bottom"] .designer-element-content{align-items:flex-end}
.designer-sample-table{height:auto!important;min-height:0}.designer-sample-table thead tr{height:var(--header-h,24px)}.designer-sample-table tbody tr{height:var(--row-h,20px)}.designer-sample-table th,.designer-sample-table td{height:inherit;vertical-align:var(--cell-v,middle);line-height:1.2;padding:2px 5px}.designer-sample-table td.align-right{padding-right:7px}.designer-sample-table td.align-center{text-align:center}.designer-sample-table td.align-left{text-align:left}
.designer-table-props{margin-top:14px;padding-top:14px;border-top:1px solid #e1e6ee}.designer-table-props-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.designer-table-props-title strong{font-size:13px}.designer-table-props-title span{font-size:10px;color:#8b96a6}.designer-column-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.designer-column-row{display:grid;grid-template-columns:54px minmax(74px,1fr) 54px 76px;gap:5px;align-items:center}.designer-column-row input,.designer-column-row select{height:32px!important;padding:0 6px!important;font-size:11px}.designer-col-visible{margin:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;white-space:nowrap}.designer-col-visible input{width:15px;height:15px!important}.designer-table-hint{font-size:10px;line-height:1.45;color:#7d8998;margin:8px 0 0}.designer-toolbar #designerFitA4{height:34px;white-space:nowrap}

/* 견적서 디자이너 v5: A4 채우기 / 셀 정렬 / 열 경계 직접 조절 */
.designer-toolbar #designerFitContent{height:34px;white-space:nowrap;border-color:#b9c7e8;background:#f2f6ff;color:#274fc7;font-weight:800}
.designer-align-pad{margin:4px 0 12px;padding:10px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc}.designer-align-pad>span{display:block;margin-bottom:7px;font-size:11px;font-weight:800;color:#4f5d70}.designer-align-grid{display:grid;grid-template-columns:repeat(3,34px);gap:5px;justify-content:start}.designer-align-grid button{width:34px;height:30px;border:1px solid #cfd9e8;border-radius:6px;background:#fff;color:#425168;cursor:pointer;font-size:14px;line-height:1}.designer-align-grid button:hover,.designer-align-grid button.active{background:#e9efff;border-color:#6284e8;color:#2149c5}
.designer-table-edit-wrap{position:relative;width:100%;height:100%;overflow:hidden}.designer-column-resizers{position:absolute;inset:0;pointer-events:none}.designer-col-resize-handle{position:absolute;top:0;bottom:0;width:10px;transform:translateX(-5px);cursor:col-resize;pointer-events:auto;z-index:12}.designer-col-resize-handle:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:transparent}.designer-col-resize-handle:hover:before,.designer-element.selected .designer-col-resize-handle:before{background:rgba(47,97,232,.55)}
.designer-sample-table th[data-designer-table-col],.designer-sample-table td[data-designer-table-col]{cursor:default}.designer-sample-table th[data-designer-table-col]{cursor:pointer}.designer-sample-table th.active-col,.designer-sample-table td.active-col{background-color:rgba(47,97,232,.06)}.designer-sample-table th.active-col{box-shadow:inset 0 0 0 2px rgba(47,97,232,.55)}
.designer-selected-column-box{margin:0 0 12px;padding:10px;border:1px solid #bfd0ff;border-radius:10px;background:#f5f8ff}.designer-selected-column-box>b{font-size:11px;color:#4f5f76}.designer-selected-column-box>span{margin-left:7px;font-size:12px;font-weight:800;color:#254cc5}.designer-selected-column-controls{display:grid;grid-template-columns:1fr 72px;gap:6px;margin-top:8px}.designer-selected-column-controls label{margin:0!important}.designer-selected-column-controls input{height:32px!important}.designer-col-quick-align{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.designer-col-quick-align button{height:30px;border:1px solid #cad5e5;border-radius:6px;background:#fff;color:#56657a;font-size:11px;font-weight:700;cursor:pointer}.designer-col-quick-align button.active,.designer-col-quick-align button:hover{background:#e8efff;border-color:#6485e8;color:#2048c4}
.designer-column-row{grid-template-columns:28px 52px minmax(72px,1fr) 54px 76px!important}.designer-column-row.active{padding:4px;border-radius:7px;background:#eef3ff}.designer-col-pick{height:28px;border:1px solid #cad5e5;border-radius:6px;background:#fff;color:#4a5a70;font-size:10px;font-weight:800;cursor:pointer}.designer-column-row.active .designer-col-pick{background:#315fe5;color:#fff;border-color:#315fe5}
.designer-table-hint{background:#f8fafc;border:1px dashed #d5dee9;border-radius:8px;padding:8px!important}
