:root{background:#f7f8f9;color:#172b4d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.72}#root{min-height:100vh}.authPage{align-items:center;background:linear-gradient(180deg,#0c66e414,#fff0),#f7f8f9;display:flex;min-height:100vh;padding:24px}.authPanel{background:#fff;border:1px solid #dfe1e6;border-radius:8px;box-shadow:0 8px 24px #091e421f;margin:0 auto;max-width:440px;padding:28px;width:100%}.eyebrow{color:#0c66e4;font-size:.78rem;font-weight:700;margin:0 0 8px}h1{font-size:2rem;letter-spacing:0;line-height:1.15;margin:0 0 12px}.lead{color:#44546f;line-height:1.7;margin:0}.authForm{display:grid;gap:16px;margin-top:24px}.field{color:#172b4d;display:grid;font-size:.88rem;font-weight:600;gap:8px}.field input{background:#fff;border:1px solid #8590a2;border-radius:6px;color:#172b4d;min-height:44px;padding:10px 12px;touch-action:manipulation;width:100%}.field input:focus{border-color:#0c66e4;box-shadow:0 0 0 3px #0c66e433;outline:none}.authActions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.primaryButton,.secondaryButton,.googleButton,.navButton{border:0;border-radius:6px;font-weight:700;min-height:44px;padding:10px 14px;touch-action:manipulation}.primaryButton{background:#0c66e4;color:#fff}.secondaryButton{background:#f1f2f4;color:#172b4d}.googleButton{background:#fff;border:1px solid #8590a2;color:#172b4d}.formMessage{border-radius:6px;font-size:.88rem;line-height:1.6;margin:0;padding:10px 12px}.errorMessage{background:#fff2f0;color:#ae2a19}.infoMessage{background:#e9f2ff;color:#05c}.appShell{background:#f7f8f9;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.appContent{margin:0 auto;max-width:720px;padding:24px 18px}.pageSurface{display:grid;gap:18px}.placeholderPanel,.settingsPanel,.sectionPanel{background:#fff;border:1px solid #dfe1e6;border-radius:8px;display:grid;gap:12px;padding:18px}.sectionPanel h2{font-size:1.12rem;letter-spacing:0;margin:0}.sectionHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.countBadge{background:#f1f2f4;border-radius:999px;color:#44546f;font-size:.82rem;font-weight:700;padding:4px 10px}.panelTitle{font-weight:700;line-height:1.6;margin:0}.mutedText{color:#626f86;line-height:1.7;margin:0}.bottomNav{background:#fff;border-top:1px solid #dfe1e6;bottom:0;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);left:0;min-height:calc(64px + env(safe-area-inset-bottom));padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));position:fixed;right:0}.navButton{background:transparent;color:#626f86;font-size:.88rem;min-height:48px;min-width:0;overflow-wrap:anywhere}.navButton[aria-current=page]{background:#e9f2ff;color:#0c66e4}.subscriptionForm{display:grid;gap:16px}.formGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.field select,.field textarea{background:#fff;border:1px solid #8590a2;border-radius:6px;color:#172b4d;min-height:44px;padding:10px 12px;touch-action:manipulation;width:100%}.field textarea{min-height:86px;resize:vertical}.field select:focus,.field textarea:focus{border-color:#0c66e4;box-shadow:0 0 0 3px #0c66e433;outline:none}.fullWidthField,.templateSuggestions{grid-column:1 / -1}.templateSuggestions{display:flex;flex-wrap:wrap;gap:8px}.templateSuggestions button,.textButton{background:#fff;border:1px solid #dfe1e6;border-radius:999px;color:#0c66e4;font-size:.88rem;font-weight:700;min-height:34px;padding:6px 12px}.filterBar{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.compactField{font-size:.82rem}.subscriptionCards{display:grid;gap:12px}.subscriptionCard{align-items:start;background:#fff;border:1px solid #dfe1e6;border-radius:8px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;padding:14px}.serviceInitialIcon{align-items:center;background:#e9f2ff;border-radius:10px;color:#0c66e4;display:inline-flex;font-weight:800;height:44px;justify-content:center;width:44px}.subscriptionCardBody{display:grid;gap:8px;min-width:0}.subscriptionCard h3{font-size:1rem;letter-spacing:0;margin:0}.subscriptionMeta{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.subscriptionMeta div{display:grid;gap:2px}.subscriptionMeta dt{color:#626f86;font-size:.75rem}.subscriptionMeta dd{font-size:.86rem;margin:0;min-width:0;overflow-wrap:anywhere}.renewalList{display:grid;gap:12px}.renewalCard{background:#fff;border:1px solid #dfe1e6;border-radius:8px;display:grid;gap:14px;padding:14px}.renewalCard-featured{border-color:#85b8ff;box-shadow:0 8px 20px #091e421a}.renewalCardHeader{align-items:center;display:flex;gap:12px}.renewalCard h2{font-size:1.05rem;letter-spacing:0;margin:0 0 4px}.renewalCardMetrics{align-items:end;display:flex;gap:12px;justify-content:space-between}.daysUntil{color:#0c66e4;font-size:1.45rem;font-weight:800;line-height:1.2;margin:0}.renewalAmount{color:#172b4d;font-weight:800;margin:0}.progressTrack{background:#f1f2f4;border-radius:999px;height:10px;min-width:120px;overflow:hidden}.progressFill{background:#0c66e4;display:block;height:100%}.srOnly{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.emptyState{background:#fff;border:1px dashed #b3b9c4;border-radius:8px;display:grid;gap:8px;padding:18px}.summaryGrid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.summaryMetric{background:#fff;border:1px solid #dfe1e6;border-radius:8px;display:grid;gap:10px;padding:18px}.summaryMetric strong{color:#172b4d;font-size:1.6rem;overflow-wrap:anywhere}.categoryTotals{display:grid;gap:10px}.rateNote{color:#626f86;font-size:.82rem;font-weight:700;margin:6px 0 0}.categoryTotalRow{align-items:center;border-top:1px solid #f1f2f4;display:flex;gap:12px;justify-content:space-between;padding-top:10px}.categoryTotalRow:first-child{border-top:0;padding-top:0}.toast{background:#fff7d6;border:1px solid #f5cd47;border-radius:8px;color:#533f04;font-size:.9rem;line-height:1.6;padding:12px 14px}@media(max-width:380px){.authActions{grid-template-columns:1fr}.authPanel{padding:22px}}@media(max-width:560px){.formGrid,.filterBar,.subscriptionMeta,.summaryGrid{grid-template-columns:1fr}.subscriptionCard{grid-template-columns:auto minmax(0,1fr)}.subscriptionCard .textButton{grid-column:1 / -1;width:fit-content}}
