:root{--ink:#13233a;--muted:#667085;--blue:#2563eb;--blue-dark:#1949af;--line:#dde3ec;--paper:#fff;--wash:#f5f7fb;--green:#05845d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash)}*{box-sizing:border-box}body{margin:0;padding-bottom:5.5rem}.shell{width:min(980px,100%);margin:auto;padding:1.25rem}.topbar,.section-head,.progress-copy,.candidate-top,.candidate-actions,.savebar,dialog header,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar{margin:.6rem 0 1.5rem}.axis-logo{display:block;height:auto;object-fit:contain}.portal-axis-logo{width:142px;margin:0 0:.9rem}.brand-compact{display:inline-flex;align-items:center;gap:.4rem;margin:0 0:.35rem;color:#4a5056;font-size:.92rem;letter-spacing:-.02em}.axis-mark{display:block;width:29px;height:31px;overflow:hidden;flex:none}.axis-mark img{display:block;width:48px;height:auto;transform:translate(-9px,-1px)}.eyebrow{margin:0 0:.25rem;color:var(--blue);font-size:.72rem;letter-spacing:.1em;font-weight:800}h1,h2,p{margin:0}h1{font-size:clamp(1.45rem,4vw,2rem)}h2{font-size:1.05rem}.date-wrap{display:grid;gap:.25rem;font-size:.75rem;color:var(--muted);font-weight:700}.date-wrap input{min-height:2.5rem}.progress,.metrics article,.candidate,dialog{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px #10182808}.progress{padding:1.2rem;margin-bottom:1rem}.progress-copy strong{font-size:1.1rem}.bar{height:.5rem;background:#e9edf5;border-radius:10rem;margin:.9rem 0 .6rem;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .2s ease}.progress p,.section-head p,small{color:var(--muted);font-size:.8rem}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.8rem}.metrics article{padding:1rem}.metrics span{display:block;color:var(--muted);font-size:.78rem}.metrics strong{display:block;font-size:1.65rem;margin:.2rem 0}.section-head{margin-bottom:.8rem}.text-button,button{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;cursor:pointer}.candidate-list{display:grid;gap:.75rem}.candidate{padding:1rem}.candidate-top{align-items:flex-start}.candidate h3{margin:0 0 .2rem;font-size:1rem}.candidate p{font-size:.82rem;color:var(--muted)}.candidate-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin:1rem 0}.field-label{font-size:.73rem;font-weight:750;color:var(--muted)}.readonly,.number{display:block;margin-top:.3rem;min-height:2.65rem;width:100%;padding:.65rem .7rem;border:1px solid var(--line);border-radius:9px;background:#fbfcff;font-size:1rem}.readonly{color:var(--ink);font-weight:750}.number:focus,input:focus,select:focus{outline:3px solid #bfdbfe;border-color:var(--blue)}.candidate-actions{border-top:1px solid var(--line);padding-top:.8rem}.candidate-actions button{min-height:2.5rem}.savebar{position:fixed;z-index:2;bottom:0;left:0;right:0;padding:.85rem max(1rem,calc((100vw - 960px)/2));background:#10233f;color:#fff;box-shadow:0 -4px 20px #10182822;font-size:.8rem}.primary{padding:.7rem 1rem;border-radius:9px;background:var(--blue);color:#fff;white-space:nowrap}.primary:hover{background:var(--blue-dark)}dialog{width:min(440px,calc(100% - 2rem));padding:0}dialog::backdrop{background:#0f172a77}dialog form{padding:1rem}dialog header{margin-bottom:1.2rem}dialog label{display:grid;gap:.35rem;margin:.85rem 0;font-size:.82rem;font-weight:750}dialog input,dialog select{min-height:2.65rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;font:inherit}.dialog-actions{justify-content:flex-end;margin-top:1.25rem}.icon-button{font-size:1.5rem;color:var(--muted)}@media(max-width:620px){.topbar{align-items:flex-start;flex-direction:column}.portal-axis-logo{width:128px}.metrics{gap:.45rem}.metrics article{padding:.75rem}.metrics strong{font-size:1.35rem}.candidate-grid{grid-template-columns:1fr}.candidate-grid div{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.6rem}.field-label{margin:0}.section-head{align-items:flex-start}.savebar{padding:.75rem 1rem}.savebar span{max-width:52%}.primary{padding:.7rem .8rem}}
