:root{color:#18212f;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:6px;background:#176b87;color:#fff;cursor:pointer;font-weight:700;padding:.75rem 1rem}button:disabled{cursor:not-allowed;opacity:.65}input,select{border:1px solid #c9d3df;border-radius:6px;padding:.7rem .85rem;width:100%}.tachograph-filters{align-items:end;display:grid;gap:.85rem;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto}.tachograph-filters label{color:#263143;display:grid;font-size:.86rem;font-weight:700;gap:.35rem}.filter-actions,.pagination-actions{align-items:center;display:flex;gap:.6rem}.pagination-actions{justify-content:flex-end;margin-top:1rem}.pagination-actions span{color:#526173;font-size:.88rem}.status-chip{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:800;padding:.3rem .55rem}.status-ok{background:#e7f8ef;color:#11663f}.status-warning{background:#fff4d6;color:#805b00}.status-muted{background:#edf1f6;color:#526173}.table-action{padding:.5rem .7rem;white-space:nowrap}@media(max-width:980px){.tachograph-filters{grid-template-columns:1fr 1fr}}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#111827;color:#eef2f7;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem}.brand{align-items:center;display:flex;gap:.8rem}.brand span,.session span,.sidebar-note{color:#aab6c7;display:block;font-size:.86rem}.brand-mark{align-items:center;background:#21a179;border-radius:6px;color:#fff;display:inline-flex;font-weight:800;height:42px;justify-content:center;width:42px}.session{border-top:1px solid #273142;border-bottom:1px solid #273142;display:grid;gap:.55rem;padding:1rem 0}.secondary-button{background:#e8edf3;color:#172033}.nav{display:grid;gap:.35rem}.nav-link{border-radius:6px;color:#d7dde8;padding:.75rem;text-decoration:none}.nav-link.active,.nav-link:hover{background:#263246;color:#fff}.sidebar-note{margin-top:auto}.content{padding:2rem}.page{display:grid;gap:1.25rem;max-width:1160px}.page-header h1,.auth-panel h1{font-size:2rem;letter-spacing:0;line-height:1.12;margin:.2rem 0 .5rem}.page-header p,.panel p,.auth-panel p{color:#526173;margin:0}.eyebrow{color:#176b87;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{background:#fff;border:1px solid #e0e6ef;border-radius:8px;box-shadow:0 12px 32px #1118270d;padding:1.1rem}.panel h2,.panel h3{font-size:1rem;letter-spacing:0;margin:0 0 .5rem}.auth-shell,.center-state{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1.25rem}.auth-panel{background:#fff;border:1px solid #e0e6ef;border-radius:8px;max-width:460px;padding:1.5rem;width:100%}.auth-form{display:grid;gap:.85rem;margin-top:1rem}.auth-form label{color:#263143;display:grid;font-weight:700;gap:.35rem}.alert{background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;color:#9f1d16;padding:.75rem}.success-callout{background:#edfdf3;border:1px solid #b7ebc6;border-radius:6px;color:#166534;padding:.75rem}.table-scroll{max-width:100%;overflow-x:auto;padding-bottom:.15rem}.table{display:grid;gap:.35rem;width:100%}.table-row{align-items:center;border-bottom:1px solid #edf1f6;display:grid;gap:.75rem;padding:.55rem 0}.table-row span{min-width:0;overflow-wrap:anywhere}.table-head{color:#526173;font-size:.82rem;font-weight:800;text-transform:uppercase}.table-head span{overflow-wrap:normal;white-space:nowrap}.onboarding-review-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.onboarding-review-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.onboarding-review-card{border:1px solid #edf1f6;border-radius:8px;display:grid;gap:.85rem;padding:1rem}.review-definition-list{display:grid;gap:.45rem .8rem;grid-template-columns:minmax(120px,150px) minmax(0,1fr);margin:0}.review-definition-list dt{color:#526173;font-weight:700}.review-definition-list dd{margin:0;overflow-wrap:anywhere}.review-label{color:#263143;display:grid;font-weight:700;gap:.35rem}.review-note,.muted-inline{color:#526173;font-size:.92rem}.user-search-label{margin-bottom:1rem}.document-review-card{border-top:1px solid #edf1f6;display:grid;gap:.7rem;padding-top:.85rem}.document-review-card:first-of-type{border-top:0;padding-top:0}.app-check-table .table-row{grid-template-columns:minmax(180px,1fr) 120px 120px}.badge,.chip{border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:800;justify-content:center;padding:.25rem .55rem}.badge-enforce{background:#e6f4ea;color:#1e6b3f}.badge-monitor{background:#fff7e6;color:#915b00}.badge-off,.chip.danger{background:#fff2f0;color:#9f1d16}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 .9rem}.chip{background:#eaf3f8;color:#176b87}.analytics-page,.onboarding-page{max-width:1280px}.onboarding-summary-grid,.onboarding-breakdown-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.onboarding-window-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.onboarding-window-card{display:grid;gap:1rem}.onboarding-window-header{display:grid;gap:.15rem}.onboarding-window-header h2{margin:0}.onboarding-window-header strong{color:#111827;font-size:2rem;line-height:1}.onboarding-window-header span,.onboarding-callout small{color:#526173}.onboarding-callout p{color:#111827;font-size:1.85rem;font-weight:800;line-height:1.1;margin:.35rem 0}.export-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.analytics-summary{display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.metric-strip{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.metric{background:#f8fafc;border:1px solid #e3e9f2;border-radius:8px;padding:.75rem}.metric span{color:#64748b;display:block;font-size:.8rem;font-weight:800;text-transform:uppercase}.metric strong{color:#111827;display:block;font-size:1.65rem;line-height:1.1;margin-top:.25rem}.analytics-policy-panel{align-content:start;display:grid;gap:.5rem}.analytics-picker{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.analytics-card{align-items:start;background:#fff;border:1px solid #dbe3ee;border-radius:8px;box-shadow:0 10px 24px #1118270a;color:#172033;display:grid;gap:.35rem;justify-items:start;min-height:104px;padding:.9rem;text-align:left}.analytics-card:hover{border-color:#176b87}.analytics-card.active{background:#eaf3f8;border-color:#176b87;box-shadow:inset 0 0 0 1px #176b87}.analytics-card span{font-weight:900}.analytics-card strong{font-size:1.75rem;line-height:1}.analytics-card small{color:#526173;font-weight:700}.analytics-detail{display:grid;gap:1rem}.analytics-detail-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.analytics-detail-header h2{font-size:1.25rem}.bar-chart{display:grid;gap:.6rem;padding:.3rem 0 .5rem}.bar-row{align-items:center;display:grid;gap:.75rem;grid-template-columns:minmax(160px,220px) minmax(160px,1fr) 64px}.bar-label{color:#263143;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:#edf2f7;border-radius:999px;height:14px;overflow:hidden}.bar-fill{background:#176b87;border-radius:inherit;display:block;height:100%}.bar-row strong{color:#111827;font-variant-numeric:tabular-nums;text-align:right}.chart-empty{border:1px dashed #dbe3ee;border-radius:8px;padding:1rem}.flow-map{background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(280px,420px) minmax(220px,1fr);padding:1rem}.flow-map svg{height:auto;max-height:520px;width:100%}.map-frame{fill:#eef4f7;stroke:#d3dee9}.italy-guide{fill:none;opacity:.5;stroke:#94a3b8;stroke-linecap:round;stroke-width:10}.flow-line{opacity:.58;stroke:#176b87;stroke-linecap:round}.flow-point{fill:#0f4c5c;stroke:#fff;stroke-width:1.5}.flow-point.destination{fill:#36a36f}.flow-map-legend{align-content:center;display:grid;gap:.4rem}.flow-map-legend strong{color:#111827;font-size:1.05rem}.flow-map-legend span{color:#526173}.advanced-kpis-page{display:grid;gap:1rem}.kpi-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi-card{align-content:start;display:grid;gap:.4rem;min-height:126px}.kpi-card span{color:#334155;font-size:.82rem;font-weight:900;text-transform:uppercase}.kpi-card strong{color:#061525;font-size:2rem;line-height:1}.kpi-card small{color:#526173;font-weight:700}.kpi-investor-panel{display:grid;gap:1rem}.kpi-two-column{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.growth-chart{align-items:end;border-bottom:1px solid #dbe3ee;display:grid;gap:.55rem;grid-template-columns:repeat(12,minmax(32px,1fr));min-height:210px;padding:.5rem 0 0}.growth-column{align-items:center;display:grid;gap:.4rem;height:100%}.growth-column>span{color:#526173;font-size:.75rem;font-weight:800}.growth-bars{align-items:end;display:flex;gap:.25rem;height:170px;width:100%}.growth-bar{border-radius:6px 6px 0 0;display:block;min-height:0;width:50%}.growth-bar.registrations{background:#176b87}.growth-bar.completed{background:#36a36f}.quality-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quality-card{border:1px solid #dbe3ee;border-radius:8px;display:grid;gap:.45rem;padding:.85rem}.quality-card strong{color:#111827}.quality-card span{border-radius:999px;color:#172033;display:inline-flex;font-size:.78rem;font-weight:900;justify-self:start;padding:.2rem .55rem}.quality-card p{color:#526173;margin:0}.quality-card.ok span{background:#dcfce7;color:#166534}.quality-card.needs_app_build span,.quality-card.missing span{background:#fff4d6;color:#8a4b00}.quality-card.empty span{background:#edf2f7;color:#334155}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.content{padding:1rem}.table-scroll{margin-right:-.25rem}.analytics-summary,.kpi-two-column{grid-template-columns:1fr}.analytics-detail-header{display:grid}.bar-row{grid-template-columns:1fr 72px}.bar-label{grid-column:1 / -1}.flow-map{grid-template-columns:1fr}}
