*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1a1a1a;--surface: #2a2a2a;--text: #ffffff;--text-muted: #888888;--accent: #4a9eff;--success: #4caf50;--warning: #ff9800;--danger: #f44336}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app{height:100%;display:flex;flex-direction:column}.nav{display:flex;border-bottom:1px solid var(--surface);background:var(--bg)}.nav-btn{flex:1;padding:16px;background:none;border:none;color:var(--text-muted);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.nav-btn.active{color:var(--text);border-bottom:2px solid var(--accent)}.screen{flex:1;display:flex;flex-direction:column;padding:20px;overflow:hidden}.progress-bar{display:flex;justify-content:space-between;margin-bottom:24px;font-size:14px}.progress-sent{color:var(--success);font-weight:600}.progress-discards{color:var(--warning)}.progress-discards.exhausted{color:var(--danger)}.message-card{flex:1;display:flex;flex-direction:column;background:var(--surface);border-radius:12px;padding:24px;margin-bottom:20px;overflow:hidden}.contact-name{font-size:20px;font-weight:700;margin-bottom:8px}.contact-meta{font-size:14px;color:var(--text-muted);margin-bottom:16px}.message-text{flex:1;font-size:18px;line-height:1.5;overflow-y:auto}.action-error{margin-bottom:12px;padding:12px 14px;border-radius:8px;background:#dc35451f;border:1px solid rgba(220,53,69,.4);color:#ff8b95;font-size:14px;line-height:1.4}.actions{display:flex;flex-direction:column;gap:12px}.btn{padding:16px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid #444}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.complete-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.complete-screen h2{font-size:32px;margin-bottom:16px;color:var(--success)}.complete-screen p{color:var(--text-muted);font-size:18px}.add-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.add-btn{width:200px;height:200px;border-radius:50%;background:var(--danger);border:none;color:#fff;font-size:24px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.add-btn:active{transform:scale(.95)}.add-btn.recording{animation:pulse 1s infinite;background:#b71c1c}@keyframes pulse{0%{box-shadow:0 0 #f44336b3}70%{box-shadow:0 0 0 30px #f4433600}to{box-shadow:0 0 #f4433600}}.add-hint{margin-top:24px;color:var(--text-muted);font-size:14px}.add-status{margin-top:24px;padding:16px;border-radius:8px;text-align:center;max-width:300px}.add-status.success{background:#4caf5033;color:var(--success)}.add-status.error{background:#f4433633;color:var(--danger)}.loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted)}.empty-state h2{margin-bottom:8px;color:var(--text)}.login-box{display:flex;flex-direction:column;gap:16px;margin-top:25vh;text-align:center}.login-box form{display:flex;flex-direction:column;gap:12px}.login-input{padding:12px 14px;border-radius:10px;border:1px solid var(--border, #333);background:var(--card-bg, #242424);color:inherit;font-size:16px;width:100%}.login-error{color:var(--danger, #e5484d);font-size:14px}.contacts-screen{display:flex;flex-direction:column;gap:12px}.contacts-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.contact-row{background:var(--card-bg, #242424);border-radius:12px;padding:12px 14px}.contact-row-head{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.contact-edit-hint{font-size:13px;color:var(--text-muted, #888)}.contact-edit{display:flex;flex-direction:column;gap:8px;margin-top:12px}.contact-edit label{font-size:13px;color:var(--text-muted, #888)}.style-picker{display:flex;gap:6px;flex-wrap:wrap}.style-btn{padding:6px 12px;font-size:14px}.style-btn.selected{outline:2px solid var(--accent, #4f8ef7)}.anchors-input{resize:vertical;font-family:inherit}:root{--warm: #ff9f5a;--growth: #5ad1c0}.today-screen{overflow-y:auto}.progress-head{margin-bottom:12px}.progress-total{font-size:15px;color:var(--text-muted);margin-bottom:8px}.progress-total strong{font-size:22px;color:var(--text)}.mode-tag{margin-left:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:#4a9eff26;color:var(--accent)}.lane-rows{display:flex;flex-direction:column;gap:6px}.lane-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.lane-name{width:52px}.lane-count{width:40px;text-align:right}.lane-skips{width:58px;text-align:right;font-size:12px}.lane-skips.exhausted{color:var(--warning)}.lane-meter{flex:1;height:6px;border-radius:999px;background:var(--surface);overflow:hidden}.lane-meter i{display:block;height:100%;background:var(--success);transition:width .3s ease}.lane-row:first-child .lane-meter i{background:var(--warm)}.lane-row:last-child .lane-meter i{background:var(--growth)}.milestones{display:flex;align-items:center;gap:10px;margin-bottom:14px}.milestone-dots{display:flex;gap:6px}.dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface);color:#555;transition:all .3s ease}.dot.lit{background:var(--success);color:#fff}.milestone-label{font-size:14px;font-weight:600;color:var(--success)}.card-top{display:flex;gap:8px;margin-bottom:10px}.lane-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:999px}.lane-badge.lane-warm{background:#ff9f5a2e;color:var(--warm)}.lane-badge.lane-growth{background:#5ad1c02e;color:var(--growth)}.lane-badge.small{margin-left:8px;font-size:10px;padding:2px 7px}.run-badge{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--surface);color:var(--text-muted)}.lane-spent{background:#ff980014;border:1px solid rgba(255,152,0,.3);border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:14px;line-height:1.45}.lane-spent p{margin-bottom:10px}.lane-spent .btn{width:100%}.muted{color:var(--text-muted);font-size:13px;line-height:1.5;margin-top:10px;max-width:340px}.complete-line{font-size:17px;color:var(--text)}.bonus-btn{margin-top:20px}.burst{position:relative;width:0;height:0;margin-bottom:26px}.burst i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--success);animation:burst .9s ease-out forwards}.burst i:nth-child(1){--a: 0deg;background:var(--warm)}.burst i:nth-child(2){--a: 60deg;background:var(--growth)}.burst i:nth-child(3){--a: 120deg;background:var(--accent)}.burst i:nth-child(4){--a: 180deg;background:var(--warm)}.burst i:nth-child(5){--a: 240deg;background:var(--growth)}.burst i:nth-child(6){--a: 300deg;background:var(--success)}@keyframes burst{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:0}35%{opacity:1}to{transform:rotate(var(--a)) translateY(-46px) scale(1);opacity:0}}@media (prefers-reduced-motion: reduce){.burst i{animation:none;opacity:0}}.week-summary{margin-top:22px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:7px}.week-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-muted)}.week-line strong{font-size:17px;color:var(--text)}.week-meter{position:relative;display:block;height:8px;border-radius:999px;background:var(--surface);overflow:hidden}.week-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--warm),var(--growth))}.week-meter b{position:absolute;top:0;width:2px;height:100%;background:#ffffff59}.week-badge{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--success)}.contacts-tabs{display:flex;gap:8px}.chip{padding:7px 13px;border-radius:999px;border:1px solid #444;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.chip.selected{color:var(--text);border-color:var(--accent)}.notice{padding:10px 14px;border-radius:8px;background:#4caf5024;border:1px solid rgba(76,175,80,.35);color:#9ede9f;font-size:14px;cursor:pointer}.contact-row.removed{opacity:.6}.removed-badge{margin-left:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:#f4433629;color:#ff8b95}.removed-note{font-size:13px;line-height:1.45;color:var(--text-muted);background:#f4433614;border:1px solid rgba(244,67,54,.25);border-radius:8px;padding:10px 12px}.field-pair{display:flex;gap:10px}.field-pair>*{flex:1}.remove-panel{border:1px solid rgba(244,67,54,.35);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45}.reason-list{display:flex;flex-direction:column;gap:6px}.reason-btn{text-align:left;font-size:14px;padding:10px 12px}.link-btn{background:none;border:none;color:var(--text-muted);font-size:13px;text-decoration:underline;cursor:pointer;align-self:flex-start;padding:4px 0}.danger-panel{border:1px dashed #555;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.danger-panel p{font-size:13px;line-height:1.45;color:var(--text-muted)}
