@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";:root{--crimson:#c1121f;--crimson-dark:#8b0000;--green:#22c55e;--green-dark:#1b7a3e;--navy:#1d3557;--amber:#f59e0b;--amber-dark:#b45309;--bg-dark:#0d0d0d;--card-dark:#1a1a1a;--surface-dark:#1e1e1e;--border-dark:#2b2d42;--fg-dark:#f4f4f4;--muted-dark:#9ca3af;--bg-light:#f4f4f4;--card-light:#fff;--border-light:#d4d4d4;--text-dark:#0d0d0d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--fg-dark);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}.app-shell{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.page{flex:1;padding:16px 16px 90px}.page-light{background:var(--bg-light);color:var(--text-dark)}.header{border-bottom:2px solid var(--crimson);z-index:100;background:#121212;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.header-eyebrow{letter-spacing:3px;color:var(--crimson);text-transform:uppercase;font-size:9px;font-weight:700}.header-title{color:var(--fg-dark);letter-spacing:1px;font-size:18px;font-weight:700}.header-sub{color:var(--muted-dark);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:10px}.bottom-nav{border-top:1px solid var(--border-dark);z-index:100;background:#121212;width:100%;max-width:480px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;color:var(--muted-dark);letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:10px 0;font-size:9px;font-weight:700;text-decoration:none;display:flex}.nav-item.active{color:var(--crimson)}.card{background:var(--card-dark);border:1px solid var(--border-dark);border-radius:10px;margin-bottom:12px;padding:16px}.card-light{background:var(--card-light);border:1px solid var(--border-light);border-top:3px solid var(--crimson);border-radius:10px;margin-bottom:12px;padding:16px}.card-crimson{border-left:3px solid var(--crimson)!important}.card-amber{border-left:3px solid var(--amber)!important}.card-green{border-left:3px solid var(--green)!important}.card-navy{border-left:3px solid var(--navy)!important}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-tile{background:var(--card-dark);border-top:3px solid var(--crimson);text-align:center;border-radius:10px;padding:14px}.stat-tile.full{grid-column:1/-1}.stat-value{color:var(--fg-dark);font-size:28px;font-weight:700;line-height:1}.stat-label{letter-spacing:2px;color:var(--muted-dark);text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:700}.stat-tile.green{border-top-color:var(--green)}.stat-tile.navy{border-top-color:var(--navy)}.stat-tile.amber{border-top-color:var(--amber)}.section-label{letter-spacing:3px;color:var(--muted-dark);text-transform:uppercase;margin-top:20px;margin-bottom:10px;font-size:9px;font-weight:700}.btn{letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn-primary{background:var(--crimson);color:#fff}.btn-green{background:var(--green-dark);color:#fff}.btn-navy{background:var(--navy);color:#fff}.btn-amber{background:var(--amber-dark);color:#fff}.btn-ghost{color:var(--muted-dark);border:1px solid var(--border-dark);background:0 0}.btn-sm{width:auto;padding:7px 14px;font-size:10px}.badge{letter-spacing:1px;text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.badge-crimson{color:var(--crimson);background:#c1121f26;border:1px solid #c1121f4d}.badge-green{color:var(--green);background:#22c55e26;border:1px solid #22c55e4d}.badge-amber{color:var(--amber);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-navy{color:#93b4d4;background:#1d355766;border:1px solid #1d355799}.badge-gray{color:var(--muted-dark);background:#9ca3af26;border:1px solid #9ca3af33}.progress-track{background:var(--border-dark);border-radius:99px;height:8px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width .4s}.progress-fill.crimson{background:var(--crimson)}.progress-fill.green{background:var(--green)}.input{background:var(--surface-dark);border:1px solid var(--border-dark);width:100%;color:var(--fg-dark);border-radius:8px;outline:none;padding:12px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.input:focus{border-color:var(--crimson)}.input-light{border:1px solid var(--border-light);color:var(--text-dark);background:#fff}.input-light:focus{border-color:var(--crimson)}.input-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-dark);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.input-group{margin-bottom:16px}.divider{background:var(--border-dark);height:1px;margin:16px 0}.attention-panel{border:1px solid var(--amber);background:#f59e0b0d;border-radius:10px;margin-bottom:16px;padding:14px}.missed-panel{border:1px solid var(--crimson);background:#c1121f0d;border-radius:10px;margin-bottom:16px;padding:14px}.avatar{background:var(--crimson);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.modal-overlay{z-index:200;background:#000000bf;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--card-dark);border-top:3px solid var(--crimson);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;padding:20px;overflow-y:auto}.modal-sheet.amber{border-top-color:var(--amber)}.modal-sheet.green{border-top-color:var(--green)}.feed-item{border-bottom:1px solid var(--border-dark);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.feed-item:last-child{border-bottom:none}.login-page{background:var(--bg-dark);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-logo{letter-spacing:4px;color:var(--crimson);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.login-title{color:var(--fg-dark);text-align:center;margin-bottom:4px;font-size:28px;font-weight:700}.login-sub{color:var(--muted-dark);text-align:center;letter-spacing:1px;margin-bottom:32px;font-size:12px}.empty-state{text-align:center;color:var(--muted-dark);padding:32px 16px}.empty-state p{letter-spacing:1px;text-transform:uppercase;margin-top:8px;font-size:12px}.spinner{border:3px solid var(--border-dark);border-top-color:var(--crimson);border-radius:50%;width:32px;height:32px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.objective-card{border:1px solid var(--border-light);border-left:4px solid var(--crimson);background:#fff;border-radius:10px;margin-bottom:10px;padding:14px}.objective-card.complete{border-left-color:var(--green);opacity:.75}.message-list{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{border-radius:14px;max-width:75%;padding:10px 14px;font-size:13px;line-height:1.5}.bubble.coach{background:var(--crimson);color:#fff;border-radius:14px 14px 4px}.bubble.client-msg{background:var(--surface-dark);color:var(--fg-dark);border-radius:14px 14px 14px 4px}.bubble-time{color:var(--muted-dark);margin-top:3px;font-size:9px}.bubble-wrap{flex-direction:column;display:flex}.bubble-wrap.right{align-items:flex-end}.bubble-wrap.left{align-items:flex-start}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;gap:8px;display:flex}.gap-8{gap:8px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.text-crimson{color:var(--crimson)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.text-muted{color:var(--muted-dark)}.text-sm{font-size:11px}.text-xs{letter-spacing:1px;font-size:9px}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.w-full{width:100%}
