@font-face{font-family:LocalCondensed;src:local('Arial Narrow');font-display:swap}
:root{--blue:#155bff;--ink:#10131a;--silver:#dfe4ec;--muted:#626b79;--paper:#f4f6f9;--radius:14px;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button,a{cursor:pointer}a{color:var(--blue);text-decoration:none}button{background:white;border:1px solid var(--silver);border-radius:9px;padding:12px 16px;font-weight:600;min-height:44px}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){border-color:var(--blue)}:focus-visible{outline:3px solid #91b1ff;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:LocalCondensed,'Arial Narrow',Impact,sans-serif;line-height:1.15}h1{font-size:clamp(32px,5vw,48px);text-transform:uppercase;margin:9px 0 14px;letter-spacing:-1px}h2{font-size:27px}h3{font-size:23px}p{line-height:1.6;color:var(--muted)}small{line-height:1.5}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;z-index:50;background:white;padding:16px}.skip:focus{top:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-bottom:1px solid var(--silver);padding:20px max(20px,calc((100vw - 1080px)/2));position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand strong{display:block;font-size:22px;letter-spacing:1px;font-family:LocalCondensed,Impact,sans-serif}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.monogram{color:var(--blue);font-family:Impact,sans-serif;font-style:italic;font-weight:900;font-size:43px;line-height:1}.brand img{width:48px;height:48px;object-fit:contain}.account{background:#edf2ff;color:var(--blue);white-space:nowrap}.local-badge{font-size:9px;color:var(--blue);background:#eef3ff;padding:6px;border-radius:5px}main{max-width:1080px;padding:36px 24px 130px;margin:auto;min-height:80vh}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--blue);text-transform:uppercase}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.pagehead p{margin-bottom:0}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.danger{color:#b52c37}.text-button{border:0;background:transparent;color:var(--blue);padding:8px}.card{background:white;border:1px solid var(--silver);border-radius:var(--radius);padding:24px;margin-bottom:20px}.hero{background:var(--ink);color:white;border-radius:var(--radius);overflow:hidden;position:relative;margin-bottom:24px;min-height:240px}.hero-content{padding:30px;position:relative;z-index:1;background:linear-gradient(90deg,#10131afa,#10131a20);min-height:240px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h2{font-size:44px;text-transform:uppercase;max-width:500px;margin:12px 0}.hero p{color:#d7dfef;max-width:430px}.hero .eyebrow{color:#a2bfff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero.has-image .hero-content{background:linear-gradient(90deg,#10131aee,#10131a44)}.dots{display:flex;gap:6px;margin-top:10px}.dots button{border:0;padding:0;min-height:22px;width:25px;background:transparent;display:grid;place-items:center}.dots button:after{content:'';background:#63708a;width:20px;height:4px;border-radius:5px}.dots button.active:after{background:white}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid .card{margin:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.stats .card{margin:0;padding:20px}.number{font-size:34px;font-family:Impact,sans-serif;line-height:1.4}.muted{color:var(--muted)}.tag{display:inline-block;font-size:10px;color:var(--blue);background:#eef3ff;border-radius:5px;padding:6px 8px;line-height:1.4}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.sectiontitle h2{margin:0}.empty{text-align:center;padding:24px 12px}.empty-icon{margin:0 auto 18px;width:56px;height:56px;background:#edf2ff;color:var(--blue);border-radius:50%;display:grid;place-items:center}.empty-icon svg{width:25px;height:25px}.empty h2,.empty h3{margin-bottom:12px}.empty p{max-width:460px;margin:0 auto 18px}.empty .primary{width:min(100%,350px)}.notice{background:#eaf0ff;border:1px solid #d2dfff;padding:15px;border-radius:9px;color:#3153a3;font-size:12px;line-height:1.6;margin:16px 0}.notice p{color:inherit;margin:0}.alert{background:#fff0ed;color:#962b20}.network{padding:12px 20px;background:#fff0cb;color:#715000;font-size:12px}.field{display:block;font-size:13px;font-weight:600;margin:16px 0}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid var(--silver);border-radius:8px;padding:14px;margin-top:8px;min-height:48px;background:white;font-weight:400}.field input[type=checkbox]{display:inline-block;width:20px;min-height:20px;vertical-align:middle;margin:0 8px 0 0}.field textarea{min-height:110px;resize:vertical}.field small{display:block;color:var(--muted);margin-top:6px;font-weight:400}input[type=file]{font-size:12px}.auth-card{max-width:450px;margin:15px auto}.auth-card .primary{width:100%}.auth-tabs{display:flex;gap:10px;margin:18px 0}.auth-tabs button{flex:1}.auth-tabs button.active,.segmented button.active{background:var(--ink);color:white;border-color:var(--ink)}.segmented{display:flex;gap:8px;margin:20px 0}.segmented button{flex:1;font-size:13px;padding:11px 8px}.filters{max-width:640px}.filters .field{margin:20px 0}.month-control{max-width:100%;min-width:0}.ranking-head{background:var(--ink);color:#dce0e8;padding:16px;font-size:10px;display:flex;justify-content:space-between;margin:24px 0 16px}.row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--silver)}.row:last-child{border:0}.row h3{margin:10px 0 6px}.row p{margin:6px 0;font-size:13px;white-space:pre-wrap}.actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.actions button{font-size:12px;padding:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:20px}.weekday{text-align:center;padding:9px 0;font-size:10px;color:var(--muted)}.day{min-height:68px;border-top:1px solid var(--silver);padding:10px 4px;font-size:12px}.day.today{color:var(--blue);background:#edf2ff}.day span{display:block;background:var(--blue);color:white;border-radius:3px;padding:3px;margin:5px 0 0;font-size:9px;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.album{display:block;border:1px solid var(--silver);background:white;border-radius:12px;overflow:hidden;color:var(--ink)}.album-cover{aspect-ratio:4/3;background:#e8edf7;display:grid;place-items:center;color:var(--blue)}.album-cover svg{width:45px;height:45px}.album-info{padding:16px}.album-info h3{margin:0 0 7px}.photo-tile{background:white;border:1px solid var(--silver);border-radius:10px;overflow:hidden}.photo-open{border:0;padding:0;border-radius:0;width:100%;background:#e8edf7}.photo-open img{width:100%;aspect-ratio:1;object-fit:cover}.photo-meta{padding:12px}.photo-meta p{font-size:12px;margin:0 0 10px;white-space:pre-wrap}.lightbox{width:min(95vw,1000px);max-width:95vw}.lightbox img{max-height:75vh;object-fit:contain;margin:auto}.sponsor-logo{height:70px;width:160px;object-fit:contain;margin-bottom:15px}.sponsor-card{padding:24px}.sponsor-card p{white-space:pre-wrap}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:14px 10px;text-align:left;border-bottom:1px solid var(--silver);vertical-align:top;min-width:90px}th{font-size:10px;text-transform:uppercase;color:var(--muted)}td small{display:block;color:var(--muted)}.positive{color:#087a53}.negative{color:#ac2934}.balance{background:var(--ink);color:white}.balance p{color:#c4cde0}.balance .number{font-size:32px}.admin-links{display:grid;gap:12px}.admin-links a{display:flex;align-items:center;justify-content:space-between;padding:18px;background:white;border:1px solid var(--silver);border-radius:9px;color:var(--ink);font-weight:600}.brand-preview{max-height:180px;object-fit:contain;margin:15px 0;border-radius:8px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--silver);padding:9px max(12px,calc((100vw - 600px)/2)) calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;z-index:10;overflow:visible}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:#687180;font-size:10px;min-width:54px}.nav-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.nav-icon svg{width:21px;height:21px}.bottom-nav a.active .nav-icon{background:var(--blue);color:#fff}.bottom-nav a.active{color:var(--blue);font-weight:700}.bottom-nav a:hover .nav-icon{background:#e6eeff;color:var(--blue)}.bottom-nav a.active:hover .nav-icon{background:var(--blue);color:#fff}dialog{border:0;border-radius:16px;padding:24px;width:500px;max-width:94vw;max-height:90dvh;overflow:auto;box-shadow:0 24px 80px #0005}dialog::backdrop{background:#10131a99}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.dialoghead h2{margin:0}.dialoghead button{border:0;padding:8px}.form-error{color:#a92730;font-size:13px;line-height:1.6;white-space:pre-wrap}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;padding:15px 20px;background:#172748;color:white;border-radius:10px;box-shadow:0 6px 20px #0003;z-index:40;font-size:13px;line-height:1.5}.loading{text-align:center;padding:60px 0;color:var(--muted)}.install-card{border:1px dashed #acc2f8}.back-link{display:inline-block;margin-bottom:20px}.wide{grid-column:1/-1}.profile-summary{font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.topbar{padding:18px 20px;gap:9px}.brand strong{font-size:19px}.brand small{font-size:10px}.monogram{font-size:38px}.account{font-size:11px;padding:9px 11px;min-height:38px}.local-badge{display:none}main{padding:27px 20px 125px}.pagehead{display:block}.pagehead>button{margin-top:16px}.card{padding:20px}.hero-content{padding:25px}.hero h2{font-size:36px}.hero p{font-size:12px}.grid{grid-template-columns:1fr}.stats{gap:8px}.stats .card{padding:14px 10px}.stats p{font-size:10px}.number{font-size:27px}.stats small{font-size:9px}.row{flex-wrap:wrap}.row>.actions{width:100%}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.album-info{padding:12px}.album-info h3{font-size:20px}.gallery .actions{gap:4px}.gallery .actions button{padding:8px;font-size:10px}.day{min-height:58px}.sectiontitle h2{font-size:23px}.sectiontitle button{padding:8px;font-size:11px}.balance .number{font-size:24px}.bottom-nav{padding-top:9px}.lightbox{padding:15px}.auth-card{padding:22px}.field{font-size:13px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s,border-color .15s}}
