:root{--bg: #0f172a;--surface: #1a2332;--surface-2: #232f42;--border: #2c394d;--text: #e6ebf2;--text-dim: #94a3b8;--accent: #4a90d9;--accent-dim: #2f5a82;--warn: #d9a34a;--danger: #d95c5c;--ok: #4ad991;--radius: 8px;--gap: 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,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:15px;line-height:1.4;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-width:720px;margin:0 auto;padding-bottom:64px}.topbar{padding:14px 16px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.topbar h1{font-size:17px;font-weight:600;margin:0}.topbar .subtitle{font-size:12px;color:var(--text-dim);margin-top:2px}.content{flex:1;padding:12px 16px 24px}.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}.bottom-nav a{flex:1;text-align:center;padding:10px 4px 8px;font-size:11px;color:var(--text-dim)}.bottom-nav a.active{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:var(--gap)}.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:9px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:14px;white-space:nowrap}.btn:active{opacity:.8}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:#fff}.btn-warn{background:transparent;border-color:var(--warn);color:var(--warn)}.btn-sm{padding:5px 10px;font-size:12px}.btn-block{width:100%}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.logged{background:var(--ok)}.status-dot.waived{background:var(--text-dim)}.status-dot.not_logged{background:var(--warn)}.banner{border:1px solid var(--warn);background:#d9a34a1a;border-radius:var(--radius);padding:12px;margin-bottom:var(--gap);font-size:13px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.field input[type=text],.field input[type=number],.field input[type=date],.field textarea,.field select{width:100%;padding:9px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.field textarea{resize:vertical;min-height:60px}.accordion-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;background:var(--surface);font-size:14px;font-weight:500}.accordion-header .badge{background:var(--accent-dim);color:#fff;font-size:11px;padding:1px 7px;border-radius:10px;margin-left:8px}.accordion-body{padding:12px 14px 14px;border-top:1px solid var(--border)}.text-dim{color:var(--text-dim)}.text-sm{font-size:12px}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.repeat-item{border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:8px;position:relative}.repeat-item .remove-btn{position:absolute;top:8px;right:8px}.empty-state{color:var(--text-dim);font-size:13px;text-align:center;padding:24px 12px}
