:root{--b:#1877f2;--bd:#0b4fc4;--ink:#132741;--soft:#4b627d;--paper:#f1f5fa;--rule:#d7e3f2;--gold:#b07d2b;--late:#c0392b;--soon:#b07d2b;--ok:#2e9e5b}*{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--bd)}h1,h2,h3{letter-spacing:-.02em;line-height:1.15;margin:0 0 .4em}h1{font-size:1.9rem}h1,h2{font-weight:800}h2{font-size:1.3rem}h3{font-size:1.02rem;font-weight:700}p{margin:0 0 .8em}.topbar{background:#fff;border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-in{max-width:1060px;margin:0 auto;padding:0 20px;height:58px;gap:18px;min-width:0}.brand,.topbar-in{display:flex;align-items:center}.brand{gap:8px;font-weight:800;letter-spacing:-.03em;font-size:1.15rem;color:var(--ink);text-decoration:none}.topbar nav{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:.92rem;min-width:0;flex:1 1 auto;justify-content:flex-end}.topbar nav .who{color:var(--soft);font-size:.86rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar nav a{color:var(--soft);text-decoration:none;font-weight:500}.topbar nav a:hover{color:var(--bd)}.wrap{max-width:1060px;margin:0 auto;padding:28px 20px 72px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 26px;border-bottom:1px solid var(--rule)}.tabs a{padding:9px 14px;text-decoration:none;color:var(--soft);font-weight:600;font-size:.94rem;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.on{color:var(--b);border-bottom-color:var(--b)}.card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:20px;margin-bottom:16px}.card.gold{border-top:3px solid var(--gold)}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.g2,.g3{grid-template-columns:1fr}}.stat{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:16px}.stat .n{font-size:1.7rem;font-weight:800;letter-spacing:-.03em}.stat .l{font-size:.85rem;color:var(--soft)}.row{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule)}.row:last-child{border-bottom:0}.row .main{flex:1 1;min-width:0}.row .main b{font-weight:600}.row .sub{font-size:.85rem;color:var(--soft)}.row .amt{font-weight:700;white-space:nowrap}.pill{display:inline-block;font-size:.74rem;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--paper);color:var(--soft);border:1px solid var(--rule)}.pill.b{background:var(--b);color:#fff;border-color:var(--b)}.pill.late{background:var(--late);color:#fff;border-color:var(--late)}.pill.soon{background:var(--soon);color:#fff;border-color:var(--soon)}.pill.gold{background:var(--gold);color:#fff;border-color:var(--gold)}label{display:block;font-size:.83rem;font-weight:600;color:var(--soft);margin-bottom:4px}input,select,textarea{width:100%;font:inherit;font-size:.95rem;padding:9px 11px;border:1.5px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink)}textarea{min-height:70px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--b)}.field{margin-bottom:12px}.fields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.fields .full{grid-column:1/-1}@media(max-width:640px){.fields{grid-template-columns:1fr}}.btn{display:inline-block;background:var(--b);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;text-decoration:none}.btn:hover{background:var(--bd)}.btn.ghost{background:#fff;color:var(--bd);box-shadow:inset 0 0 0 2px var(--rule)}.btn.ghost:hover{background:var(--paper)}.btn.sm{padding:6px 12px;font-size:.86rem}.btn.wide{width:100%;text-align:center}:focus-visible{outline:3px solid var(--b);outline-offset:2px}.muted{color:var(--soft)}.small{font-size:.86rem}.empty{text-align:center;color:var(--soft);padding:34px 10px}.err{background:#fdecea;border:1px solid #f5b7b1;color:#922b21;border-radius:8px}.err,.okmsg{padding:10px 12px;font-size:.9rem;margin-bottom:12px}.okmsg{background:#eaf6ef;border:1px solid #a9dcc0;color:#1e6b40;border-radius:8px}.inline{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.auth{max-width:400px;margin:9vh auto;padding:0 20px}.thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.thumb{position:relative;width:88px;height:88px;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--paper)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .doc{display:flex;align-items:center;justify-content:center;height:100%;font-size:.8rem;font-weight:800;color:var(--soft)}.thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(19,39,65,.82);color:#fff;font-size:15px;line-height:1;cursor:pointer;padding:0}.entry-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.entry-thumbs a{display:block;width:74px;height:74px;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--paper)}.entry-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.entry-thumbs .doc{display:flex;align-items:center;justify-content:center;height:100%;font-size:.72rem;font-weight:800;color:var(--soft);text-decoration:none}input[type=file]{padding:8px;background:#fff}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:6px}.filters>div{min-width:150px}.bars{margin-top:6px}.bar-row{display:grid;grid-template-columns:150px 1fr 96px;grid-gap:12px;gap:12px;align-items:center;padding:7px 0}@media(max-width:640px){.bar-row{grid-template-columns:110px 1fr 84px;gap:8px}}.bar-row .lbl{font-size:.9rem;color:var(--soft);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .track{background:var(--paper);border-radius:999px;height:14px;overflow:hidden}.bar-row .fill{height:100%;background:var(--b);border-radius:999px}.bar-row .fill.gold{background:var(--gold)}.bar-row .val{text-align:right;font-weight:700;font-size:.9rem}.bignum{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.swatch{border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.swatch .chip{height:96px;background:var(--paper);position:relative}.swatch .chip .none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:.76rem;border-bottom:1px dashed var(--rule)}.swatch .body{padding:13px}.swatch .name{font-weight:700;letter-spacing:-.01em;line-height:1.2}.swatch .code{font-size:.84rem;color:var(--soft);margin-top:2px}.swatch .meta{font-size:.82rem;color:var(--soft);margin-top:8px;line-height:1.45}.swatch .where{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--b);margin-bottom:5px}.hexrow{display:flex;gap:10px;align-items:center}.hexrow input[type=color]{width:46px;height:42px;padding:2px;flex:none;cursor:pointer}.convey{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.convey button{font:inherit;font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px;border:1.5px solid var(--rule);background:#fff;color:var(--soft);cursor:pointer}.convey button:hover{border-color:var(--b);color:var(--bd)}.convey button.on{background:var(--b);border-color:var(--b);color:#fff}.planlist{list-style:none;margin:14px 0 18px;padding:0;font-size:.93rem}.planlist li{padding:6px 0;border-bottom:1px solid var(--rule);color:var(--soft)}.planlist li:last-child{border-bottom:0}@media(max-width:640px){.topbar-in{padding:0 14px;gap:10px}.topbar nav{gap:10px}.topbar nav .who{display:none}.wrap{padding:18px 14px 64px}h1{font-size:1.55rem}.card{padding:16px}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-14px;margin-right:-14px;padding:0 14px}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:none;white-space:nowrap}.row{flex-wrap:wrap}.filters>div,.inline>*{flex:1 1 140px}.filters>div{min-width:0}}