*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #181818;--surface2: #222;--surface3: #2a2a2a;--border: #2e2e2e;--border2: #3a3a3a;--text: #e8e8e8;--text2: #999;--text3: #666;--accent: #d4ff6e;--accent-dim: rgba(212,255,110,.12);--red: #ff5c5c;--red-dim: rgba(255,92,92,.12);--amber: #ffb347;--amber-dim: rgba(255,179,71,.12);--blue: #5ca8ff;--blue-dim: rgba(92,168,255,.12);--radius: 10px;--mono: "DM Mono", monospace;--sans: "DM Sans", sans-serif}[data-theme=ocean]{--bg: #090e18;--surface: #0e1624;--surface2: #141f30;--surface3: #1a293e;--border: #1e2e44;--border2: #263a56;--text: #dce8f5;--text2: #7a9cbe;--text3: #4a6880;--accent: #5ca8ff;--accent-dim: rgba(92,168,255,.12)}[data-theme=amber]{--bg: #0f0d09;--surface: #1a1610;--surface2: #221e16;--surface3: #2c261c;--border: #38301e;--border2: #463c26;--text: #f0e6d0;--text2: #a08868;--text3: #706048;--accent: #ffb347;--accent-dim: rgba(255,179,71,.12)}[data-theme=rose]{--bg: #0f0a0e;--surface: #1a1018;--surface2: #221622;--surface3: #2a1c2a;--border: #362030;--border2: #42283c;--text: #f0e0ec;--text2: #b08098;--text3: #7a5068;--accent: #ff7eb3;--accent-dim: rgba(255,126,179,.12)}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-text-size-adjust:100%}#root{height:100%}.app{display:flex;flex-direction:column;height:100dvh;max-width:680px;margin:0 auto;background:var(--bg)}.nav{display:flex;background:var(--surface);border-top:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding-bottom:env(safe-area-inset-bottom,0)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 12px;border:none;background:none;color:var(--text3);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:color .15s}.nav-btn.active{color:var(--accent)}.nav-btn svg{stroke:currentColor}.page{flex:1;overflow-y:auto;padding:0 0 8px;-webkit-overflow-scrolling:touch}.page-header{padding:20px 16px 12px;display:flex;align-items:center;gap:10px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.page-sub{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 12px 8px;overflow:hidden}.card-header{padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.card-title{font-weight:600;font-size:14px}.card-body{padding:0 14px 14px}.athlete-row{display:flex;align-items:center;padding:12px 14px;gap:12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.athlete-row:last-child{border-bottom:none}.athlete-row:active{background:var(--surface2)}.athlete-avatar{width:38px;height:38px;border-radius:50%;background:var(--surface3);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--accent);flex-shrink:0}.athlete-info{flex:1;min-width:0}.athlete-name{font-weight:600;font-size:14px}.athlete-meta{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-green{background:var(--accent)}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.athlete-avatar.archived{color:var(--text3)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:500}.badge-green{background:var(--accent-dim);color:var(--accent)}.badge-red{background:var(--red-dim);color:var(--red)}.badge-amber{background:var(--amber-dim);color:var(--amber)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:8px;border:none;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#0f0f0f}.btn-ghost{background:var(--surface2);color:var(--text)}.btn-danger{background:var(--red-dim);color:var(--red)}.btn-full{width:100%;justify-content:center}.btn-sm{padding:6px 10px;font-size:12px}.form-group{margin-bottom:14px}.form-label{display:block;font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.form-input{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:7px;color:var(--text);font-family:var(--sans);font-size:14px;padding:9px 12px;outline:none;transition:border-color .15s;-webkit-appearance:none}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text3)}textarea.form-input{resize:vertical;min-height:70px}.section-label{font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.todo-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.todo-item:last-child{border-bottom:none}.todo-check{width:20px;height:20px;border-radius:5px;border:2px solid var(--border2);background:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:1px}.todo-check.checked{background:var(--accent);border-color:var(--accent)}.todo-text{flex:1;font-size:14px;line-height:1.4}.todo-text.done{text-decoration:line-through;color:var(--text3)}.todo-text.overdue{color:var(--red)}.todo-time{font-family:var(--mono);font-size:10px;font-weight:500}.todo-tag{font-family:var(--mono);font-size:9px;color:var(--text3);margin-top:2px}.note-item{padding:10px 0;border-bottom:1px solid var(--border)}.note-item:last-child{border-bottom:none}.note-date{font-family:var(--mono);font-size:10px;color:var(--text3);margin-bottom:3px}.note-text{font-size:13px;line-height:1.5;color:var(--text2)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.list-item:last-child{border-bottom:none}.profile-hero{padding:20px 16px 14px;display:flex;align-items:center;gap:14px}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--surface3);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:var(--accent);flex-shrink:0}.profile-name{font-size:20px;font-weight:700;letter-spacing:-.01em}.profile-age{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:2px}.contact-bar{margin:0 12px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.contact-info{flex:1}.contact-label{font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.contact-val{font-size:13px;font-weight:600;margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border-radius:18px;width:100%;max-width:480px;max-height:85dvh;overflow-y:auto;padding:24px 20px}.modal-title{font-size:17px;font-weight:700;margin-bottom:16px}.empty{text-align:center;padding:36px 20px;color:var(--text3);font-size:13px}.scroll-pad{height:20px}.sticky-header{background:var(--surface);border-bottom:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);position:sticky;top:0;z-index:10}.sub-tabs{display:flex;overflow-x:auto;justify-content:center;padding:0 12px;gap:2px;scrollbar-width:none;-ms-overflow-style:none}.sub-tabs::-webkit-scrollbar{display:none}.sub-tab{flex:none;padding:6px 12px;border:none;background:none;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;transition:color .15s}.sub-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.icon-btn{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px;display:flex;align-items:center}.hidden{display:none}.toggle-btn{position:relative;width:44px;height:26px;border-radius:13px;border:none;background:var(--surface3);cursor:pointer;flex-shrink:0;transition:background .2s}.toggle-btn:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text3);transition:transform .2s,background .2s}.toggle-btn.on{background:var(--accent)}.toggle-btn.on:after{transform:translate(18px);background:#0f0f0f}
