:root{--color-primary:#1e3a5f;--color-primary-strong:#16304f;--color-primary-weak:#35597f;--color-bg:#ffffff;--color-surface:#f7f6f4;--color-border:#e3e0db;--color-text:#22201d;--color-text-muted:#6b6660;--color-state-ok:#2e7d46;--color-state-warning:#b8791d;--color-state-critical:#b3261e;--color-state-inactive:#6b6660;--color-state-info:#1e3a5f;--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-xs:0.75rem;--text-sm:0.85rem;--text-base:0.925rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:1.75rem;--leading-tight:1.3;--leading-normal:1.5;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--radius-sm:6px;--radius:8px;--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,.tabular-nums,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a{color:var(--color-primary)}.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:1000px}.home-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 3);min-height:180px}.home-block h2{font-size:1.125rem}.home-block h2,.module-placeholder h1{margin:0 0 var(--space-unit);color:var(--color-primary)}@media (max-width:720px){.app-shell{flex-direction:column}.sidebar{width:100%}.home-grid{grid-template-columns:1fr}.search-bar{flex-basis:100%;max-width:none}}.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-unit);margin-bottom:calc(var(--space-unit) * 3)}.page-header h1{color:var(--color-primary);margin:0}.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;padding:2px 8px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.badge,.tag{font-size:.8rem;background:var(--color-surface)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-weight:500;border:1px solid;white-space:nowrap}.badge .badge-icon{font-size:.9em;line-height:1}.badge--ok{color:var(--color-state-ok)}.badge--warning{color:var(--color-state-warning)}.badge--critical{color:var(--color-state-critical)}.badge--info{color:var(--color-state-info)}.badge--inactive{color:var(--color-state-inactive)}.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);border:1px solid var(--color-border);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-bg);border:1px solid var(--color-border);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:720px){.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:1.125rem}.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-kpi{max-width:1000px;margin-bottom:calc(var(--space-unit) * 3)}.home-map{max-width:1000px;margin-top:calc(var(--space-unit) * 4)}.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:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.deadline-line-title{color:var(--color-text)}.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:720px){.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:720px){.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);border-radius:var(--radius);padding:var(--space-5)}.card--plain{background:var(--color-bg)}.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)}