
:root{
 --brand:#6f1d2c;--brand-2:#8b3043;--brand-dark:#47111c;--brand-soft:#f7ecef;
 --ink:#1d2229;--muted:#5b6570;--border:#e5dadd;--bg:#fbf8f9;--panel:#fff;
 --success:#17653a;--warning:#9a4b0c;--danger:#8b1e2d;--shadow:0 16px 45px rgba(76,22,34,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top right,#f5e6ea 0,transparent 33%),var(--bg)}
a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid #111;outline-offset:3px}
.wrap{max-width:1220px;margin:auto;padding:0 22px}.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.navwrap{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850;color:var(--brand-dark);letter-spacing:-.02em}.brand img{width:38px;height:38px;box-shadow:0 8px 22px rgba(111,29,44,.2);border-radius:12px}.navwrap nav{display:flex;align-items:center;gap:17px}.navwrap nav a{text-decoration:none;font-weight:690;font-size:.95rem}.button,button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:white;border:0;border-radius:11px;padding:12px 17px;font-weight:760;cursor:pointer;text-decoration:none;box-shadow:0 9px 20px rgba(111,29,44,.16)}.button:hover,button:hover{background:var(--brand-dark);color:#fff}.small{padding:8px 12px}.navtoggle{display:none}.main{padding-top:38px;padding-bottom:64px;min-height:74vh}
.hero{background:linear-gradient(140deg,#fff 15%,var(--brand-soft));border:1px solid var(--border);border-radius:28px;padding:58px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(111,29,44,.08);right:-80px;top:-80px}.hero h1,.page-head h1,.dashboard-head h1{font-size:clamp(2.2rem,5vw,4.65rem);line-height:1.03;letter-spacing:-.055em;margin:.18em 0}.lead{font-size:1.2rem;color:var(--muted);max-width:770px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:850;font-size:.76rem}
.grid,.project-grid,.component-grid,.knowledge-grid,.kpi-grid{display:grid;gap:20px}.grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(3,1fr)}.component-grid{grid-template-columns:repeat(3,1fr)}.knowledge-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(4,1fr);margin:26px 0 42px}
.card,.panel,.project-card,.knowledge-card,.component-card,.kpi,.empty-state{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(76,22,34,.045)}.component-card{text-decoration:none;color:var(--ink);transition:.2s transform,.2s box-shadow}.component-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}.component-card h2,.knowledge-card h2{font-size:1.25rem;margin:.7rem 0}.text-link{font-weight:800;color:var(--brand)}
.kpi span,.kpi small{display:block;color:var(--muted)}.kpi strong{font-size:2rem;letter-spacing:-.04em}.kpi.danger{border-left:5px solid var(--danger)}.dashboard-head,.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.dashboard-head{align-items:center}.section-head{margin:22px 0 14px}.section-head h2{margin:0}.project-card-top,.knowledge-top,.project-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.project-card h3{font-size:1.25rem;margin:.75rem 0 .2rem}.project-meta{margin-top:10px;color:var(--muted)}.risk{font-size:.78rem;font-weight:800}.risk.high{color:var(--danger)}.risk.low{color:var(--success)}
.dashboard-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:32px}.activity-list{list-style:none;padding:0;margin:0}.activity-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.activity-list small{display:block;color:var(--muted)}.activity-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);margin-top:8px;flex:0 0 auto}.quick-links{display:grid;gap:10px}.quick-links a{display:flex;flex-direction:column;padding:14px;border:1px solid var(--border);border-radius:12px;text-decoration:none}.quick-links span{color:var(--muted);font-size:.92rem}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px}.success{background:#e7f5ec;border:1px solid #8dc5a0}.error{background:#fdebed;border:1px solid #d99aa4}.form{background:white;border:1px solid var(--border);border-radius:18px;padding:26px;max-width:800px;box-shadow:0 10px 30px rgba(76,22,34,.04)}.form label{display:block;font-weight:730;margin:14px 0 6px}.form input,.form select,.form textarea,.search-box input{width:100%;padding:13px;border:1px solid #a9a0a3;border-radius:10px;font:inherit;background:#fff}.form textarea{min-height:160px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table th,.table td{padding:13px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.79rem;font-weight:800;background:var(--brand-soft);color:var(--brand-dark)}.badge.P0{background:#6f1d2c;color:white}.badge.P1{background:#a94713;color:white}.badge.P2{background:#626c77;color:white}.progress{height:12px;background:#eee6e8;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#b34d61)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 13px;border-radius:9px;background:var(--brand-soft);text-decoration:none;font-weight:760}
.page-head{margin-bottom:25px}.page-head .eyebrow{display:block;margin-top:10px}.search-box{display:flex;gap:10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:24px;box-shadow:var(--shadow)}.search-results{display:grid;gap:12px}.search-result{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;background:#fff;border:1px solid var(--border);padding:18px;border-radius:14px;text-decoration:none}.search-result small{grid-column:2;color:var(--muted)}.knowledge-card details{border-top:1px solid var(--border);padding:10px 0}.knowledge-card summary{font-weight:800;cursor:pointer}.code-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.code-compare.large{margin-top:22px}.code-compare pre{white-space:pre-wrap;overflow:auto;background:#18191c;color:#f6f6f6;padding:16px;border-radius:12px;min-height:110px}.code-label{display:inline-block;font-weight:850;margin-bottom:6px}.code-label.good{color:var(--success)}.code-label.bad{color:var(--danger)}
.file-list{margin-top:14px}.file-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.file-row small{display:block;color:var(--muted)}.content{background:white;border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:var(--shadow)}.content h1,.content h2,.content h3{color:var(--brand-dark)}
footer{background:#fff;border-top:1px solid var(--border)}.foot{display:flex;justify-content:space-between;padding-top:26px;padding-bottom:26px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:100}.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}
@media(max-width:980px){.project-grid,.component-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.knowledge-grid{grid-template-columns:1fr}}
@media(max-width:850px){.grid,.project-grid,.component-grid,.kpi-grid{grid-template-columns:1fr}.navtoggle{display:inline-flex}.navwrap nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px;flex-direction:column;border-bottom:1px solid var(--border)}.navwrap nav.open{display:flex}.hero{padding:30px}.foot,.dashboard-head,.section-head{flex-direction:column;align-items:flex-start}.code-compare{grid-template-columns:1fr}.search-box{flex-direction:column}}
