.nav-badge { float:right; background:#ed724f; color:white; min-width:20px; height:20px; padding:2px 6px; border-radius:10px; text-align:center; font-size:10px; }
.sidebar nav { gap:4px; }
.nav-group { border-radius:10px; }
.nav-group summary { list-style:none; display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:9px; color:#bdd0cc; font-size:13px; font-weight:800; cursor:pointer; user-select:none; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary:hover,.nav-group[open] summary { background:rgba(255,255,255,.06); color:#fff; }
.nav-group summary>span { width:16px; text-align:center; }
.nav-group summary i { margin-left:auto; font-style:normal; transition:transform .2s ease; }
.nav-group[open] summary i { transform:rotate(180deg); }
.nav-group-items { display:grid; gap:3px; margin-left:21px; padding:4px 0 7px 8px; border-left:1px solid rgba(255,255,255,.1); }
.nav-group-items .nav-item { width:100%; padding:9px 12px; font-size:12px; }
.nav-group-items .nav-item span { opacity:.85; }
.nav-group-items .nav-badge { float:none; margin-left:auto; }
.notification-list { display:grid; gap:10px; }
.notification-card { width:100%; border:1px solid #e1e5df; border-radius:13px; background:#fff; padding:16px 18px; display:grid; grid-template-columns:10px 1fr auto; gap:14px; align-items:center; text-align:left; color:#152b2b; }
.notification-card:hover { border-color:#9baa76; transform:translateY(-1px); }
.notification-card.read { opacity:.62; }
.notification-card p { color:#71807d; margin:4px 0; }
.notification-card small { color:#8c9996; }
.notification-dot { width:9px; height:9px; border-radius:50%; background:#e1b23d; }
.notification-card.critical .notification-dot { background:#ed724f; }
.notification-card.info .notification-dot { background:#6c8bb8; }
.settings-layout .event-list { margin-top:18px; }
.analytics-layout { display:grid; grid-template-columns:250px 1fr; gap:18px; align-items:start; }
.dashboard-library { position:sticky; top:18px; }
.dashboard-list-item { width:100%; border:0; border-radius:9px; background:transparent; padding:12px; text-align:left; color:#152b2b; }
.dashboard-list-item strong,.dashboard-list-item small { display:block; }
.dashboard-list-item small { color:#71807d; margin-top:4px; }
.dashboard-list-item:hover,.dashboard-list-item.active { background:#edf2db; }
.compact-empty { padding:24px 8px; }
.dashboard-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px; }
.dashboard-heading h3 { margin-bottom:7px; }
.dashboard-heading .muted { margin:0; }
.dashboard-actions { display:flex; gap:8px; }
.analytics-widgets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.analytics-widget { background:#fff; border:1px solid #e1e5df; border-radius:15px; padding:22px; min-width:0; }
.analytics-widget.wide { grid-column:1/-1; }
.analytics-widget h3 { font:800 17px Manrope; margin:0 0 20px; }
.analytics-widget h4 { margin:0 0 14px; font-size:12px; color:#71807d; text-transform:uppercase; letter-spacing:.08em; }
.metric-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.metric-trio>div { background:#fafbf8; border-radius:10px; padding:13px; }
.metric-trio span,.metric-trio strong,.metric-trio small { display:block; }
.metric-trio span { color:#71807d; font-size:11px; }
.metric-trio strong { font:800 19px Manrope; margin-top:7px; }
.analytics-split { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.analytics-bar { display:grid; grid-template-columns:100px 1fr 82px; gap:9px; align-items:center; margin:11px 0; font-size:11px; }
.analytics-bar>div { height:7px; border-radius:8px; background:#edf0ea; overflow:hidden; }
.analytics-bar i { display:block; height:100%; background:#173f3c; border-radius:8px; }
.analytics-bar strong { text-align:right; }
.analytics-ranked>div { display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid #edf0eb; }
.analytics-ranked strong,.analytics-ranked small { display:block; }
.analytics-ranked small { color:#71807d; margin-top:3px; }
.analytics-ranked b { font-size:11px; white-space:nowrap; }
.metric-callout { display:flex; align-items:baseline; gap:10px; }
.metric-callout strong { font:800 32px Manrope; }
.dashboard-sheet { padding:28px; }
.dashboard-sheet>label { display:grid; gap:8px; font-weight:700; font-size:13px; margin:15px 0; }
.dashboard-widget-picker { border:1px solid #e1e5df; border-radius:12px; padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dashboard-widget-picker legend { font-weight:800; padding:0 6px; }
.dashboard-widget-picker label { display:flex; gap:8px; align-items:center; font-size:13px; }
.dashboard-widget-picker input { width:auto; }
.close-dashboard { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:34px; height:34px; }
.dashboard-sheet .modal-actions .close-dashboard { width:auto; height:auto; border:1px solid #e1e5df; border-radius:10px; background:#fff; font-size:inherit; }
.report-filter-fields { border:1px solid #e1e5df; border-radius:10px; padding:12px; margin-top:14px; }
.report-filter-fields summary { cursor:pointer; font-weight:800; color:#526520; }
.scheduled-report-item { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:13px 0; border-top:1px solid #edf0eb; }
.scheduled-report-item strong,.scheduled-report-item small { display:block; }
.scheduled-report-item small { color:#71807d; margin-top:4px; line-height:1.35; }
.scheduled-report-item>div:last-child { display:flex; gap:6px; align-items:center; }
.compact-action { padding:7px 10px; font-size:11px; white-space:nowrap; }

.asset-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;background:#fafbf8}.asset-pagination>div{display:flex;align-items:center;gap:10px}.asset-pagination button{min-width:82px;margin:0}.asset-pagination button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:600px){.asset-pagination{align-items:flex-start;flex-direction:column}.asset-pagination>div{width:100%;justify-content:space-between}.asset-pagination button{min-width:0}}
.delivery-sent { color:#527229!important; }
.delivery-failed { color:#9d3f31!important; }
.planning-toolbar { display:grid; grid-template-columns:150px 1fr 1fr auto; gap:14px; align-items:end; margin-bottom:18px; }
.planning-toolbar label { display:grid; gap:7px; font-size:12px; font-weight:800; }
.planning-toolbar .primary { width:auto; margin:0; }
.planning-section { margin-top:18px; }
.forecast-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:10px; }
.forecast-card { border:1px solid #e1e5df; border-radius:11px; padding:14px; background:#fafbf8; }
.forecast-card span,.forecast-card strong,.forecast-card small { display:block; }
.forecast-card span { color:#71807d; font-weight:800; }
.forecast-card strong { font:800 19px Manrope; margin:8px 0 4px; }
.forecast-card small { color:#71807d; }
.planning-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; align-items:start; }
.planning-grid form>label { display:grid; gap:7px; margin:12px 0; font-size:12px; font-weight:800; }
.plan-year { display:grid; grid-template-columns:55px 1fr auto; gap:12px; padding:13px 0; border-top:1px solid #edf0eb; align-items:center; }
.plan-year span { color:#71807d; font-size:12px; }
.capex-item { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:13px 0; border-top:1px solid #edf0eb; }
.capex-item strong,.capex-item small { display:block; }
.capex-item small { color:#71807d; margin-top:4px; }
.capex-item select { padding:8px; min-width:120px; }
.proactive-intelligence { background:#fff; border:1px solid #e1e5df; border-radius:15px; padding:23px; margin:0 0 18px; }
.proactive-intelligence h3 { font:800 19px Manrope; margin:6px 0; }
.proactive-intelligence .panel-head p:last-child { color:#71807d; margin:0; }
.proactive-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.proactive-actions .primary,.proactive-actions .secondary { width:auto; margin:0; padding:10px 12px; font-size:12px; }
.advisory-banner { display:flex; gap:10px; align-items:center; border-radius:9px; background:#fff7df; color:#745814; padding:10px 12px; margin:18px 0; font-size:12px; }
.advisory-banner strong { font-size:10px; letter-spacing:.1em; white-space:nowrap; }
.proactive-insights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.insight-card { border:1px solid #e1e5df; border-left:4px solid #d0a431; border-radius:11px; padding:16px; }
.insight-card.severity-high { border-left-color:#ed724f; }
.insight-head { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.insight-head span { color:#71807d; font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:800; }
.insight-head b { color:#745814; background:#fff0bd; border-radius:12px; padding:4px 7px; font-size:8px; letter-spacing:.08em; }
.insight-card h4 { margin:12px 0 7px; }
.insight-card>p { color:#71807d; line-height:1.45; margin:0 0 12px; }
.insight-assets { display:flex; flex-wrap:wrap; gap:6px; }
.insight-assets button { border:1px solid #dfe5d2; background:#f6f9ec; color:#526520; border-radius:14px; padding:5px 8px; font-size:10px; }
.insight-recommendation { background:#fafbf8; border-radius:8px; padding:10px; margin-top:12px; }
.insight-recommendation strong,.insight-recommendation span { display:block; }
.insight-recommendation strong { font-size:10px; text-transform:uppercase; color:#71807d; margin-bottom:4px; }
.insight-recommendation span { font-size:12px; line-height:1.4; }
.ai-summary { border:1px solid #cad7a5; background:#f7faee; border-radius:11px; padding:16px; margin-bottom:14px; }
.ai-summary p { white-space:pre-wrap; line-height:1.55; }
.integration-layout { display:grid; grid-template-columns:minmax(340px,1fr) minmax(420px,1.35fr); gap:18px; align-items:start; }
.integration-layout form>label { display:grid; gap:7px; margin:13px 0; font-size:12px; font-weight:800; }
.integration-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.integration-card { border:1px solid #e1e5df; border-radius:11px; background:#fff; padding:14px; text-align:left; color:#152b2b; }
.integration-card span,.integration-card strong,.integration-card small { display:block; }
.integration-card span { font-weight:800; }
.integration-card strong { color:#95601b; font-size:11px; margin-top:8px; }
.integration-card small { color:#71807d; margin-top:4px; }
.integration-card.configured { border-color:#cbd9a5; background:#f8faef; }
.integration-card.configured strong { color:#527229; }
.security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.security-grid form>label,.security-grid section>form>label { display:grid; gap:7px; margin:12px 0; font-size:12px; font-weight:800; }
.permission-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; border:1px solid #e1e5df; border-radius:10px; padding:12px; }
.permission-picker label { display:flex; align-items:center; gap:7px; font-size:11px; }
.permission-picker input { width:auto; }
.security-history { margin-top:18px; }
.api-key-result { background:#fff7df; border:1px solid #ead58d; border-radius:10px; padding:12px; margin-top:14px; }
.api-key-result strong,.api-key-result code { display:block; }
.api-key-result code,#mfa-secret { margin-top:8px; padding:9px; border-radius:7px; background:#152b2b; color:#d8f26a; overflow-wrap:anywhere; }
#mfa-setup-box { margin-top:14px; }
#mfa-login-form>label { display:grid; gap:8px; font-weight:700; }
.health-summary { display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:10px; margin:0 0 18px; }
.health-summary>div { background:#fff; border:1px solid #e1e5df; border-radius:12px; padding:14px; }
.health-summary span,.health-summary strong,.health-summary small { display:block; }
.health-summary span { color:#71807d; font-size:10px; font-weight:800; text-transform:uppercase; }
.health-summary strong { font:800 21px Manrope; margin-top:7px; }
.quality-score { background:#d8f26a!important; border-color:#d8f26a!important; }
.tutorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.tutorial-card { background:#fff; border:1px solid #e1e5df; border-radius:13px; padding:18px; }
.tutorial-card>span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#d8f26a; font-weight:800; }
.tutorial-card h3 { margin:14px 0 7px; }
.tutorial-card p { color:#71807d; min-height:45px; line-height:1.45; }
.tutorial-view { margin-top:18px; }
.setup-wizard { padding:28px; }
.setup-wizard>label { display:grid; gap:8px; margin:14px 0; font-weight:800; font-size:12px; }
.wizard-progress { display:flex; gap:6px; margin-bottom:18px; }
.wizard-progress span { width:28px; height:5px; border-radius:5px; background:#e1e5df; font-size:0; }
.wizard-progress span.active { background:#173f3c; }
.wizard-options { display:grid; gap:8px; margin-top:18px; }
.wizard-options button { border:1px solid #e1e5df; background:#fafbf8; border-radius:9px; padding:12px; text-align:left; font-weight:700; }
.close-setup { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:34px; height:34px; }
.template-tools { display:flex; gap:8px; margin:12px 0; }
.template-tools select { flex:1; }
.asset-custom-fields { border-top:1px solid #e1e5df; margin-top:16px; padding-top:15px; }
.asset-custom-fields>label { display:grid; gap:7px; }
.security-subhead { margin-top:20px; }
@media(max-width:950px){.health-summary{grid-template-columns:repeat(2,1fr)}.tutorial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.health-summary,.tutorial-grid{grid-template-columns:1fr}.template-tools{display:grid}}
@media(max-width:950px){.security-grid{grid-template-columns:1fr}}
.integration-card.configured strong { color:#527229; }
.integration-export { margin-top:0; }
@media(max-width:950px){.integration-layout{grid-template-columns:1fr}}
@media(max-width:550px){.integration-cards{grid-template-columns:1fr}}
@media(max-width:850px){.proactive-insights{grid-template-columns:1fr}.proactive-intelligence .panel-head{display:block}.proactive-actions{justify-content:flex-start;margin-top:14px}}
@media(max-width:950px){.planning-toolbar{grid-template-columns:1fr 1fr}.planning-grid{grid-template-columns:1fr}}
@media(max-width:600px){.planning-toolbar{grid-template-columns:1fr}.plan-year{grid-template-columns:45px 1fr}.plan-year b{grid-column:2}}
@media(max-width:950px){.analytics-layout{grid-template-columns:1fr}.dashboard-library{position:static}.analytics-widgets{grid-template-columns:1fr}.analytics-widget.wide{grid-column:auto}}
@media(max-width:650px){.analytics-split,.metric-trio,.dashboard-widget-picker{grid-template-columns:1fr}.analytics-bar{grid-template-columns:80px 1fr 70px}}
.approval-intro { margin:30px 0 16px; background:white; border:1px solid #e1e5df; border-radius:15px; padding:24px; }
.approval-intro h3 { font:800 22px Manrope; margin:7px 0; }
.approval-intro p:last-child { color:#71807d; margin-bottom:0; }
.approve-button { border:0; background:#173f3c; color:white; border-radius:8px; padding:8px 13px; font-weight:700; }
.reject-button { border:1px solid #e3bcb3; background:#fff6f3; color:#a44734; border-radius:8px; padding:7px 12px; font-weight:700; margin-left:5px; }
.status.pending { background:#fff0d6; color:#95601b; }
.status.rejected { background:#f9e2dc; color:#984632; }
.category-admin-grid { display:grid; grid-template-columns:minmax(280px, 360px) 1fr; gap:18px; align-items:start; }
.category-admin-grid .panel h3 { margin:7px 0 20px; }
.category-admin-grid .panel .primary { width:auto; margin:0; }
@media (max-width:800px) { .category-admin-grid { grid-template-columns:1fr; } }
.modal-actions .modal-cancel { width:auto; height:auto; border:1px solid #e1e5df; border-radius:10px; background:white; color:#152b2b; padding:12px 18px; font-size:inherit; }
.modal-actions .modal-cancel:hover { background:#f5f4ee; }
.image-preview { display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 14px; }
.image-preview figure { margin:0; position:relative; }
.image-preview img { width:78px; height:64px; border-radius:9px; border:1px solid #e1e5df; object-fit:cover; display:block; }
.image-preview .image-count { color:#71807d; font-size:12px; align-self:center; }
.settings-card { max-width:520px; }
.settings-card .primary { width:auto; }
.settings-note { color:#71807d; font-size:13px; line-height:1.5; }
.settings-layout { display:grid; grid-template-columns:repeat(2,minmax(0,520px)); gap:18px; }
.settings-card h3 { font:800 20px Manrope; margin:7px 0 18px; }
.settings-link { width:100%; border:1px solid #e1e5df; background:#fafbf8; color:#152b2b; border-radius:10px; padding:13px 14px; display:flex; align-items:center; gap:8px; font-weight:800; text-align:left; }
.settings-link span { margin-left:auto; }
.settings-link .nav-badge { margin-left:4px; }
@media(max-width:800px) { .settings-layout { grid-template-columns:1fr; } }
.admin-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; align-items:start; }
.admin-section-nav { position:sticky; top:18px; display:grid; gap:7px; padding:8px; background:#fff; border:1px solid #e1e5df; border-radius:14px; }
.admin-section-nav button { display:grid; grid-template-columns:32px 1fr; column-gap:10px; width:100%; padding:11px; border:0; border-radius:10px; background:transparent; color:#526360; text-align:left; cursor:pointer; }
.admin-section-nav button>span { grid-row:1/3; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#f1f3ed; color:#173f3c; font-size:16px; }
.admin-section-nav b { color:#263a38; font:700 13px Manrope; }
.admin-section-nav small { margin-top:2px; color:#87928f; font-size:10px; }
.admin-section-nav button:hover { background:#f7f8f4; }
.admin-section-nav button.active { background:#173f3c; }
.admin-section-nav button.active>span { background:#d8f26a; }
.admin-section-nav button.active b { color:#fff; }
.admin-section-nav button.active small { color:#bdcbc7; }
.admin-section-content { min-width:0; }
.admin-section-pane { display:grid; gap:14px; }
.admin-section-header { display:flex; gap:14px; align-items:flex-start; padding:20px 22px; border:1px solid #e1e5df; border-radius:14px; background:linear-gradient(135deg,#fff 65%,#f4f7e8); }
.admin-section-header>span { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:11px; background:#d8f26a; color:#173f3c; font-size:20px; }
.admin-section-header h3 { margin:4px 0; font:800 21px Manrope; }
.admin-section-header p:last-child { margin:0; color:#71807d; font-size:13px; }
.admin-pane-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.admin-pane-grid>.panel,.admin-pane-grid>.settings-card { width:auto; max-width:none; margin:0; }
.admin-pane-grid>.security-history { grid-column:1/-1; }
.admin-pane-grid form>label,.admin-pane-grid section>form>label { display:grid; gap:7px; margin:12px 0; font-size:12px; font-weight:800; }
@media(max-width:1050px){.admin-workspace{grid-template-columns:205px minmax(0,1fr)}.admin-pane-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-workspace{display:block}.admin-section-nav{position:static;display:flex;overflow-x:auto;margin-bottom:14px;padding:6px}.admin-section-nav button{flex:0 0 auto;display:flex;align-items:center;width:auto;padding:9px 12px}.admin-section-nav button>span{width:27px;height:27px}.admin-section-nav button small{display:none}.admin-section-header{padding:17px}.admin-section-header>span{display:none}}
.import-mapping-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:14px 0; max-height:330px; overflow:auto; padding-right:5px; }
.import-mapping-grid label { display:grid; gap:5px; padding:9px; border:1px solid #e1e5df; border-radius:9px; background:#fafbf8; }
.import-mapping-grid span { font-size:11px; font-weight:800; overflow-wrap:anywhere; }
.import-mapping-grid select { min-width:0; }
.mapping-success { padding:10px; border-radius:8px; background:#edf7df; color:#476b2b; font-weight:700; }
.print-brand-logo { display:block; max-width:90px; max-height:32px; object-fit:contain; object-position:left center; margin-bottom:7px; }
.report-brand-header { display:flex; align-items:center; gap:14px; min-height:64px; padding:14px 18px; margin-bottom:14px; border:1px solid #e1e5df; border-radius:12px; background:#fff; }
.report-brand-header:empty { display:none; }
.report-brand-header img { max-width:130px; max-height:48px; object-fit:contain; }
.report-brand-header strong,.report-brand-header small { display:block; }
.report-brand-header small { margin-top:4px; color:#71807d; }
@media print {.sidebar,.topbar,.report-toolbar,.approval-intro button{display:none!important}.report-brand-header{border:0;padding:0 0 14px}.report-brand-header img{max-width:150px;max-height:58px}}
.offline-change-panel { position:fixed; z-index:80; right:18px; bottom:18px; width:min(380px,calc(100vw - 36px)); padding:14px; border:1px solid #cbd9a5; border-radius:13px; background:#fff; box-shadow:0 15px 45px rgba(21,43,43,.18); }
.offline-change-panel>div:first-child { display:grid; gap:3px; margin-bottom:10px; }
.offline-change-panel small { color:#71807d; }
#offline-conflicts>div { display:flex; justify-content:space-between; gap:9px; align-items:center; padding-top:9px; margin-top:9px; border-top:1px solid #e1e5df; }
#offline-conflicts button { border:0; background:transparent; color:#9b4938; font-weight:800; font-size:11px; }
@media(max-width:600px){.import-mapping-grid{grid-template-columns:1fr}}
.asset-icon { overflow:hidden; }
.asset-icon img { width:100%; height:100%; object-fit:cover; display:block; }
#assets-table tr { cursor:pointer; }
#assets-table tr:hover { background:#fafbf8; }
.asset-details { padding:28px; }
.asset-details .modal-head h2 { margin-bottom:3px; }
.close-details { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:34px; height:34px; }
.asset-details .modal-actions .close-details { width:auto; height:auto; border:1px solid #e1e5df; border-radius:10px; background:white; padding:12px 18px; font-size:inherit; }
.details-gallery { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin:18px 0; }
.details-gallery img,.details-gallery .details-placeholder { width:100%; aspect-ratio:4/3; border-radius:10px; border:1px solid #e1e5df; object-fit:cover; }
.details-gallery .details-placeholder { display:grid; place-items:center; background:#edf2db; font-size:28px; }
.details-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.detail-field { border:1px solid #e1e5df; border-radius:10px; padding:12px; }
.detail-field span,.details-notes span { display:block; color:#71807d; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:6px; }
.detail-field strong { font-size:14px; }
.details-notes { margin-top:14px; background:#fafbf8; border-radius:10px; padding:14px; }
.details-notes p { margin:0; white-space:pre-wrap; line-height:1.5; }
@media(max-width:600px) { .details-grid { grid-template-columns:1fr 1fr; } .details-gallery { grid-template-columns:repeat(3,1fr); } }
.intelligence-hero { margin:30px 0 16px; padding:28px; border-radius:17px; background:#173f3c; color:white; }
.intelligence-hero>span { color:#d8f26a; font-size:10px; font-weight:800; letter-spacing:.15em; }
.intelligence-hero h3 { font:800 26px Manrope; margin:8px 0; }
.intelligence-hero p { color:#bdd0cc; margin:0; }
.intelligence-suggestions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.intelligence-suggestions button { border:1px solid rgba(216,242,106,.35); background:rgba(216,242,106,.09); color:#d8f26a; padding:8px 11px; border-radius:18px; font-size:12px; }
.intelligence-chat { background:white; border:1px solid #e1e5df; border-radius:15px; overflow:hidden; }
.intelligence-messages { min-height:280px; max-height:520px; overflow:auto; padding:22px; display:flex; flex-direction:column; gap:14px; }
.ai-message,.user-message { display:flex; gap:11px; max-width:850px; }
.user-message { align-self:flex-end; background:#173f3c; color:white; border-radius:14px 14px 3px 14px; padding:12px 15px; }
.user-message p,.ai-message p { margin:3px 0 0; line-height:1.5; }
.ai-mark { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#d8f26a; color:#152b2b; }
.intelligence-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; margin-top:11px; }
.intelligence-result { border:1px solid #e1e5df; background:#fafbf8; border-radius:9px; padding:10px; cursor:pointer; }
.intelligence-result strong,.intelligence-result small { display:block; }
.intelligence-result small { color:#71807d; margin-top:3px; }
.intelligence-form { border-top:1px solid #e1e5df; padding:14px; display:flex; gap:10px; }
.intelligence-form input { flex:1; }
.intelligence-form .primary { width:auto; margin:0; }
#import-assets-button { white-space:nowrap; }
#export-assets-button { white-space:nowrap; }
.import-sheet { padding:28px; }
.close-import { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:34px; height:34px; }
.import-sheet .modal-actions .close-import { width:auto; height:auto; border:1px solid #e1e5df; border-radius:10px; background:white; padding:12px 18px; font-size:inherit; }
.import-columns { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0; }
.import-columns span { background:#edf2db; color:#526520; border-radius:14px; padding:5px 9px; font-size:11px; }
.import-summary { min-height:80px; border:1px solid #e1e5df; border-radius:10px; padding:14px; background:#fafbf8; white-space:pre-line; }
.import-summary.error { color:#9d3f31; background:#fff6f3; border-color:#e3bcb3; }
.export-sheet { padding:28px; }
.close-export { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:34px; height:34px; }
.export-sheet .modal-actions .close-export { width:auto; height:auto; border:1px solid #e1e5df; border-radius:10px; background:white; padding:12px 18px; font-size:inherit; }
.export-count { margin-top:14px; padding:10px 12px; border-radius:9px; background:#edf2db; color:#526520; font-size:13px; }
@media(max-width:1100px) { .asset-toolbar { flex-wrap:wrap; } }
.asset-toolbar .toolbar-icon-button { flex:0 0 42px; width:42px; height:42px; margin:0; padding:0; display:grid; place-items:center; border:1px solid #d8ded5; border-radius:10px; background:#fff; color:#29413f; box-shadow:none; transition:background .18s,border-color .18s,color .18s,transform .18s; }
.asset-toolbar-icons { display:flex; align-items:center; gap:8px; }
.asset-toolbar .toolbar-icon-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.asset-toolbar .toolbar-icon-button:hover { background:#edf2e4; border-color:#bfcbb9; color:#173f3c; transform:translateY(-1px); }
.asset-toolbar .toolbar-icon-button:focus-visible { outline:0; border-color:#7a9738; box-shadow:0 0 0 3px rgba(216,242,106,.35); }
#assets-page .row-actions { align-items:center; }
#assets-page .row-actions .icon-button { width:32px; height:32px; padding:0; display:grid; place-items:center; border-color:#d8ded5; color:#415653; transition:background .18s,border-color .18s,color .18s; }
#assets-page .row-actions .icon-button:hover { background:#edf2e4; border-color:#bfcbb9; color:#173f3c; }
@media(max-width:600px) { .asset-toolbar-icons { align-self:flex-end; } .asset-toolbar .toolbar-icon-button { flex-basis:42px; width:42px; } }
.accounting-grid { display:grid; grid-template-columns:minmax(420px,1.15fr) minmax(320px,.85fr); gap:18px; align-items:start; }
.accounting-grid.lower { margin-top:18px; }
.accounting-stack { display:grid; gap:18px; }
.tracking-grid { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr); gap:18px; margin:18px 0; align-items:start; }
.custody-grid { display:grid; grid-template-columns:minmax(420px,1fr) minmax(360px,1fr); gap:18px; margin:18px 0; align-items:start; }
.maintenance-grid,.maintenance-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0; align-items:start; }
.obligations-grid { display:grid; grid-template-columns:minmax(420px,1fr) minmax(360px,1fr); gap:18px; margin:18px 0; align-items:start; }
#obligation-form label { display:grid; gap:7px; margin:13px 0; color:#29413f; font-size:13px; font-weight:700; }
.obligation-register { margin-top:18px; }
.obligation-row { display:flex; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #e1e5df; }
.obligation-row:last-child { border-bottom:0; }
.obligation-row>div { flex:1; }
.obligation-row strong,.obligation-row small { display:block; }
.obligation-row small { color:#71807d; margin-top:4px; }
#work-request-form label,#maintenance-schedule-form label,.work-order-sheet label { display:grid; gap:7px; margin:13px 0; color:#29413f; font-size:13px; font-weight:700; }
#work-request-form>.primary,#maintenance-schedule-form>.primary { width:auto; }
.schedule-row,.work-order-row { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #e1e5df; }
.schedule-row:last-child,.work-order-row:last-child { border-bottom:0; }
.schedule-row>div,.work-order-row>div { flex:1; }
.schedule-row strong,.schedule-row small,.work-order-row strong,.work-order-row small { display:block; }
.schedule-row small,.work-order-row small { color:#71807d; margin-top:4px; }
.maintenance-orders { margin-top:18px; }
#work-order-modal { width:min(760px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); overflow:hidden; }
.work-order-sheet { max-height:calc(100dvh - 28px); overflow-y:auto; padding:26px; }
.close-work-order { border:0; background:#f0f2ed; border-radius:50%; font-size:22px; width:36px; height:36px; }
.inspection-checklist { padding:10px 12px; background:#fafbf8; border-radius:10px; }
.inspection-checklist .check-label { display:flex!important; align-items:center; gap:9px; }
.inspection-checklist input { width:auto; }
.part-row { display:grid; grid-template-columns:2fr .7fr 1fr 1.4fr; gap:8px; margin:8px 0; }
.recommendation-result { display:grid; gap:5px; margin-top:16px; padding:14px; border-radius:10px; background:#edf2db; }
.recommendation-result strong { color:#526520; }
.recommendation-result span,.recommendation-result small { color:#546460; }
.custody-stack { display:grid; gap:18px; }
#custody-issue-form label { display:grid; gap:7px; margin:13px 0; color:#29413f; font-size:13px; font-weight:700; }
#custody-issue-form .check-label { display:flex!important; gap:9px; align-items:center; }
#custody-issue-form .check-label input { width:auto; margin:0; }
#custody-issue-form>.primary { width:auto; }
.custody-row,.reminder-row { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #e1e5df; }
.custody-row:last-child,.reminder-row:last-child { border-bottom:0; }
.custody-row>div,.reminder-row>div { flex:1; }
.custody-row strong,.custody-row small,.reminder-row strong,.reminder-row small { display:block; }
.custody-row small,.reminder-row small { color:#71807d; margin-top:4px; }
.custody-row.overdue,.reminder-row.overdue { margin:0 -10px; padding:12px 10px; border-radius:9px; background:#fff5f1; }
.custody-history { margin-top:18px; }
.tracking-grid .panel h3,.tracking-history h3 { font:800 19px Manrope; margin:7px 0 18px; }
#stocktake-form label { display:grid; gap:7px; margin:13px 0; color:#29413f; font-size:13px; font-weight:700; }
#stocktake-form .check-label { display:flex!important; gap:9px; align-items:center; }
#stocktake-form .check-label input { width:auto; margin:0; }
#stocktake-form>.primary { width:auto; }
.stocktake-row { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #e1e5df; }
.stocktake-row:last-child { border-bottom:0; }
.stocktake-row>div { flex:1; }
.stocktake-row strong,.stocktake-row small { display:block; }
.stocktake-row small { color:#71807d; margin-top:4px; }
#scanner-modal { width:min(720px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); overflow:hidden; }
.scanner-sheet { width:100%; max-height:calc(100dvh - 28px); overflow-y:auto; overscroll-behavior:contain; padding:26px; }
.scanner-sheet .modal-head { position:sticky; top:-26px; z-index:3; margin:-26px -26px 0; padding:24px 26px 14px; background:#fff; border-bottom:1px solid #eef0eb; }
.close-scanner { flex:0 0 auto; border:0; background:#f0f2ed; color:#213b39; border-radius:50%; font-size:22px; line-height:1; width:36px; height:36px; display:grid; place-items:center; }
.camera-frame { position:relative; width:100%; aspect-ratio:16/9; min-height:0; overflow:hidden; display:grid; place-items:center; margin:16px 0 10px; border-radius:14px; background:#102525; color:#dce7dd; }
.camera-frame video { display:block; width:100%; height:100%; object-fit:cover; background:#102525; }
#camera-message { position:absolute; left:50%; bottom:14px; transform:translateX(-50%); width:max-content; max-width:calc(100% - 28px); text-align:center; padding:8px 11px; border-radius:8px; background:rgba(0,0,0,.68); color:#fff; font-size:12px; }
#start-camera { width:100%; display:flex; justify-content:center; align-items:center; }
#scan-form { display:grid; gap:14px; margin-top:18px; }
#scan-form label { display:grid; gap:7px; margin:0; color:#29413f; font-size:13px; font-weight:700; }
#scan-form label small { color:#71807d; font-weight:500; }
#scan-form .field-row { gap:14px; }
#scan-form .check-label { display:flex!important; gap:9px; align-items:center; }
#scan-form .check-label input { flex:0 0 auto; width:auto; margin:0; }
#scan-form .modal-actions { margin-top:4px; }
.signature-capture { display:grid; gap:7px; }
.signature-capture>span { color:#29413f; font-size:13px; font-weight:700; }
#audit-signature { display:block; width:100%; height:90px; border:1px dashed #aebbb3; border-radius:10px; background:#fcfcfa; touch-action:none; }
.signature-capture .text-button { justify-self:end; padding:3px 0; }
#label-sheet { display:none; }
@media(max-width:850px) { .tracking-grid,.custody-grid,.maintenance-grid,.maintenance-summary,.obligations-grid { grid-template-columns:1fr; } }
@media(max-width:600px) {
  #custody-page .approval-intro { margin-bottom:0; }
  .custody-grid { margin-top:12px; gap:12px; }
  #custody-issue-form,.custody-stack .panel,.custody-history { padding:16px; }
  #custody-issue-form .field-row { grid-template-columns:1fr; gap:0; }
  #custody-issue-form>.primary { width:100%; }
  #custody-signature { display:block; width:100%!important; height:110px!important; max-width:100%; touch-action:none; }
  .custody-row,.custody-history .event-row { align-items:flex-start; flex-wrap:wrap; }
  .custody-row>div { min-width:0; flex-basis:calc(100% - 92px); }
  .custody-row .icon-button { margin-left:auto; min-height:36px; }
  .custody-row small,.reminder-row small { line-height:1.45; overflow-wrap:anywhere; }
  #custody-reminders .reminder-row { align-items:flex-start; }
  #custody-reminders .icon-button { flex:0 0 auto; min-height:36px; }
  #scanner-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:14px; }
  .scanner-sheet { max-height:calc(100dvh - 16px); padding:18px; }
  .scanner-sheet .modal-head { top:-18px; margin:-18px -18px 0; padding:18px 18px 12px; }
  .scanner-sheet .modal-head h2 { font-size:19px; padding-right:8px; }
  .camera-frame { aspect-ratio:4/3; }
  #scan-form .modal-actions { display:grid; grid-template-columns:1fr; }
  #scan-form .modal-actions button { width:100%; }
  .part-row { grid-template-columns:1fr 1fr; }
}
@media print {
  body>*:not(#label-sheet) { display:none!important; }
  #label-sheet { display:grid!important; grid-template-columns:repeat(2,1fr); gap:8mm; padding:8mm; color:#102525; }
  .asset-label { min-height:45mm; border:1px solid #182f2d; border-radius:3mm; padding:4mm; display:grid; grid-template-columns:30mm 1fr; gap:4mm; align-items:center; break-inside:avoid; }
  .label-qr img,.label-qr canvas { width:30mm!important; height:30mm!important; }
  .asset-label strong,.asset-label b,.asset-label span,.asset-label small { display:block; }
  .asset-label strong { font-size:12pt; margin-bottom:2mm; }
  .asset-label b { font-size:15pt; }
  .asset-label span { margin-top:2mm; font-size:9pt; }
  .asset-label small { margin-top:1mm; font-size:8pt; color:#52615e; }
  @page { size:A4; margin:8mm; }
}
.accounting-grid .panel h3 { font:800 19px Manrope; margin:7px 0 18px; }
.accounting-grid .primary { width:auto; }
.check-label { display:flex!important; grid-template-columns:auto 1fr; align-items:center; }
.check-label input { width:auto; }
.period-row,.event-row { display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #e1e5df; }
.period-row:last-child,.event-row:last-child { border:0; }
.period-row>div,.event-row>div { flex:1; }
.period-row strong,.period-row small,.event-row strong,.event-row small { display:block; }
.period-row small,.event-row small { color:#71807d; margin-top:3px; }
.event-type { color:#526520; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.report-toolbar { display:flex; align-items:end; gap:12px; margin:18px 0; }
.report-toolbar label { display:grid; gap:6px; font-size:12px; font-weight:800; }
.report-toolbar .primary { width:auto; margin:0; }
#ifrs-report-totals td { font-weight:800; background:#edf2db; }
@media(max-width:950px) { .accounting-grid { grid-template-columns:1fr; } }
@media(max-width:650px) { .report-toolbar { flex-direction:column; align-items:stretch; } }
#asset-modal { max-height:92vh; overflow:auto; }
.gl-fields { border:1px solid #e1e5df; border-radius:10px; padding:12px 14px; margin:14px 0; }
.gl-fields summary { cursor:pointer; font-weight:800; font-size:13px; }
.accounting-download { margin-top:16px; }
.document-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.document-list a { color:#526520; background:#edf2db; border-radius:8px; padding:7px 9px; font-size:12px; text-decoration:none; }
.document-form { display:grid; grid-template-columns:150px 1fr auto; gap:8px; align-items:center; }
.document-form input,.document-form select { padding:9px; }
@media(max-width:650px) { .document-form { grid-template-columns:1fr; } }
@media(max-width:600px) {
  #settings-page .approval-intro { margin:16px 0 12px; padding:17px; }
  #settings-page .approval-intro h3 { font-size:20px; }
  #settings-page .settings-layout { gap:12px; }
  #settings-page .settings-card { width:100%; max-width:none; padding:17px; }
  #settings-page .settings-card .primary { width:100%; }
  #settings-page .settings-link { align-items:flex-start; padding:12px; }
  #settings-page .settings-link span { padding-top:1px; }
  #settings-page .admin-section-header { padding:16px; }
  #settings-page .admin-section-header h3 { font-size:19px; }
  #settings-page .admin-section-nav { margin-left:-1px; margin-right:-1px; border-radius:11px; }
  #settings-page .admin-section-nav button { white-space:nowrap; }
  #settings-page .admin-pane-grid { gap:12px; }
  #settings-page .admin-pane-grid>.panel,
  #settings-page .admin-pane-grid>.settings-card,
  #settings-page .security-grid>.panel { padding:17px; }
  #settings-page .admin-pane-grid .field-row,
  #settings-page .security-grid .field-row { grid-template-columns:1fr; gap:0; }
  #settings-page .permission-picker { grid-template-columns:1fr; }
  #settings-page .check-label { align-items:flex-start; }
  #settings-page .api-key-result { overflow-wrap:anywhere; }
  #settings-page .security-history,
  #settings-page .table-panel { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  #settings-page .modal-actions { display:grid; grid-template-columns:1fr; }
  #settings-page .modal-actions button { width:100%; }
}
@media(max-width:600px) {
  #assets-page .table-panel { position:relative; }
  #assets-page table th:first-child,
  #assets-page table td:first-child { position:sticky; left:0; min-width:154px; box-shadow:8px 0 12px -12px rgba(21,43,43,.55); }
  #assets-page table th:first-child { z-index:3; background:#fafbf8; }
  #assets-page table td:first-child { z-index:1; background:#fff; }
  #assets-page table tr:hover td:first-child { background:#f8faef; }
}
@media(max-width:600px) {
  #planning-page .planning-section .table-panel { position:relative; }
  #planning-page #replacement-table td:first-child,
  #planning-page #replacement-table tr:first-child td:first-child { position:sticky; left:0; z-index:1; min-width:154px; background:#fff; box-shadow:8px 0 12px -12px rgba(21,43,43,.55); }
  #planning-page #replacement-table tr:hover td:first-child { background:#f8faef; }
  #planning-page #replacement-table { position:relative; }
  #planning-page #replacement-table::before { content:''; }
  #planning-page .planning-section .table-panel thead th:first-child { position:sticky; left:0; z-index:3; min-width:154px; background:#fafbf8; box-shadow:8px 0 12px -12px rgba(21,43,43,.55); }
}
