@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap";.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);padding-bottom:var(--safe-bottom);background:#faf085;border-top:none;display:flex;justify-content:space-around;align-items:center;z-index:100}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:var(--radius-sm);color:#7a776c;font-family:var(--font-body);font-size:.68rem;font-weight:400;transition:color .15s;min-width:60px}.bottom-nav-item.active{color:#c1a502;font-family:var(--font-heading);font-weight:700}.fab{position:fixed;bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px);right:16px;width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:99;transition:transform .15s,background .15s}.fab:active{transform:scale(.92);background:var(--color-primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);font-family:var(--font-heading);font-weight:700;letter-spacing:.01em;transition:all .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-sm{padding:8px 14px;font-size:.85rem}.btn-md{padding:12px 20px;font-size:.95rem}.btn-lg{padding:14px 24px;font-size:1rem;min-height:50px}.btn-full{width:100%}.btn-primary{background:#302f2a;color:#fff}.btn-primary:active{background:#1a1917}.btn-secondary{background:#fef9cd;color:#302f2a}.btn-secondary:active{background:#f5efb8}.btn-outline{background:transparent;color:#302f2a;border:1.5px solid #302f2a}.btn-outline:active{background:#fef9cd}.btn-ghost{background:transparent;color:var(--color-text-secondary);font-family:var(--font-body);font-weight:500}.btn-ghost:active{background:var(--color-border-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:active{background:#b91c1c}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.login-container{width:100%;max-width:380px;background:#fff;border-radius:24px;padding:32px 24px;box-shadow:0 4px 24px #302f2a1a}.login-header{text-align:center;margin-bottom:28px;display:flex;flex-direction:column;align-items:center;gap:10px}.login-header p{color:#7a776c;font-family:var(--font-body);font-size:.9rem;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:16px}.login-error{background:var(--color-danger-light);color:var(--color-danger);padding:12px 16px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.85rem;font-weight:600;color:var(--color-text)}.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field input[type=number]{padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:1rem;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s}.form-field input:focus{border-color:var(--color-primary)}.remember-me{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--color-text-secondary);cursor:pointer}.remember-me input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.dash-greeting{padding:12px 0;display:flex;flex-direction:column;gap:4px}.dash-hello{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:#302f2a;margin-top:10px;line-height:1.2}.dash-subdate{font-family:var(--font-body);font-size:.875rem;color:#7a776c;margin-top:2px}.dash-card{background:#fff;border-radius:24px;padding:20px 16px 24px;box-shadow:0 4px 24px #302f2a1a;display:flex;flex-direction:column;gap:16px}.dash-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-card{background:#fef9cd;border:none;border-radius:var(--radius);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:none}.summary-icon{color:#302f2a;opacity:.85}.summary-num{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:#302f2a;line-height:1}.summary-label{font-family:var(--font-body);font-size:.6rem;color:#7a776c;text-transform:uppercase;letter-spacing:.03em;text-align:center}.fluid-progress-bar{height:8px;background:#fef9cd;border-radius:4px;overflow:hidden}.fluid-progress-fill{height:100%;background:#c1a502;border-radius:4px;transition:width .5s ease-out}.fluid-progress-text{display:block;text-align:center;font-family:var(--font-body);font-size:.78rem;color:#7a776c;margin-top:4px}.dash-quick-actions{display:flex;flex-direction:column;gap:10px}.dash-quick-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.streak-card{background:#fef9cd!important;border-color:#e0dbc8!important;text-align:center;font-family:var(--font-body);font-size:.9rem;color:#302f2a}.section-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:#302f2a;margin-bottom:8px}.empty-state{text-align:center;font-family:var(--font-body);color:#7a776c;font-size:.9rem;padding:20px}.entry-list{display:flex;flex-direction:column;gap:6px}.entry-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fef9cd;border:none;border-radius:var(--radius);cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.entry-row:active{background:#f5efb8}.entry-icon{width:36px;height:36px;border-radius:50%;background:#faf085;color:#302f2a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.entry-main{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:#302f2a}.entry-leak{font-size:.78rem;color:var(--color-danger);font-weight:500}.entry-notes{font-family:var(--font-body);font-size:.78rem;color:#7a776c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-time{font-family:var(--font-body);font-size:.8rem;color:#7a776c;flex-shrink:0}.entry-row-confirm{background:#fee2e2;flex-direction:column;align-items:flex-start;gap:8px;cursor:default}.entry-row-confirm:active{background:#fee2e2}.entry-confirm-msg{font-family:var(--font-body);font-size:.88rem;color:var(--color-danger);font-weight:500}.entry-confirm-actions{display:flex;gap:8px}.entry-confirm-yes{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;font-family:var(--font-heading);font-size:.85rem;font-weight:700;cursor:pointer;border:none}.entry-confirm-no{padding:6px 14px;border-radius:var(--radius-sm);background:transparent;color:#302f2a;font-family:var(--font-body);font-size:.85rem;cursor:pointer;border:1.5px solid #e0dbc8}.reminder-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fef9cd;border:1.5px solid #c1a502;border-radius:var(--radius);padding:10px 14px;font-family:var(--font-body);font-size:.88rem;color:#302f2a;font-weight:500}.reminder-close{background:none;border:none;color:#7a776c;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0;opacity:.8}.reminder-close:hover{opacity:1}.stamps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stamp{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--radius);border:1.5px solid #e0dbc8;background:#fef9cd}.stamp-earned{border-color:#c1a502;background:#faf085;animation:stampBounce .4s ease}.stamp-locked{opacity:.4;filter:grayscale(1)}.stamp-emoji{font-size:1.6rem;line-height:1}.stamp-label{font-family:var(--font-heading);font-size:.6rem;color:#7a776c;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.02em}@keyframes stampBounce{0%{transform:scale(1)}40%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}.stamp-celebration{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.stamp-celebration-inner{background:#fff;border-radius:24px;padding:32px 24px;text-align:center;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 8px 40px #0003}.stamp-celebration-emoji{font-size:4rem;line-height:1;animation:stampBounce .5s ease .1s both}.stamp-celebration-inner h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:#302f2a}.stamp-celebration-inner p{font-family:var(--font-body);font-size:.95rem;color:#7a776c}.chip-selector{display:flex;flex-direction:column;gap:8px}.chip-label{font-size:.9rem;font-weight:600;color:var(--color-text)}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 16px;border-radius:20px;font-size:.88rem;font-weight:500;background:#faf085;color:#302f2a;border:1.5px solid #e0dbc8;transition:all .15s}.chip-active{background:#302f2a;color:#fff;border-color:#302f2a}.chip:active{transform:scale(.95)}.chip-group{display:flex;flex-direction:column;gap:6px}.chip-group-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.urgency-selector{display:flex;flex-direction:column;gap:10px}.urgency-label{font-size:.9rem;font-weight:600}.urgency-options{display:flex;gap:6px}.urgency-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:var(--radius);border:1.5px solid var(--color-border);background:var(--color-surface);transition:all .15s;min-height:72px}.urgency-option:active{transform:scale(.95)}.urgency-active{border-color:var(--dot-color);background:color-mix(in srgb,var(--dot-color) 8%,white)}.urgency-dot{width:20px;height:20px;border-radius:50%;background:var(--dot-color);transition:transform .15s}.urgency-active .urgency-dot{transform:scale(1.2)}.urgency-value{font-weight:700;font-size:.85rem;color:var(--color-text)}.urgency-text{font-size:.65rem;color:var(--color-text-secondary);text-align:center;line-height:1.2}.stepper{display:flex;flex-direction:column;gap:8px}.stepper-label{font-size:.9rem;font-weight:600}.stepper-row{display:flex;align-items:center;gap:12px}.stepper-btn{width:44px;height:44px;border-radius:50%;background:#fef9cd;color:#302f2a;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.stepper-btn:active{background:#f5efb8;transform:scale(.93)}.stepper-btn:disabled{opacity:.3}.stepper-value{display:flex;align-items:baseline;gap:4px;flex:1;justify-content:center}.stepper-input{width:80px;text-align:center;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;border:none;background:transparent;color:var(--color-text);outline:none;-moz-appearance:textfield}.stepper-input::-webkit-inner-spin-button,.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none}.stepper-unit{font-size:.9rem;color:var(--color-text-secondary)}.time-picker{display:flex;flex-direction:column;gap:8px}.time-picker-label{font-size:.9rem;font-weight:600}.time-picker-input{padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:1rem;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s;width:100%}.time-picker-input:focus{border-color:var(--color-primary)}.toggle-wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.toggle-label{font-size:.95rem}.toggle{width:48px;height:28px;background:var(--color-border);border-radius:14px;padding:2px;transition:background .2s;flex-shrink:0}.toggle-on{background:#c1a502}.toggle-knob{width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-on .toggle-knob{transform:translate(20px)}.log-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.log-header h1{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;flex:1;color:#302f2a}.delete-entry-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:20px;font-size:.8rem;font-weight:600;color:var(--color-text-tertiary);transition:all .15s;flex-shrink:0}.delete-entry-btn.confirm{color:#fff;background:var(--color-danger)}.back-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:background .1s}.back-btn:active{background:var(--color-border-light)}.type-select{display:flex;flex-direction:column;gap:16px;margin-top:20px}.type-prompt{text-align:center;font-size:1.1rem;font-weight:600;color:var(--color-text)}.type-btn{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);border:2px solid #e0dbc8;background:#fff;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:#302f2a;transition:all .15s}.type-btn:active{transform:scale(.98);background:#fef9cd;border-color:#c1a502}.type-btn.fluid:active,.type-btn.void:active,.type-btn.change:active{border-color:#c1a502;background:#fef9cd}.form-section{display:flex;flex-direction:column;gap:20px}.quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-btn{padding:10px 4px;border-radius:var(--radius-sm);border:1.5px solid #e0dbc8;background:#fef9cd;font-family:var(--font-body);font-size:.72rem;color:#7a776c;text-align:center;line-height:1.3;transition:all .15s}.quick-btn strong{font-family:var(--font-heading);color:#302f2a;font-size:.85rem}.quick-btn.active{border-color:#302f2a;background:#302f2a;color:#fff}.quick-btn.active strong{color:#fff}.quick-btn:active{transform:scale(.95)}.notes-input{padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;background:var(--color-surface);color:var(--color-text);outline:none;resize:vertical;font-family:inherit;transition:border-color .15s}.notes-input:focus{border-color:var(--color-primary)}.char-count{text-align:right;font-size:.75rem;color:var(--color-text-tertiary)}.review-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;text-align:center;color:#302f2a;margin-bottom:4px}.review-card{display:flex;flex-direction:column;gap:2px}.review-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--color-border-light);font-size:.9rem}.review-row:last-child{border-bottom:none}.review-label{color:var(--color-text-secondary);font-weight:500;flex-shrink:0;margin-right:16px}.log-success{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60dvh;gap:12px}.log-success p{font-size:1.2rem;font-weight:600;color:var(--color-success)}.fluid-info-tip{font-family:var(--font-body);font-size:.82rem;color:#7a776c;background:#fef9cd;border-left:3px solid #c1a502;border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;padding:8px 12px;margin:0;line-height:1.4}.save-error{font-size:.85rem;color:var(--color-danger);background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm, 6px);padding:10px 12px;margin:0}.pad-urine-estimate{font-size:.88rem;color:var(--color-primary-dark);background:var(--color-primary-lighter);border-radius:var(--radius-sm, 6px);padding:8px 12px;margin:0}.history-top{display:flex;justify-content:space-between;align-items:center}.day-list{display:flex;flex-direction:column;gap:4px}.day-group{background:var(--color-surface);border:1px solid #e0dbc8;border-radius:var(--radius);overflow:hidden}.day-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;width:100%;text-align:left;color:var(--color-text);transition:background .1s}.day-header:active{background:#fef9cd}.day-info{display:flex;flex-direction:column;gap:2px}.day-date{font-family:var(--font-heading);font-weight:700;font-size:.92rem;color:#302f2a}.day-stats{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:.78rem;color:#7a776c}.dot{opacity:.4}.leak-badge{color:var(--color-danger);font-weight:600}.day-entries{border-top:1px solid var(--color-border-light)}.history-entry{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #eee9d4}.history-entry .entry-icon{background:#faf085;color:#302f2a}.history-entry:last-child{border-bottom:none}.delete-btn{height:32px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;color:var(--color-text-tertiary);flex-shrink:0;transition:all .15s;font-size:.75rem;font-weight:600}.delete-btn:active,.delete-btn.confirm{color:#fff;background:var(--color-danger)}.range-selector{display:flex;gap:8px;margin-bottom:20px}.range-btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;background:var(--color-surface);color:var(--color-text-secondary);border:1.5px solid var(--color-border);transition:all .15s}.range-btn.active{background:#302f2a;color:#fff;border-color:#302f2a}.charts{display:flex;flex-direction:column;gap:16px}.chart-card{padding:16px 12px}.chart-title{font-family:var(--font-heading);font-size:.92rem;font-weight:700;color:#302f2a;margin-bottom:12px}.chart-sub{font-size:.78rem;color:var(--color-text-secondary);margin-top:-8px;margin-bottom:12px}.trouble-list{display:flex;flex-direction:column;gap:8px}.trouble-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light)}.trouble-row:last-child{border-bottom:none}.trouble-time{font-weight:600;font-size:.9rem}.trouble-stats{display:flex;gap:10px;font-size:.8rem}.trouble-leak{color:var(--color-danger);font-weight:500}.trouble-urgency{color:var(--color-warning);font-weight:500}.balance-stats{display:flex;flex-direction:column;gap:0;margin-bottom:12px}.balance-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light);font-size:.88rem}.balance-row:last-child{border-bottom:none}.balance-row-total{font-weight:700;padding-top:10px;font-size:.95rem}.balance-label{color:var(--color-text-secondary)}.balance-value{font-weight:600}.balance-value.fluid-in{color:#c1a502}.balance-value.urine-out{color:#302f2a}.balance-value.pad-out{color:#059669}.balance-value.positive{color:var(--color-success, #16A34A)}.balance-value.negative{color:var(--color-danger)}.balance-note{font-size:.78rem;color:var(--color-text-secondary);background:var(--color-primary-lighter);border-radius:var(--radius-sm, 6px);padding:8px 10px;margin:0;line-height:1.4}.export-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}.export-preview{text-align:center;font-size:.9rem}.export-range{color:var(--color-text-secondary);font-size:.82rem;margin-top:2px}.ios-prompt{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;background:var(--color-primary-lighter)!important;border-color:var(--color-primary-light)!important;color:var(--color-primary-dark)}.ios-prompt p{font-size:.82rem;color:var(--color-text-secondary);margin-top:2px}.reminder-list{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.reminder-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.reminder-time{font-size:1.1rem;font-weight:600}.reminder-remove{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all .15s}.reminder-remove:active{color:var(--color-danger);background:var(--color-danger-light)}.add-reminder{display:flex;gap:8px;align-items:center}.time-input{flex:1;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:1rem;background:var(--color-surface);outline:none}.time-input:focus{border-color:var(--color-primary)}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-card{display:flex;flex-direction:column;gap:12px}.settings-links{display:flex;flex-direction:column;gap:2px}.settings-link{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;font-weight:500;color:var(--color-text);transition:background .1s;text-align:left}.settings-link:active{background:#fef9cd}.app-version{text-align:center;font-size:.78rem;color:var(--color-text-tertiary);margin-top:8px}.settings-hint{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;margin:0}.settings-section-title{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:#302f2a;margin:0}.product-list{display:flex;flex-direction:column;gap:4px}.product-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fef9cd;border:1px solid #e0dbc8;border-radius:var(--radius-sm, 6px)}.product-info{display:flex;flex-direction:column;gap:2px}.product-name{font-size:.9rem;font-weight:600;color:var(--color-text)}.product-weight{font-size:.75rem;color:var(--color-text-secondary)}.product-remove{background:none;border:none;color:var(--color-danger);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.7}.product-remove:hover{opacity:1}.product-add-form{display:flex;flex-direction:column;gap:12px;padding-top:8px;border-top:1px solid var(--color-border-light)}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded100.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded300.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded500.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded700.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded900.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:MuseoSansRounded;src:url(/fonts/MuseoSansRounded1000.otf) format("opentype");font-weight:1000;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #faf085;--color-surface: #ffffff;--color-primary: #c1a502;--color-primary-hover: #a38a00;--color-primary-light: #fef9cd;--color-primary-lighter: #faf085;--color-primary-dark: #302f2a;--color-near-black: #302f2a;--color-cream: #fef9cd;--color-gold: #c1a502;--color-text: #302f2a;--color-text-secondary: #7a776c;--color-text-tertiary: #7a776c;--color-border: #e0dbc8;--color-border-light: #eee9d4;--color-success: #16A34A;--color-success-light: #DCFCE7;--color-danger: #DC2626;--color-danger-light: #FEE2E2;--color-warning: #F59E0B;--color-warning-light: #FEF9C3;--urgency-1: #22C55E;--urgency-2: #EAB308;--urgency-3: #F97316;--urgency-4: #EF4444;--urgency-5: #991B1B;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(48, 47, 42, .06), 0 1px 2px rgba(48, 47, 42, .04);--shadow-md: 0 4px 6px -1px rgba(48, 47, 42, .07), 0 2px 4px -2px rgba(48, 47, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(48, 47, 42, .08), 0 4px 6px -4px rgba(48, 47, 42, .04);--nav-height: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font-heading: "MuseoSansRounded", "Nunito", "Rounded Mplus 1c", sans-serif;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100dvh;-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;flex-direction:column}input,button,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--color-primary);text-decoration:none}.page{flex:1;padding:16px 16px calc(var(--nav-height) + var(--safe-bottom) + 16px);max-width:600px;margin:0 auto;width:100%}.page-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:16px}.card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:16px;box-shadow:var(--shadow)}.fade-in{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-check{animation:checkmark .4s ease-out forwards;color:var(--color-success)}
