*{box-sizing:border-box}:root{--brand-navy: #002B5C;--brand-blue: #66CCFF;--brand-gray: #CCCCCC;--brand-white: #FFFFFF;--brand-gold: #FFCC00;--bg-top: #c4b5fd;--bg-bottom: #a0c4ff;--text: #0f172a;--muted: #475569;--primary: #6d46c1;--primary-hover: #5c35b3;--secondary: #f8e9d2;--secondary-text: #333;--surface: #ffffff;--line: #e2e8f0;--line-blue: #a3c9f7;--shadow: 0 8px 24px rgba(2,12,27,.08);--radius: 16px}body{margin:0;font-family:-apple-system,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(to bottom,var(--bg-top),var(--bg-bottom));background-attachment:fixed}.app .container{max-width:840px;margin:0 auto;padding:28px}.brandbar{background:linear-gradient(90deg,var(--brand-navy),#0b3f7d 50%,var(--brand-blue));color:var(--brand-white);border-radius:14px;padding:12px 14px;margin-bottom:16px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.brand-left{display:flex;align-items:center;gap:12px}.brand-logo{width:42px;height:42px;border-radius:10px;background:var(--brand-white);padding:6px;box-shadow:0 4px 16px #0000001f}.brand-text{line-height:1.1}.brand-name{font-weight:700;letter-spacing:.2px}.brand-sub{font-size:12px;opacity:.85}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.muted{color:var(--muted)}.controls input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;width:200px;background:#fff}.btn{border:1px solid #efd9bc;background:var(--secondary);color:var(--secondary-text);padding:8px 12px;border-radius:12px;cursor:pointer;transition:transform .06s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 2px 8px #0000000f}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px #6d46c147}.btn.primary:hover{background:var(--primary-hover)}.btn.outline{background:#fff;color:var(--text);border-color:var(--brand-blue)}.row{display:flex;justify-content:space-between;align-items:center}.row.gap{gap:10px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.kpi{background:var(--surface);border:1px solid var(--line-blue);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.kpi-label{font-size:12px;color:#64748b}.kpi-value{font-size:26px;font-weight:600}.kpi-value.small{font-size:14px}.card{background:var(--surface);border:1px solid var(--line-blue);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}.center{display:flex;justify-content:center;align-items:center}.h40{height:160px}.success{color:#166534;font-weight:600}.grid2{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 768px){.grid2{grid-template-columns:1fr 1fr}}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.chip{border:1px solid var(--line);padding:8px 12px;border-radius:999px;background:#fff;cursor:pointer;transition:background .12s,color .12s,border-color .12s,transform .06s}.chip:hover{transform:translateY(-1px)}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}textarea{width:100%;min-height:110px;padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff;margin-bottom:12px}.footer{margin-top:26px;font-size:12px;color:#334155}.breath{display:flex;flex-direction:column;align-items:center;gap:10px}.bubble{width:90px;height:90px;border-radius:999px;border:1px solid var(--line-blue);background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .4s ease;box-shadow:0 6px 20px #00000014}.bubble.in{width:145px;height:145px}.bubble.hold{width:120px;height:120px}.bubble.out{width:75px;height:75px}.breath-label{color:#253549;font-size:18px}.log{display:grid;gap:10px;margin-top:12px}.log-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line-blue);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.timestamp{color:#64748b;font-size:12px;white-space:nowrap}button:focus,input:focus,textarea:focus{outline:2px solid rgba(109,70,193,.45);outline-offset:2px}
