:root{--color-primary:#1e3a5f;--color-primary-strong:#16304f;--color-primary-weak:#35597f;--color-primary-bright:#2f5c8f;--color-bg:#ffffff;--color-surface:#f6f4f1;--color-surface-2:#ffffff;--color-border:#e5e1db;--color-border-strong:#d8d2c9;--color-text:#23211d;--color-text-muted:#6b6660;--color-text-faint:#948d83;--color-state-ok:#2e7d46;--color-state-warning:#b8791d;--color-state-critical:#b3261e;--color-state-inactive:#6b6660;--color-state-info:#1e3a5f;--chart-series-1:var(--color-primary);--chart-series-2:var(--color-primary-bright);--chart-series-3:var(--color-primary-weak);--chart-grid:var(--color-border);--chart-axis:var(--color-text-faint);--chart-endpoint:var(--color-primary);--font-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--space-unit:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--text-micro:0.6875rem;--text-xs:0.75rem;--text-sm:0.85rem;--text-base:0.925rem;--text-section:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-kpi:1.8125rem;--text-title:1.5625rem;--text-2xl:1.75rem;--leading-tight:1.3;--leading-normal:1.5;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--radius-sm:4px;--radius:6px;--radius-chip:3px;--radius-pill:999px;--shadow-popover:0 2px 8px rgba(34,32,29,0.08);--transition-fast:120ms ease;--transition-base:200ms ease;--sidebar-width:232px;--sidebar-rail-width:60px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased}.amount,.num,.tabular-nums,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num{text-align:right}:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}a{color:var(--color-primary-bright)}.empty-hint{color:var(--color-text-muted)}.cell-sub{font-size:var(--text-sm)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 3);background:var(--color-surface)}.login-card{width:100%;max-width:400px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 4)}.login-title{color:var(--color-primary);margin:0 0 var(--space-unit);font-size:1.5rem}.login-subtitle{color:var(--color-text-muted);margin:0 0 calc(var(--space-unit) * 3)}.login-form{display:flex;flex-direction:column;gap:var(--space-unit)}.login-form label{font-size:.875rem;color:var(--color-text-muted)}.login-form input{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text)}.login-form button,.login-form input{padding:calc(var(--space-unit) * 1.25);font:inherit}.login-form button{margin-top:calc(var(--space-unit) * 1.5);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer}.login-form button:disabled{opacity:.6;cursor:default}.login-error{color:var(--color-state-critical);margin:0;font-size:.9rem}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-primary-strong);color:#fff;padding:calc(var(--space-unit) * 2);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);transition:width var(--transition-base)}.sidebar--rail{width:var(--sidebar-rail-width);padding-left:var(--space-2);padding-right:var(--space-2)}.sidebar-head{display:flex;align-items:center;gap:var(--space-2);min-height:40px}.sidebar--rail .sidebar-head{justify-content:center}.sidebar-brand{flex:1 1;min-width:0;font-size:1.25rem;font-weight:700;padding:var(--space-unit);letter-spacing:.02em}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;padding:0;border:none;background:transparent;color:#dbe4ee;border-radius:var(--radius);cursor:pointer}.sidebar-toggle:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:calc(var(--space-unit) * 1.25) var(--space-unit);color:#dbe4ee;text-decoration:none;border:none;background:transparent;border-radius:var(--radius);font:inherit;text-align:left;cursor:pointer}.sidebar-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-link.active{background:rgba(255,255,255,.16);color:#fff;font-weight:600}.sidebar-ic{display:inline-flex;flex-shrink:0}.sidebar-ic svg{width:20px;height:20px;display:block}.sidebar-txt{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-caret{display:inline-flex;margin-left:auto;opacity:.7;transition:transform var(--transition-fast)}.sidebar-caret svg{width:14px;height:14px;display:block}.sidebar-grouphdr[aria-expanded=true] .sidebar-caret{transform:rotate(180deg)}.sidebar--rail .sidebar-link{justify-content:center;gap:0;padding-left:var(--space-1);padding-right:var(--space-1)}.sidebar--rail .sidebar-caret,.sidebar--rail .sidebar-txt{display:none}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.app-header{align-items:center;flex-wrap:wrap;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.app-header,.search-bar{display:flex;gap:var(--space-unit)}.search-bar{flex:1 1 240px;max-width:520px}.search-bar input{flex:1 1;min-width:0;padding:calc(var(--space-unit) * .75) var(--space-unit);color:var(--color-text)}.search-bar button,.search-bar input{border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-surface)}.search-bar button{padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);cursor:pointer}.search-bar button:hover{border-color:var(--color-primary);color:var(--color-primary)}.app-header-end{display:flex;align-items:center;gap:var(--space-unit);margin-left:auto}.app-user{color:var(--color-text-muted);font-size:.9rem}.logout-btn{padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font:inherit;cursor:pointer}.logout-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.app-content{flex:1 1;padding:calc(var(--space-unit) * 4)}.home-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:calc(var(--space-unit) * 3);gap:calc(var(--space-unit) * 3);max-width:var(--home-max-width)}.home-block{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:calc(var(--space-unit) * 3);min-height:180px}.home-block h2{font-size:var(--text-section);font-weight:var(--fw-semibold)}.home-block h2,.module-placeholder h1{margin:0 0 var(--space-unit);color:var(--color-primary)}@media (max-width:900px){.home-grid{grid-template-columns:1fr}}.settings-page{max-width:920px}.settings-page h1{color:var(--color-primary);margin:0 0 calc(var(--space-unit) * 3)}.settings-page section{margin-bottom:calc(var(--space-unit) * 5)}.settings-page h2{color:var(--color-primary);font-size:1.125rem;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-unit)}.settings-page table{width:100%;border-collapse:collapse}.settings-page td,.settings-page th{text-align:left;padding:calc(var(--space-unit) * .75) var(--space-unit);border-bottom:1px solid var(--color-border);font-size:.9rem;vertical-align:top}.settings-page th{color:var(--color-text-muted);font-weight:600}.settings-page td code{color:var(--color-text-muted);font-size:.85rem}.settings-form{flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 2);margin:calc(var(--space-unit) * 2) 0;max-width:580px}.settings-form,.settings-form-row{display:flex;gap:var(--space-unit)}.settings-form-row{flex-wrap:wrap}.settings-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.settings-form input{padding:calc(var(--space-unit) * .75);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:var(--color-text)}.settings-stepup{border-top:1px dashed var(--color-border);padding-top:var(--space-unit)}.settings-hint{font-size:.8rem;color:var(--color-text-muted);margin:0}.settings-ok{color:var(--color-state-ok);margin:0;font-size:.9rem}.settings-form button{align-self:flex-start;padding:var(--space-unit) calc(var(--space-unit) * 2);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer}.settings-form button:disabled{opacity:.6;cursor:default}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:calc(var(--space-unit) * 3)}.page-header h1{color:var(--color-primary);margin:0;font-size:var(--text-title);font-weight:var(--fw-bold);letter-spacing:-.01em}.breadcrumb{margin:0 0 var(--space-1);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.09em;font-weight:var(--fw-semibold);color:var(--color-text-faint)}.btn-primary{display:inline-block;padding:var(--space-unit) calc(var(--space-unit) * 2);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn-primary:hover{background:var(--color-primary-strong);color:#fff}.back-link{display:inline-block;margin-bottom:calc(var(--space-unit) * 2);font-size:.9rem}.subjects-search{display:flex;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3);max-width:560px}.subjects-search input{flex:1 1;padding:var(--space-unit);color:var(--color-text)}.subjects-search button,.subjects-search input{border:1px solid var(--color-border);border-radius:var(--radius);font:inherit}.subjects-search button{padding:var(--space-unit) calc(var(--space-unit) * 1.5);background:var(--color-surface);cursor:pointer}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{text-align:left;padding:var(--space-unit);border-bottom:1px solid var(--color-border);font-size:.925rem;vertical-align:top}.data-table th{color:var(--color-text-muted);font-weight:600}.data-table tfoot td{font-weight:600;border-bottom:none;border-top:2px solid var(--color-border)}.inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-unit);align-items:flex-start}.row-inactive{color:var(--color-text-muted)}.row-inactive td{text-decoration:line-through;text-decoration-thickness:1px}.row-inactive .badge,.row-inactive .reserved-note{text-decoration:none}.component-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.component-list>li{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--space-unit) * .5)}.inline-list{margin:0;padding:0;list-style:none}.inline-list li{white-space:nowrap}.tag{display:inline-block;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.badge,.tag{padding:2px 8px;font-size:.8rem;background:var(--color-surface)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-chip);font-weight:var(--fw-semibold);line-height:1.35;border:1px solid;white-space:nowrap}.badge .badge-icon{font-size:.9em;line-height:1}.badge--ok{color:var(--color-state-ok);background:color-mix(in srgb,var(--color-state-ok) 10%,transparent)}.badge--warning{color:var(--color-state-warning);background:color-mix(in srgb,var(--color-state-warning) 10%,transparent)}.badge--critical{color:var(--color-state-critical);background:color-mix(in srgb,var(--color-state-critical) 10%,transparent)}.badge--info{color:var(--color-state-info);background:color-mix(in srgb,var(--color-state-info) 10%,transparent)}.badge--inactive{color:var(--color-state-inactive);background:color-mix(in srgb,var(--color-state-inactive) 10%,transparent)}.ownership-rows{flex-direction:column}.ownership-row,.ownership-rows{display:flex;gap:var(--space-unit)}.ownership-row{align-items:flex-end;flex-wrap:wrap}.ownership-row .ownership-remove{padding:calc(var(--space-unit) * .6) var(--space-unit);border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius);color:var(--color-state-critical);cursor:pointer;font:inherit}.wizard-steps{display:flex;gap:var(--space-unit);flex-wrap:wrap;list-style:none;padding:0;margin:0 0 calc(var(--space-unit) * 2);font-size:.85rem}.wizard-steps li{color:var(--color-text-muted)}.wizard-steps li[aria-current=step]{color:var(--color-primary);font-weight:600}.wizard-nav{display:flex;gap:var(--space-unit);margin-top:calc(var(--space-unit) * 2)}.wizard-nav button{padding:var(--space-unit) calc(var(--space-unit) * 2);border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer}.wizard-nav .btn-secondary{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.wizard-nav .btn-next,.wizard-nav button[type=submit]{background:var(--color-primary);color:#fff;border:none}.wizard-nav button:disabled{opacity:.6;cursor:default}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-state-info);border-radius:var(--radius)}.draft-banner-text{display:flex;align-items:baseline;gap:var(--space-2);margin:0;color:var(--color-text);font-size:var(--text-base)}.draft-banner-icon{color:var(--color-state-info);font-weight:var(--fw-semibold)}.draft-banner-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.wizard-direction{display:grid;grid-gap:var(--space-unit);gap:var(--space-unit);border:none;padding:0;margin:0 0 calc(var(--space-unit) * 2)}.wizard-direction legend{font-weight:600;margin-bottom:var(--space-unit);padding:0}.radio-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:var(--space-unit);column-gap:var(--space-unit);align-items:baseline;padding:calc(var(--space-unit) * 1.5);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-bg)}.radio-card:has(input:checked){border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.radio-card input{grid-row:1/span 2;margin-top:.2rem}.radio-card-title{font-weight:600;color:var(--color-text)}.radio-card-hint{grid-column:2;color:var(--color-text-muted);font-size:.85rem}.subject-header{display:flex;align-items:baseline;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3)}.subject-header h1{color:var(--color-primary);margin:0}.entity-section{margin-bottom:calc(var(--space-unit) * 5);max-width:720px}.entity-section h2{color:var(--color-primary);font-size:1.125rem;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-unit)}.field-grid{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px calc(var(--space-unit) * 2);gap:6px calc(var(--space-unit) * 2);margin:0}.field-grid dt{color:var(--color-text-muted)}.field-grid dd{margin:0}.reserved-note{font-size:.8rem;color:var(--color-text-muted)}.form-card{flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 2);margin:calc(var(--space-unit) * 2) 0;max-width:580px}.form-card,.form-row{display:flex;gap:var(--space-unit)}.form-row{flex-wrap:wrap}.form-card label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.form-card label.radio{flex-direction:row;align-items:center;gap:6px;color:var(--color-text)}.form-card input,.form-card select,.form-card textarea{padding:calc(var(--space-unit) * .75);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:var(--color-text)}.form-card button[type=submit]{align-self:flex-start;padding:var(--space-unit) calc(var(--space-unit) * 2);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer}.form-card button[type=submit]:disabled{opacity:.6;cursor:default}.form-ok{color:var(--color-state-ok)}.form-error,.form-ok{margin:0;font-size:.9rem}.form-error{color:var(--color-state-critical)}.form-warning{color:var(--color-state-warning);margin:0;font-size:.9rem}.filters-bar{display:flex;gap:var(--space-unit);flex-wrap:wrap;align-items:center;margin-bottom:calc(var(--space-unit) * 3)}.filters-bar input[type=search]{flex:1 1 220px}.filters-bar input[type=search],.filters-bar select{padding:var(--space-unit);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:var(--color-text)}.filters-bar button,.filters-bar select{background:var(--color-surface)}.filters-bar button{padding:var(--space-unit) calc(var(--space-unit) * 1.5);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;cursor:pointer}.filter-check{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--color-text);white-space:nowrap}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-unit)}.form-fieldset legend{font-size:.85rem;color:var(--color-text-muted);padding:0 4px}.form-hint{margin:0;font-size:.9rem;color:var(--color-text)}.form-card label.checkbox{flex-direction:row;align-items:center;gap:6px;color:var(--color-text)}.entity-tab-actions{margin-top:calc(var(--space-unit) * 1.5)}.disposal-controls{margin-top:var(--space-unit)}.disposal-controls button{padding:var(--space-unit) calc(var(--space-unit) * 2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.btn-danger{border:1px solid var(--color-state-critical)!important;color:var(--color-state-critical)!important;background:#fff!important}.disposal-confirm h3{margin:0;font-size:1rem}.disposal-summary{margin:0;color:var(--color-text)}.anomaly-list{list-style:none;margin:var(--space-unit) 0 0;padding:0;flex-direction:column}.anomaly-item,.anomaly-list{display:flex;gap:calc(var(--space-unit) / 2)}.anomaly-item{align-items:flex-start;padding:var(--space-unit);border-left:3px solid var(--color-state-warning);background:#fbf4e6;color:var(--color-state-warning);font-size:.9rem}.anomaly-icon{flex:0 0 auto;line-height:1.4}.disposal-warning{margin:0;padding:var(--space-unit);border-left:3px solid var(--color-state-warning);background:#fbf4e6;color:var(--color-state-warning);font-size:.9rem}.disposal-actions{align-items:center}.disposal-actions button[type=button]{padding:var(--space-unit) calc(var(--space-unit) * 2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.disposal-actions button:disabled{opacity:.6;cursor:default}.media-gallery{list-style:none;margin:0 0 calc(var(--space-unit) * 2);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:calc(var(--space-unit) * 2);gap:calc(var(--space-unit) * 2)}.media-item{display:flex;flex-direction:column;gap:6px;padding:var(--space-unit);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.media-thumb{width:100%;height:130px;object-fit:cover;border-radius:var(--radius);background:var(--color-bg)}.media-file{display:inline-flex;align-items:center;justify-content:center;height:130px;border:1px dashed var(--color-border);border-radius:var(--radius);font-weight:600;text-decoration:none}.media-kind{align-self:flex-start}.media-caption{font-size:.85rem;color:var(--color-text)}.media-remove-form{display:flex;align-items:center;gap:var(--space-unit)}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--color-state-critical);cursor:pointer;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default}.page-header-actions{display:flex;gap:var(--space-unit);align-items:center}.import-page{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.import-page .form-card h2{color:var(--color-primary);margin:0 0 var(--space-unit)}.import-report-summary{font-weight:600;padding:calc(var(--space-unit) * 1.5);border-radius:var(--radius);border-left:4px solid var(--color-border);margin:0 0 calc(var(--space-unit) * 2)}.import-report-ok{color:var(--color-state-ok);border-left-color:var(--color-state-ok);background:color-mix(in srgb,var(--color-state-ok) 8%,transparent)}.import-report-partial{color:var(--color-state-warning);border-left-color:var(--color-state-warning);background:color-mix(in srgb,var(--color-state-warning) 8%,transparent)}.import-report-fail{color:var(--color-state-critical);border-left-color:var(--color-state-critical);background:color-mix(in srgb,var(--color-state-critical) 8%,transparent)}.import-errors-title{color:var(--color-state-critical);margin:calc(var(--space-unit) * 3) 0 var(--space-unit)}.analytics-page{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);max-width:1080px}.analytics-intro{margin:0;color:var(--color-text-muted);max-width:60ch}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:calc(var(--space-unit) * 2);gap:calc(var(--space-unit) * 2)}.kpi-card{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:calc(var(--space-unit) * 2)}.kpi-label{font-size:.8125rem;color:var(--color-text-muted)}.kpi-value{font-size:1.75rem;font-weight:600;color:var(--color-primary)}.kpi-sub{font-size:.8125rem;color:var(--color-text-muted)}.analytics-note{margin:0;padding:calc(var(--space-unit) * 1.5);border-radius:var(--radius);border-left:4px solid var(--color-state-info);background:color-mix(in srgb,var(--color-state-info) 6%,transparent);color:var(--color-text)}.analytics-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:calc(var(--space-unit) * 3);gap:calc(var(--space-unit) * 3)}.chart-card{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:calc(var(--space-unit) * 3)}.chart-card h2{font-size:var(--text-lg)}.chart-card h2,.chart-card h3{margin:0 0 calc(var(--space-unit) * 2);color:var(--color-primary)}.chart-card h3{font-size:var(--text-md)}.cashflow-dashboard .entity-section{max-width:none}.entity-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.entity-section-header h2{flex:1 1 auto}.cell-with-badge{display:flex;align-items:center;gap:var(--space-unit);white-space:nowrap}.radar-selector{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * .75);margin-bottom:calc(var(--space-unit) * 2)}.map-legend{display:flex;flex-wrap:wrap;gap:var(--space-unit);margin-top:var(--space-unit)}.property-map-wrap{border-radius:var(--radius);overflow:hidden}.property-map{height:520px;max-height:70vh;width:100%;border-radius:var(--radius)}@media (max-width:640px){.property-map{height:400px}}.map-popup{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5)}.map-popup-label,.map-popup-link{color:var(--color-primary)}.map-popup-link{margin-top:calc(var(--space-unit) * .5);font-weight:600}.chart-tooltip{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .25);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 1);box-shadow:var(--shadow-popover)}.chart-tooltip-label{font-weight:600;color:var(--color-primary)}.chart-tooltip-value{color:var(--color-text-muted)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-unit);padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:-moz-fit-content;width:fit-content;margin:0 0 calc(var(--space-unit) * 2)}@media (max-width:900px){.analytics-charts{grid-template-columns:1fr}}.contracts-page .subjects-search,.subjects-search:has(.list-filter){max-width:820px;align-items:flex-end;flex-wrap:wrap}.list-filter{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.list-filter select{padding:var(--space-unit);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:var(--color-text);background:var(--color-surface)}.cell-sub{color:var(--color-text-muted);font-size:.9em}.picker-list{list-style:none;margin:0 0 var(--space-unit);padding:var(--space-unit);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.picker-list li{margin:0}.picker-list label.checkbox{display:flex;align-items:center;gap:8px;color:var(--color-text);font-size:.9rem}.inline-form{display:inline-flex;align-items:center;gap:var(--space-unit)}.checkbox-list{list-style:none;padding:0;margin:var(--space-unit) 0;display:flex;flex-direction:column;gap:calc(var(--space-unit) / 2)}.checkbox-label{display:flex;align-items:center;gap:var(--space-unit);font-weight:400;cursor:pointer}.contract-wizard h3{color:var(--color-primary);font-size:1rem;margin:calc(var(--space-unit) * 2) 0 var(--space-unit)}.btn-secondary{display:inline-block;padding:var(--space-unit) calc(var(--space-unit) * 1.5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font:inherit;font-weight:500;text-decoration:none;cursor:pointer}.btn-secondary:hover{background:var(--color-surface)}.btn-link{display:inline;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;font-weight:500;text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--color-primary-strong)}.btn-link:disabled{opacity:.6;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-page{max-width:880px}.search-page .search-bar{max-width:620px;margin-bottom:calc(var(--space-unit) * 2)}.search-summary{color:var(--color-text-muted);font-size:.9rem;margin:0 0 calc(var(--space-unit) * 3)}.search-results{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 4)}.search-group h2{display:flex;align-items:baseline;gap:var(--space-unit);color:var(--color-primary);font-size:1.05rem;margin:0 0 var(--space-unit);padding-bottom:var(--space-unit);border-bottom:1px solid var(--color-border)}.search-group-more{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.search-group ul{list-style:none;margin:0;padding:0;gap:2px}.search-group ul,.search-hit{display:flex;flex-direction:column}.search-hit{gap:4px;padding:calc(var(--space-unit) * 1.25) var(--space-unit);border-radius:var(--radius);text-decoration:none;color:var(--color-text)}.search-hit:hover{background:var(--color-surface)}.search-hit-title{font-weight:600;color:var(--color-primary)}.search-hit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-unit);font-size:.875rem;color:var(--color-text-muted)}.home-page .page-header{margin-bottom:calc(var(--space-unit) * 2)}.home-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-unit);margin-bottom:var(--space-unit)}.home-block-head h2{margin:0;color:var(--color-primary);font-size:var(--text-section);font-weight:var(--fw-semibold)}.home-block-count{margin:0 0 var(--space-unit);color:var(--color-text-muted);font-size:.9rem}.home-block-sub{margin:calc(var(--space-unit) * 1.5) 0 var(--space-unit);color:var(--color-text-muted);font-size:.85rem;font-weight:600}.home-block-more{display:inline-block;margin-top:var(--space-unit);font-size:.85rem}.home-page{--home-max-width:1180px}.home-kpi{margin-bottom:calc(var(--space-unit) * 3)}.home-kpi,.home-map{max-width:var(--home-max-width)}.home-map{margin-top:calc(var(--space-unit) * 4)}.kpi-ribbon{display:flex;flex-wrap:wrap;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface-2);overflow:hidden}.kpi-cell{flex:1 1 160px;min-width:0;display:flex;flex-direction:column;gap:3px;padding:var(--space-3) var(--space-4);border-left:1px solid var(--color-border);container-type:inline-size}.kpi-cell:first-child{border-left:none}.kpi-cell-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.09em;font-weight:var(--fw-semibold);color:var(--color-text-muted)}.kpi-cell-value{font-size:clamp(.9rem,10cqi,var(--text-kpi));white-space:nowrap;font-weight:var(--fw-semibold);letter-spacing:-.015em;color:var(--color-text)}.kpi-cell-sub{font-size:var(--text-micro);color:var(--color-text-faint)}.page-header-cta{flex-shrink:0}@media (max-width:640px){.kpi-cell{flex-basis:calc(50% - 0.5px);border-top:1px solid var(--color-border)}.kpi-cell:first-child,.kpi-cell:nth-child(2){border-top:none}.kpi-cell:nth-child(odd){border-left:none}}.geocode-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--space-unit) * 1.5);margin-top:var(--space-unit)}.deadline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.deadline-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit);padding:calc(var(--space-unit) * .75) 0;border-top:1px solid var(--color-border);font-size:.9rem}.deadline-line:first-child{border-top:none}.deadline-line-main{display:flex;flex-direction:column;gap:2px;min-width:0}.deadline-line-source{font-size:var(--text-micro);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--fw-semibold)}.deadline-line-title{color:var(--color-text)}.deadline-line-context{font-size:var(--text-xs);color:var(--color-text-muted)}.deadline-line-meta{display:flex;align-items:center;gap:var(--space-unit);white-space:nowrap}.deadline-line-date{color:var(--color-text-muted);font-size:.85rem}.home-exposure{margin:0}.home-exposure dt{color:var(--color-text-muted);font-size:.85rem}.home-exposure-total{margin:2px 0 0;color:var(--color-state-critical);font-size:1.5rem;font-weight:700}.home-actions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-unit);gap:var(--space-unit)}.home-actions .btn-secondary{display:block;text-align:center}.scadenzario-page{max-width:1100px}.scadenzario-page>.reserved-note{margin-bottom:calc(var(--space-unit) * 3)}.deadline-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:calc(var(--space-unit) * 1.5)}.deadline-inline-form{display:inline-flex;align-items:center;gap:var(--space-unit)}.deadline-snooze{margin-top:var(--space-unit)}.calendar{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit);padding:calc(var(--space-unit) * 1.5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.calendar-title{margin:0;color:var(--color-primary);font-size:var(--text-lg)}.calendar-head .btn-secondary{padding:calc(var(--space-unit) * .5) calc(var(--space-unit) * 1.5);font-size:1.1rem;line-height:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekday{padding:var(--space-unit);text-align:center;font-size:.8rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg)}.calendar-cell,.calendar-weekday{border-bottom:1px solid var(--color-border)}.calendar-cell{min-height:92px;padding:calc(var(--space-unit) * .75);border-right:1px solid var(--color-border)}.calendar-cell:nth-child(7n){border-right:none}.calendar-empty{background:var(--color-bg)}.calendar-today{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-primary)}.calendar-day{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}.calendar-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.calendar-item{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;padding:1px 5px;border-radius:4px;border:1px solid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.calendar-items a{text-decoration:none}.calendar-item-icon{font-size:.85em;line-height:1}.calendar-item--ok{color:var(--color-state-ok)}.calendar-item--warning{color:var(--color-state-warning)}.calendar-item--critical{color:var(--color-state-critical)}.calendar-item--info{color:var(--color-state-info)}.calendar-item--inactive{color:var(--color-state-inactive)}@media (max-width:640px){.home-actions{grid-template-columns:1fr}.calendar-cell{min-height:64px}}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 1.5)}.calendar-toolbar h2{margin:0}.calendar-view-toggle{display:flex;gap:calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-border)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week-day{display:flex;align-items:baseline;gap:6px;margin-bottom:calc(var(--space-unit) * .75)}.calendar-week-dow{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.calendar-week-daynum{font-size:1rem;font-weight:700;color:var(--color-text)}.calendar-week-item{display:flex;align-items:center;gap:calc(var(--space-unit) * .75);flex-wrap:wrap}.calendar-week-note{margin:0 0 calc(var(--space-unit) * 1.5)}@media (max-width:640px){.calendar-week{grid-template-columns:1fr}.calendar-week .calendar-cell{border-right:none;min-height:auto}}.dashboard-tabs{display:flex;gap:calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-border);margin-bottom:calc(var(--space-unit) * 2)}.dashboard-tab{padding:var(--space-unit) 0;color:var(--color-text-muted);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.dashboard-tab.is-active,.dashboard-tab:hover{color:var(--color-primary)}.dashboard-tab.is-active{border-bottom-color:var(--color-primary)}.list-export{margin-left:auto}.card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:var(--space-5)}.card--plain{background:var(--color-surface-2)}.card--interactive:hover{border-color:var(--color-primary-weak)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.empty-state-icon{font-size:var(--text-2xl);line-height:1;opacity:.65}.empty-state-title{margin:0;font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-primary)}.empty-state-body{margin:0;max-width:48ch;color:var(--color-text-muted)}.empty-state .btn-primary{margin-top:var(--space-2)}.badge,.btn-link,.btn-primary,.btn-secondary,.card--interactive,.dashboard-tab,.data-table tbody tr,.logout-btn,.sidebar-link,.tag{transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-surface)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.sidebar-group,.sidebar-subnav{display:flex;flex-direction:column;gap:2px}.sidebar-subnav{list-style:none;margin:0;padding:0}.sidebar-sublink{padding-left:var(--space-6)}.skeleton{display:block;width:100%;min-height:.7rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-surface-2) 65%,transparent),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.nav-spinner{display:inline-block;flex:none;width:13px;height:13px;margin-left:auto;border:2px solid;border-right:2px solid transparent;border-radius:var(--radius-pill);opacity:.7;animation:nav-spin .6s linear infinite}@keyframes nav-spin{to{transform:rotate(1turn)}}.dashboard-tabs.is-pending{opacity:.7}.dashboard-tabs.is-pending .dashboard-tab{cursor:progress}@media (prefers-reduced-motion:reduce){.nav-spinner,.skeleton:after{animation:none}}.mobile-menu-btn,.sidebar--rail .sidebar-brand,.sidebar-close{display:none}.mobile-menu-btn{width:40px;height:40px;flex:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius)}.mobile-menu-btn,.sidebar-close{align-items:center;justify-content:center;padding:0;cursor:pointer}.sidebar-close{width:34px;height:34px;flex-shrink:0;border:none;background:transparent;color:#dbe4ee;border-radius:var(--radius)}.sidebar-close:hover{background:rgba(255,255,255,.08);color:#fff}.drawer-overlay{display:none}@media (max-width:640px){.responsive-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table tr{display:block;width:100%}.responsive-table tr{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface-2);padding:var(--space-2);margin-bottom:var(--space-3)}.responsive-table td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);border:none;padding:var(--space-2);text-align:right}.responsive-table td:before{content:attr(data-label);font-weight:var(--fw-semibold);color:var(--color-text-muted);text-align:left}.responsive-table td:empty{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(84vw,300px);z-index:60;transform:translateX(-100%);transition:transform var(--transition-base);overflow-y:auto}.sidebar.sidebar--drawer-open{transform:translateX(0)}.sidebar.sidebar--rail{width:min(84vw,300px);padding:calc(var(--space-unit) * 2)}.sidebar--rail .sidebar-brand{display:block}.sidebar--rail .sidebar-caret,.sidebar--rail .sidebar-txt{display:inline-flex}.sidebar--rail .sidebar-link{justify-content:flex-start;gap:var(--space-3);padding:calc(var(--space-unit) * 1.25) var(--space-unit)}.sidebar-toggle{display:none}.sidebar-close{display:inline-flex}.drawer-overlay{display:block;position:fixed;inset:0;z-index:55;background:rgba(20,18,15,.45)}.mobile-menu-btn{display:inline-flex}.app-header{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.search-bar{order:3;flex-basis:100%;max-width:none}.app-user{display:none}.page-header{flex-wrap:wrap}.page-header-cta{width:100%;text-align:center}.btn-primary,.btn-secondary,.home-actions .btn-secondary,.logout-btn,.mobile-menu-btn,.sidebar-link,input,select,textarea{min-height:44px}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}