:root{--bg: #0b0e14;--bg-elev: #131824;--bg-elev-2: #1b2233;--border: #263043;--text: #e6ebf5;--muted: #8a97af;--primary: #ff5a1f;--primary-hover: #ff7a45;--danger: #e5484d;--success: #3fb950;--radius: 14px;--shadow: 0 6px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 100% -10%,rgba(255,90,31,.12),transparent 60%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:860px;margin:0 auto;padding:20px 16px 64px}.center-screen{display:grid;place-items:center;min-height:100vh}.page-head{margin:18px 0 12px}.page-head h1{margin:0 0 4px;font-size:1.6rem}.navbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0b0e14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.3px}.brand-mark{font-size:1.4rem}.brand-text{font-size:1.15rem}.nav-right{display:flex;align-items:center;gap:10px}.nav-email{color:var(--muted);font-size:.85rem;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.muted{color:var(--muted)}.small{font-size:.85rem}.section-title{margin:0 0 12px;font-size:1.05rem}.empty{text-align:center;color:var(--muted);padding:40px 16px;border:1px dashed var(--border);border-radius:var(--radius)}.error{color:var(--danger);background:#e5484d1a;border:1px solid rgba(229,72,77,.3);padding:10px 12px;border-radius:10px;margin:8px 0}.success{color:var(--success);background:#3fb9501a;border:1px solid rgba(63,185,80,.3);padding:10px 12px;border-radius:10px;margin:8px 0}.btn{border:1px solid transparent;border-radius:10px;padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;color:var(--text);background:var(--bg-elev-2)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#1a0d05}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{background:transparent;border-color:var(--border)}.btn-ghost:hover{background:var(--bg-elev-2)}.btn-danger{background:transparent;color:var(--danger);border-color:#e5484d66}.btn-danger:hover{background:#e5484d1f}.btn-sm{padding:6px 10px;font-size:.85rem}.form{display:flex;flex-direction:column;gap:14px;margin-top:16px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:.85rem;color:var(--muted)}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 12px;font-size:.95rem;width:100%}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff5a1f33}.form-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form-inline input{flex:1 1 180px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field-wide{grid-column:1 / -1}.auth-card{max-width:400px;margin:8vh auto 0;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}.auth-title{margin:0 0 6px}.auth-switch{margin-top:18px;text-align:center;color:var(--muted)}.auth-switch a{color:var(--primary);font-weight:600}.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.routine-card,.row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}.routine-card{flex-direction:column;align-items:stretch}.routine-link h3,.row-link h3{margin:0 0 6px}.row-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1}.pill{display:inline-block;background:#ff5a1f26;color:var(--primary-hover);border:1px solid rgba(255,90,31,.3);padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.pill-muted{background:var(--bg-elev-2);color:var(--muted);border-color:var(--border)}.back-link{color:var(--muted);font-size:.9rem}.back-link:hover{color:var(--text)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.table th{color:var(--muted);font-weight:600}.notes-cell{white-space:normal;color:var(--muted);max-width:200px}.chart-wrap{width:100%}.chart{width:100%;height:auto}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.chart-label{fill:var(--muted);font-size:10px}.chart-area{fill:#ff5a1f26}.chart-line{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--primary-hover)}.chart-caption{color:var(--muted);font-size:.8rem;margin-top:6px}.spinner{width:38px;height:38px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.form-grid{grid-template-columns:repeat(2,1fr)}.nav-email{display:none}}
