:root{color:#20242a;background:#f6f8fb;--tc-orange: #ff4c00;--tc-ink: #212429;--tc-muted: #637083;--tc-blue-gray: #b6cbd8;--tc-line: #d9e0e7;--tc-surface: #ffffff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}button,input,select{font:inherit}button,.icon-button{border:1px solid #c5d0da;background:#fff;color:var(--tc-ink);border-radius:6px;padding:.55rem .75rem;cursor:pointer;text-decoration:none}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,rgb(255 76 0 / 8%),transparent 42%),#eef2f5}.auth-card{width:min(92vw,380px);display:grid;gap:1rem;padding:2rem;background:#fff;border:1px solid #d9e0e7;border-radius:8px;box-shadow:0 12px 30px #2534421f}.auth-card h1{margin:0;font-size:1.45rem}.auth-card label{display:grid;gap:.35rem;font-size:.9rem}.auth-card input{border:1px solid #b8c2cc;border-radius:6px;padding:.65rem}.form-error,.state-error{color:#8a1f2d;background:#fff0f2;border:1px solid #f2b8c1;border-radius:6px;padding:.65rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#20242a;color:#fff;padding:1rem}.brand{font-weight:800;margin-bottom:1rem;color:#fff}.sidebar nav,.admin-nav{display:grid;gap:.25rem}.sidebar a{color:#d8e1ea;text-decoration:none;padding:.55rem .65rem;border-radius:6px}.sidebar a.active,.sidebar a:hover{background:#ff4c002e;color:#fff}.admin-nav{margin-top:1rem;padding-top:1rem;border-top:1px solid #32475f}.admin-nav span{color:#aebdcb;font-size:.8rem;padding:.25rem .65rem}.main-panel{min-width:0}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid #d9e0e7;background:#fff}.topbar-actions{display:flex;gap:.5rem;align-items:center}.role-tag{margin-left:.75rem;font-size:.78rem;color:#465668;background:#eef2f5;border-radius:999px;padding:.2rem .5rem}.content{padding:1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.metric-card{background:#fff;border:1px solid var(--tc-line);border-radius:8px;padding:1rem}.dashboard-page{display:grid;gap:1.25rem}.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0 .25rem}.dashboard-hero h1{margin:.5rem 0 0}.dashboard-hero p{color:var(--tc-muted);margin:.35rem 0 0}.brand-logo{width:min(230px,70vw);height:auto;display:block}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.metric-card-real{border-top:3px solid var(--tc-orange)}.metric-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.metric-value-real{color:var(--tc-ink);font-size:1.9rem;line-height:1.1;font-weight:800}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;color:#425163;background:#eef3f7;white-space:nowrap}.status-confirmed{color:#165b31;background:#e7f6ec}.status-provisional{color:#7a3f00;background:#fff1e8}.status-draft{color:#465668;background:#eef2f5}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:1rem}.panel{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:8px;padding:1rem}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2{margin:0;font-size:1.05rem}.panel-heading span{color:var(--tc-muted);font-size:.85rem}.bar-chart{min-height:160px;display:flex;align-items:end;gap:.35rem;padding-top:1rem}.bar-chart-item{min-width:26px;flex:1;display:grid;align-items:end;justify-items:center;gap:.35rem}.bar-chart-bar{width:100%;max-width:32px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--tc-orange),#d83f00)}.bar-chart-item small{color:var(--tc-muted);font-size:.7rem}.quality-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.quality-list li{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid #edf1f5;padding-bottom:.55rem}.metric-title{font-weight:700}.metric-value{margin:1rem 0;color:#5a6675}.metric-meta{display:grid;gap:.25rem;color:#667587;font-size:.82rem}.state{padding:1rem;border-radius:8px}.state-loading,.state-empty{color:#465668;background:#fff;border:1px solid #d9e0e7}.state-empty{display:grid;gap:.35rem}.toolbar{display:flex;gap:.5rem;margin:0 0 1rem}.catalog-page{display:grid;gap:1rem}.breadcrumb,.subnav{display:flex;flex-wrap:wrap;gap:.5rem;color:#5a6675;font-size:.85rem}.breadcrumb span+span:before{content:"/";margin-right:.5rem;color:#8a97a6}.subnav{margin-bottom:1rem}.subnav a{color:#1e5a88;text-decoration:none;background:#fff;border:1px solid #d9e0e7;border-radius:6px;padding:.45rem .65rem}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.page-heading h1{margin:0}.page-heading p{color:#5a6675;margin:.35rem 0 0}.sync-badge{min-width:220px;display:grid;gap:.2rem;color:#465668;background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:.75rem;font-size:.85rem}.catalog-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;background:#fff;border:1px solid #d9e0e7;border-radius:8px;padding:1rem}.catalog-filters label{display:grid;gap:.35rem;min-width:min(260px,100%);color:#465668;font-size:.9rem}.catalog-filters input,.catalog-filters select{border:1px solid #b8c2cc;border-radius:6px;padding:.55rem}.table-wrap{max-width:100%;overflow-x:auto}.sort-button{padding:0;border:0;background:transparent;color:inherit;font-weight:700}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;color:#465668}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d9e0e7}th,td{text-align:left;border-bottom:1px solid #e8edf2;padding:.65rem}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.topbar{align-items:flex-start;height:auto;gap:.75rem;padding:1rem}.page-heading,.pagination{display:grid;justify-content:stretch}.sync-badge{min-width:0}.dashboard-hero,.dashboard-grid,.panel-heading{display:grid}.bar-chart{overflow-x:auto}}
