
:root{--blue:#00516f;--red:#ed1c24;--bg:#f4f7f9;--text:#17313b;--muted:#66757c;--line:#d9e0e4;--white:#fff;--warn:#a15c00;--green:#157347}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd5da;border-radius:7px;background:#fff;font:inherit}textarea{min-height:90px}.app-shell{display:flex;min-height:100vh}.sidebar{width:225px;background:var(--blue);color:#fff;padding:20px 14px;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:10px;align-items:center;padding:0 8px 22px}.brand b{display:block;letter-spacing:.6px}.brand span{display:block;font-size:11px;opacity:.75}.brand-mark{width:54px;height:54px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.brand-mark.small{width:38px;height:38px;border-radius:10px;font-size:21px}.sidebar nav a{display:block;color:#dce9ee;padding:11px 12px;border-radius:8px;margin:3px 0;font-weight:600;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.14);color:#fff}.main{margin-left:225px;width:calc(100% - 225px);padding:0 28px 40px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:24px}.topbar h1{font-size:23px;margin:0}.userbox{font-size:14px}.userbox span{background:#e5edf0;border-radius:999px;padding:4px 8px;margin:0 8px;font-size:11px;text-transform:uppercase}.hero{background:linear-gradient(110deg,#00516f,#0b6988);color:#fff;border-radius:14px;padding:28px;margin-bottom:20px}.hero h2{margin:0 0 6px}.hero p{margin:0;opacity:.88}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi,.panel,.action-card,.series-card,.detail,.doc-card{background:#fff;border:1px solid #e0e6e9;border-radius:11px;box-shadow:0 2px 7px rgba(0,0,0,.035)}.kpi{padding:19px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{font-size:28px;color:var(--blue)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}.action-card{padding:20px;color:var(--text)}.action-card b{display:block;color:var(--blue);font-size:17px;margin-bottom:6px}.action-card span{font-size:13px;color:var(--muted)}.panel{padding:20px;margin-bottom:18px}.panel h2,.panel h3{margin-top:0}.series-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-bottom:18px}.series-card{padding:14px;color:var(--text)}.series-card b{display:block;color:var(--blue);font-size:18px}.series-card span,.series-card em{display:block;font-size:11px;color:var(--muted);font-style:normal;margin-top:3px}.series-card.selected{outline:2px solid var(--blue)}.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:15px}.toolbar.wrap{flex-wrap:wrap}.toolbar input{min-width:240px;flex:1}.toolbar select{width:auto;min-width:135px}.btn{border:1px solid #c8d2d7;background:#fff;color:var(--text);padding:9px 14px;border-radius:7px;font-weight:700;cursor:pointer;font:inherit}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#eef3f5;color:#53666f;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid #edf1f3;vertical-align:top}.empty{padding:24px;text-align:center;color:var(--muted);background:#f8fafb;border:1px dashed #cdd8dc;border-radius:9px}.tank-head{display:flex;justify-content:space-between;align-items:flex-start}.tank-head h2{font-size:27px;margin:7px 0}.pill{background:#dcebf1;color:var(--blue);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.detail{padding:15px}.detail span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.detail strong{font-size:16px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px}.doc-card{padding:14px;color:var(--text)}.doc-card b,.doc-card span,.doc-card small{display:block}.doc-card b{color:var(--blue);font-size:12px}.doc-card span{font-weight:700;margin:5px 0}.doc-card small{color:var(--muted)}.generator-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.stack label{font-size:12px;font-weight:700;color:#53666f}.form-grid label input,.form-grid label select,.stack label input,.stack label select,.stack label textarea{margin-top:5px}.form-grid .full{grid-column:1/-1}.stack{display:grid;gap:12px}.generated-code{font-family:Consolas,monospace;background:#eef4f6;color:var(--blue);font-size:22px;padding:14px;border-radius:8px;margin:8px 0 14px;word-break:break-all}.eyebrow{text-transform:uppercase;letter-spacing:.8px;font-size:11px;color:var(--muted);font-weight:800}.status{padding:12px;border-radius:8px;margin-bottom:12px;font-size:13px}.status.neutral{background:#eef3f5}.status.success{background:#e7f4ed;color:var(--green)}.status.warn{background:#fff1d9;color:var(--warn)}.status.danger,.alert.danger{background:#fde8e8;color:#8d1720}.alert.success{background:#e7f4ed;color:var(--green)}.alert{padding:12px 14px;border-radius:8px;margin-bottom:15px}.match-card{border:1px solid var(--line);border-radius:8px;padding:10px;margin:7px 0}.match-card b,.match-card span{display:block}.match-card span{font-size:12px;color:var(--muted);margin-top:3px}.tool-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.tool-tabs button{border:1px solid #cad6da;background:#fff;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer}.tool-tabs button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.tool-panel{display:none}.tool-panel.active{display:block}.result-box{background:#f1f6f8;border-left:4px solid var(--blue);padding:14px;margin-top:15px;white-space:pre-line;min-height:50px}.muted{color:var(--muted);font-size:12px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#004b67,#0d6b8a)}.login-card,.install-card{width:min(430px,92vw);background:#fff;border-radius:16px;padding:30px;box-shadow:0 20px 55px rgba(0,0,0,.2)}.login-card{text-align:center}.login-card .brand-mark{margin:0 auto 12px}.login-card h1{margin:0}.login-card p{color:var(--muted);margin-top:5px}.install-card{width:min(560px,92vw)}code{background:#eef3f5;padding:2px 5px;border-radius:4px}
@media(max-width:950px){.sidebar{width:190px}.main{margin-left:190px;width:calc(100% - 190px);padding:0 16px 30px}.kpi-grid,.card-grid{grid-template-columns:1fr 1fr}.generator-layout,.admin-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.main{margin:0;width:100%}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.brand{padding-bottom:8px}.kpi-grid,.card-grid,.detail-grid,.form-grid{grid-template-columns:1fr}.topbar{height:auto;padding:15px 0;gap:10px;align-items:flex-start}.userbox{font-size:12px}}

.page-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.page-actions h2,.page-actions h3{margin:0 0 4px}.page-actions.compact{margin-bottom:8px}
.project-chart-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.task-charts{grid-template-columns:1.1fr 1fr 1fr}.chart-card{margin-bottom:0}.chart-card h3{font-size:14px;margin-bottom:12px}
.big-progress strong{font-size:32px;color:var(--blue);display:block;margin:8px 0}.big-progress small{display:block;color:var(--muted);margin-top:8px}.progress-track{height:9px;background:#e8eef1;border-radius:999px;overflow:hidden}.progress-track span{height:100%;background:var(--blue);display:block;border-radius:999px}
.mini-bars>div{position:relative;display:grid;grid-template-columns:1fr 30px;gap:8px;align-items:center;margin:9px 0;padding-bottom:5px}.mini-bars span{font-size:11px;color:#53666f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-bars b{text-align:right;font-size:12px}.mini-bars i{grid-column:1/-1;height:5px;background:#e8eef1;border-radius:999px;overflow:hidden}.mini-bars i:after{content:"";display:block;height:100%;width:100%;background:var(--blue);transform-origin:left}.mini-bars i{background:linear-gradient(90deg,var(--blue) 0 var(--bar,100%),#e8eef1 var(--bar,100%))}
.status-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#eaf1f4;color:var(--blue);font-size:11px;font-weight:700;white-space:nowrap}.health-pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:700}.health-on-track{background:#e7f4ed;color:#157347}.health-at-risk{background:#fff1d9;color:#a15c00}.health-delayed{background:#fde8e8;color:#8d1720}
.table-progress{min-width:90px}.table-progress span{font-size:11px;font-weight:700}.table-progress i{display:block;height:5px;background:#e8eef1;border-radius:999px;overflow:hidden;margin-top:4px}.table-progress i b{display:block;height:100%;background:var(--blue)}
.project-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.project-summary-grid .wide{grid-column:span 2}
.two-col{display:grid;grid-template-columns:1.6fr .8fr;gap:18px}.task-list{display:grid;gap:9px}.task-card{border:1px solid var(--line);border-radius:9px;background:#fff}.task-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px}.task-card summary::-webkit-details-marker{display:none}.task-card summary div:first-child b,.task-card summary div:first-child span{display:block}.task-card summary div:first-child span{font-size:11px;color:var(--muted);margin-top:3px}.task-card summary div:last-child{display:flex;gap:8px;align-items:center}.task-edit{padding:12px;border-top:1px solid var(--line);background:#fafcfd}.priority{padding:3px 6px;border-radius:999px;font-size:10px;font-weight:800}.priority-low{background:#e7f4ed;color:#157347}.priority-medium{background:#fff1d9;color:#a15c00}.priority-high{background:#fde8e8;color:#8d1720}
.checkline{display:flex!important;align-items:center;gap:8px!important;font-size:13px!important}.checkline input{width:auto!important;margin:0!important}.form-actions{display:flex;justify-content:flex-end;gap:8px}.project-edit{margin-top:15px}.kpi-grid-7{grid-template-columns:repeat(7,1fr)}.kpi-grid-7 .kpi{padding:15px}.kpi-grid-7 .kpi strong{font-size:25px}
@media(max-width:1200px){.project-chart-grid,.kpi-grid-7{grid-template-columns:repeat(2,1fr)}.project-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.two-col{grid-template-columns:1fr}.project-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.project-chart-grid,.task-charts,.project-summary-grid,.kpi-grid-7{grid-template-columns:1fr}.page-actions{flex-direction:column}.project-summary-grid .wide{grid-column:auto}.task-card summary{align-items:flex-start;flex-direction:column}}

.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}
.permission-grid label{display:flex;align-items:center;gap:7px;font-size:12px}.permission-grid input{width:auto;margin:0}.full-admin{grid-column:1/-1}.small-btn{padding:5px 8px;font-size:11px}

/* Standard list/table behaviour */
.smart-table{table-layout:auto;min-width:max-content}.smart-table th,.smart-table td{min-width:80px;max-width:420px}
.col-resizer{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize;z-index:3}
.context-menu{display:none;position:fixed;z-index:99999;min-width:245px;background:#fff;border:1px solid #cfd8dc;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;font-size:13px}
.ctx-item{position:relative;padding:9px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;white-space:nowrap}.ctx-item:hover{background:#edf4f7}.ctx-sep{height:1px;background:#e6ecef;margin:4px}
.ctx-submenu{display:none;position:absolute;left:100%;top:-6px;min-width:240px;max-height:min(70vh,560px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;border:1px solid #cfd8dc;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.16);padding:8px}
.ctx-columns:hover .ctx-submenu{display:block}.ctx-submenu label{display:flex;gap:8px;padding:6px;align-items:center}.ctx-submenu input{width:auto}.danger-text{color:#a71920}.disabled{opacity:.4;cursor:not-allowed}
.star-btn{border:0;background:transparent;font-size:22px;cursor:pointer;line-height:1;color:#82939b}.star-btn.active{color:#d59a00}.favorite-active{border-color:#d59a00;color:#8b6500;background:#fff7d9}
.nav-section-title{font-size:10px;letter-spacing:1px;opacity:.65;padding:18px 12px 5px}.sidebar nav a.quick-project{font-size:12px;padding:7px 12px;color:#fff3bd}
.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.head-actions form{margin:0}

.status-in-engineering{background:#ffe8cc;color:#9a4f00}.status-in-production{background:#fff0a8;color:#765b00}.status-dispatched{background:#d9f3df;color:#11642c}.status-completed{background:#bfe8cf;color:#075c2b}.status-on-hold{background:#ffd9dc;color:#9a1d27}.status-order-received{background:#dcebf7;color:#155b86}.status-enquiry,.status-quoted{background:#e8eef2;color:#53666f}.status-installation,.status-commissioning{background:#dcd8ff;color:#5144a5}.status-cancelled{background:#e1e1e1;color:#555}.status-not-started{background:#e8eef2;color:#53666f}.status-in-progress{background:#ffe8cc;color:#9a4f00}.status-awaiting-information{background:#fff0a8;color:#765b00}
.dashboard-canvas{position:relative;height:620px;border:1px dashed #ccd8dd;border-radius:12px;background-image:linear-gradient(#edf2f4 1px,transparent 1px),linear-gradient(90deg,#edf2f4 1px,transparent 1px);background-size:20px 20px;margin-bottom:10px;overflow:hidden}.dash-widget{background:#fff;border:1px solid #dce4e8;border-radius:11px;box-shadow:0 3px 12px rgba(0,0,0,.06);padding:16px;user-select:none;overflow:hidden}.kpi-widget span{display:block;color:var(--muted);font-size:13px}.kpi-widget strong{display:block;font-size:34px;color:var(--blue);margin-top:10px}.chart-widget canvas{width:100%;height:calc(100% - 30px)}.widget-head{display:flex;justify-content:space-between;align-items:center;height:26px}.widget-config{border:0;background:transparent;cursor:pointer}.resize-grip{position:absolute;right:3px;bottom:3px;width:16px;height:16px;cursor:nwse-resize;border-right:2px solid #9babb2;border-bottom:2px solid #9babb2}.dashboard-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:18px}
.simple-page{max-width:1100px;margin:30px auto;padding:0 20px}.inline-form{display:inline}.link-btn{border:0;background:transparent;padding:0;cursor:pointer;font:inherit;text-decoration:underline}.mini-form{min-width:280px;padding:10px}.part-match{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:8px;border-radius:7px;margin:4px 0;cursor:pointer}.part-match b,.part-match span{display:block}.part-match span{font-size:11px;color:var(--muted)}
.weld-panel,.checklist-panel{display:none}.weld-panel.active,.checklist-panel.active{display:block}.check-standard{color:var(--blue);margin-top:22px}.check-section{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:12px 0}.check-section h4{margin:0;background:var(--blue);color:#fff;padding:9px 12px}.check-head,.check-row{display:grid;grid-template-columns:55px minmax(300px,1.5fr) 140px minmax(220px,1fr);gap:8px;align-items:start;padding:8px}.check-head{background:#edf3f5;font-size:12px}.check-row{border-top:1px solid #edf1f3}.check-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.check-row .check-done{width:auto;margin:5px auto}.bom-layout{grid-template-columns:1.4fr .6fr}

.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.doc-card{border:1px solid var(--line);border-radius:10px;padding:15px;background:#fff}.doc-card h3{margin:10px 0 6px}.doc-card p{color:var(--muted);min-height:36px}.doc-sub{font-size:11px;color:var(--muted);margin-left:7px}.doc-meta{display:flex;gap:12px;font-size:12px;color:var(--muted);margin:8px 0}.doc-actions{display:flex;gap:8px;align-items:center}.doc-actions form{margin:0}.upload-details{margin:10px 0 16px}.upload-details summary{cursor:pointer;color:var(--blue);font-weight:600}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center}

.app-version-badge{position:absolute;left:14px;bottom:12px;font-size:10px;letter-spacing:.2px;opacity:.58;color:#fff}
.sidebar{position:relative}

/* v6.3 layout alignment */
.main{margin-left:225px;width:auto;min-width:0;flex:1;padding:0 24px 40px}
.topbar,.hero,.panel,.page-actions,.dashboard-toolbar,.dashboard-canvas,.series-grid,.project-chart-grid,.card-grid,.register-launch-grid,.library-category-strip{max-width:100%}
.wide-simple{max-width:1280px}

/* tank attachments */
.attachment-layout{grid-template-columns:1fr 1fr;gap:16px}.attached-file{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px}.attached-file small{display:block;color:var(--muted);margin-top:3px}

/* dashboard v6.3 */
.clean-dashboard{background:#f7f9fa;background-image:none!important;min-height:640px;height:640px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.compact-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.light-btn{background:#fff;color:var(--blue);border-color:#fff}
.dash-widget{background:#fff;border:1px solid #dce4e8;border-radius:11px;box-shadow:0 2px 8px rgba(0,0,0,.055);padding:14px;user-select:none;overflow:hidden;transition:box-shadow .12s ease,border-color .12s ease}
.dash-widget:hover{border-color:#b7c7cd}.dash-widget.dragging{box-shadow:0 10px 26px rgba(0,0,0,.15);z-index:20}.dash-widget[data-color="navy"]{background:#f6fbfd;border-top:4px solid #00516f}.dash-widget[data-color="steel"]{background:#f7f9fa;border-top:4px solid #637680}.dash-widget[data-color="green"]{background:#f4fbf6;border-top:4px solid #157347}.dash-widget[data-color="amber"]{background:#fffbf0;border-top:4px solid #a66d00}.dash-widget[data-color="red"]{background:#fff6f6;border-top:4px solid #b4232a}.dash-widget[data-color="purple"]{background:#f8f6fd;border-top:4px solid #6553a6}.dash-widget[data-color="white"]{background:#fff;border-top:4px solid #dbe5e9}
.widget-head{display:flex;align-items:center;justify-content:space-between;gap:10px;height:34px;cursor:move}.widget-head b{font-size:14px}.widget-actions{display:flex;gap:5px}.widget-config,.widget-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d6e0e4;background:#fff;border-radius:7px;font-size:17px;line-height:1;cursor:pointer;color:#415760}.widget-config:hover{background:#edf4f7}.widget-close{font-size:22px}.widget-close:hover{background:#fff0f0;color:#a71920;border-color:#efc6c8}
.kpi-body{display:flex;flex-direction:column;justify-content:center;height:calc(100% - 34px)}.kpi-body strong{font-size:36px;color:var(--widget-accent,#00516f)}.kpi-body span{font-size:12px;color:var(--muted);margin-top:5px}
.chart-body{display:grid;grid-template-columns:minmax(210px,2.1fr) minmax(150px,1fr);height:calc(100% - 34px);gap:12px;align-items:stretch}.chart-body canvas{width:100%;height:100%;min-height:145px}.chart-insight{border-left:1px solid #e3eaed;padding:8px 4px 6px 12px;font-size:11px;overflow:auto}.chart-insight p{margin:0 0 8px;line-height:1.4;color:#475d66}.chart-legend{display:grid;gap:4px}.legend-row{display:grid;grid-template-columns:9px 1fr auto;gap:6px;align-items:center}.legend-row i{width:9px;height:9px;border-radius:2px}.legend-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-row b{font-size:10px}
.resize-grip{position:absolute;right:4px;bottom:4px;width:18px;height:18px;cursor:nwse-resize;border-right:2px solid #8fa3ac;border-bottom:2px solid #8fa3ac}
.dashboard-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 10px}

/* modal windows */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(19,38,46,.42);z-index:100000;align-items:center;justify-content:center;padding:28px}.modal-overlay.open{display:flex}.modal-card{background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.24);padding:18px;width:min(720px,96vw);max-height:90vh;overflow:auto}.modal-wide{width:min(1450px,97vw)}.modal-user{width:min(900px,96vw)}.modal-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.modal-title h3{margin:0}.modal-x{width:34px;height:34px;border:0;background:#edf2f4;border-radius:8px;font-size:23px;cursor:pointer}.widget-settings-card{width:min(620px,95vw)}
.register-launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.register-launch-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:22px;text-align:left;cursor:pointer;color:var(--text)}.register-launch-card:hover{border-color:#9db4be;box-shadow:0 4px 13px rgba(0,0,0,.06)}.register-launch-card b,.register-launch-card span,.register-launch-card small{display:block}.register-launch-card b{font-size:18px;color:var(--blue)}.register-launch-card span{font-size:24px;font-weight:700;margin:8px 0}.register-launch-card small{color:var(--muted)}

/* admin access */
.access-block{border:1px solid var(--line);border-radius:9px;padding:12px}.access-block h4{margin:0 0 10px}.four-perms{grid-template-columns:repeat(4,1fr)}

/* document library */
.library-category-strip{display:flex;gap:8px;overflow-x:auto;margin:10px 0 14px;padding-bottom:4px}.library-cat{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:600}.library-cat.active{background:var(--blue);color:#fff;border-color:var(--blue)}.library-list{display:grid}.library-row{display:grid;grid-template-columns:52px minmax(260px,1.8fr) minmax(180px,.8fr) auto;gap:14px;align-items:center;padding:12px 5px;border-top:1px solid #edf1f3}.library-row:first-child{border-top:0}.library-icon{width:44px;height:44px;border-radius:9px;background:#eaf1f4;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:800}.library-main b,.library-main span,.library-main small{display:block}.library-main span{color:#475d66;font-size:12px;margin-top:3px}.library-main small{color:var(--muted);margin-top:3px}.library-tags{display:flex;gap:5px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted)}.library-heading{display:flex;justify-content:space-between;align-items:center}.document-library-controls{margin-bottom:10px}

/* Remove old grid style entirely */
.dashboard-canvas{background-image:none}

/* Responsive */
@media(max-width:1000px){.chart-body{grid-template-columns:1fr}.chart-insight{border-left:0;border-top:1px solid #e3eaed}.attachment-layout,.register-launch-grid{grid-template-columns:1fr}.four-perms{grid-template-columns:1fr 1fr}.library-row{grid-template-columns:44px 1fr auto}.library-tags{display:none}}

/* v6.4 workspace alignment — fixed sidebar must not also consume flex width */
.app-shell{display:block!important;min-height:100vh}
.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:225px!important;z-index:100;display:flex!important;flex-direction:column;overflow:hidden}
.sidebar .brand{flex:0 0 auto}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.32);border-radius:10px}.sidebar-footer{flex:0 0 auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)}
.main{display:block!important;margin-left:225px!important;width:calc(100% - 225px)!important;max-width:none!important;padding:0 24px 40px!important}
.main>*{margin-left:0;margin-right:0}
.topbar{width:100%}

/* Dashboard chart label clearance */
.chart-body canvas{min-width:0}
.chart-widget{min-width:360px}

/* Drawing register main-window toggles */
.register-toggle-bar{display:flex;gap:8px;margin-bottom:14px}
.register-view{display:none}
.register-view.active{display:block}
.modal-wide-form{width:min(900px,96vw)}

/* Reports */
.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:16px}
.report-kpis .detail strong{font-size:25px;color:var(--blue)}
.warning-card{border-left:4px solid #b4232a}
.warning-card strong{color:#b4232a!important}
.report-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;margin-bottom:18px}
.report-card{margin-bottom:0}

/* Pipe data */
[data-table-key="pipe-data"] td,[data-table-key="pipe-data"] th{white-space:nowrap}

/* responsive workspace */
@media(max-width:1200px){
 .report-kpis{grid-template-columns:repeat(3,1fr)}
 .report-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
 .sidebar{width:190px!important}
 .main{margin-left:190px!important;width:calc(100% - 190px)!important;padding-left:14px!important;padding-right:14px!important}
 .report-kpis,.report-grid{grid-template-columns:1fr}
}

/* v6.5 Fuelco branding */
.fuelco-brand{display:flex;align-items:center;gap:9px}.fuelco-brand img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}.login-logo{display:block;width:min(360px,90%);height:auto;object-fit:contain;margin:0 auto 16px}.branded-login{width:min(470px,92vw);padding:28px}.branded-login h1{margin-bottom:2px}.login-links{margin-top:12px;text-align:center}.login-links a{font-size:12px}.dev-login-note{margin-top:16px;padding:8px 10px;background:#f3f6f7;border-radius:7px;color:var(--muted);font-size:11px}

/* Engineering parent menu */
.nav-group{margin:2px 0}.nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;color:#fff;border-radius:7px;font-size:12px;font-weight:600}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover,.nav-group summary.active-parent{background:rgba(255,255,255,.1)}.nav-group summary span{font-size:10px;transition:transform .15s}.nav-group[open] summary span{transform:rotate(180deg)}.nav-submenu{padding:3px 0 4px 10px}.sidebar nav .nav-submenu a{padding:7px 10px 7px 18px;font-size:11px;border-left:1px solid rgba(255,255,255,.2);border-radius:0 6px 6px 0}

/* Light column separators across the app */
.smart-table thead th,table thead th{border-right:1px solid #dfe7ea}.smart-table thead th:last-child,table thead th:last-child{border-right:0}
.smart-table tbody td,table tbody td{border-right:1px solid #f0f3f4}.smart-table tbody td:last-child,table tbody td:last-child{border-right:0}

/* Parts selection and batch editing */
.select-col{width:34px!important;min-width:34px!important;text-align:center}.select-col input{width:auto;margin:0}
.batch-summary{padding:10px;background:#f6f8f9;border:1px solid var(--line);border-radius:8px}.batch-field>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;margin-bottom:5px}.batch-field>span input{width:auto;margin:0}

/* Dashboard saved views */
.dashboard-view-toolbar{flex-wrap:wrap}.view-select-label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.view-select-label select{min-width:130px}.dashboard-help{margin:-2px 0 10px;font-size:11px}

/* Login page polishing */
.login-bg{min-height:100vh;display:grid;place-items:center;background:#f3f6f7;padding:24px}
.login-card{background:#fff;border:1px solid #dce4e8;border-radius:14px;box-shadow:0 15px 45px rgba(0,0,0,.12);text-align:center}.login-card form{text-align:left}

/* Password reset table */
[data-table-key="password-resets"] input{min-width:160px}

/* v6.6 universal row/list selection */
.selectable-row,.selectable-list-row{cursor:default}
.selectable-row.row-selected>td{background:#dcecf4!important;box-shadow:inset 0 1px #9fc5d5,inset 0 -1px #9fc5d5}
.selectable-list-row.row-selected{background:#dcecf4!important;outline:1px solid #9fc5d5;border-radius:6px}
.selectable-row.row-selected>td:first-child{box-shadow:inset 3px 0 var(--theme-accent,#00516f),inset 0 1px #9fc5d5,inset 0 -1px #9fc5d5}

/* Project KPI settings */
.project-kpi-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.project-kpi-head h3,.project-kpi-head .eyebrow{margin:0}.project-kpi-settings{width:28px;height:28px;border:1px solid #d8e2e6;background:#fff;border-radius:6px;cursor:pointer;font-size:15px}.project-kpi-settings:hover{background:#edf4f7}.project-kpi-card .mini-bars i,.project-kpi-card .progress-track span{background:var(--project-chart-color,#00516f)}

/* Sidebar customization button */
.sidebar-customize-btn,.sidebar-bored-btn{position:static!important;display:block;width:100%!important;height:34px;margin:5px 0 0!important;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:#fff;border-radius:7px;cursor:pointer;font-size:11px;font-weight:600}.sidebar-customize-btn:hover,.sidebar-bored-btn:hover{background:rgba(255,255,255,.16)}
.app-version-badge{position:static!important;display:block;text-align:center;padding:8px 0 0}

/* Theme variables */
body{background:var(--theme-workspace,#f4f7f8)!important;color:var(--theme-font,#17313b)!important;font-family:var(--theme-family,"Segoe UI",Arial,sans-serif)!important}
.sidebar{background:var(--theme-menu,#00516f)!important}
.topbar{background:var(--theme-header,#ffffff)!important;color:var(--theme-font,#17313b)!important}
.btn.primary,.library-cat.active,.check-section h4{background:var(--theme-accent,#00516f)!important;border-color:var(--theme-accent,#00516f)!important}
a{color:var(--theme-accent,#00516f)}
.sidebar a,.sidebar summary,.sidebar-customize-btn{font-family:var(--theme-family,"Segoe UI",Arial,sans-serif)!important}
.main{background:var(--theme-workspace,#f4f7f8)}
.customize-card{width:min(700px,95vw)}.customize-card input[type="color"]{height:42px;padding:3px}.theme-preview{padding:10px;border:1px solid var(--line);border-radius:8px;background:#f7f9fa;color:var(--muted)}

/* Library edit polish */
.library-row .head-actions{justify-content:flex-end}

/* v6.7 Navigation consistency */
.nav-group summary{font-size:inherit!important;font-weight:600}
.sidebar nav>a,.nav-group summary{font-size:12px!important}
.sidebar nav .nav-submenu a.active{background:rgba(255,255,255,.22)!important;color:#fff!important;border-left-color:#fff!important;box-shadow:inset 3px 0 rgba(255,255,255,.85)}

/* Center-screen success / warning notifications */
.flash-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:200000;min-width:320px;max-width:min(620px,88vw);display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 17px;border-radius:12px;background:#fff;box-shadow:0 22px 65px rgba(0,0,0,.24);border:1px solid #dce4e8;animation:notice-in .16s ease-out}
.flash-toast.success{border-left:5px solid #157347}.flash-toast.danger{border-left:5px solid #b4232a}.flash-toast.warning{border-left:5px solid #a66d00}
.flash-toast b,.flash-toast span{display:block}.flash-toast b{margin-bottom:4px}.flash-toast span{font-size:13px;line-height:1.4}.flash-toast button{border:0;background:#edf2f4;width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:18px;flex:0 0 auto}
@keyframes notice-in{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Project register inline editing */
.inline-project-cell{cursor:cell;min-width:105px}.inline-project-cell:hover{background:#eef6f9!important}.inline-edit-select{width:100%;min-width:120px;padding:5px 6px;border:1px solid var(--theme-accent,#00516f);border-radius:5px;background:#fff;font-size:11px}
.project-number-link{white-space:nowrap}

/* Project KPI settings now control widget and chart colours */
.project-kpi-card{transition:background .15s ease}.project-kpi-card .mini-bars i,.project-kpi-card .progress-track span{background:var(--project-chart-color,#00516f)}

/* Weekly Projects Meeting */
.weekly-meeting-intro{display:flex;align-items:center;gap:20px}.weekly-meeting-intro>div{min-width:150px}.weekly-meeting-intro span{display:block;font-size:20px;font-weight:700;color:var(--theme-accent,#00516f);margin-top:3px}
.weekly-note-preview{max-width:420px;white-space:normal;line-height:1.35}.weekly-note-cell{min-width:330px;white-space:pre-wrap;line-height:1.4}
.weekly-progress-panel{margin-top:16px}

/* Document Library now uses the same smart-table typography and behavior */
[data-table-key="document-library"] th,[data-table-key="document-library"] td{font:inherit}
[data-table-key="document-library"] td{vertical-align:middle}

/* v9.7 universal professional list/dialog behaviour */
.smart-table th{cursor:grab}.smart-table th.col-dragging{opacity:.45}.smart-table th.col-drop-target{box-shadow:inset 3px 0 var(--theme-accent,#00516f)}
.row-primary-edit{border:0;background:transparent;color:var(--theme-accent,#00516f);font:inherit;font-weight:700;padding:0;cursor:pointer;text-align:left}.row-primary-edit:hover{text-decoration:underline}
.custom-value-cell{cursor:cell;min-width:120px}.custom-value-cell:hover{background:#eef6f9!important}.custom-value-input{width:100%;min-width:120px;padding:5px 7px}
.modal-overlay{overflow:auto;align-items:flex-start!important;padding-top:5vh!important}.modal-card{resize:both;min-width:360px;min-height:180px;max-width:96vw!important;max-height:92vh!important}.modal-title{cursor:move;user-select:none}.modal-title button,.modal-title a{cursor:pointer}.modal-card.modal-moving{opacity:.97;box-shadow:0 30px 85px rgba(0,0,0,.32)!important}
.batch-user-select{width:34px!important;min-width:34px!important;text-align:center}.batch-permission-note{padding:10px 12px;background:#fff7d9;border:1px solid #ead28a;border-radius:8px;color:#6d5700}
.table-help{margin:-7px 0 12px}.live-filter-form .filter-submit{display:none!important}

/* v6.8 widget edit/close controls: simple pencil and close glyphs, no surrounding border */
.widget-config,.widget-close,.project-kpi-settings{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.widget-config,.project-kpi-settings{font-size:18px!important;color:#50646d!important}
.widget-close{font-size:23px!important;color:#65777e!important}
.widget-config:hover,.project-kpi-settings:hover,.widget-close:hover{background:transparent!important;color:var(--theme-accent,#00516f)!important}

/* Fix project mini-bar customization: the original :after overlay must use the selected colour too */
.project-kpi-card .mini-bars i:after{background:var(--project-chart-color,#00516f)!important}
.project-kpi-card .mini-bars i{background:linear-gradient(90deg,var(--project-chart-color,#00516f) 0 var(--bar,100%),#e8eef1 var(--bar,100%))!important}

/* Tank tile customization */
.tank-tile-customize{margin-left:auto}.tank-color-list{display:grid;gap:8px;max-height:58vh;overflow:auto;margin-bottom:16px}.tank-color-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.tank-color-row b,.tank-color-row span{display:block}.tank-color-row span{font-size:11px;color:var(--muted)}.tank-color-row label{font-size:11px}.tank-color-row input[type="color"]{width:100%;height:34px;padding:2px}

/* Login uses Fuelco icon as a watermark rather than the full banner */
.branded-login{position:relative;overflow:hidden;background:rgba(255,255,255,.94)!important}
.login-watermark{position:absolute;width:78%;max-width:340px;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.18;mix-blend-mode:multiply;pointer-events:none;user-select:none}
.login-content{position:relative;z-index:2}
.login-logo{display:none!important}

/* Weekly permission / project-lead forms */
select:disabled{background:#eef2f4;color:#68777d;cursor:not-allowed}

/* Standard Build / Document Library double-click edit affordance */
[data-table-key="standard-builds"] tbody tr,[data-table-key="document-library"] tbody tr{cursor:default}
[data-table-key="standard-builds"] tbody tr:hover,[data-table-key="document-library"] tbody tr:hover{background:#f4f8fa}

/* v6.9 expanded appearance customization */
body{font-size:var(--theme-font-size,13px)!important}
.sidebar{width:var(--theme-sidebar-width,225px)!important}
.main{margin-left:var(--theme-sidebar-width,225px)!important;width:calc(100% - var(--theme-sidebar-width,225px))!important}
.panel,.dash-widget,.detail,.series-card,.doc-card,.register-launch-card,.modal-card,.login-card{background:var(--theme-panel,#fff)!important;border-radius:var(--theme-radius,8px)!important;box-shadow:var(--theme-shadow,0 2px 8px rgba(0,0,0,.055))}
.smart-table thead th,table thead th{background:var(--theme-table-header,#eef3f5)!important}
.muted,small,.sidebar .nav-section-title{color:var(--theme-muted,#68777d)}
:root[data-density="compact"] .smart-table td,:root[data-density="compact"] .smart-table th{padding-top:5px!important;padding-bottom:5px!important}
:root[data-density="standard"] .smart-table td,:root[data-density="standard"] .smart-table th{padding-top:8px!important;padding-bottom:8px!important}
:root[data-density="comfortable"] .smart-table td,:root[data-density="comfortable"] .smart-table th{padding-top:12px!important;padding-bottom:12px!important}

/* BOM Generator */
.bom-link-btn{font-weight:700}
.bom-generator-top{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
.linked-build-note{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:var(--theme-radius,8px);background:#f7fafb}
.reference-file-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:var(--theme-radius,8px);margin-bottom:12px}
.compact-empty{padding:16px;margin-bottom:12px}.bom-part-preview{padding:12px;border:1px solid var(--line);border-radius:8px;background:#f6f9fa;line-height:1.5}
#bomPartSelect{min-height:220px;width:100%;font-family:inherit}
.bom-qty-inline-form{margin:0;min-width:60px}.bom-qty-display{display:inline-block;min-width:42px;padding:3px 2px;cursor:text;font-weight:600}.bom-qty-display:hover{background:#eef6f8;border-radius:3px}.bom-qty-editor{width:72px;min-width:56px;padding:3px 2px;border:0!important;border-bottom:1px solid var(--accent,#1d6b82)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none;text-align:left}
.tiny-btn{padding:4px 7px!important;font-size:10px!important}
[data-table-key="generated-bom-items"] td,[data-table-key="generated-bom-items"] th{white-space:nowrap}
[data-table-key="generated-bom-items"] td:nth-child(3){white-space:normal;min-width:220px}
.customize-card{width:min(820px,96vw)}

@media(max-width:850px){
  .bom-generator-top{grid-template-columns:1fr}
}

/* v7.0 dashboard right-click views */
.dashboard-context-menu{position:fixed;z-index:300000;width:230px;background:#fff;border:1px solid #d8e1e5;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:5px;font-size:12px}
.dashboard-context-menu .ctx-title{padding:7px 9px;font-weight:700;color:#42565e}
.dashboard-context-menu .ctx-item{padding:8px 9px;border-radius:5px;cursor:pointer}.dashboard-context-menu .ctx-item:hover{background:#edf4f7}.dashboard-context-menu .ctx-current{font-weight:700;color:var(--theme-accent,#00516f)}
.dashboard-context-menu .ctx-sep{height:1px;background:#e6ecee;margin:4px}

/* resizable Weekly Projects Meeting update popup */
#weeklyMeetingModal .modal-card{resize:both;overflow:auto;min-width:560px;min-height:430px;max-width:96vw;max-height:92vh}

/* project edit */
#editProjectModal .modal-card{width:min(960px,96vw)}

/* consolidated Tasks dashboard */
.task-dashboard-wrap{margin-bottom:16px}
.task-dashboard-canvas{position:relative;min-height:700px;border:1px solid var(--line);border-radius:var(--theme-radius,10px);background:var(--theme-workspace,#f4f7f8);overflow:hidden}
.task-dash-widget{position:absolute;background:#fff;border:1px solid #dbe4e8;border-radius:10px;padding:13px;box-shadow:var(--theme-shadow,0 2px 8px rgba(0,0,0,.055));overflow:hidden;user-select:none}
.task-dash-widget.kpi strong{display:block;font-size:32px;color:var(--theme-accent,#00516f);margin:15px 0 4px}.task-dash-widget.kpi span{font-size:11px;color:var(--muted)}
.task-widget-head{height:30px;display:flex;justify-content:space-between;align-items:center;cursor:move}.task-widget-head b{font-size:13px}.task-widget-edit{border:0;background:transparent;font-size:17px;cursor:pointer;color:#52666f}
.task-dash-widget.chart canvas{width:100%;height:calc(100% - 62px);min-height:120px}.task-widget-insight{height:24px;font-size:10px;color:var(--muted);padding-top:4px}

/* file cells */
.file-cell .file-link{font-weight:600;text-decoration:underline;text-decoration-color:#b9c9cf;text-underline-offset:2px}

/* part files */
#part-files{margin-top:16px}

/* v7.1 Tasks Dashboard/List toggle */
.task-section-panel{display:none}
.task-section-panel.active{display:block}
.task-section-toggle{min-width:118px}
.task-section-toggle.active{background:var(--theme-accent,#00516f)!important;color:#fff!important;border-color:var(--theme-accent,#00516f)!important}
.task-dashboard-wrap{resize:vertical;overflow:auto;min-height:620px;max-height:1600px;padding-bottom:8px}
.task-dashboard-canvas{min-height:620px}
.task-dash-widget{transition:box-shadow .12s ease}
.task-dash-widget.moving{box-shadow:0 0 0 2px rgba(0,81,111,.18),0 12px 28px rgba(0,0,0,.12)!important}
.task-dash-widget .resize-grip{position:absolute;right:3px;bottom:3px;width:16px;height:16px;cursor:nwse-resize}
.task-dash-widget .resize-grip:after{content:"";position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-right:2px solid #9aacb4;border-bottom:2px solid #9aacb4}
.task-widget-insight{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v7.2 Part Generator: show only fields relevant to the selected part category */
#partGenerator .generator-field-hidden{display:none!important}

/* v7.2 chart axes need a little extra canvas room */
.chart-widget .chart-body canvas,.task-dash-widget.chart canvas{min-height:170px}

/* v7.3 password setup */
.password-page{min-height:100vh;display:grid;place-items:center}
.password-card{width:min(460px,92vw)}
.password-intro{margin:6px 0 18px;color:var(--muted);line-height:1.45}
.password-form label{position:relative;z-index:2}
.password-form small{display:block;margin-top:4px;color:var(--muted)}
.password-back{display:inline-block;margin-top:16px;font-size:12px}
.userbox a+a{margin-left:10px}

/* v7.4 tank tiles */
.series-card-wrap{position:relative;min-width:0}
.series-card-wrap .series-card{display:block;height:100%;background:var(--tank-tile-bg,var(--theme-panel,#fff))!important;color:var(--tank-tile-text,var(--theme-font,#17313b))!important}
.series-card-wrap .series-card b,.series-card-wrap .series-card span,.series-card-wrap .series-card em{color:var(--tank-tile-text,var(--theme-font,#17313b))!important}
.tank-tile-pencil{position:absolute;right:7px;top:7px;width:26px;height:26px;border:0;background:rgba(255,255,255,.72);border-radius:6px;cursor:pointer;font-size:15px;line-height:26px;padding:0;color:#4f626a;box-shadow:none}
.tank-tile-pencil:hover{background:rgba(255,255,255,.94);color:var(--theme-accent,#00516f)}
.series-manual-panel details{margin-top:14px}.series-manual-upload summary{cursor:pointer;font-weight:700;color:var(--theme-accent,#00516f);margin-bottom:12px}
.series-doc-card{padding:0!important;overflow:hidden}.series-doc-card>a{display:block;padding:14px;color:inherit}.series-doc-card form{padding:0 14px 12px}

/* v7.4 stable main dashboard workspace */
.main{overflow-x:auto}
.dashboard-canvas.clean-dashboard{min-width:1100px;flex:none}
.dashboard-canvas .dash-widget{will-change:left,top,width,height}
.dashboard-help{min-width:760px}

/* v7.4 task dashboard controls */
.task-dashboard-wrap{overflow:auto!important}
.task-dashboard-canvas{min-width:1100px}
.task-widget-actions{display:flex;align-items:center;gap:8px}
.task-widget-close,.task-widget-edit{border:0!important;background:transparent!important;padding:0!important;line-height:1;cursor:pointer;color:#52666f}
.task-widget-close{font-size:21px}.task-widget-close:hover,.task-widget-edit:hover{color:var(--theme-accent,#00516f)}

/* weekly history */
.weekly-history-card{width:min(980px,95vw);max-height:88vh;overflow:auto}
.weekly-history-list{display:grid;gap:10px}
.weekly-history-entry{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}
.weekly-history-entry p{white-space:pre-wrap;margin:0 0 8px;line-height:1.45}
.weekly-history-entry small{display:block;margin:5px 0;color:#53666f}
.weekly-history-date b,.weekly-history-date span{display:block}.weekly-history-date span{font-size:11px;color:var(--muted);margin-top:4px}
.weekly-history-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.weekly-history-tags span{padding:3px 7px;border-radius:12px;background:#edf3f5;font-size:10px}

/* getting bored */
.sidebar-bored-btn{position:absolute;left:10px;bottom:72px;width:calc(100% - 20px);height:34px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.07);color:#fff;border-radius:7px;cursor:pointer;font-size:11px;font-weight:600}
.sidebar-bored-btn:hover{background:rgba(255,255,255,.15)}
.sidebar a,.sidebar summary,.sidebar-customize-btn,.sidebar-bored-btn{font-family:var(--theme-family,"Segoe UI",Arial,sans-serif)!important}
.bored-card{width:min(520px,92vw)}
.bored-content{min-height:155px;padding:12px 4px;font-size:14px;line-height:1.55}
.bored-content p{padding:10px 12px;margin:7px 0;border-radius:9px}
.andrew-line{background:#eef5f8}.john-line{background:#f5f2eb}
.bored-work-message{text-align:center;padding:25px 10px}.bored-work-message b{font-size:19px}.bored-work-message p{background:transparent}

/* v7.5 resizable dashboard workspaces */
.dashboard-canvas.clean-dashboard{
  position:relative!important;
  width:100%;
  min-width:1100px!important;
  min-height:640px!important;
  overflow:auto!important;
  resize:both!important;
  box-sizing:border-box;
  padding-bottom:18px;
  padding-right:18px;
}
.dashboard-canvas.clean-dashboard::-webkit-resizer,
.task-dashboard-canvas::-webkit-resizer{
  background:linear-gradient(135deg,transparent 0 45%,#9fb0b7 46% 55%,transparent 56% 65%,#9fb0b7 66% 75%,transparent 76%);
}
.task-dashboard-wrap{overflow:auto!important}
.task-dashboard-canvas{
  position:relative!important;
  width:100%;
  min-width:1100px!important;
  min-height:620px!important;
  overflow:auto!important;
  resize:both!important;
  box-sizing:border-box;
  padding-bottom:18px;
  padding-right:18px;
}
/* Keep the page/background from painting over widgets that extend the workspace. */
.dashboard-canvas.clean-dashboard,.task-dashboard-canvas{isolation:isolate;z-index:1}
.dashboard-canvas .dash-widget,.task-dashboard-canvas .task-dash-widget{z-index:2}

/* v7.6 eight-way widget resize points: hidden until the cursor is over the widget */
.widget-resize-handle{
  position:absolute;
  z-index:30;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--theme-accent,#00516f);
  border:2px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .10s ease,transform .10s ease;
}
.dash-widget:hover .widget-resize-handle,
.task-dash-widget:hover .widget-resize-handle,
.dash-widget.resizing .widget-resize-handle,
.task-dash-widget.resizing .widget-resize-handle{
  opacity:.92;
  pointer-events:auto;
}
.widget-resize-handle:hover{transform:scale(1.22)}
.handle-nw{left:-5px;top:-5px;cursor:nwse-resize}
.handle-n{left:50%;top:-5px;transform:translateX(-50%);cursor:ns-resize}
.handle-n:hover{transform:translateX(-50%) scale(1.22)}
.handle-ne{right:-5px;top:-5px;cursor:nesw-resize}
.handle-e{right:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.handle-e:hover{transform:translateY(-50%) scale(1.22)}
.handle-se{right:-5px;bottom:-5px;cursor:nwse-resize}
.handle-s{left:50%;bottom:-5px;transform:translateX(-50%);cursor:ns-resize}
.handle-s:hover{transform:translateX(-50%) scale(1.22)}
.handle-sw{left:-5px;bottom:-5px;cursor:nesw-resize}
.handle-w{left:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.handle-w:hover{transform:translateY(-50%) scale(1.22)}
/* Retire the old single bottom-right grip when loading a saved older layout. */
.dash-widget>.resize-grip,.task-dash-widget>.resize-grip{display:none!important}

/* v7.7 project section collapse / expand */
.project-collapsible{margin-bottom:18px}
.project-section-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:rgba(255,255,255,.65)}
.project-section-head h3{margin:0;font-size:14px}
.project-section-toggle{width:26px;height:26px;border:0;background:transparent;color:var(--theme-accent,#00516f);font-size:19px;line-height:1;cursor:pointer;border-radius:5px}
.project-section-toggle:hover{background:rgba(0,81,111,.08)}
.project-collapsible.collapsed .project-section-head{border-bottom:1px solid var(--line);border-radius:10px}
.project-section-body{border-radius:0 0 10px 10px}
.project-collapsible .project-section-body>.panel:first-child{border-top-left-radius:0;border-top-right-radius:0}
.task-alert-status .compact-details{grid-template-columns:repeat(2,minmax(180px,260px))}

/* v8.1 Project Register containment */
.main{min-width:0}
.project-register-scroll{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-gutter:stable;
}
.project-register-scroll .project-inline-table{
  width:max-content;
  min-width:1500px;
  table-layout:auto;
}
.project-register-scroll .project-inline-table th,
.project-register-scroll .project-inline-table td{white-space:nowrap}
.project-register-scroll .project-inline-table td:nth-child(4){
  white-space:normal;
  min-width:220px;
  max-width:340px;
}

/* Keep collapsible project section headers physically attached to their content. */
.project-collapsible .project-section-head{
  margin:0;
  border-bottom:1px solid var(--line);
  border-radius:10px 10px 0 0;
}
.project-collapsible .project-section-body{margin:0;padding:0}
.project-collapsible .project-section-body>.panel:first-child{
  margin-top:0!important;
  border-top:0;
  border-radius:0 0 10px 10px;
}
.project-collapsible .weekly-progress-panel{margin-top:0!important}
.project-collapsible.collapsed .project-section-head{border-radius:10px}

/* Parts row multi-select affordance */
[data-table-key="parts"] tbody tr.row-selected td{background:rgba(0,81,111,.08)}
[data-table-key="parts"] .part-row-select{cursor:pointer}

/* v8.5 instant navigation */
.instant-nav-progress{
  position:fixed;left:0;top:0;width:0;height:3px;z-index:99999;
  background:var(--theme-accent,#00516f);
  opacity:0;pointer-events:none;
  transition:width .18s ease,opacity .15s ease;
}
.instant-nav-progress.active{width:72%;opacity:1;animation:fuelcoNavPulse .8s ease-in-out infinite alternate}
@keyframes fuelcoNavPulse{from{width:35%}to{width:82%}}
.sidebar nav a{cursor:pointer}

/* Fuelco One v9.1 persistent single-page shell */
.spa-main-host{min-width:0;min-height:100vh;flex:1;position:relative}.spa-main-host>.main{min-height:100vh}.spa-main-host.spa-loading:after{content:"";position:fixed;left:var(--sidebar-width,225px);right:0;top:0;height:2px;background:currentColor;opacity:.35;animation:spaLoad 700ms ease-in-out infinite alternate;z-index:99999}.spa-initial-loader{height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#61717b}.spa-spinner{width:26px;height:26px;border:3px solid #dbe3e8;border-top-color:#075f78;border-radius:50%;animation:spaSpin .65s linear infinite}@keyframes spaSpin{to{transform:rotate(360deg)}}@keyframes spaLoad{from{transform:scaleX(.25);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}

/* v9.3 notifications, tutorial and recoverable records */
.notification-shell{position:relative;display:inline-flex;align-items:center}.notification-bell{position:relative;border:0;background:transparent;cursor:pointer;font-size:17px;padding:5px 7px;border-radius:7px}.notification-bell:hover{background:rgba(0,81,111,.08)}.notification-bell b{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:#b4232a;color:#fff;font:700 10px/16px Segoe UI;text-align:center}.notification-popover{display:none;position:absolute;right:0;top:34px;width:min(390px,85vw);max-height:520px;overflow:auto;background:#fff;border:1px solid #d5e0e4;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);z-index:10050;text-align:left}.notification-popover.open{display:block}.notification-popover-head,.notification-popover-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #e5ecef}.notification-popover-foot{border-top:1px solid #e5ecef;border-bottom:0}.notification-item{display:block;padding:10px 13px;border-bottom:1px solid #edf1f3;text-decoration:none;color:inherit}.notification-item.unread{background:#f2f8fa}.notification-item b,.notification-item span,.notification-item small{display:block}.notification-item span{margin-top:3px;color:#53666f}.notification-item small{margin-top:4px;color:#829098}.tutorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.tutorial-card{position:relative;padding-top:22px}.tutorial-step{position:absolute;right:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--theme-accent,#00516f);color:#fff;display:grid;place-items:center;font-weight:700}.tutorial-card ul{padding-left:20px}.soft-deleted-row{opacity:.58;background:#fff4f4!important}.task-attachments{border:1px solid #dbe4e8;border-radius:8px;padding:10px}.task-attachment-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:5px 0;border-bottom:1px solid #eef2f4}.task-attachment-row:last-child{border-bottom:0}

.admin-joke-reset{margin-top:12px;padding:10px;border-top:1px solid #e1e8eb}.admin-joke-reset .toolbar{margin-top:7px}.admin-joke-reset select{min-width:280px;max-width:100%}

/* v9.4.1 usability fixes */
.topbar{padding-left:18px;padding-right:4px}
.tank-doc-meta-grid{display:grid;grid-template-columns:1fr 1.7fr .65fr;gap:8px;align-items:end;width:100%}
.tank-doc-meta-grid label{font-size:11px;font-weight:700;color:#53666f}.tank-doc-meta-grid input,.tank-doc-meta-grid select{margin-top:4px}
.tank-doc-meta-grid .full{grid-column:1/-1}.metadata-edit-file{display:block}
.custom-part-toggle{padding:8px 0}.custom-part-number-field{background:#f8fafb;padding:8px;border-radius:8px;border:1px solid #dde6e9}
@media(max-width:800px){.tank-doc-meta-grid{grid-template-columns:1fr}.tank-doc-meta-grid .full{grid-column:auto}}

/* v9.4.2 broadcasts, BOM import and completion tracking */
.broadcast-panel textarea{min-height:84px}.broadcast-history{margin-top:12px}.broadcast-history summary{cursor:pointer;font-weight:700}
.notification-popover-foot{display:flex;justify-content:space-between;gap:10px}
.bom-thumb{width:58px;height:44px;object-fit:contain;background:#fff;border:1px solid #dce6e9;border-radius:5px}
.bom-detail-table .bom-row-complete td{background:#e8f6ed!important}.bom-status-form{display:flex;gap:8px;align-items:center;white-space:nowrap}.bom-status-form label{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:3px}
.bom-generator-top .panel{min-width:0}.project-section-body .toolbar input[name="bom_name"]{min-width:280px}

/* v9.4.5 Task Register spreadsheet mode */
.task-grid-help{margin:8px 0 10px;font-size:12px}
.task-register-grid td.task-grid-cell{cursor:cell;position:relative;min-width:90px}
.task-register-grid td.task-grid-cell:hover{background:#f5fafc}
.task-register-grid .task-grid-cell-selected{box-shadow:inset 0 0 0 1px #7ba8ba;background:#f4fafc}
.task-register-grid .task-grid-cell-active{box-shadow:inset 0 0 0 2px #00516f!important;background:#eef8fb!important}
.task-register-grid .task-grid-readonly{background:#f8fafb;color:#697b83}
.task-register-grid .task-grid-editor{width:100%;min-width:90px;padding:5px 6px;border:1px solid #00516f;border-radius:4px;background:#fff;font:inherit}
.task-register-grid .task-title-inner{display:flex;align-items:center;gap:6px;white-space:nowrap}
.task-register-grid .task-subtask-row td:first-child{padding-left:30px;background-image:linear-gradient(90deg,#e4edf1 0,#e4edf1 2px,transparent 2px);background-position:16px 0;background-repeat:no-repeat}
.task-subtask-badge,.task-child-count{font-size:10px;font-weight:600;padding:2px 5px;border-radius:10px;background:#e9f1f4;color:#46636e;white-space:nowrap}
.task-draft-row{outline:1px dashed #9fb7c0;outline-offset:-1px}
.task-draft-row td{background:#fffdf4}
.task-draft-incomplete td:first-child{box-shadow:inset 3px 0 0 #d89b22}
.task-draft-placeholder{color:#9aa7ad;font-style:italic}
.task-project-display{display:flex;flex-direction:column;gap:1px}
.task-project-display small{color:#667982}
.task-grid-context-menu{position:fixed;z-index:10050;width:210px;background:#fff;border:1px solid #cad8de;border-radius:8px;box-shadow:0 10px 30px rgba(20,45,55,.18);padding:5px}
.task-grid-context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:5px;cursor:pointer;color:#17313b}
.task-grid-context-menu button:hover:not(:disabled){background:#edf5f8}
.task-grid-context-menu button:disabled{opacity:.42;cursor:not-allowed}

/* v9.4.6 Task editor / multi-filter widgets / tank series */
.task-widget-filter-title{display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:1px solid #e3eaed}
.task-widget-filter-title small{font-weight:400;color:#6b7d84}
.task-edit-modal{max-width:780px}
.task-filter-summary{display:block;font-size:11px;color:#61737b;margin-top:4px;line-height:1.25}


/* v9.5.0 Teams / Engineering workload / timers */
.project-access-block{border:1px solid #d9e3e7;border-radius:8px;padding:12px;background:#fbfcfd}
.project-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.project-access-grid>div{min-width:0}
.team-management-panel{margin-bottom:18px}
.team-edit-card{border:1px solid #d9e3e7;border-radius:8px;margin-top:10px;padding:8px 10px;background:#fbfcfd}
.team-edit-card>summary{cursor:pointer;padding:4px 0}
.team-member-grid{max-height:180px;overflow:auto;padding:8px;border:1px solid #e3eaed;border-radius:6px;background:#fff}
.capacity-form{display:flex;gap:5px;align-items:center;white-space:nowrap}
.capacity-form input{width:72px;padding:5px 6px}
.engineering-kpi-panel{margin-bottom:16px}
.engineering-kpi-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.engineering-active-timer{display:flex;align-items:center;gap:12px;border:1px solid #87b5c6;background:#eef8fb;border-radius:9px;padding:9px 12px;margin-bottom:12px;position:sticky;top:0;z-index:20}
.engineering-active-timer>span{font-size:20px}
.engineering-active-timer>div{display:flex;flex-direction:column;min-width:0;flex:1}
.engineering-active-timer>div b,.engineering-active-timer>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.engineering-active-timer>strong{font-variant-numeric:tabular-nums;font-size:16px}
.engineering-task-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#62767e;margin-top:4px}
.task-timer-controls{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.task-widget-head{flex-wrap:wrap}
.task-widget-applied-filters{display:block;flex-basis:100%;order:3;font-size:10px;font-weight:400;color:#65777e;line-height:1.2;margin-top:2px}
.engineering-estimated-field[hidden]{display:none!important}
@media(max-width:900px){
  .project-access-grid{grid-template-columns:1fr}
  .engineering-kpi-cards{grid-template-columns:repeat(2,minmax(130px,1fr))}
}

/* v9.5.2 My Workspace */
.my-workspace-hero{align-items:center}
.my-workspace-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:12px 0 16px}
.workspace-kpi{text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}
.workspace-kpi:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(22,53,65,.10)}
.workspace-warning strong{color:#b4232a}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:14px;align-items:start}
.workspace-grid>.panel:last-child{grid-column:1/-1}
.workspace-project-list{display:flex;flex-direction:column;gap:7px}
.workspace-project-card{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dce6ea;border-radius:8px;text-decoration:none;color:inherit;background:#fff}
.workspace-project-card:hover{background:#f5fafc}
.workspace-project-card>div{display:flex;gap:8px;align-items:center}
.workspace-project-card>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}
.workspace-project-card small{color:#61737b}
.workspace-notifications{display:flex;flex-direction:column;gap:6px}
.workspace-notifications>a{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr auto;gap:12px;padding:9px 10px;border-bottom:1px solid #edf1f3;text-decoration:none;color:inherit}
.workspace-notifications>a.unread{background:#f1f8fb}
.workspace-notifications small{color:#73848b;white-space:nowrap}
.workspace-engineering{margin-bottom:14px}
.task-open-cell .task-title-inner b{text-decoration:underline;text-decoration-color:#aac6d1;text-underline-offset:2px;cursor:pointer}
.task-open-cell:hover .task-title-inner b{color:#00516f;text-decoration-color:#00516f}
@media(max-width:1050px){.my-workspace-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.workspace-grid{grid-template-columns:1fr}.workspace-grid>.panel:last-child{grid-column:auto}.workspace-notifications>a{grid-template-columns:1fr}}

/* v9.6.0 navigation, personal shortcuts and operational registers */
.workspace-shortcuts{margin:14px 0}.workspace-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.workspace-shortcut{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce6ea;border-radius:9px;background:#fff;padding:8px 10px}.workspace-shortcut>a{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;min-width:0}.workspace-shortcut>a span{font-size:18px}.workspace-shortcut>a b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-inline-form{display:grid;gap:5px;min-width:240px}.weekly-inline-form textarea{min-height:55px}.weekly-inline-form input,.weekly-inline-form select,.weekly-inline-form textarea{width:100%}.compact-stack textarea{min-height:55px}.team-member-grid label small{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-weight:400}.nav-submenu a{font-size:12px}.nav-group summary{cursor:pointer}.task-section-panel{display:block}
.weekly-section-target{outline:2px solid var(--accent,#00516f);outline-offset:2px;scroll-margin-top:18px}
.universal-inline-editor{width:100%;min-width:100px;padding:7px 8px;border:2px solid var(--accent,#00516f);border-radius:5px;background:#fff;color:#17232b;font:inherit}
.hide-restricted-actions .restricted-action-column{display:none!important}

/* v9.7.4 navigation icons, master search and document areas */
.sidebar nav>a,.nav-group>summary,.nav-submenu>a{display:flex!important;align-items:center;gap:10px}.nav-group>summary>span:last-child{margin-left:auto}.nav-icon{display:inline-grid!important;place-items:center;flex:0 0 22px;width:22px;height:22px;margin:0!important;line-height:1;opacity:.96;transform:none!important;color:currentColor}.nav-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.nav-submenu .nav-icon{flex-basis:17px;width:17px;height:17px;opacity:.82}.nav-submenu .nav-icon svg{width:17px;height:17px;stroke-width:2}.sidebar nav>a,.sidebar nav>details,.nav-group>summary,.nav-submenu>a{cursor:default!important}.nav-dragging{opacity:.28!important}.nav-drop-target{outline:1px dashed rgba(255,255,255,.75);outline-offset:2px}.nav-drag-ghost{position:fixed;left:-1000px;top:-1000px;z-index:200000;width:210px;padding:10px 12px;border-radius:8px;background:#075f78;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.3);opacity:.82;pointer-events:none}.nav-drag-ghost summary{list-style:none;color:#fff}.nav-drag-ghost .nav-submenu{display:none}
.topbar-tools{display:flex;align-items:center;gap:16px;min-width:0}.global-search{position:relative;width:min(390px,34vw)}.global-search input{height:38px;padding:8px 12px 8px 36px;border-radius:20px;background:#f7fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2368797f' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") no-repeat 12px center}.global-search-results{position:absolute;right:0;top:44px;width:min(520px,80vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #d7e0e4;border-radius:10px;box-shadow:0 18px 45px rgba(20,42,51,.22);z-index:120000;padding:6px}.global-search-result{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:7px;color:var(--text)}.global-search-result:hover,.global-search-result.active{background:#eef5f7}.global-search-result>span{flex:0 0 72px;text-transform:uppercase;font-size:9px;font-weight:800;color:var(--blue);background:#e2eff3;padding:4px 6px;border-radius:999px;text-align:center}.global-search-result div{min-width:0}.global-search-result b,.global-search-result small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-result small{margin-top:3px;color:var(--muted);font-size:11px}.global-search-empty{padding:18px;color:var(--muted);font-size:12px;text-align:center}
.tank-manual-file{display:flex;align-items:center;justify-content:space-between;gap:14px}.tank-manual-file div{min-width:0}.tank-manual-file b,.tank-manual-file span,.tank-manual-file small{display:block}.tank-manual-file span,.tank-manual-file small{color:var(--muted);margin-top:3px}
.bom-table-link{display:block;font-weight:700;margin:0 0 5px}.bom-table-link:before{content:'≡';display:inline-block;margin-right:6px;color:var(--blue)}
@media(max-width:1050px){.global-search{width:260px}.global-search input{font-size:12px}.userbox>span{display:none}}
@media(max-width:760px){.topbar-tools{width:100%;align-items:flex-start;flex-direction:column}.global-search{width:100%}.topbar{flex-wrap:wrap}.global-search-results{left:0;right:auto;width:min(560px,92vw)}}

/* v9.8 ERP item master and multi-level assembly BOMs */
.erp-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}.erp-summary-grid .panel{margin:0;padding:15px}.erp-summary-grid strong{display:block;font-size:21px;color:var(--theme-accent,#00516f);margin-top:5px}.assembly-revision-card{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;color:inherit;margin-top:7px}.assembly-revision-card:hover,.assembly-revision-card.active{background:#eef6f9;border-color:#91b8c7}.assembly-revision-card span,.assembly-revision-card small{color:var(--muted);font-size:11px}.where-used-row{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid #edf1f3;color:inherit}.where-used-row span{color:var(--muted);font-size:11px}.bom-tree-item{display:flex;align-items:center;gap:5px;min-width:210px}.bom-tree-toggle{width:22px;height:22px;border:0;background:transparent;color:var(--theme-accent,#00516f);font-size:16px;line-height:1;cursor:pointer;padding:0}.bom-tree-spacer{display:inline-block;width:22px;height:1px;flex:0 0 22px}.bom-inherited-row td{background:#f7fafb;color:#41545c}.bom-inherited-row td:first-child{box-shadow:inset 3px 0 #9ab7c2}.assembly-revision-tag{display:block;margin-left:27px;color:#526f7a;font-size:10px}.bom-detail-table tr[hidden]{display:none!important}
@media(max-width:900px){.erp-summary-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}

/* v9.8.4 global running-task clock and section controls */
.topbar{position:relative}
.global-task-timer{position:absolute;left:50%;transform:translateX(-50%);top:50%;margin-top:-20px;display:flex;align-items:center;gap:9px;min-width:300px;max-width:42vw;padding:6px 12px;border:1px solid #d7e2e6;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:2}
.global-task-timer[hidden]{display:none!important}
.global-task-timer>span{font-size:20px}.global-task-timer div{min-width:0;display:flex;flex-direction:column}.global-task-timer b,.global-task-timer small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-task-timer small{color:var(--muted,#68777d)}.global-task-timer strong{margin-left:auto;font-variant-numeric:tabular-nums;font-size:16px}
.section-expand-controls{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 10px}
@media(max-width:1100px){.global-task-timer{position:static;transform:none;margin:0 10px;min-width:220px;max-width:360px}.topbar{flex-wrap:wrap}}

/* v9.9.0 Parts & Assemblies preview */
.hidden-part-edit-trigger{display:none!important}.thumbnail-preview-btn{border:0;background:transparent;padding:0;cursor:pointer}.part-preview-card{max-width:980px}.part-preview-body{max-height:70vh;overflow:auto}.part-preview-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.part-preview-thumb{min-height:180px;border:1px solid var(--line);border-radius:var(--theme-radius,8px);display:flex;align-items:center;justify-content:center;background:var(--theme-workspace,#f4f7f8);padding:12px}.part-preview-image{display:block;max-width:100%;max-height:260px;object-fit:contain}.part-preview-no-image{color:var(--muted);font-size:13px}.part-preview-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.part-preview-fields>div{border:1px solid var(--line);border-radius:7px;padding:9px 11px;min-height:52px}.part-preview-fields .wide{grid-column:1/-1}.part-preview-fields small{display:block;color:var(--muted);margin-bottom:4px}.part-preview-fields b,.part-preview-fields span{word-break:break-word}.part-preview-files{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.preview-file-link{display:flex;text-decoration:none;color:inherit;margin-bottom:7px}@media(max-width:800px){.part-preview-layout{grid-template-columns:1fr}.part-preview-fields{grid-template-columns:1fr 1fr}}
\n/* v9.9.3 delegated delayed thumbnail hover preview */
.thumbnail-hover-preview{position:fixed;z-index:10050;width:380px;height:300px;padding:10px;background:#fff;border:1px solid #cfdde2;border-radius:10px;box-shadow:0 14px 38px rgba(24,54,65,.24);display:none;pointer-events:none}
.thumbnail-hover-preview.show{display:flex;align-items:center;justify-content:center}
.thumbnail-hover-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.bom-thumb{cursor:zoom-in}


/* v9.9.3 reliable CSS-only thumbnail hover preview.
   No JavaScript dependency: hold pointer for 0.5 seconds to enlarge. */
.thumbnail-hover-preview{display:none!important}
.bom-thumb{
  position:relative;
  z-index:1;
  transform:scale(1);
  transform-origin:left center;
  transition:transform .14s ease 0s, box-shadow .14s ease 0s;
  will-change:transform;
}
.bom-thumb:hover{
  transform:scale(5);
  z-index:120000;
  background:#fff;
  box-shadow:0 4px 14px rgba(24,54,65,.15);
  transition-delay:.5s;
}
/* Keep enlarged images above neighbouring table rows/cells. */
td:has(.bom-thumb:hover), tr:has(.bom-thumb:hover){position:relative;z-index:119999;overflow:visible}
.thumbnail-preview-btn{overflow:visible}

/* v9.9.5 Parts register totals / pagination */
.parts-register-footer{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:12px}.parts-register-footer .form-actions{margin:0}

/* v9.9.6 BOM multi-select + column dropdown filters */
.parts-filter-help{margin:6px 2px 10px}.parts-column-filter-row th{padding:4px!important;background:#f6f9fa;vertical-align:top}.parts-column-filter-row select{width:100%;min-width:90px;max-width:190px;padding:4px 22px 4px 6px;font-size:11px;border:1px solid var(--line);border-radius:5px;background:#fff}.parts-column-filter-row th:nth-child(4) select,.parts-column-filter-row th:nth-child(15) select{min-width:160px}.parts-register-table thead tr:first-child th{vertical-align:bottom}.bom-add-items-modal{width:min(1500px,96vw);max-width:1500px}.bom-add-items-wrap{max-height:55vh;border:1px solid var(--line);border-radius:8px}.bom-add-items-table{width:100%;border-collapse:separate;border-spacing:0}.bom-add-items-table thead{position:sticky;top:0;z-index:3}.bom-add-items-table thead th{background:#f4f8fa}.bom-add-filter-row th{padding:4px!important}.bom-add-filter-row select{width:100%;min-width:90px;padding:4px 20px 4px 6px;font-size:11px;border:1px solid var(--line);border-radius:5px;background:#fff}.bom-add-part-row{cursor:default}.bom-add-part-row.row-selected td{background:#dceff7!important}.bom-add-part-row[hidden]{display:none}.bom-selection-summary{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.bom-add-items-table td,.bom-add-items-table th{white-space:nowrap}.bom-add-items-table td:nth-child(3){white-space:normal;min-width:220px}

/* v9.9.17 resilient server-rendered item preview */
.part-preview-frame{display:block;width:100%;height:64vh;min-height:440px;border:0;background:#fff;border-radius:8px}
.part-preview-standalone{margin:0;padding:18px;background:#fff;color:var(--text,#17333d);font-family:Arial,Helvetica,sans-serif}


/* v9.9.19 structured SolidWorks BOM import */
.structured-import-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:12px 0}.mini-kpi{padding:14px}.mini-kpi small{display:block;color:var(--muted);margin-bottom:6px}.mini-kpi b{font-size:22px}.structured-import-actions{margin-top:14px;align-items:end}.structured-import-grid{align-items:start}.structured-tree{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:8px}.structured-tree-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:5px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.structured-tree-row:last-child{border-bottom:0}.structured-tree-indent{flex:0 0 auto}.structured-tree-row>b{min-width:190px}.structured-tree-row .muted{overflow:hidden;text-overflow:ellipsis;flex:1}.tree-toggle{width:16px;text-align:center;color:var(--brand)}.tree-qty{margin-left:auto;font-variant-numeric:tabular-nums}.import-warning{margin-top:12px}.import-warning summary{cursor:pointer;padding:8px 0}@media(max-width:1200px){.structured-import-summary{grid-template-columns:repeat(3,1fr)}}

/* v9.10.1 ERP BOM hierarchy / flat view */
.bom-view-toggle{gap:6px}.assembly-hierarchy-table .bom-tree-indent{display:inline-flex;align-items:center;gap:5px;padding-left:calc(var(--bom-level,0) * 18px);white-space:nowrap}.bom-tree-arrow{border:0;background:transparent;padding:0;width:18px;min-width:18px;height:18px;line-height:18px;cursor:pointer;color:inherit;font-size:12px;text-align:center}.bom-tree-arrow.static,.bom-tree-arrow.leaf{cursor:default}.bom-tree-arrow.collapsed{transform:rotate(-90deg)}.bom-tree-row[hidden]{display:none}.assembly-flat-table td:nth-child(4){font-variant-numeric:tabular-nums}.assembly-bom-view-panel .toolbar{margin-bottom:8px}

/* v9.10.2 Assembly section controls */
.assembly-section{position:relative}
.assembly-section>.assembly-section-toggle{position:absolute;right:14px;top:14px;z-index:3}
.assembly-section>.page-actions.compact{padding-right:92px}
.assembly-section>h3:first-child{padding-right:92px}
.assembly-section.section-collapsed>*:not(.assembly-section-toggle):not(.page-actions):not(h3:first-child){display:none!important}
.where-used-context-body{display:grid;gap:8px}

/* v9.10.4 — register horizontal scrolling. Smart/register tables keep their natural
   column width instead of squeezing every column into the viewport. */
.table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.table-wrap>table.smart-table{width:max-content;min-width:100%}
.table-wrap>table.smart-table th,.table-wrap>table.smart-table td{max-width:none}
@media (pointer:fine){.table-wrap{scrollbar-width:auto}.table-wrap::-webkit-scrollbar{height:13px}.table-wrap::-webkit-scrollbar-thumb{background:#aebcc2;border-radius:8px;border:3px solid transparent;background-clip:padding-box}.table-wrap::-webkit-scrollbar-track{background:#eef3f5;border-radius:8px}}

/* v9.10.6 — viewport-sticky horizontal scrollbar for wide registers.
   The real table wrapper remains the scroll owner; this bar mirrors scrollLeft so
   users do not need to reach the last row of a long register to scroll sideways. */
.fuelco-sticky-hscroll{position:fixed;bottom:0;height:18px;overflow-x:auto;overflow-y:hidden;background:#eef3f5;border:1px solid #cbd8de;border-bottom:0;border-radius:7px 7px 0 0;z-index:950;box-shadow:0 -2px 7px rgba(0,0,0,.08);display:none;scrollbar-width:auto}
.fuelco-sticky-hscroll.is-visible{display:block}
.fuelco-sticky-hscroll-inner{height:1px;pointer-events:none}
.fuelco-sticky-hscroll::-webkit-scrollbar{height:16px}
.fuelco-sticky-hscroll::-webkit-scrollbar-thumb{background:#91a6af;border:3px solid #eef3f5;border-radius:10px}
.fuelco-sticky-hscroll::-webkit-scrollbar-track{background:#eef3f5}
@media(max-width:700px){.fuelco-sticky-hscroll{height:20px}.fuelco-sticky-hscroll::-webkit-scrollbar{height:18px}}

/* v9.10.13: searchable Assembly hierarchy */
.bom-hierarchy-toolbar{align-items:center}.bom-hierarchy-search{display:flex;align-items:center;gap:6px;flex:1;min-width:360px}.bom-hierarchy-search input{min-width:260px;max-width:520px;flex:1}.assembly-hierarchy-table .bom-search-match>td,.assembly-flat-table .bom-search-match>td{background:#fff4bf!important}.assembly-hierarchy-table .bom-search-current>td,.assembly-flat-table .bom-search-current>td{background:#ffe28a!important;box-shadow:inset 0 2px #c88d00,inset 0 -2px #c88d00}.assembly-hierarchy-table .bom-search-current td:first-child,.assembly-flat-table .bom-search-current td:first-child{box-shadow:inset 3px 0 #c88d00,inset 0 2px #c88d00,inset 0 -2px #c88d00}@media(max-width:800px){.bom-hierarchy-search{min-width:100%;flex-wrap:wrap}.bom-hierarchy-search input{min-width:200px}}

/* v9.10.15 Parts register Where Used names */
.part-where-used-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:170px;max-width:280px;text-align:left}.where-used-parent-list{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%}.where-used-parent-name{display:block;max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.where-used-more{font-size:11px;color:var(--muted);font-weight:600}.where-used-cell-summary{display:block;font-size:10px;color:var(--muted);font-weight:400}
/* v9.10.18 unified Assembly BOM context menu */
.dashboard-context-menu .ctx-item.disabled{opacity:.38;cursor:not-allowed;pointer-events:auto;color:#7f8a90}
.dashboard-context-menu .ctx-item.disabled:hover{background:transparent}

/* v9.10.19 Parts register action hierarchy + shared Part Generator categories */
.parts-register-heading{align-items:center;padding:4px 2px 2px}.parts-register-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.parts-register-summary span{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#f7fafb;color:var(--muted);font-size:11px}.parts-register-summary b{color:var(--blue);font-size:12px}.parts-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.parts-action-emphasis{min-width:112px;text-align:center}.action-menu{position:relative}.action-menu>summary{list-style:none;display:inline-flex;align-items:center}.action-menu>summary::-webkit-details-marker{display:none}.action-menu[open]>summary{background:#eef4f6;border-color:#aebfc7}.action-menu-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:45;min-width:210px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px rgba(24,48,60,.16)}.action-menu-popover a,.action-menu-popover button{display:block;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:9px 10px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.action-menu-popover a:hover,.action-menu-popover button:hover{background:#f1f6f8}.action-menu-popover .danger-action{color:#a61e28}.action-menu-popover .danger-action:hover{background:#fdecee}.parts-register-panel{padding-top:14px}.parts-top-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:8px}.parts-search-group{display:flex;align-items:center;gap:7px;min-width:0}.parts-search-group input{min-width:220px}.parts-page-size{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}.parts-page-size select{min-width:82px}.generator-category-note{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.3}
@media(max-width:1050px){.parts-register-heading{align-items:flex-start}.parts-primary-actions{justify-content:flex-start}.parts-top-toolbar{grid-template-columns:1fr auto}.parts-page-size{grid-column:2}.parts-top-toolbar>.btn.ghost{grid-column:1}}
@media(max-width:700px){.parts-primary-actions{width:100%;justify-content:flex-start}.parts-primary-actions>.btn,.parts-primary-actions>.action-menu{flex:1}.parts-primary-actions>.action-menu>summary{width:100%;justify-content:center}.parts-top-toolbar{display:flex;flex-wrap:wrap}.parts-search-group{width:100%}.parts-page-size{margin-left:0}}


/* v9.10.20 — sleek, consistent work-area controls. Brand blue, Fuelco logo and left navigation remain untouched. */
.main .btn{min-height:34px;padding:7px 11px;border-radius:8px;border-color:#cbd6db;background:#fff;color:var(--text);font-size:12px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 2px rgba(25,54,66,.035);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .05s ease}
.main .btn:hover{background:#f5f8f9;border-color:#aebfc7;box-shadow:0 2px 6px rgba(25,54,66,.07)}
.main .btn:active{transform:translateY(1px)}
.main .btn.primary{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 2px 5px rgba(0,81,111,.16)}
.main .btn.primary:hover{filter:brightness(.96)}
.main .btn.danger{background:var(--red);border-color:var(--red);color:#fff}
.main .btn.ghost{background:#fff;color:var(--text)}
.main .small-btn,.main .tiny-btn{min-height:29px;padding:5px 9px;font-size:11px}
.ui-icon-btn{white-space:nowrap}.ui-action-icon{display:inline-flex;align-items:center;justify-content:center;min-width:14px;font-size:15px;font-weight:700;line-height:1}.ui-caret{font-size:10px;opacity:.7;margin-left:1px}
.work-action-bar{gap:7px!important}.work-action-bar .action-menu>summary{min-width:auto!important}
.action-menu-popover{border-radius:10px!important;padding:5px!important;box-shadow:0 14px 34px rgba(22,49,61,.16)!important}
.action-menu-popover a,.action-menu-popover button{display:flex!important;align-items:center;gap:9px!important;padding:8px 9px!important;border-radius:7px!important;font-size:12px!important;white-space:nowrap}
.action-menu-popover .menu-icon{display:inline-flex;width:17px;justify-content:center;color:var(--blue);font-size:14px;font-weight:800}.action-menu-popover .danger-action .menu-icon{color:inherit}.menu-hint{display:block;padding:7px 9px 3px;color:var(--muted);font-size:10px;line-height:1.35;border-top:1px solid #edf1f3;margin-top:4px}
.parts-register-heading{gap:14px}.parts-primary-actions{gap:7px}.parts-register-panel{padding:14px 16px 16px}.parts-top-toolbar{margin-bottom:7px}.parts-search-group .btn{flex:0 0 auto}
.page-actions .head-actions,.head-actions,.form-actions{gap:7px!important;align-items:center}.toolbar{gap:7px}.panel>.page-actions:first-child{margin-bottom:10px}
/* Custom columns use the same compact filter appearance as built-in columns. */
.parts-column-filter-row [data-custom-column-filter]{width:100%;min-width:90px;max-width:190px;padding:4px 22px 4px 6px;font-size:11px;border:1px solid var(--line);border-radius:5px;background:#fff}
@media(max-width:900px){.work-action-bar{width:100%;justify-content:flex-start}.parts-register-heading{align-items:flex-start}.main .btn{min-height:33px}}

/* v9.10.21 — long column chooser remains scrollable inside the viewport. */
.ctx-submenu{padding-right:10px;scrollbar-width:auto;scrollbar-color:#8b98a5 #eef3f6}.ctx-submenu::-webkit-scrollbar{width:12px}.ctx-submenu::-webkit-scrollbar-thumb{background:#8b98a5;border-radius:8px;border:2px solid #eef3f6}.ctx-submenu::-webkit-scrollbar-track{background:#eef3f6}.ctx-submenu label{min-height:30px}

/* v9.10.30 Assembly picker/batch usability */
#assemblyAddItemModal .modal-card.modal-wide{max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
#assemblyAddItemModal #assemblyAddItemsForm{display:flex;flex-direction:column;min-height:0;flex:1}
#assemblyAddItemModal .assembly-add-items-wrap{flex:1;min-height:180px;max-height:none;overflow:auto}
#assemblyAddItemModal .assembly-picker-sticky-footer{position:sticky;bottom:0;z-index:6;background:#fff;border-top:1px solid #dbe5ea;padding:10px 2px 2px;box-shadow:0 -8px 18px rgba(15,45,55,.06)}
.assembly-batch-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.assembly-hierarchy-table .selection-col{width:38px;min-width:38px;text-align:center}
.assembly-hierarchy-table .selection-placeholder{color:#a4b2b9;font-size:11px}

/* v9.10.34 Assembly BOM search/reorder */
.bom-flat-toolbar{margin:.35rem 0 .7rem}
.bom-flat-search{display:flex;align-items:center;gap:.45rem;flex:1;min-width:280px}
.bom-flat-search input{min-width:280px;max-width:620px;flex:1}
.bom-drag-handle{display:inline-flex;align-items:center;justify-content:center;margin-right:.35rem;color:var(--text-muted,#6b7280);cursor:grab;font-weight:700;letter-spacing:-2px;user-select:none}
tr.bom-dragging{opacity:.55}
tr.bom-drag-over>td{box-shadow:inset 0 2px 0 var(--primary,#006b86)}
