:root{--rsd-accent:#ff7a18;--rsd-dark:#111827;--rsd-soft:#f6f7fb;--rsd-card:#fff;--rsd-border:#e5e7eb}
html,body{min-height:100%}body{background:var(--rsd-soft);color:#1f2937;display:flex;flex-direction:column}.app-main{max-width:1500px;flex:1}.navbar-brand{letter-spacing:.2px}.nav-link.active{font-weight:700}.hero{background:linear-gradient(135deg,#111827,#273449);color:white;border-radius:1.25rem;padding:1.5rem}.hero .badge{background:rgba(255,255,255,.12)!important}.card{border:1px solid var(--rsd-border);border-radius:1rem;box-shadow:0 5px 20px rgba(15,23,42,.04)}.stage-card{transition:.18s ease}.stage-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.08)}.progress{height:.6rem;border-radius:99px}.progress-bar{background:var(--rsd-accent)}.btn-accent{background:var(--rsd-accent);border-color:var(--rsd-accent);color:#fff}.btn-accent:hover{background:#e6680f;border-color:#e6680f;color:#fff}.text-accent{color:var(--rsd-accent)!important}.rubric-table th,.rubric-table td{vertical-align:top}.sticky-actions{position:sticky;bottom:0;background:rgba(246,247,251,.94);backdrop-filter:blur(8px);padding:.75rem 0;z-index:5}.material-content h3,.material-content h4{margin-top:1.25rem}.material-content blockquote{border-left:4px solid var(--rsd-accent);padding:.75rem 1rem;background:#fff7ed;border-radius:.5rem}.metric{font-size:1.8rem;font-weight:800}.mobile-step{white-space:nowrap;overflow-x:auto}.form-control,.form-select{border-radius:.75rem}.accordion-item{border-radius:.9rem!important;overflow:hidden;margin-bottom:.75rem;border:1px solid var(--rsd-border)!important}.accordion-button:not(.collapsed){background:#fff7ed;color:#9a3412}.table-responsive{border-radius:.9rem}.team-grid td,.team-grid th{text-align:center;vertical-align:middle}.team-grid td:first-child,.team-grid th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:2}.avatar-dot{width:2.25rem;height:2.25rem;border-radius:50%;display:inline-grid;place-items:center;background:#111827;color:white;font-weight:700}.print-only{display:none}@media(max-width:768px){.hero{padding:1.15rem}.card-body{padding:1rem}.metric{font-size:1.45rem}.team-grid{font-size:.86rem}}@media print{nav,footer,.no-print,.sticky-actions{display:none!important}.print-only{display:block}.app-main{padding:0!important}.card{box-shadow:none;break-inside:avoid}.container-fluid{max-width:none!important}}
