:root{--bg: #161311;--surface: #201c19;--surface-2: #2b2521;--border: #3d332d;--border-strong: #5a493f;--text: #f2ece4;--text-dim: #b8ada2;--text-faint: #948880;--brand: #702623;--brand-text: #cc6a66;--brand-dim: #4a1a19;--accent-cream: #ebe1c8;--error: #d16c47;--warning: #c99348;--success: #7fa06b;--radius: 10px;--radius-sm: 7px;--gap: 14px;--accent: var(--brand-text);--accent-dim: var(--brand);--danger: var(--error);--warn: var(--warning);--ok: var(--success);--bg-alt: rgba(235, 225, 200, .05);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--brand-text);text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-width:720px;margin:0 auto;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.topbar{padding:16px 16px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.topbar h1{font-size:20px;font-weight:700;margin:0;letter-spacing:-.015em;display:flex;align-items:center;gap:10px}.topbar h1:before{content:"";flex:none;width:30px;height:21px;background:url(/symbol-mark.svg) center / contain no-repeat}.topbar .subtitle{font-size:13px;color:var(--text-dim);margin-top:3px}.content{flex:1;padding:16px 16px 28px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--border);background:var(--surface);max-width:720px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:9px 4px calc(7px + env(safe-area-inset-bottom,0px)/2);color:var(--text-faint);text-decoration:none;border-top:2px solid transparent}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1}.bottom-nav-icon svg{display:block}.bottom-nav-label{font-size:11px;font-weight:500;line-height:1.2}.bottom-nav a.active{color:var(--brand-text);border-top-color:var(--brand-text)}.bottom-nav a.active .bottom-nav-label{font-weight:600}.bottom-nav a.active svg{stroke-width:2.1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card-link{border-color:var(--border-strong);border-left:3px solid var(--brand);cursor:pointer;box-shadow:0 1px 2px #00000059,0 8px 16px -10px #0009}.card-link:active{background:var(--surface-2)}.card-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;color:var(--text);cursor:pointer;font-size:15px;font-weight:500;white-space:nowrap;min-height:40px}.btn:active{opacity:.75;background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--accent-cream);box-shadow:inset 0 0 0 1px #ebe1c824}.btn-primary:active{background:var(--brand-dim);opacity:1}.btn-warn{background:transparent;border-color:var(--warning);color:var(--warning)}.btn-ghost,.btn.remove-btn{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:active,.btn.remove-btn:active{color:var(--error);background:transparent}.btn-sm{padding:8px 12px;font-size:13px;min-height:34px}.btn-block{width:100%}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.status-dot.logged{background:var(--success)}.status-dot.waived{background:var(--text-dim)}.status-dot.not_logged{background:var(--warning)}.banner{border:1px solid var(--warning);background:#c993481f;border-radius:var(--radius);padding:14px;margin-bottom:var(--gap);font-size:14px;line-height:1.5}.field{margin-bottom:16px}.field label{display:block;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin-bottom:6px}.field input[type=text],.field input[type=number],.field input[type=date],.field textarea,.field select{width:100%;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid var(--text-faint);background:var(--bg);color:var(--text);font-size:15px;min-height:44px}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand-text);box-shadow:0 0 0 1px var(--brand-text)}.field textarea{resize:vertical;min-height:72px;line-height:1.5}input[type=text],input[type=number],input[type=date],textarea,select{border-radius:var(--radius-sm);border:1px solid var(--text-faint);background:var(--bg);padding:10px 11px;min-height:42px}textarea{min-height:64px;line-height:1.5}.accordion-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;cursor:pointer;background:var(--surface);font-size:15.5px;font-weight:600;min-height:48px}.accordion-header .badge{background:var(--brand-dim);color:var(--accent-cream);border:1px solid var(--brand);font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:10px;margin-left:8px}.accordion-body{padding:14px 16px 16px;border-top:1px solid var(--border)}.text-dim{color:var(--text-dim)}.text-sm{font-size:13px;line-height:1.5}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.repeat-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:12px;position:relative;background:var(--surface);border-left:2px solid var(--border-strong)}.repeat-item .remove-btn{position:absolute;top:10px;right:10px}.empty-state{color:var(--text-dim);font-size:14px;text-align:center;padding:28px 14px}a.card-row{color:var(--text)}a.card-row+a.card-row{border-top:1px solid var(--border)}a.card-row:active{background:var(--surface-2)}:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}::selection{background:var(--brand);color:var(--accent-cream)}input[type=time]{background:var(--bg);color:var(--text);border:1px solid var(--text-faint);border-radius:var(--radius-sm)}input[type=checkbox],input[type=radio]{accent-color:var(--brand-text)}.about-card{text-align:center}.about-card img{display:block;margin:0 auto;max-width:100%;height:auto}
