/* TapCollectGo app tokens: same palette and fonts as the www site (docs/decisions/2026-10-17-brand.md) */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque-latin.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--canvas:#F7F5EF;--surface:#FFFFFF;--ink:#17282C;--muted:#55666A;--line:#E2DED3;--main:#1A40AE;--main-2:#14338A;--accent:#D76B54;--success:#176B4D;--warning:#8B5200;--error:#A82E38;--r:12px;--shadow:0 1px 2px rgba(23,40,44,.06),0 8px 24px -8px rgba(23,40,44,.14);--head:"Bricolage Grotesque",Georgia,serif;--text:"Plus Jakarta Sans",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--canvas:#0F1719;--surface:#172225;--ink:#EDF1EF;--muted:#93A3A4;--line:#25343A;--main:#7FA6F2;--main-2:#A3C0F6;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -8px rgba(0,0,0,.5)}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.55 var(--text)}
h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 12px}
a{color:var(--main)}
.boot{padding:24px;color:var(--muted)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--head);font-weight:700;font-size:20px;color:var(--ink);text-decoration:none}
.brand img{width:32px;height:32px}
main{max-width:560px;margin:0 auto;padding:24px 16px 48px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}
label{display:block;font-weight:600;margin:14px 0 6px}
input{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);color:var(--ink)}
input:focus{outline:2px solid var(--main);outline-offset:1px}
.btn{display:inline-block;font:600 16px var(--text);background:var(--main);color:#fff;border:0;border-radius:8px;padding:12px 20px;cursor:pointer;text-decoration:none;min-height:44px}
.btn:disabled{opacity:.6;cursor:default}
.btn.full{width:100%;margin-top:20px}
.btn.ghost{background:transparent;color:var(--main);border:1px solid var(--line)}
.validation-message,.error{color:var(--error);font-size:14px;margin-top:4px}
.ok{color:var(--success);font-weight:600}
.warn{color:var(--warning);font-weight:600}
.muted{color:var(--muted)}
dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
dt{color:var(--muted)}dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#blazor-error-ui{background:#FFF4CE;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem;position:fixed;width:100%;z-index:1000;color:#17282C}
#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.page-head h1{margin:0}
.search{margin-bottom:16px}
textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);color:var(--ink);box-sizing:border-box}
label.check{display:flex;align-items:center;gap:8px;font-weight:500}label.check input{width:20px;height:20px}
.btn.sm{padding:8px 14px;min-height:40px;font-size:15px}
.btn.danger{background:var(--error);color:#fff}.btn.ghost.danger{background:transparent;color:var(--error)}
.empty{text-align:center}.small{font-size:14px}
.ptable{display:none;width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.ptable th,.ptable td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.ptable th{color:var(--muted);font-weight:600;font-size:14px}
.ptable .actions{white-space:nowrap;text-align:right}
.plist{list-style:none;margin:0;padding:0}.pcard{padding:16px;margin-bottom:12px}
.pcard-top{display:flex;justify-content:space-between;gap:12px;font-size:17px}.pcard-actions{display:flex;gap:8px;margin-top:10px}
.pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.overlay{position:fixed;inset:0;background:rgba(15,23,25,.45);z-index:50}
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:90vh;overflow:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:20px 16px 24px;z-index:51;box-shadow:var(--shadow);box-sizing:border-box}
.sheet-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
@media (min-width:768px){main:has(.ptable){max-width:960px}.ptable{display:table}.plist{display:none}
.sheet{left:auto;top:0;right:0;width:420px;max-height:none;border-radius:0}.sheet.confirm{top:30%;bottom:auto;right:50%;transform:translateX(50%);border-radius:var(--r)}}
