:root{--navy:#102a43;--blue:#1769aa;--sky:#eaf3fb;--line:#d9e2ec;--text:#243b53;--muted:#627d98;--green:#13795b;--amber:#b7791f;--red:#c53030;--white:#fff;--bg:#f5f7fa;font-family:"Malgun Gothic","Noto Sans KR",Arial,sans-serif;color:var(--text)}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#2d6a9f,var(--navy) 55%)}
.login-card{width:min(420px,92vw);background:#fff;padding:38px;border-radius:18px;box-shadow:0 24px 70px #071a2b80}.login-logo{width:100%;max-width:310px;height:64px;object-fit:contain;object-position:left center}.login-card h1{margin:12px 0 4px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card label{display:grid;gap:7px;margin:14px 0;font-size:13px;font-weight:700}.login-card input,.login-card select{padding:12px;border:1px solid var(--line);border-radius:8px}.login-card button{width:100%;margin-top:12px;padding:13px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:700}.login-card small{display:block;margin-top:14px;color:var(--muted)}
.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}aside{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:22px 14px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:11px;padding:0 7px 25px;font-weight:800;letter-spacing:.5px}.logo>span{width:42px;height:42px;background:#fff;display:grid;place-items:center;border-radius:10px;padding:5px}.logo>span img{width:100%;height:100%;object-fit:contain}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#bcccdc;text-align:left;margin:2px 0;cursor:pointer}.nav-item:hover,.nav-item.active{background:#243f5c;color:#fff}.nav-item span{width:22px;text-align:center}.ghost{margin-top:auto;background:transparent;border:1px solid #486581;color:#bcccdc;padding:10px;border-radius:8px}
main{min-width:0}header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}header h2{margin:0;font-size:21px}header p{margin:5px 0 0;color:var(--muted);font-size:12px}.user{text-align:right}.user span{display:block;color:var(--muted);font-size:12px;margin-top:3px}#content{padding:26px 30px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 3px 12px #102a430a}.metric label{font-size:12px;color:var(--muted)}.metric strong{display:block;margin-top:9px;font-size:25px}.metric small{color:var(--green)}.wide{grid-column:span 3}.side{grid-column:span 1}.card h3{font-size:15px;margin:0 0 16px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px}.toolbar input,.toolbar select,.form-grid input,.form-grid select{border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff}.primary{border:0;background:var(--blue);color:#fff;border-radius:7px;padding:10px 15px;font-weight:700}.secondary{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 14px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#eef3f8;color:#486581;text-align:left;padding:11px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:11px;border-bottom:1px solid #edf2f7;white-space:nowrap}.status{display:inline-block;padding:4px 8px;border-radius:20px;background:var(--sky);color:var(--blue);font-weight:700}.status.green{background:#def7ec;color:var(--green)}.status.amber{background:#fff3cd;color:var(--amber)}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.form-grid label{font-size:11px;color:var(--muted);font-weight:700;display:grid;gap:6px}.span2{grid-column:span 2}.cost-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.cost-grid label{font-size:11px;color:var(--muted);display:grid;gap:5px}.cost-grid input{text-align:right}.summary{margin-top:18px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.summary div{background:#f2f6fa;border-radius:8px;padding:12px}.summary label{font-size:11px;color:var(--muted)}.summary strong{display:block;margin-top:5px}.restricted{padding:55px;text-align:center}.restricted h3{color:var(--red)}
@media(max-width:1000px){.app{grid-template-columns:82px 1fr}.logo div,.nav-item b,.ghost{display:none}.logo{justify-content:center}.nav-item{justify-content:center}.grid{grid-template-columns:repeat(2,1fr)}.wide,.side{grid-column:span 2}.cost-grid{grid-template-columns:repeat(3,1fr)}}
.error{color:var(--red)!important;font-size:12px;min-height:18px;margin:8px 0!important}
.user-form{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.user-form input,.user-form select{padding:9px;border:1px solid var(--line);border-radius:7px}.danger{border:1px solid #fed7d7;color:var(--red);background:#fff;padding:6px 9px;border-radius:6px}.notice{padding:11px 14px;background:#fff3cd;color:#7b5d11;border:1px solid #ffe69c;border-radius:8px;margin-bottom:14px;font-size:12px}
.master-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.master-form input,.master-form select,.stack-form input,.stack-form select{padding:9px;border:1px solid var(--line);border-radius:7px}.stack-form{display:grid;gap:10px}.master-grid{grid-template-columns:repeat(3,1fr)}.tabs{margin-bottom:14px}#contact-panel{margin-top:18px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px}.contact-form{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.contact-form input{padding:8px;border:1px solid var(--line);border-radius:6px}.link{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
.file-label{font-size:11px;color:var(--muted);display:grid;gap:4px}.file-label input{padding:6px;background:#fff}input[readonly]{background:#edf2f7;color:#486581;font-weight:700}
.quote-item{margin-top:14px}.item-head{display:flex;align-items:center;justify-content:space-between}.cost-title{margin-top:22px!important}
.order-item{margin-top:14px}.order-hint{font-size:11px;color:var(--green);margin:12px 0 0}.part-picker{position:relative}.part-results{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:270px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #102a4333}.part-results button{width:100%;display:grid;gap:2px;text-align:left;border:0;border-bottom:1px solid #edf2f7;background:#fff;padding:9px 11px;cursor:pointer}.part-results button:hover{background:var(--sky)}.part-results span,.part-results p{font-size:11px;color:var(--muted);margin:0;padding:8px}.drawing-file{display:flex;align-items:center;gap:3px;margin:2px 0}.file-delete{width:22px;height:22px;border:1px solid #fed7d7;border-radius:50%;background:#fff;color:var(--red);line-height:17px;cursor:pointer;font-weight:bold}.drawing-tools{flex-wrap:wrap}
.order-item .part-results{position:static;margin-top:4px;box-shadow:none;max-height:170px}.order-no-link{text-decoration:underline;text-underline-offset:3px}.paste-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.paste-box{min-height:210px;border:2px dashed #9fb3c8;border-radius:10px;background:#f8fbfe;padding:15px;display:flex;flex-direction:column;gap:8px;cursor:pointer;outline:none}.paste-box:focus{border-color:var(--blue);background:var(--sky)}.paste-box span{font-size:11px;color:var(--muted)}.paste-box img{max-width:100%;max-height:220px;object-fit:contain;margin:auto}.table-wrap td input{max-width:150px;border:1px solid var(--line);border-radius:6px;padding:7px}
.paste-target{padding:22px 12px;border:1px dashed var(--blue);border-radius:7px;background:#fff;color:var(--blue);font-size:12px;text-align:center}.reference-price{color:var(--blue);font-weight:700}.reference-card{background:#eef6fc;border:1px solid #bfd8ed;border-radius:8px;padding:12px;font-size:12px}.status.red{background:#fde2e2;color:var(--red)}
.form-grid textarea{border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff;resize:vertical;font:inherit}.cost-title small{color:var(--muted);font-weight:400;margin-left:8px}.button-link{display:inline-flex;align-items:center;color:var(--text);text-decoration:none;font-size:13px}.file-button{cursor:pointer;font-size:13px}
.modal-backdrop{position:fixed;z-index:100;inset:0;background:#102a4388;display:grid;place-items:center;padding:24px}.modal-card{width:min(1050px,95vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;padding:22px;box-shadow:0 25px 70px #102a4366}.modal-card>input{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;margin-bottom:12px}.order-browser{display:grid;gap:9px}.order-browser details{border:1px solid var(--line);border-radius:8px;padding:10px}.order-browser summary{cursor:pointer}.order-pick{display:flex;width:100%;justify-content:space-between;text-align:left;border:0;border-top:1px solid var(--line);background:#fff;padding:10px;cursor:pointer}.order-pick:hover{background:var(--sky)}.order-pick span{color:var(--muted)}.role-checks{display:flex;flex-wrap:wrap;gap:7px 12px;margin:13px 0}.role-checks label{white-space:nowrap;font-size:12px}select[multiple]{min-width:180px;border:1px solid var(--line);border-radius:7px;padding:6px}
.trend-up{color:var(--green);font-weight:700}.trend-down{color:var(--red);font-weight:700}.ir-display-no{width:62px!important}.ir-repeat{display:block;margin-top:4px}.modal-card textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;font:inherit}.mail-recipient-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;max-height:180px;overflow:auto}.mail-recipient-list label{display:block;font-weight:400}.mail-recipient-list small{display:block;margin-left:22px;color:var(--muted)}
.drawing-drop-zone{border:2px dashed #8aa0b8!important;padding:18px!important;text-align:center;transition:.15s ease}.drawing-drop-zone.drag-over{border-color:#1261a0!important;background:#eaf4ff;color:#084b83}
#accounting-chart{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}#accounting-chart svg{display:block;width:100%;height:auto;max-height:430px}
/* RC7: 현황 목록은 약 5행 높이 이후 세로 스크롤, 헤더 고정 */
.table-wrap{max-height:330px;overflow:auto}.table-wrap thead th{position:sticky;top:0;z-index:2}
.ir-measure-list{display:grid;gap:5px;min-width:135px}.ir-measure-list label{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:4px}.ir-measure-list small{font-weight:700;color:var(--blue)}.ir-measure-list input{min-width:90px;width:100%}

/* RC7.2: make the two controls and each repeated reading unambiguous. */
#inspection-lines td:first-child label{display:grid;gap:4px;font-size:11px;color:#52657a;margin-bottom:10px;min-width:75px}
#inspection-lines .ir-repeat{margin:0;width:70px!important}
.ir-measure-list{min-width:180px;display:grid;gap:8px}
.ir-measure-row{display:flex;gap:6px;align-items:end;border-bottom:1px solid #e3e9f0;padding-bottom:6px}
.ir-measure-row label{display:grid;gap:3px;min-width:95px}
.ir-measure-row input{width:100px}.ir-measure-row select{width:75px}
#inspection-sampling-summary{margin:12px 0}
:where(.dashboard-metric){text-align:left;cursor:pointer;border:1px solid #d9e2ec;color:inherit;font:inherit}
.dashboard-metric:hover,.dashboard-metric:focus-visible{border-color:#1769aa;box-shadow:0 0 0 2px #b9dcf4}
.dashboard-metric label{pointer-events:none;cursor:pointer}

/* Shared calendar and approval line */
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:14px}
.calendar-weekday{text-align:center;padding:7px 3px;background:#e9f1f8;color:#17365d}
.calendar-day{min-height:98px;padding:7px;background:#fff;border:1px solid #d7e2ec;border-radius:5px;overflow:hidden}
.calendar-day.blank{background:#f5f8fa}
.calendar-event{display:block;width:100%;text-align:left;margin:3px 0;padding:4px 5px;border:0;border-radius:4px;background:#dcecf9;color:#17365d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.approval-step{display:flex;gap:8px;margin:7px 0}.approval-step select{flex:1}
@media(max-width:850px){.calendar-day{min-height:70px;padding:3px}.calendar-event{font-size:10px}}
/* Keep a multi-day event on the same lane throughout each calendar week. */
.calendar-day{min-height:118px;padding:5px 7px;cursor:pointer;overflow:visible}
.calendar-day.blank{cursor:default}
.calendar-date{display:block;height:25px;padding:1px 5px;border:0;background:transparent;color:#17365d;font-weight:700;cursor:pointer}
.calendar-slot{height:25px;margin:3px -7px 0}
.calendar-event-piece{display:block;width:100%;height:25px;border:0;border-radius:0;color:#fff;text-align:left;padding:2px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-weight:600}
.calendar-event-piece.range-start{border-radius:5px 0 0 5px;margin-left:3px;width:calc(100% - 3px)}
.calendar-event-piece.range-end{border-radius:0 5px 5px 0;width:calc(100% - 3px)}
.calendar-event-piece.range-start.range-end{border-radius:5px;width:calc(100% - 6px)}
.list-height-handle{display:block;width:100%;height:25px;margin:5px 0 3px;border:1px solid #d7e2ec;border-radius:6px;background:#f2f6fa;color:#627d98;font-size:11px;cursor:ns-resize;touch-action:none;user-select:none}
.list-height-handle:hover,.list-height-handle:focus-visible{background:#dcecf9;border-color:#1769aa;color:#17365d}
.list-height-dragging,.list-height-dragging *{cursor:ns-resize!important;user-select:none!important}

/* RC8.3 compact editors and fixed palette */
.editor-fold{margin:12px 0 18px;border:1px solid #d4deeb;border-radius:10px;background:#fff}
.editor-fold>summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#17365d;background:#edf3fa;border-radius:10px}
.editor-fold[open]>summary{border-bottom:1px solid #d4deeb;border-radius:10px 10px 0 0}
.editor-fold>form.card{margin:0;border:0;box-shadow:none}
#quote-items{max-height:480px;overflow:auto;overscroll-behavior:contain;padding-right:8px}
.calendar-palette{display:grid;grid-template-columns:repeat(10,26px);gap:6px;margin-top:8px}
.calendar-palette button{width:26px;height:26px;padding:0;min-width:0;border:1px solid #b6c2d2;border-radius:3px}
.calendar-palette button.selected{outline:3px solid #1769aa;outline-offset:2px}
.calendar-palette button:focus-visible{outline:3px solid #1769aa;outline-offset:2px}

/* TIMS identity: original blue/red logo on a pale blue navigation surface. */
:root{--blue:#1449b5;--sky:#ecf2ff;--bg:#f5f7fc;--line:#dce4f1}
aside{background:#edf3ff;color:#18375d;border-right:1px solid #dce4f1}
.tims-brand{display:block;padding:8px 4px 24px;min-height:70px}
.tims-brand>img{display:block;width:100%;height:auto;max-height:44px;object-fit:contain;object-position:left center}
aside .nav-item{color:#3b5475}aside .nav-item:hover,aside .nav-item.active{color:#103a91;background:#dae6ff}aside .nav-item.active{box-shadow:inset 3px 0 #1449b5}
aside .ghost{color:#244876;border-color:#b6c7e5;background:#f5f8ff}
header{height:108px;gap:16px}.tims-header{display:flex;align-items:center;gap:28px;min-width:0}.tims-system-title{padding-right:24px;border-right:1px solid #dde5f0;min-width:295px}.tims-system-title strong{display:block;color:#103f99;font-size:21px;letter-spacing:.3px}.tims-system-title small{display:block;margin-top:6px;font-size:11px;line-height:1.45;color:#526886}.tims-page-title{min-width:0}.tims-page-title h2{font-size:20px}.tims-page-title p{white-space:nowrap}.tims-header+ .toolbar{flex-shrink:0}
.login-shell{background:radial-gradient(circle at top right,#e3ecff,#c9d9f3 58%,#aec6e9)}.login-card{box-shadow:0 20px 65px #29457130}.login-logo{height:auto;max-height:62px;object-fit:contain}.login-card h1{font-size:23px;color:#123e96}.login-system-name{line-height:1.6;font-size:12px}.tims-stock-launch{flex-wrap:wrap}.tims-stock-launch small,.tims-export-note{font-size:12px;color:#617895}.toolbar{flex-wrap:wrap}.tims-stock-card .toolbar input{min-width:260px}#stock-production-summary{font-weight:700;color:#173f85;line-height:1.6}
@media(max-width:1250px){.tims-system-title{min-width:250px;padding-right:14px}.tims-system-title strong{font-size:18px}.tims-header{gap:15px}header{padding:0 20px}.tims-header+.toolbar #install-app{display:none}}
@media(max-width:950px){.app{grid-template-columns:82px 1fr}.tims-brand{padding:8px 0 22px}.tims-brand>img{width:100%;max-height:34px}.tims-system-title{min-width:0;padding-right:12px}.tims-system-title strong{font-size:16px}.tims-system-title small{font-size:9px}.tims-page-title h2{font-size:16px}header{height:106px;padding:0 12px}.tims-header+.toolbar{gap:5px}.user{font-size:11px}}

.tims-order-total{display:flex;flex-wrap:wrap;gap:12px 22px;padding:14px 18px;background:#eef4ff;border:1px solid #cfdef6;border-radius:8px;margin:12px 0}.v-history-note{display:block;color:#617895;font-size:10px;max-width:180px;white-space:normal;margin-top:5px}#vendor-po-form .v-remark{min-width:170px;padding:7px;border:1px solid var(--line);border-radius:6px;font:inherit;resize:vertical}#vendor-po-form .v-job-type{padding:7px;border:1px solid var(--line);border-radius:6px}
/* RC8.17 holiday date headers retain equal event lane heights. */
.calendar-red{color:#c62828!important}
.calendar-holiday-name{display:block;height:30px;line-height:14px;font-size:11px;color:#c62828;overflow:hidden;padding:2px 5px;font-weight:600}
.order-line-remark{display:block;max-width:250px;white-space:pre-wrap;overflow-wrap:anywhere;color:#56677b;margin-top:5px}
#vendor-supplier-search{margin-bottom:6px}
#quote-english-review[hidden]{display:none}
/* RC8.18 optional email attachments. */
.vendor-mail-attachments{margin-top:12px}
.vendor-attach-choice{display:flex;align-items:center;gap:8px;padding:7px;border-bottom:1px solid #e1e7ef}
.vendor-attach-choice input{width:auto}
#vendor-drawing-attachments{max-height:220px;overflow:auto}
#vendor-mail-drop{border:2px dashed #93afd1;border-radius:9px;padding:18px;background:#f7faff}
#vendor-mail-drop.drag-over{background:#e0edff;border-color:#1769aa}
#vendor-mail-drop input{margin-top:12px}
.shipment-complete{margin-left:5px;white-space:nowrap}

#order-rows tr.order-shipped846 td{background:#edf0f2;color:#68737d}#order-rows tr.order-shipped846 .status{background:#dce1e5;color:#52606d}

/* RC8.58 compact PO/advance condition and matching receipt buttons. */
#order-form>.card>.form-grid{grid-template-columns:minmax(120px,1fr) minmax(200px,1.2fr) minmax(300px,1.8fr) minmax(130px,.75fr);align-items:end}
.advance-po-group858{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr);gap:8px;align-items:end;min-width:0}
.form-grid .advance-po-flag858{display:flex;align-items:center;gap:8px;min-height:43px;margin:0;padding:8px 10px;border:1px solid #f1d58b;border-radius:7px;background:#fff3cd;color:#856404;line-height:1.35;cursor:pointer}
.form-grid .advance-po-flag858 input{width:16px;height:16px;min-height:0;margin:0;padding:0;flex:0 0 16px;accent-color:#a77416}
.form-grid .advance-po-flag858 small{font-size:11px;color:inherit}
button.secondary.advance-button858{background:#fff3cd;color:#856404;border-color:#f1d58b}
button.secondary.advance-button858:hover{background:#ffe8a3;border-color:#dab85f}
@media(max-width:1100px){#order-form>.card>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advance-po-group858{grid-column:1/-1}}
@media(max-width:600px){#order-form>.card>.form-grid{grid-template-columns:minmax(0,1fr)}.advance-po-group858{grid-template-columns:minmax(0,1fr)}}

/* RC8.59 dense advance receipt rows, 11px fields. */
.advance-scroll859{overflow:auto;max-height:65vh}
.advance-table859{min-width:1040px;font-size:11px}
.advance-head859,.advance-row859{display:grid;grid-template-columns:210px 40px 110px 60px 115px 110px minmax(160px,1fr) 48px 66px;gap:6px;align-items:center}
.advance-head859{position:sticky;top:0;z-index:1;background:#edf3fa;padding:8px 6px;font-weight:bold;border-bottom:1px solid #d6e0ed}
.advance-row859{padding:5px 6px;border-bottom:1px solid #e3eaf2;margin:0}
.advance-row859:nth-child(odd){background:#f8fafc}
.advance-row859 input:not([type=hidden]):not([type=checkbox]),.advance-row859 select,.advance-row859 textarea{width:100%;min-width:0;font:inherit;line-height:16px;height:28px;padding:4px 5px;border:1px solid #d6e0ed;border-radius:5px;background:white}
.advance-row859 textarea{resize:vertical;min-height:28px;max-height:80px}
.advance-row859 input[type=checkbox]{width:14px;height:14px;margin:0}
.advance-paid859{display:flex;align-items:center;justify-content:center;margin:0}
.advance-row859 button{font-size:11px;padding:5px 6px;min-height:28px;white-space:nowrap}
.advance-identity859{min-width:0;overflow:hidden}
.advance-identity859 b,.advance-identity859 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:15px}
.advance-error857:empty{display:none}
.advance-row859 .advance-error857:not(:empty){grid-column:1/-1;font-size:11px}

/* RC8.60 readonly unit price and order total next to customer PO. */
.advance-head859,.advance-row859{grid-template-columns:170px 130px 32px 100px 52px 100px 100px minmax(110px,1fr) 42px 58px;gap:4px}
.advance-price860{min-width:0;overflow:hidden;color:#174b83}
.advance-price860 b,.advance-price860 small{display:block;font-size:11px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.advance-table859{min-width:1040px}

input.tims-money861{text-align:right;font-variant-numeric:tabular-nums}
/* RC8.64 dashboard: TIMS navy, restrained blue/amber/teal financial accents. */
#dashboard-analysis864{margin-top:20px;color:#24425e}.dash-toolbar864{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.dash-toolbar864 h3{margin:0 0 5px;color:#17365d}.dash-toolbar864 small,.dash-panel-title864 small{color:#72869a;font-size:11px}.dash-filters864{display:flex;gap:8px;align-items:flex-end}.dash-filters864 label{font-size:11px;display:grid;gap:4px}.dash-filters864 select{min-width:110px;padding:7px 10px}#dash-message864{font-size:11px;line-height:1.7;color:#6b7f94;margin:8px 0 14px}.dash-layout864{display:grid;grid-template-columns:minmax(150px,.95fr) repeat(3,minmax(155px,1fr)) minmax(150px,.95fr);grid-template-areas:"left kpis kpis kpis right" "left main main main right" "trend customers suppliers health health";gap:14px;align-items:stretch}.dash-panel864{padding:17px!important;min-width:0;border:1px solid #e1eaf2;box-shadow:0 3px 12px #17365d05;border-radius:14px!important;overflow:hidden}.dash-panel-title864{margin-bottom:16px}.dash-panel-title864 h3{font-size:14px;margin:0 0 6px;color:#17365d;font-weight:650}.dash-left864{grid-area:left}.dash-right864{grid-area:right}.dash-main864{grid-area:main}.dash-trend864{grid-area:trend}.dash-customers864{grid-area:customers}.dash-suppliers864{grid-area:suppliers}.dash-health864{grid-area:health}.dash-kpis864{grid-area:kpis;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-kpi864{padding:18px 16px!important;min-width:0;border-radius:14px!important;display:flex;flex-direction:column;gap:11px}.dash-kpi864>span{font-size:12px;color:#506e88}.dash-kpi864 strong{font-size:clamp(19px,2vw,29px);font-weight:700;line-height:1.3;color:#17365d;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-kpi864 strong small{font-size:11px;margin-left:4px;font-weight:400}.dash-kpi864>small{font-size:10px;color:#7b8d9e}.dash-rank-list864{max-height:440px;overflow-y:auto;scrollbar-width:thin;padding-right:4px}.dash-rank-row864{margin-bottom:19px}.dash-rank-line864{display:flex;gap:6px;align-items:center;font-size:11px;min-width:0}.dash-rank-no864{flex:0 0 17px;font-size:10px;color:#92a3b4}.dash-company864{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.dash-rank-line864 b{font-size:10px;font-weight:600;white-space:nowrap;color:#526d87;font-variant-numeric:tabular-nums}.dash-bar864{height:6px;background:#eef3f7;border-radius:5px;margin:8px 0 0 23px;overflow:hidden}.dash-bar864 span{height:100%;display:block;border-radius:5px;min-width:2px}.dash-chart-legend864{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;font-size:11px;margin-bottom:6px}.dash-chart-legend864 label{display:flex;gap:5px;align-items:center;cursor:pointer}.dash-chart-legend864 input{width:12px;height:12px;margin:0}.dash-chart-legend864 i,.dash-mini-title864 i{width:8px;height:8px;display:inline-block;border-radius:50%}.dash-panel864 svg{display:block;width:100%;height:auto;overflow:visible}#dash-main-chart864{min-height:210px}.dash-mini-title864{font-size:11px;color:#54718c;display:flex;align-items:center;gap:6px}.dash-health-grid864{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dash-health-grid864>div{background:#f6f9fc;border-radius:10px;padding:13px 11px;min-width:0}.dash-health-grid864 span{font-size:11px;color:#617b93;display:block}.dash-health-grid864 strong{font-size:25px;display:block;margin:10px 0 5px;font-variant-numeric:tabular-nums;color:#17365d}.dash-health-grid864 strong.dash-alert864{color:#bd5948}.dash-health-grid864 em{font-size:10px;font-style:normal;margin-left:4px;font-weight:400}.dash-health-grid864 small{font-size:10px;color:#8495a5;display:block}.dash-foot864{font-size:10px;line-height:1.65;color:#8495a5;display:block;margin-top:11px}.dash-empty864{text-align:center;padding:26px 0;color:#8c9bad;font-size:12px}.dash-operations-only864{max-width:850px}.dash-customers864 .dash-rank-row864,.dash-suppliers864 .dash-rank-row864{margin-bottom:24px}
@media(min-width:1500px){.dash-rank-list864{max-height:475px}.dash-layout864{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(170px,1fr)) minmax(180px,1fr)}}
@media(max-width:1190px){.dash-layout864{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"kpis kpis" "main main" "left right" "customers suppliers" "trend health"}.dash-rank-list864{max-height:290px}.dash-kpi864 strong{font-size:25px}}
@media(max-width:700px){.dash-toolbar864{align-items:flex-start;flex-direction:column}.dash-filters864{width:100%;flex-wrap:wrap}.dash-filters864 select{min-width:95px}.dash-layout864{display:flex;flex-direction:column}.dash-kpis864{gap:7px}.dash-kpi864{padding:12px 8px!important}.dash-kpi864 strong{font-size:19px}.dash-kpi864>span{font-size:10px}.dash-panel864{padding:14px!important}#dash-main-chart864{min-height:0}}
/* RC8.66: freeze the header group so column resize handles keep their cell-relative anchor.
   The older per-cell sticky rule was overridden by the resize layer's relative th rule. */
.table-wrap{position:relative;isolation:isolate}
.table-wrap table>thead{position:sticky;top:0;z-index:8;background:#eef3f8;box-shadow:0 1px 0 #d9e2ec}
.table-wrap table>thead>tr>th,.table-wrap table>thead>tr>td{position:relative!important;top:auto;background:#eef3f8}
@media print{.table-wrap{overflow:visible!important;max-height:none!important;height:auto!important;isolation:auto}.table-wrap table>thead{position:static;box-shadow:none}}
