:root{--bg:#f4f6f8;--panel:#fff;--text:#182028;--muted:#6c7782;--line:#e3e8ed;--nav:#111820;--nav2:#18232e;--accent:#f0a51a;--accent-dark:#cf8610;--good:#198754;--bad:#c23b3b;--warn:#b97809;--blue:#2563eb;--shadow:0 8px 24px rgba(24,32,40,.06)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),#0b1117);color:#dfe7ee;min-height:100vh;position:sticky;top:0;height:100vh;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:4px 10px 24px;border-bottom:1px solid #24313d}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--accent);color:#141414;display:grid;place-items:center;font-weight:900;font-size:20px}.brand strong{display:block;color:#fff;letter-spacing:.08em}.brand small{font-size:9px;color:#8fa0af;letter-spacing:.12em}.nav-list{display:flex;flex-direction:column;gap:5px;padding-top:22px}.nav-list a{padding:11px 12px;border-radius:9px;color:#aebbc7;display:flex;gap:11px;align-items:center;font-size:14px}.nav-list a span{width:18px;text-align:center}.nav-list a:hover,.nav-list a.active{background:var(--nav2);color:#fff}.nav-list a.active{box-shadow:inset 3px 0 var(--accent)}.nav-section{font-size:10px;color:#667787;letter-spacing:.14em;text-transform:uppercase;padding:22px 12px 5px}.sidebar-footer{margin-top:auto;padding:16px 10px 2px;border-top:1px solid #24313d}.sidebar-footer small{display:block;color:#667787;font-size:10px;line-height:1.4;margin-top:8px}.version-pill{font-size:11px;color:#d5dee6}.main-content{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5}.topbar-title{font-weight:700;font-size:15px}.topbar-subtitle{font-size:11px;color:var(--muted);margin-top:2px}.user-chip{display:flex;align-items:center;gap:10px}.user-chip .avatar{width:34px;height:34px;background:#fff5df;border:1px solid #f2d090;color:#8f5c00;border-radius:50%;display:grid;place-items:center;font-weight:800}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;color:var(--muted)}.page-body{padding:30px 32px 48px;max-width:1540px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;color:#9a680b;font-weight:800;letter-spacing:.14em}.page-heading h1{font-size:27px;margin:4px 0 5px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.btn{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--accent);color:#1e1a12}.btn.primary:hover{background:var(--accent-dark)}.btn.secondary{background:#1e2a35;color:#fff}.btn.ghost{background:#fff;border-color:var(--line)}.btn.full{width:100%;margin-top:16px}.btn:disabled{opacity:.45;cursor:not-allowed}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.stat-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.stat-card strong{display:block;font-size:31px;margin:7px 0 3px}.stat-card small{color:#96a0a9}.stat-card.warning{border-top:3px solid var(--accent)}.content-grid{display:grid;gap:18px;margin-bottom:18px}.content-grid.two-thirds{grid-template-columns:2fr 1fr}.content-grid.equal{grid-template-columns:1fr 1fr}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel-head h2,.category-card h2,.setting-card h2{margin:0;font-size:15px}.panel-head p,.category-card p,.setting-card p{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.panel-head a{font-size:11px;color:#8a5b06;font-weight:700}.activity-row{display:grid;grid-template-columns:35px 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f2}.activity-row:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;border-radius:9px;background:#f4f6f8;display:grid;place-items:center;color:#53616e}.activity-main strong,.activity-main span{display:block}.activity-main strong{font-size:12px}.activity-main span,.activity-row>small{font-size:10px;color:var(--muted);margin-top:3px}.due-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f2}.due-row div strong,.due-row div span{display:block}.due-row div strong{font-size:11px}.due-row div span{font-size:10px;color:var(--muted);margin-top:3px}.date-chip{background:#fff4da;color:#93620c;border:1px solid #f0d08c;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.status-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.status-summary>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:9px}.status-summary strong{font-size:11px}.status-summary small{font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:#999}.status-dot.available{background:var(--good)}.status-dot.issued{background:var(--blue)}.status-dot.repair{background:var(--bad)}.status-dot.inspection{background:var(--accent)}.status-dot.retired{background:#7a7f85}.toolbar{display:flex;gap:10px;margin-bottom:14px}.input{width:100%;border:1px solid #d9e0e5;border-radius:8px;background:#fff;padding:10px 11px;outline:none;font-size:12px;color:var(--text)}.input:focus{border-color:#d39a31;box-shadow:0 0 0 3px #f8edd6}.input.compact{max-width:190px}.textarea{min-height:90px;resize:vertical}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:#f8f9fa;color:#687480;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:12px 14px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f2;vertical-align:middle}.data-table td strong,.data-table td small{display:block}.data-table td small{font-size:10px;color:var(--muted);margin-top:3px}.table-link{font-weight:700;color:#805608;font-size:11px}.status-badge{display:inline-flex;border-radius:18px;padding:4px 8px;font-size:10px;font-weight:800;background:#eee}.status-badge.large{font-size:12px;padding:7px 12px}.status-badge.available{background:#e4f4ea;color:#196d3e}.status-badge.issued{background:#e5edff;color:#2856a8}.status-badge.repair{background:#fae7e7;color:#a02b2b}.status-badge.inspection{background:#fff2d5;color:#8c5e08}.status-badge.retired{background:#ebedef;color:#60666d}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid>div{border:1px solid var(--line);border-radius:9px;padding:12px}.detail-grid span,.custody-box span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.detail-grid strong{display:block;font-size:12px;margin-top:5px}.custody-box{background:#f8f9fa;border-radius:10px;padding:16px;margin-bottom:6px}.custody-box strong{display:block;font-size:15px;margin:7px 0 3px}.custody-box small{font-size:10px;color:var(--muted)}.form-panel{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.content-grid label{display:block}.form-grid label span,.content-grid label span{display:block;font-size:11px;font-weight:700;color:#4f5b66;margin-bottom:6px}.form-grid .span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.category-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.category-card,.setting-card{display:flex;gap:15px;align-items:flex-start}.category-icon,.setting-icon{width:45px;height:45px;border-radius:10px;background:#f7f1e6;display:grid;place-items:center;font-size:20px;flex:0 0 45px}.category-card small{color:#9b6b12;font-size:10px;font-weight:700}.notice-card{display:flex;gap:16px;align-items:center;background:#fff9eb;border:1px solid #efd596;border-radius:12px;padding:20px;margin-bottom:18px}.notice-icon{width:44px;height:44px;border-radius:50%;background:#fff;color:#3467d6;border:1px solid #d8e2fb;display:grid;place-items:center;font-weight:900;font-size:20px}.notice-card h2{font-size:15px;margin:0}.notice-card p{font-size:11px;color:var(--muted);margin:5px 0 0}.phase-chip{display:inline-flex;margin-top:8px;background:#f0f2f4;border-radius:15px;padding:4px 8px;font-size:9px;font-weight:800;color:#6c7782}.phase-chip.live{background:#e7f4eb;color:#287342}.alert{border-radius:9px;padding:11px 13px;margin-bottom:16px;font-size:12px;font-weight:700}.alert.success{background:#e6f5eb;color:#1f7042;border:1px solid #bfe1ca}.alert.error{background:#faeaea;color:#a13030;border:1px solid #efc2c2}.empty-state{text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:60px 20px}.empty-state h1{margin-top:0}.empty-state p,.empty-inline{color:var(--muted);font-size:12px}.empty-inline{padding:20px;text-align:center}@media(max-width:1000px){.app-shell{grid-template-columns:82px 1fr}.brand div:last-child,.nav-list a:not(.active){font-size:0}.nav-list a.active{font-size:0}.nav-list a span{font-size:18px}.nav-section,.sidebar-footer small{display:none}.brand{justify-content:center}.sidebar{padding:20px 11px}.nav-list a{justify-content:center}.stat-grid{grid-template-columns:1fr 1fr}.content-grid.two-thirds,.content-grid.equal{grid-template-columns:1fr}.status-summary{grid-template-columns:1fr 1fr}.category-grid,.settings-grid{grid-template-columns:1fr}}@media(max-width:650px){.page-body{padding:22px 16px}.topbar{padding:0 16px}.topbar-subtitle,.user-chip span:last-child{display:none}.page-heading{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.toolbar{flex-direction:column}.input.compact{max-width:none}.status-summary{grid-template-columns:1fr}}

/* V0.2 - register structure taken from the supplied ECCS Excel workbooks */
.heading-actions{display:flex;gap:10px;align-items:center}.stat-grid.five{grid-template-columns:repeat(5,1fr)}.status-badge.missing{background:#f7e7f7;color:#813681}.condition-badge{display:inline-flex;border-radius:18px;padding:4px 8px;font-size:10px;font-weight:800;background:#eef1f3;color:#5e6872;white-space:nowrap}.condition-badge.good,.condition-badge.new{background:#e4f4ea;color:#196d3e}.condition-badge.average,.condition-badge.unknown{background:#edf0f2;color:#66717a}.condition-badge.damaged,.condition-badge.notworking{background:#fae7e7;color:#a02b2b}.condition-badge.missingparts{background:#fff2d5;color:#8c5e08}.condition-badge.warn{background:#fff2d5;color:#8c5e08}.condition-badge.bad{background:#fae7e7;color:#a02b2b}.filter-grid{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(145px,1fr));gap:10px;margin-bottom:10px}.filter-grid.three-filters{grid-template-columns:minmax(320px,2fr) 1fr 1fr}.result-strip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin:0 0 14px 3px}.result-strip strong{color:var(--text)}.result-strip a{color:#8a5b06;font-weight:700}.wide-table{min-width:1120px}.form-panel.wide-form{max-width:1160px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid .span-3{grid-column:1/-1}.form-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7b5b1c;border-bottom:1px solid var(--line);padding-bottom:8px;margin:4px 0 14px}.form-section-title:not(:first-of-type){margin-top:26px}.detail-grid.three{grid-template-columns:repeat(3,1fr)}.heading-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.stacked-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.stacked-meta>div{border:1px solid var(--line);border-radius:8px;padding:10px}.stacked-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stacked-meta strong{display:block;font-size:11px;margin-top:5px}.notes-box{border:1px solid var(--line);background:#fafbfc;border-radius:9px;padding:13px;margin-top:14px}.notes-box span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.notes-box p{font-size:11px;line-height:1.6;margin:6px 0 0}.history-card{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:9px}.history-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.history-card strong,.history-card small{display:block}.history-card strong{font-size:11px}.history-card small{font-size:9px;color:var(--muted);margin-top:3px}.history-dates{font-size:9px;color:#8a5b06;margin-top:7px;font-weight:700}.history-card p{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.5}.big-number{font-size:48px;font-weight:800;line-height:1}.big-number-label{font-size:11px;color:var(--muted);margin:6px 0 15px}.panel-head.padded{padding:18px 19px 0;margin-bottom:12px}.notice-card.neutral{background:#f8fafb;border-color:#dfe5ea}.notice-card.neutral .notice-icon{color:#5f6b76;border-color:#dfe5ea}.date-chip.overdue{background:#fae7e7;border-color:#efc2c2;color:#a02b2b}.mini-list{display:grid;gap:10px}.mini-list>div{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.mini-list strong,.mini-list span{display:block}.mini-list strong{font-size:11px}.mini-list span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}.condition-summary{display:grid;gap:9px}.condition-summary>div{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.condition-summary strong{font-size:11px}.condition-summary small{font-weight:800}.condition-dot{width:8px;height:8px;border-radius:50%;background:#9aa2a9}.condition-dot.good{background:var(--good)}.condition-dot.average{background:#7f8992}.condition-dot.bad{background:var(--bad)}.condition-dot.warn{background:var(--warn)}.source-card{padding:18px}.source-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.source-head>div{display:flex;gap:11px;align-items:center}.source-head h2{margin:0;font-size:14px}.source-head p{margin:3px 0 0;font-size:10px;color:var(--muted)}.file-pill{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#e9f4ec;color:#2b7143;font-size:9px;font-weight:900;letter-spacing:.05em}.source-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.source-stats>div{border:1px solid var(--line);border-radius:8px;padding:10px}.source-stats strong,.source-stats span{display:block}.source-stats strong{font-size:20px}.source-stats span{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}.mapping-list{display:grid;gap:7px}.mapping-list>div{padding:8px 0;border-bottom:1px solid #edf0f2}.mapping-list>div:last-child{border-bottom:0}.mapping-list strong,.mapping-list span{display:block}.mapping-list strong{font-size:10px}.mapping-list span{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.process-steps>div{border:1px solid var(--line);border-radius:9px;padding:12px}.process-steps>div>span{width:25px;height:25px;border-radius:50%;background:#fff4da;color:#8a5b06;display:grid;place-items:center;font-weight:800;font-size:10px;margin-bottom:9px}.process-steps strong,.process-steps small{display:block}.process-steps strong{font-size:11px}.process-steps small{font-size:9px;color:var(--muted);line-height:1.45;margin-top:4px}.field-chip-grid{display:flex;gap:8px;flex-wrap:wrap}.field-chip-grid span{border:1px solid var(--line);background:#f8f9fa;border-radius:18px;padding:6px 10px;font-size:10px;font-weight:700;color:#5f6b76}
@media(max-width:1200px){.stat-grid.five{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:1fr 1fr}.process-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.form-grid.three,.detail-grid.three{grid-template-columns:1fr 1fr}.form-grid .span-3{grid-column:1/-1}.source-stats{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.stat-grid.five{grid-template-columns:1fr 1fr}.filter-grid,.filter-grid.three-filters{grid-template-columns:1fr}.form-grid.three,.detail-grid.three{grid-template-columns:1fr}.form-grid .span-3{grid-column:auto}.heading-actions{width:100%;flex-wrap:wrap}.process-steps{grid-template-columns:1fr}.stacked-meta{grid-template-columns:1fr}}

/* V0.4 Firebase connection status */
.compact-meta { margin-top: 14px; }
.firebase-actions { margin-top: 16px; justify-content: flex-start; }
.connection-result { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--border, #d9e0e7); border-radius: 10px; display: grid; gap: 5px; }
.connection-result.connected { background: rgba(37, 160, 96, 0.08); }
.connection-result.failed { background: rgba(196, 61, 61, 0.08); }
.connection-result strong { font-size: 0.95rem; }
.connection-result span { font-size: 0.9rem; line-height: 1.4; word-break: break-word; }
.connection-result small { opacity: 0.72; }

/* V0.4 - real Excel preview and Firestore import */
.import-launch-panel{margin-bottom:18px}.import-launch-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center}.import-launch-grid h2,.import-commit-panel h2,.commit-result h2{margin:4px 0 7px;font-size:16px}.import-launch-grid p,.import-commit-panel p,.commit-result p{font-size:11px;color:var(--muted);line-height:1.55;margin:0 0 14px}.upload-card{border:1px dashed #cbd4dc;border-radius:10px;background:#fafbfc;padding:18px;display:grid;gap:7px}.upload-card strong{font-size:12px}.upload-card span{font-size:10px;color:var(--muted)}.upload-card input[type=file]{font-size:11px;max-width:100%}.file-analysis-list{display:grid;gap:10px}.file-analysis-row{display:grid;grid-template-columns:45px 1fr;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:12px}.file-analysis-main strong,.file-analysis-main>span{display:block}.file-analysis-main strong{font-size:11px}.file-analysis-main>span{font-size:9px;color:var(--muted);margin-top:4px}.compact-chips{margin-top:8px}.compact-chips span{font-size:9px;padding:4px 7px}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.decision-grid>div{border:1px solid var(--line);border-radius:8px;padding:11px}.decision-grid span,.decision-grid strong{display:block}.decision-grid span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.decision-grid strong{font-size:22px;margin-top:4px}.decision-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.small-note{font-size:9px!important;margin:12px 0 0!important}.import-issues-panel{margin-bottom:18px}.switch-label{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center}.issue-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px}.issue-summary-card{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fafbfc}.issue-summary-card strong,.issue-summary-card span,.issue-summary-card small{display:block}.issue-summary-card strong{font-size:18px}.issue-summary-card span{font-size:9px;font-weight:800;margin-top:3px}.issue-summary-card small{font-size:8px;color:var(--muted);margin-top:4px}.issue-summary-card.error{border-left:3px solid var(--bad);background:#fff8f8}.issue-summary-card.warning{border-left:3px solid var(--warn);background:#fffbf3}.issue-summary-card.info{border-left:3px solid var(--blue);background:#f7f9ff}.import-preview-head{align-items:flex-end}.preview-filters{display:flex;gap:8px;min-width:min(540px,55%)}.import-preview-table{min-width:1450px}.import-preview-table tr.row-error{background:#fff8f8}.import-preview-table tr.row-warning{background:#fffcf6}.import-checkbox{width:16px;height:16px;accent-color:var(--accent)}.record-kind{display:inline-flex;border-radius:14px;padding:4px 8px;font-size:9px;font-weight:800;background:#eef1f3;color:#5c6670;white-space:nowrap}.record-kind.tool{background:#e7f4eb;color:#287342}.record-kind.toolbox{background:#e8effc;color:#315f9e}.record-kind.toolboxitem{background:#f2edf9;color:#6c4a93}.validation-chip{display:inline-flex;margin:2px 3px 2px 0;border-radius:12px;padding:4px 7px;font-size:8px;font-weight:800;white-space:nowrap}.validation-chip.clean{background:#e7f4eb;color:#287342}.validation-chip.warning{background:#fff2d5;color:#8c5e08}.validation-chip.error{background:#fae7e7;color:#a02b2b}.validation-chip.info{background:#e8effc;color:#315f9e}.import-commit-panel{margin-top:18px;display:flex;justify-content:space-between;gap:18px;align-items:center}.import-commit-panel p{margin-bottom:0}.import-commit-panel code{background:#f0f2f4;border-radius:4px;padding:2px 5px}.commit-result{margin-top:18px;border-left:4px solid var(--good)}.commit-result.failed{border-left-color:var(--bad)}.commit-result .source-stats{max-width:760px}.import-stats{margin-top:4px}
@media(max-width:1000px){.import-launch-grid{grid-template-columns:1fr}.issue-summary-grid{grid-template-columns:1fr 1fr}.preview-filters{min-width:0;width:100%}.import-preview-head{align-items:flex-start;flex-direction:column}.import-commit-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.decision-grid,.issue-summary-grid{grid-template-columns:1fr}.preview-filters{flex-direction:column}.import-commit-panel .btn{width:100%}}

/* V0.4.1 - Needs Attention action centre */
.stat-card-link{display:block;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.stat-card-link:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(24,32,40,.1);border-color:#e5c37b}.attention-help{display:flex;align-items:center;gap:13px;margin-bottom:18px;background:#fffaf0;border-color:#edd49b}.attention-help-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#fff0c9;color:#8d5b00;font-weight:900}.attention-help strong,.attention-help span{display:block}.attention-help strong{font-size:12px}.attention-help span{font-size:10px;color:var(--muted);line-height:1.5;margin-top:3px}.attention-filters{grid-template-columns:1.5fr 1fr 1fr 1fr}.attention-table{min-width:1250px}.attention-reasons{display:flex;gap:5px;flex-wrap:wrap;max-width:330px}.attention-reason{display:inline-flex;border-radius:14px;padding:4px 7px;font-size:9px;font-weight:800;white-space:nowrap}.attention-reason.danger{background:#fae7e7;color:#a02b2b}.attention-reason.warning{background:#fff2d5;color:#8c5e08}.attention-reason.neutral{background:#edf0f2;color:#5f6b76}.attention-overdue-row{background:#fffafa}.attention-date-overdue{color:var(--bad)!important;font-weight:700}.compact-action{padding:7px 10px;white-space:nowrap}.attention-empty{margin-top:18px;padding:34px 20px}.attention-empty h1{font-size:17px}.attention-empty p{margin-bottom:0}@media(max-width:1000px){.attention-filters{grid-template-columns:1fr 1fr}}@media(max-width:650px){.attention-filters{grid-template-columns:1fr}.attention-help{align-items:flex-start}}

/* V0.5.0 - Toolbox operations, master data and direct attention actions */
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.resolution-panel{margin-top:18px;border-top:3px solid var(--accent)}.compact-notice{padding:12px 14px;margin:12px 0}.compact-notice .notice-icon{width:30px;height:30px;flex:0 0 30px;font-size:13px}.compact-notice h2{font-size:12px}.compact-notice p{font-size:10px}.form-help{font-size:10px;color:var(--muted);line-height:1.5;margin:-6px 0 12px}.toolbox-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.toolbox-filters{grid-template-columns:1.6fr 1fr 1fr 1fr}.tool-register-filters{grid-template-columns:1.6fr .8fr 1fr 1fr 1.2fr}.tools-register-table{min-width:1450px}.toolbox-add-tools,.toolbox-manual-content{margin-bottom:18px}.tool-search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.tool-search-row>span{font-size:10px;color:var(--muted);white-space:nowrap}.candidate-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.candidate-card{border:1px solid var(--line);border-radius:9px;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.candidate-card strong,.candidate-card span,.candidate-card small{display:block}.candidate-card strong{font-size:11px}.candidate-card span{font-size:10px;margin-top:3px}.candidate-card small{font-size:9px;color:var(--muted);margin-top:4px}.padded-empty{margin:0 18px 18px}.compact-search{max-width:300px}.table-input{min-width:130px;padding:7px 8px}.toolbox-content-table{min-width:1400px}.danger-text{color:#a02b2b}.compact-details{margin-top:12px}.toolbox-link-card{display:block;border:1px solid #d9e0e5;background:#fafbfc;border-radius:9px;padding:11px 12px;margin:10px 0}.toolbox-link-card span,.toolbox-link-card strong,.toolbox-link-card small{display:block}.toolbox-link-card span{font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.toolbox-link-card strong{font-size:12px;margin-top:4px}.toolbox-link-card small{font-size:9px;color:#805608;margin-top:3px}.compact-empty{padding:10px;margin:8px 0}.content-grid.one-third{grid-template-columns:1fr 2fr}.master-data-head{align-items:flex-end}.master-data-filter{display:flex;gap:8px;min-width:420px}.record-kind.person{background:#e7f4eb;color:#287342}.record-kind.project{background:#e8effc;color:#315f9e}.record-kind.location{background:#fff2d5;color:#8c5e08}
@media(max-width:1200px){.toolbox-summary-grid{grid-template-columns:1fr 1fr}.toolbox-filters,.tool-register-filters{grid-template-columns:1fr 1fr}.candidate-grid{grid-template-columns:1fr}.content-grid.one-third{grid-template-columns:1fr}.master-data-filter{min-width:0}}
@media(max-width:650px){.toolbox-summary-grid,.toolbox-filters,.tool-register-filters{grid-template-columns:1fr}.tool-search-row{grid-template-columns:1fr}.master-data-head{align-items:flex-start;flex-direction:column}.master-data-filter{width:100%;flex-direction:column}.row-actions{align-items:stretch}.row-actions .btn{width:100%}}

/* V0.6.0 - full operations */
.record-actions{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 18px}.operational-stats{margin-top:4px}.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.quick-action-grid a{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fafbfc}.quick-action-grid strong,.quick-action-grid span{display:block}.quick-action-grid strong{font-size:11px}.quick-action-grid span{font-size:9px;color:var(--muted);margin-top:3px}.master-list{margin-top:18px;max-height:420px;overflow:auto}.filter-inline{display:flex;gap:8px;align-items:center}.compact-select{max-width:190px}.qty-input{min-width:75px;max-width:90px}.status-badge.requested,.status-badge.sentout,.status-badge.inprogress,.status-badge.awaitingparts{background:#fff2d5;color:#8c5e08}.status-badge.completed,.status-badge.resolved{background:#e4f4ea;color:#196d3e}.status-badge.cancelled,.status-badge.writtenoff{background:#ebedef;color:#60666d}.status-badge.open,.status-badge.investigating{background:#fae7e7;color:#a02b2b}.file-input{padding:8px}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}.document-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:220px}.document-card img{width:100%;height:150px;object-fit:cover;background:#f2f4f6}.document-card>div:not(.document-icon):not(.row-actions){padding:12px}.document-card strong,.document-card span,.document-card small{display:block}.document-card strong{font-size:11px;word-break:break-word}.document-card span,.document-card small{font-size:9px;color:var(--muted);margin-top:4px}.document-card .row-actions{padding:0 12px 12px;margin-top:auto}.document-icon{height:150px;display:grid;place-items:center;background:#f2f4f6;font-size:22px;font-weight:900;color:#71808d}.login-shell{min-height:70vh;display:grid;place-items:center}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:var(--shadow);text-align:center}.login-card .brand-mark.large{width:52px;height:52px;margin:0 auto 18px;font-size:25px}.login-card h1{margin:5px 0 9px}.login-card p{font-size:12px;color:var(--muted);line-height:1.6}.login-card small{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:15px}.login-card .btn.ghost{margin-top:8px}.label-search-results{display:grid;gap:6px;margin-top:12px;max-height:430px;overflow:auto}.search-result-button{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;text-align:left;cursor:pointer}.search-result-button:hover{border-color:#d9ad5b;background:#fffaf0}.search-result-button strong,.search-result-button span,.search-result-button small{display:block}.search-result-button strong{font-size:11px}.search-result-button span{font-size:10px;margin-top:2px}.search-result-button small{font-size:9px;color:var(--muted);margin-top:3px}.label-sheet{background:#fff;border:1px dashed #b9c2ca;border-radius:12px;padding:30px;margin-top:18px}.asset-label{width:100mm;min-height:50mm;border:2px solid #111;padding:5mm;display:grid;grid-template-columns:25mm 1fr;grid-template-rows:auto 1fr;gap:3mm;margin:auto;background:#fff;color:#111}.label-brand{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid #111;padding-bottom:2mm}.label-brand strong{font-size:18px}.label-brand span{font-size:8px;letter-spacing:.12em}.label-qr svg{width:23mm;height:23mm}.label-details span,.label-details strong,.label-details small{display:block}.label-details span{font-size:7px;text-transform:uppercase}.label-details h2{font-size:18px;margin:2px 0 3px}.label-details strong{font-size:9px}.label-details small{font-size:6px;margin-top:2px;word-break:break-all}.reports-filters{grid-template-columns:1fr 1.5fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid .span-3{grid-column:1/-1}.detail-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.document-grid{grid-template-columns:1fr 1fr}.reports-filters{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.document-grid{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}.asset-label{width:100%;grid-template-columns:25mm 1fr}.record-actions .btn{width:100%}.filter-inline{flex-direction:column;align-items:stretch}.compact-select{max-width:none}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print,.page-heading,.record-actions{display:none!important}.app-shell{display:block}.page-body{padding:0;max-width:none}.label-sheet{border:0;padding:0;margin:0}.asset-label{margin:0;page-break-inside:avoid}}
.nav-button{display:flex;width:100%;align-items:center;gap:12px;border:0;background:transparent;color:inherit;padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer;text-align:left}.nav-button:hover{background:rgba(255,255,255,.08)}.nav-button span{width:20px;text-align:center}
.condition-summary a{color:inherit;text-decoration:none}.condition-summary a:hover{background:rgba(15,23,42,.035)}
.condition-summary>a{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px 12px}

/* V0.6.1 - Google authentication enabled */
.auth-page{min-height:100vh;background:linear-gradient(135deg,#f5f7f9 0%,#eef2f5 100%);display:flex;flex-direction:column}.auth-brand{display:flex;align-items:center;gap:12px;padding:24px 32px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{letter-spacing:.08em}.auth-brand small{font-size:9px;color:var(--muted);letter-spacing:.12em}.auth-content{flex:1;display:grid;place-items:center;padding:20px 24px 70px}.auth-content .login-shell{min-height:auto;width:100%}.authenticated-user-chip{gap:10px}.topbar-signout{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700;color:#4b5864;cursor:pointer;margin-left:4px}.topbar-signout:hover{background:#f6f7f8}.login-card .brand-mark.large{background:#fff;border:1px solid #dbe3ea;color:#356ac3}.login-card .alert{text-align:left}.nav-list .nav-button{color:#aebbc7}.nav-list .nav-button:hover{color:#fff}@media(max-width:650px){.auth-brand{padding:18px 20px}.auth-content{padding:12px 16px 40px}.authenticated-user-chip>span:nth-child(2){display:none}.topbar-signout{margin-left:0}}


/* V0.6.2 - Needs Attention resolution modal */
.attention-modal-backdrop{position:fixed;inset:0;z-index:2500;background:rgba(8,18,28,.58);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;backdrop-filter:blur(2px)}
.attention-modal{width:min(980px,100%);max-height:calc(100vh - 48px);margin:0;border-top:4px solid var(--accent);box-shadow:0 24px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;background:#fff}
.attention-modal-head{padding:20px 22px 16px;border-bottom:1px solid var(--line);margin:0;flex:0 0 auto}
.attention-modal-head h2{margin:4px 0 3px}.attention-modal-head p{margin:0;color:var(--muted)}
.attention-modal-body{padding:18px 22px;overflow:auto;overscroll-behavior:contain}
.attention-modal-footer{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:#fafbfc;flex:0 0 auto}
.attention-selected-summary{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px;margin:0 0 16px}
.attention-selected-summary>div{border:1px solid var(--line);background:#fafbfc;border-radius:9px;padding:11px 12px;min-width:0}
.attention-selected-summary span,.attention-selected-summary strong,.attention-selected-summary small{display:block}
.attention-selected-summary span{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.attention-selected-summary strong{font-size:11px;margin-top:4px}.attention-selected-summary small{font-size:9px;color:var(--muted);margin-top:3px;white-space:normal}
@media (max-width:760px){.attention-modal-backdrop{padding:10px;align-items:flex-start}.attention-modal{max-height:calc(100vh - 20px)}.attention-selected-summary{grid-template-columns:1fr}.attention-modal .form-grid.three{grid-template-columns:1fr}.attention-modal .form-grid .span-3{grid-column:auto}.attention-modal-footer{position:sticky;bottom:0}}

/* ===== V0.7 additions ===== */
.modal-narrow{width:min(620px,100%)}
.confirm-backdrop{z-index:2600}
.confirm-text{font-size:13px;line-height:1.55;margin:0;white-space:pre-line}
.btn.danger{background:#b3261e;color:#fff;border-color:#b3261e}.btn.danger:hover{background:#8f1d17}
.btn.danger-outline{background:#fff;color:#a02b2b;border-color:#efc2c2}.btn.danger-outline:hover{background:#faeaea}
.sticky-alert{position:sticky;top:10px;z-index:900;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.alert.success{background:#e9f6ee;color:#1f6b3a;border:1px solid #bfe3cb}
.alert-close{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:inherit;padding:0 4px}
.data-banner{margin:0 0 16px;padding:12px 14px;border-radius:9px;font-size:12px;font-weight:700;display:flex;gap:12px;align-items:center;justify-content:space-between}
.data-banner.loading{background:#fff6dd;border:1px solid #f1d98f;color:#7a5a00}
.data-banner.failed{background:#faeaea;border:1px solid #efc2c2;color:#a13030}
.data-banner.demo{background:#e8effc;border:1px solid #c3d4f2;color:#315f9e}
.badge-inactive{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#eef0f2;color:#6b7580;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.pager{display:flex;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:11px;color:var(--muted)}
.danger-zone{margin-top:18px;border:1px solid #efc2c2;background:#fffafa;border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.danger-zone strong{display:block;font-size:12px;color:#a02b2b}.danger-zone span{font-size:11px;color:#6b4b4b}
.check-label{display:flex!important;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#4f5b66}.check-label input{width:auto}
.master-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.master-row .row-actions{flex:0 0 auto}
.muted-row{opacity:.6}
.inline-hint{font-size:10px;color:var(--muted);margin-top:4px;display:block}
