:root{color-scheme:dark;--bg: #0b1220;--surface: #121a2b;--surface-2: #1a2438;--border: #2a3650;--text: #e8eefc;--muted: #93a0b8;--accent: #14b8a6;--accent-2: #0f766e;--danger: #f87171;--warn: #fbbf24;--ok: #34d399;--radius: 14px;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.45;font-weight:400;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 50% -10%,#134e4a55,transparent),var(--bg)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:var(--accent-2);color:#fff;border-radius:10px;padding:.65rem 1rem;font-weight:600}button.secondary{background:var(--surface-2);border:1px solid var(--border)}button.danger{background:#7f1d1d}button:disabled{opacity:.5;cursor:not-allowed}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(64px + var(--safe-bottom))}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{font-weight:800;letter-spacing:-.02em}.brand span{color:var(--accent)}.badge{font-size:.7rem;padding:.2rem .5rem;border-radius:999px;background:#134e4a;color:#99f6e4}.nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.45rem .5rem calc(.45rem + var(--safe-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.nav a{text-align:center;padding:.45rem .2rem;border-radius:10px;color:var(--muted);font-size:.75rem;font-weight:600}.nav a.active{color:var(--text);background:var(--surface-2)}.nav .ico{display:block;font-size:1.1rem;margin-bottom:.1rem}main{padding:1rem;flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.85rem}.card h2,.card h3{margin:0 0 .6rem;font-size:1rem}.muted{color:var(--muted);font-size:.9rem}.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.stack{display:flex;flex-direction:column;gap:.65rem}.totals{display:grid;gap:.5rem}.total-pill{display:flex;justify-content:space-between;align-items:baseline;padding:.75rem .9rem;border-radius:12px;background:linear-gradient(135deg,#134e4a,#0f172a);border:1px solid #115e59}.total-pill strong{font-size:1.25rem}.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:none}.sub-name{font-weight:650}.status{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:6px;background:var(--surface-2)}.status.active{color:var(--ok)}.status.paused{color:var(--warn)}.status.canceled{color:var(--danger)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.cal-head,.cal-day{text-align:center;font-size:.7rem;color:var(--muted)}.cal-day{aspect-ratio:1;border-radius:8px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid transparent}.cal-day.has-charge{border-color:var(--accent);color:var(--text);font-weight:700}.cal-day.today{outline:2px solid #38bdf8}.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);margin-top:2px}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.form input,.form select,.form textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem}.form textarea{min-height:72px;resize:vertical}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.empty{text-align:center;padding:1.5rem 1rem;color:var(--muted)}.paywall{text-align:center;padding:1.5rem 1rem}.paywall .lock{font-size:2.5rem;margin-bottom:.5rem}.paywall ul{text-align:left;color:var(--muted);margin:1rem auto;max-width:280px}.banner{background:#422006;border:1px solid #92400e;color:#fde68a;border-radius:10px;padding:.65rem .8rem;margin-bottom:.85rem;font-size:.85rem}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}
