
: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:220px;max-height:420px;overflow:auto;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}
.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{position:absolute;left:10px;bottom:34px;width:calc(100% - 20px);height:34px;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{background:rgba(255,255,255,.16)}
.app-version-badge{bottom:10px}

/* 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}

/* 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}

/* 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-inline-edit{display:flex;align-items:center;gap:5px;margin:0}.bom-inline-edit input{width:82px;min-width:70px;padding:5px}
.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(2){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}
