:root{--blue:#1040C0;--navy:#0B2A7A;--gold:#FFD700;--ink:#12235a;--muted:#5b6a92;--line:#dde3f3;--soft:#f5f7fd;--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--blue)}h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.2}h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.2em 0 .4em}h2{font-size:1.45rem;margin:0 0 .5em}h3{font-size:1.1rem;margin:1.2em 0 .5em}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.wrap.wide{max-width:1180px}.narrow{max-width:620px;margin:0 auto}
header.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--navy);text-decoration:none}.logo{width:34px;height:34px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--sans);font-weight:700}
header nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}header nav a{text-decoration:none;font-weight:500;font-size:.92rem}
main{padding:34px 22px 60px}section{margin:0 0 30px}
.btn{display:inline-block;background:var(--blue);color:#fff;border:2px solid var(--blue);border-radius:999px;padding:11px 22px;font:600 .92rem var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--navy);border-color:var(--navy)}
.btn.ghost{background:#fff;color:var(--blue);border-color:#b9c6ea}.btn.ghost:hover{border-color:var(--blue)}.btn.sm{padding:6px 14px;font-size:.8rem}.btn[disabled]{opacity:.45;cursor:default}
.card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.kicker{font-weight:600;color:var(--blue);font-size:.88rem;letter-spacing:.02em}.lede{font-size:1.08rem;color:var(--muted);max-width:720px}.muted{color:var(--muted)}
.hero{padding:30px 0 20px;border-bottom:1px solid var(--line);margin-bottom:34px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step .n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700}.step h3{margin-top:.6em}.step p,.tile p{margin:0;color:var(--muted);font-size:.92rem}
.tile{text-decoration:none;border-top:3px solid var(--blue)}.tile h3{margin:0 0 .3em}.cta{text-align:center;border:2px solid var(--blue)}
.form label{display:block;font-weight:600;font-size:.86rem;margin-bottom:14px}.form input,.form select,.form textarea,.inline input,.mini input{width:100%;margin-top:6px;padding:11px 13px;border:1px solid #c9d3ee;border-radius:10px;font:inherit;font-weight:400;color:var(--ink)}
.form textarea{min-height:90px}.form label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.form label.check input{width:auto;margin-top:5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.inline{display:flex;gap:10px}.inline input{margin:0}.mini{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}.mini input{margin:0;width:auto;padding:6px 9px}
.flash{padding:13px 18px;border-radius:12px;margin:0 0 20px;font-weight:500}.flash.ok{background:#eaf7ef;color:#155c2e}.flash.err{background:#fdecec;color:#8a1c1c}.flash.info{background:#eef3ff;color:var(--navy)}
.dash-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}.code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 28px}.stat{border:1px solid var(--line);border-radius:16px;padding:18px}.stat span{display:block;font-size:.8rem;color:var(--muted);font-weight:600}.stat strong{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--navy)}.stat small{color:var(--muted)}.stat.gold{border:2px solid var(--gold)}
.linkbox{display:flex;gap:8px;align-items:center;margin:10px 0}.linkbox input{flex:1;padding:9px 12px;border:1px solid #c9d3ee;border-radius:10px;font:.82rem ui-monospace,Menlo,monospace;color:var(--ink);background:var(--soft)}.linkbox span{min-width:130px;font-weight:600;font-size:.86rem}
table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--blue);padding:8px 10px}td{border-bottom:1px solid var(--line);padding:10px;vertical-align:top}td.url{word-break:break-all}.scroll{overflow-x:auto}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.badge.active,.badge.approved,.badge.paid{background:#e3f5e9;color:#16623a}.badge.pending,.badge.requested{background:#fff6cc;color:#7a5a00}.badge.suspended,.badge.rejected,.badge.cancelled{background:#fde8e8;color:#8a1c1c}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin:10px 0 24px;flex-wrap:wrap}.tabs a{padding:10px 16px;text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-2px}.tabs a.on{border-color:var(--blue);color:var(--navy)}
.todo{list-style:none;padding:0;margin:0}.todo li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
footer{border-top:1px solid var(--line);background:var(--soft);font-size:.82rem;color:var(--muted)}footer .wrap{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;padding:22px}footer a{margin-right:12px;text-decoration:none}footer .ent{flex-basis:100%}
@media (max-width:900px){.grid4,.stats{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid4,.stats,.two,.three{grid-template-columns:1fr}.inline{flex-direction:column}.linkbox{flex-wrap:wrap}.linkbox span{min-width:100%}}
.tile.oem{display:block;margin-top:16px;border-top-color:#FFD700;border-top-width:4px}
