:root{--bg: #0b1220;--surface: #1a2436;--surface-2: #24314a;--border: #37455e;--border-strong: #4a5b7a;--text: #f2f5f9;--text-dim: #a9b6c9;--text-faint: #7c8aa3;--accent: #5b9fe6;--accent-dim: #35618f;--warn: #e0ac4f;--danger: #e2696a;--ok: #52dba0;--radius: 10px;--radius-sm: 7px;--gap: 14px;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: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(--accent);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:-.01em}.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 a+a{border-left:1px solid var(--border)}.bottom-nav-icon{font-size:19px;line-height:1}.bottom-nav-label{font-size:11px;font-weight:500;line-height:1.2}.bottom-nav a.active{color:var(--accent);border-top-color:var(--accent)}.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);cursor:pointer}.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);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:15px;font-weight:500;white-space:nowrap;min-height:40px}.btn:active{opacity:.75}.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: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(--ok)}.status-dot.waived{background:var(--text-dim)}.status-dot.not_logged{background:var(--warn)}.banner{border:1px solid var(--warn);background:#e0ac4f1f;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(--border-strong);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(--accent)}.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(--border-strong);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(--accent-dim);color:#fff;font-size:11.5px;font-weight:600;padding:2px 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)}.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}
