@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--background:#f7f8fb;--surface:#fff;--surface-muted:#fbfcff;--surface-strong:#eff4ff;--line:#0f172a12;--line-strong:#0f172a1c;--text:#0f172a;--text-muted:#7d8799;--primary:#2f80ed;--primary-dark:#2a73d5;--shadow-soft:0 18px 45px #1f2a4414;--shadow-card:0 8px 22px #0f172a0d;--shadow-button:0 18px 32px #2f80ed47;--radius-card:24px;--radius-pill:999px;--shell-width:460px;--app-height:100vh;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top, #2f80ed14, transparent 28%), linear-gradient(180deg, #fbfcff 0%, var(--background) 56%, #f2f5fb 100%);color:var(--text);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,select{border:0;outline:0}input,textarea,select{width:100%;color:var(--text);background:0 0}input::placeholder,textarea::placeholder{color:#adb5c4}#root{min-height:100dvh;min-height:var(--app-height,100dvh)}.app-shell{min-height:100dvh;min-height:var(--app-height,100dvh);padding:0}.app-shell__frame{width:min(100%, var(--shell-width));min-height:100dvh;min-height:var(--app-height,100dvh);height:100dvh;height:var(--app-height,100dvh);overscroll-behavior-y:none;background:linear-gradient(180deg, #ffffffeb, #ffffffd9), var(--background);margin:0 auto;position:relative;overflow:hidden}.app-shell__frame.is-overlay-open .app-shell__content{pointer-events:none;overflow:hidden}.app-shell__content{scrollbar-width:none;height:100%;padding:28px 20px 170px;overflow-y:auto}.app-shell__content::-webkit-scrollbar{display:none}.app-shell__dock{inset-inline:0;z-index:8;pointer-events:none;justify-content:center;transition:transform .18s,opacity .18s;display:flex;position:absolute;bottom:20px}.app-shell__dock.is-hidden{opacity:0;transform:translateY(18px)}.fab-button{z-index:2;color:#fff;background:linear-gradient(180deg, #3d8eff 0%, var(--primary) 100%);width:84px;height:84px;box-shadow:var(--shadow-button);pointer-events:auto;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#fffffff5;border:1px solid #ffffffb8;border-radius:32px;grid-template-columns:repeat(4,1fr);gap:6px;width:calc(100% - 34px);padding:16px 18px 18px;display:grid;box-shadow:0 18px 40px #0f172a14}.bottom-nav__item{color:#6d7485;background:0 0;border-radius:18px;flex-direction:column;align-items:center;gap:7px;padding:12px 6px 10px;transition:color .18s,background .18s,transform .18s;display:flex}.bottom-nav__item span{font-size:13px;font-weight:600}.bottom-nav__item.is-active{color:var(--primary)}.bottom-nav__item:active{transform:translateY(1px)}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.dashboard-header__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#2f80edb8;margin:0 0 10px;font-size:13px;font-weight:700}.dashboard-header h1{letter-spacing:-.07em;margin:0;font-size:clamp(2.6rem,7vw,4rem);line-height:.96}.dashboard-header__subtitle{color:var(--text-muted);margin:12px 0 0;font-size:1.15rem}.dashboard-actions{gap:10px;display:flex}.maria-portal{--maria-primary:#e35d9b;--maria-primary-dark:#c94e61;--maria-primary-soft:#ffe7ef;--maria-primary-lighter:#fff5f8;--maria-primary-border:#e35d9b3d;--maria-primary-border-strong:#e35d9b57;--maria-primary-text:#be4e75;--maria-primary-shadow:0 18px 32px #e35d9b3d;--primary:var(--maria-primary);--primary-dark:var(--maria-primary-dark);--background:#fff8fa;--shadow-button:var(--maria-primary-shadow)}.maria-portal .dashboard-header__eyebrow{color:#be4e75d1}.maria-portal .app-shell__frame{background:radial-gradient(circle at top, #e35d9b17, transparent 34%), linear-gradient(180deg, #fffafbf5, #fff5f8eb), var(--background)}.maria-portal .portal-header__subtitle{color:#8a6a75}.maria-portal .portal-card{background:linear-gradient(#fffffff5,#fff6f9f0);border:1px solid #e35d9b14;box-shadow:0 18px 34px #e35d9b0f}.maria-portal .portal-field span{color:var(--maria-primary-text)}.maria-portal .portal-field input,.maria-portal .portal-field textarea{background:#fffffff5;border-color:#e35d9b1f}.maria-portal .portal-field input:focus,.maria-portal .portal-field textarea:focus{border-color:var(--maria-primary-border-strong);box-shadow:inset 0 1px #fffc,0 0 0 4px #e35d9b1f}.maria-portal .primary-button{background:linear-gradient(180deg, #f08aa1 0%, var(--maria-primary-dark) 100%);box-shadow:var(--maria-primary-shadow)}.maria-portal .primary-button:not(:disabled):hover{transform:translateY(-1px)}.maria-portal .primary-button:not(:disabled):active{transform:translateY(1px)}.maria-portal .feedback-message--success{color:var(--maria-primary-text)}.maria-portal .portal-section__header h2,.maria-portal .completed-section__title{color:#9a415f}.maria-portal .portal-section__count{color:var(--maria-primary-text);background:var(--maria-primary-soft);box-shadow:inset 0 0 0 1px #e35d9b1f}.maria-portal .completed-section__toggle svg{color:var(--maria-primary-text)}.maria-portal .portal-section__hint,.maria-portal .completed-section__count{color:#9e7180}.maria-portal .empty-state{background:#fffffff0}.maria-portal .empty-state__icon,.maria-portal .empty-state__button{color:var(--maria-primary-text);background:var(--maria-primary-soft)}.maria-portal .portal-status--overdue{color:#b84867;background:#ffe8ef}.maria-portal .portal-status--today{color:var(--maria-primary-text);background:var(--maria-primary-soft)}.maria-portal .portal-status--upcoming,.maria-portal .portal-status--completed{color:#9f6075;background:var(--maria-primary-lighter)}.maria-portal .portal-reminder{background:linear-gradient(#fff8fafa,#fffffffa);border-color:#e35d9b1f}.maria-portal .portal-reminder--skeleton{background:#fffffff0}.portal-screen{flex-direction:column;gap:22px;padding-bottom:40px;display:flex}.portal-screen--compact{justify-content:center}.portal-header h1{letter-spacing:-.07em;margin:0;font-size:clamp(2.4rem,8vw,3.6rem);line-height:.98}.portal-header__subtitle{max-width:27ch;color:var(--text-muted);margin:12px 0 0;font-size:1.06rem;line-height:1.6}.portal-card{box-shadow:var(--shadow-card);background:#ffffffeb;border-radius:30px;padding:22px 20px}.portal-card--centered{flex-direction:column;justify-content:center;gap:16px;min-height:min(68svh,420px);display:flex}.portal-form{flex-direction:column;gap:16px;display:flex}.portal-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.portal-field{gap:8px;display:grid}.portal-field span{color:#556173;font-size:.92rem;font-weight:700}.portal-field input,.portal-field textarea{border:1px solid var(--line);background:#ffffffeb;border-radius:20px;padding:16px 18px;box-shadow:inset 0 1px #ffffffb3}.portal-section{flex-direction:column;gap:14px;display:flex}.portal-section__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-section__header h2{letter-spacing:-.04em;margin:0;font-size:1.28rem}.portal-section__count{min-width:36px;height:36px;color:var(--primary);background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.92rem;font-weight:800;display:inline-flex}.portal-section__hint{color:var(--text-muted);margin:0}.portal-list{flex-direction:column;gap:12px;display:flex}.portal-reminder{box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #0f172a0d;border-radius:24px;padding:18px 18px 16px}.portal-reminder.is-completed{opacity:.74}.portal-reminder.is-completed h3{-webkit-text-decoration:line-through #0f172a57;text-decoration:line-through #0f172a57;text-decoration-thickness:2px}.portal-reminder__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.portal-reminder__header h3{letter-spacing:-.03em;margin:0 0 10px;font-size:1.08rem}.portal-reminder__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.portal-reminder__notes{color:var(--text-muted);margin:12px 0 0;line-height:1.55}.portal-status{border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.portal-status--overdue{color:#e94b53;background:#fff1f1}.portal-status--today{color:#2f80ed;background:#eef4ff}.portal-status--upcoming{color:#22a06b;background:#ebfbf3}.portal-status--completed{color:#1f9b67;background:#ebfbf3}.icon-button{width:52px;height:52px;color:var(--text);box-shadow:var(--shadow-card);background:#ffffffeb;border:1px solid #0f172a0f;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-button--ghost{box-shadow:none;background:0 0;border-color:#0000}.icon-button--notification:after{content:"";background:var(--primary);border-radius:999px;width:8px;height:8px;position:absolute;top:11px;right:13px;box-shadow:0 0 0 4px #2f80ed1f}.search-field{border:1px solid var(--line);background:#ffffffb8;border-radius:22px;align-items:center;gap:12px;height:62px;margin-bottom:18px;padding:0 18px;display:flex;box-shadow:0 10px 26px #0f172a0a}.search-field svg{color:#687387;flex-shrink:0}.search-field input{min-width:0;font-size:1.05rem}.search-field__action{width:36px;height:36px;color:var(--text);background:#0f172a0a;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.filter-chips,.choice-row{scrollbar-width:none;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.choice-row::-webkit-scrollbar{display:none}.stats-scroll::-webkit-scrollbar{display:none}.filter-chips{margin-bottom:22px}.filter-chip,.choice-chip{border-radius:var(--radius-pill);white-space:nowrap;color:var(--text);background:#ffffffe0;border:1px solid #0f172a14;align-items:center;gap:10px;padding:14px 18px;display:inline-flex;box-shadow:0 8px 22px #0f172a08}.filter-chip.is-active{border-color:var(--primary);color:#fff;background:linear-gradient(180deg, #3d8eff 0%, var(--primary) 100%)}.stats-scroll{scrollbar-width:none;grid-auto-columns:minmax(156px,1fr);grid-auto-flow:column;gap:16px;margin-bottom:28px;display:grid;overflow-x:auto}.stat-card{min-height:168px;box-shadow:var(--shadow-card);background:#ffffffe6;border-radius:28px;padding:18px}.stat-card__icon{border-radius:16px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:26px;display:inline-flex}.stat-card__value{margin-bottom:8px;font-size:2.25rem;line-height:1;display:block}.stat-card__label{color:var(--text);margin:0;font-size:1rem;font-weight:700}.stat-card__caption{color:var(--text-muted);margin:8px 0 0}.stat-card--success .stat-card__icon{color:#22a06b;background:#ebfbf3}.stat-card--success .stat-card__value{color:#22a06b}.stat-card--warning .stat-card__icon{color:#f2a23b;background:#fff6e9}.stat-card--warning .stat-card__value{color:#f2a23b}.stat-card--progress{flex-direction:column;justify-content:space-between;display:flex}.progress-ring{place-items:center;width:88px;height:88px;margin:8px auto;display:grid;position:relative}.progress-ring svg{width:88px;height:88px;transform:rotate(-90deg)}.progress-ring__track,.progress-ring__value{fill:none;stroke-width:8px}.progress-ring__track{stroke:#ecf0f6}.progress-ring__value{stroke:var(--primary);stroke-linecap:round}.progress-ring strong{font-size:1.4rem;position:absolute}.list-section__header{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.list-section__header h2{letter-spacing:-.04em;margin:0;font-size:1.8rem}.feedback-stack{gap:6px;display:grid}.reminder-list{flex-direction:column;gap:16px;display:flex}.reminder-card{isolation:isolate;box-shadow:var(--shadow-card);background:#fffffff2;border:1px solid #0000;border-radius:28px;align-items:center;gap:16px;padding:18px 16px;transition:transform .18s,box-shadow .18s,opacity .18s,border-color .18s,background .18s;display:flex;position:relative;overflow:hidden}.reminder-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#22a06b1f,#2f80ed14);position:absolute;inset:0}.reminder-card:before,.driving-row:before{content:"";z-index:-1;opacity:0;pointer-events:none;border-radius:inherit;filter:blur(10px);background:conic-gradient(from 180deg,#2f80ed38,#f2c94c38,#27ae6038,#eb575733,#ffffff2e,#2f80ed38);position:absolute;inset:-2px}.reminder-card.is-completed-view{opacity:.72;background:#ffffffe0}.reminder-card.is-maria{background:linear-gradient(#fff4f8fa,#fffffffa);border-color:#e35d9b2e;box-shadow:0 14px 28px #e35d9b14}.reminder-card.is-maria.is-completed-view{background:linear-gradient(#fff4f8eb,#fffffff0)}.reminder-card.is-completed-view .reminder-card__meta{opacity:.78}.reminder-card.is-completing,.driving-row.is-completing{pointer-events:none;z-index:5;overflow:visible}.reminder-card.is-restoring{pointer-events:none;animation:.42s cubic-bezier(.22,1,.36,1) forwards reminder-restore-exit}.reminder-card.is-celebrating,.driving-row.is-celebrating{animation:.9s cubic-bezier(.22,1,.36,1) forwards reminder-celebrate}.reminder-card.is-exiting,.driving-row.is-exiting{animation:.25s cubic-bezier(.22,1,.36,1) forwards reminder-complete-exit}.reminder-card.is-celebrating:before,.driving-row.is-celebrating:before{animation:.9s ease-out forwards celebration-halo}.reminder-card.is-celebrating:after,.driving-row.is-celebrating:after{animation:.52s ease-out forwards reminder-flash}.reminder-card.is-restoring:after{animation:.24s ease-out forwards reminder-restore-flash}.reminder-card__icon{width:74px;height:74px;color:var(--icon-accent);background:var(--icon-surface);border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.reminder-card__body{flex:1;min-width:0}.reminder-card__title{letter-spacing:-.03em;margin:0 0 10px;font-size:1.18rem;display:inline-block;position:relative}.reminder-card.is-maria .reminder-card__title{margin-top:2px}.reminder-card__title:after,.driving-row__title:after{content:"";opacity:0;transform-origin:0;background:currentColor;border-radius:999px;height:2px;transition:transform .25s 90ms,opacity .25s 90ms;position:absolute;top:54%;left:0;right:0;transform:scaleX(0)}.reminder-card.is-completed-view .reminder-card__title:after,.reminder-card.is-completing .reminder-card__title:after,.reminder-card.is-restoring .reminder-card__title:after,.driving-row.is-completing .driving-row__title:after{opacity:.34;transform:scaleX(1)}.reminder-card__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.meta-inline,.category-pill{color:var(--text-muted);align-items:center;gap:6px;font-size:.92rem;display:inline-flex}.category-pill{border-radius:var(--radius-pill);color:var(--pill-accent);background:var(--pill-surface);padding:7px 12px;font-weight:700}.origin-pill{border-radius:var(--radius-pill);color:#be4e75;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#ffe7ef 0%,#ffdbe8 100%);justify-content:center;align-items:center;width:fit-content;padding:7px 12px;font-size:.77rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #e35d9b24}.origin-pill--headline{margin-bottom:10px}.origin-pill--driving{letter-spacing:.06em;flex-shrink:0;margin-bottom:0;padding:3px 8px;font-size:.58rem}.checkbox-button{color:#fff;background:#fff;border:2px solid #acb3c1;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .15s,border-color .18s,background .18s,box-shadow .18s,opacity .18s;display:inline-flex}.checkbox-button.is-checked{border-color:var(--primary);background:var(--primary)}.checkbox-button.is-readonly,.checkbox-button:disabled,.restore-button:disabled{cursor:default}.reminder-card.is-celebrating .checkbox-button,.driving-row.is-celebrating .checkbox-button{animation:.22s ease-out checkbox-pop;box-shadow:0 0 0 12px #2f80ed1f,0 0 28px #27ae6029}.reminder-card.is-maria.is-celebrating .checkbox-button,.driving-row.is-maria.is-celebrating .checkbox-button{box-shadow:0 0 0 12px #f17a8a1f,0 0 28px #f17a8a2e}.reminder-card__actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.restore-button{color:#6f788b;background:#ffffffe6;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:6px;padding:10px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.completed-section{background:#ffffffa8;border:1px solid #0f172a0d;border-radius:26px;margin-top:18px;padding:12px 14px 14px;box-shadow:0 10px 22px #0f172a08}.completed-section__toggle{width:100%;color:var(--text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;display:flex}.completed-section__toggle svg{color:var(--text-muted);transition:transform .18s}.completed-section__toggle svg.is-open{transform:rotate(180deg)}.completed-section__title{letter-spacing:-.02em;font-size:1rem;font-weight:800}.completed-section__count{color:var(--text-muted)}.completed-section__list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.reminder-card--skeleton{pointer-events:none}.skeleton-block,.skeleton-line,.skeleton-toggle{background:linear-gradient(90deg,#eef2f8 25%,#f7f9fc 50%,#eef2f8 75%) 0 0/200% 100%;animation:1.3s linear infinite shimmer}.skeleton-block{border-radius:24px;width:74px;height:74px}.skeleton-line{border-radius:999px}.skeleton-line--title{width:180px;height:18px;margin-bottom:12px}.skeleton-line--meta{width:120px;height:14px}.skeleton-toggle{border-radius:14px;width:42px;height:42px}.empty-state{box-shadow:var(--shadow-card);text-align:center;background:#ffffffeb;border-radius:28px;padding:28px 24px}.empty-state__icon{width:56px;height:56px;color:var(--primary);background:#eef4ff;border-radius:20px;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.empty-state h3{margin:0 0 10px;font-size:1.18rem}.empty-state p{color:var(--text-muted);margin:0;line-height:1.55}.empty-state__button{border-radius:var(--radius-pill);color:var(--primary);background:#eef4ff;margin-top:18px;padding:14px 18px;font-weight:700}.empty-state--compact{padding:24px 20px}.portal-reminder--skeleton{gap:12px;display:grid}.portal-reminder--skeleton .skeleton-line--title{width:68%;margin-bottom:0}.portal-reminder--skeleton .skeleton-line--meta{width:40%}.modal-layer{z-index:20;pointer-events:auto;isolation:isolate;background:#f7f8fbfa;flex-direction:column;min-height:0;display:flex;position:absolute;inset:0;overflow:hidden}.modal-layer>*{flex:1;min-height:0}.modal-sheet{flex-direction:column;height:100%;min-height:0;display:flex}.driving-mode{z-index:1;pointer-events:auto;flex-direction:column;height:100%;min-height:0;padding:12px 12px 0;display:flex;position:relative;overflow:hidden}.driving-mode__scroll{min-height:0;padding:0 0 calc(14px + env(safe-area-inset-bottom));scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;overflow-y:auto}.driving-mode__scroll::-webkit-scrollbar{display:none}.driving-header{grid-template-columns:44px 1fr auto;align-items:center;gap:10px;margin-bottom:8px;display:grid}.driving-header__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button--compact{width:44px;height:44px}.driving-header__copy h2{letter-spacing:-.04em;margin:0;font-size:1.14rem}.driving-header__eyebrow,.driving-header__status{margin:0}.driving-header__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#2f80edbf;font-size:.62rem;font-weight:800}.driving-header__status{color:var(--text-muted);margin-top:2px;font-size:.74rem}.driving-header__sound-button{position:relative}.driving-header__sound-button.is-active{color:#2076da;background:#eef4ffe6;box-shadow:inset 0 0 0 1px #2f80ed1f,0 10px 18px #2f80ed14}.driving-header__sound-button.is-active:after{content:"";background:#27ae60;border-radius:999px;width:8px;height:8px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 4px #27ae601f}.driving-alert-banner{color:#1f4e8e;background:linear-gradient(#eef4fff5,#fffffffa);border-radius:16px;margin-bottom:10px;padding:12px 14px;animation:4s forwards driving-alert-presence;box-shadow:inset 0 0 0 1px #2f80ed1f,0 12px 24px #2f80ed14}.driving-alert-banner.is-maria{color:#b24b6a;background:linear-gradient(#ffecf2fa,#fffffffa);box-shadow:inset 0 0 0 1px #e35d9b29,0 12px 24px #e35d9b1a}.driving-alert-banner__eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.69rem;font-weight:900}.driving-alert-banner strong{letter-spacing:-.02em;font-size:.94rem;line-height:1.25;display:block}.driving-mode__feedback{margin-bottom:8px;font-size:.8rem}.driving-list{flex-direction:column;gap:6px;padding-right:2px;display:flex}.driving-row{--driving-attention-accent:#2f80ed3d;--driving-attention-glow:#2f80ed29;--driving-row-shadow:0 6px 14px #0f172a0a;isolation:isolate;min-height:62px;box-shadow:var(--driving-row-shadow);background:#fffffff5;border:1px solid #0f172a0d;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.driving-row:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#22a06b1f,#2f80ed14);position:absolute;inset:0}.driving-row--overdue{background:linear-gradient(#fff1f1eb,#fffffffa);border-color:#e94b532e}.driving-row--today{border-color:#2f80ed29}.driving-row.is-maria{--driving-attention-accent:#e35d9b52;--driving-attention-glow:#e35d9b33;--driving-row-shadow:0 8px 18px #e35d9b14;box-shadow:var(--driving-row-shadow);background:linear-gradient(#fff1f6fa,#fffffffa);border-color:#e35d9b3d}.driving-row.is-maria.driving-row--overdue{background:linear-gradient(#ffedf3fa,#fffbfcfa);border-color:#e35d9b47}.driving-row.is-new-arrival{animation:5.1s forwards driving-new-arrival-default}.driving-row.is-new-arrival.is-maria{animation-name:driving-new-arrival-maria}.driving-row.driver-card-attention--nudge,.driving-row.driver-card-attention--lift,.driving-row.driver-card-attention--glow,.driving-row.driver-card-attention--tilt{z-index:2;will-change:transform, box-shadow, border-color;transform-origin:50%}.driving-row.driver-card-attention--nudge{animation:1.04s cubic-bezier(.22,1,.36,1) driver-card-attention-nudge;animation-delay:var(--driver-attention-delay,0s)}.driving-row.driver-card-attention--lift{animation:.98s cubic-bezier(.22,1,.36,1) driver-card-attention-lift;animation-delay:var(--driver-attention-delay,0s)}.driving-row.driver-card-attention--glow{animation:1.18s ease-in-out driver-card-attention-glow;animation-delay:var(--driver-attention-delay,0s)}.driving-row.driver-card-attention--tilt{animation:1.45s ease-in-out driver-card-attention-tilt;animation-delay:var(--driver-attention-delay,0s)}.driving-row__content{gap:4px;min-width:0;display:grid}.driving-row__headline{align-items:center;gap:6px;min-width:0;display:flex}.driving-row__title{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:.94rem;line-height:1.2;position:relative;overflow:hidden}.driving-row__meta{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.driving-meta,.driving-status{align-items:center;min-width:0;font-size:.74rem;font-weight:700;display:inline-flex}.driving-meta{color:var(--text-muted)}.driving-meta--accent{color:var(--driving-meta-accent)}.driving-meta__separator{color:#b4bcc9;flex-shrink:0;font-size:.68rem}.driving-tag{color:var(--driving-tag-accent);background:var(--driving-tag-surface);border-radius:999px;flex-shrink:0;align-items:center;padding:3px 7px;font-size:.63rem;font-weight:800;line-height:1;display:inline-flex}.driving-status{border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:.66rem;line-height:1.15}.driving-status--overdue{color:#e94b53;background:#fff1f1}.driving-status--today{color:#2f80ed;background:#eef4ff}.driving-status--upcoming{color:#22a06b;background:#ebfbf3}.checkbox-button--driving{border-color:#0f172a29;border-radius:14px;width:42px;height:42px}.completion-celebration{--celebration-origin-x:calc(100% - 48px);--celebration-origin-y:50%;z-index:4;pointer-events:none;position:absolute;inset:-18px}.completion-celebration--compact{--celebration-origin-x:calc(100% - 30px);--celebration-origin-y:50%;inset:-14px}.completion-celebration__confetti,.completion-celebration__streamer,.completion-celebration__sparkle{left:var(--celebration-origin-x);top:var(--celebration-origin-y);opacity:0;pointer-events:none;will-change:transform, opacity;position:absolute}.completion-celebration__confetti{background:var(--celebration-piece-color);width:8px;height:14px;animation:.92s cubic-bezier(.22,1,.36,1) forwards celebration-confetti;animation-delay:var(--celebration-piece-delay);border-radius:3px;transform:translate(-50%,-50%)rotate(0)scale(.35)}.completion-celebration__confetti--dot{border-radius:999px;width:9px;height:9px}.completion-celebration__streamer{border:2px solid #0000;border-top-color:var(--celebration-piece-color);border-left-color:var(--celebration-piece-color);width:32px;height:16px;animation:.98s cubic-bezier(.22,1,.36,1) forwards celebration-streamer;animation-delay:var(--celebration-piece-delay);border-radius:999px 999px 0;transform:translate(-50%,-50%)rotate(-8deg)scale(.65)}.completion-celebration__sparkle{width:18px;height:18px;animation:.76s ease-out forwards celebration-sparkle;animation-delay:var(--celebration-piece-delay);transform:translate(-50%,-50%)scale(.4)}.completion-celebration__sparkle:before,.completion-celebration__sparkle:after{content:"";background:var(--celebration-piece-color);width:2px;height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--celebration-piece-color) 65%, white 35%);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.completion-celebration__sparkle:after{transform:translate(-50%,-50%)rotate(90deg)}.completion-celebration--compact .completion-celebration__confetti{width:6px;height:10px}.completion-celebration--compact .completion-celebration__confetti--dot{width:7px;height:7px}.completion-celebration--compact .completion-celebration__streamer{width:24px;height:12px}.completion-celebration--compact .completion-celebration__sparkle{width:14px;height:14px}.driving-empty{text-align:center;box-shadow:var(--shadow-card);background:#fffffff0;border-radius:18px;flex:1;place-items:center;padding:18px;display:grid}.driving-empty h3{margin:0 0 10px;font-size:1.02rem}.driving-empty p{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.55}.is-spinning{animation:.9s linear infinite spin}.modal-header{grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:22px 18px 12px;display:grid}.modal-header h2{text-align:center;letter-spacing:-.04em;margin:0;font-size:1.35rem}.modal-header__save{color:var(--primary);background:0 0;padding:10px 4px;font-size:1rem;font-weight:800}.modal-header__save:disabled{color:#9fb7de}.reminder-form{flex-direction:column;flex:1;min-height:0;display:flex}.form-scroll{scrollbar-width:none;flex:1;padding:6px 18px 26px;overflow-y:auto}.form-scroll::-webkit-scrollbar{display:none}.form-card{box-shadow:var(--shadow-card);background:#fffffff0;border-radius:28px;margin-bottom:16px;padding:16px}.field-shell{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:68px;padding:0 14px;display:grid}.field-shell+.field-shell{margin-top:14px}.field-shell__icon{width:38px;height:38px;color:var(--field-accent);background:var(--field-surface);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.field-shell__icon--muted{color:#7f889a;background:#0f172a0a}.field-shell__clear{color:#98a1b1;background:#0f172a0f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.field-shell textarea,.field-shell input{font-size:1rem}.field-shell--textarea{align-items:flex-start;padding-block:14px}.field-shell--textarea textarea{resize:none;min-height:64px}.helper-text{color:var(--text-muted);margin:14px 4px 0;line-height:1.55}.form-card--settings{padding:6px 0}.settings-row+.settings-row{border-top:1px solid #0f172a0f}.settings-row__summary{background:0 0;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 16px;display:flex}.settings-row__summary--static{cursor:default}.settings-row__leading{align-items:center;gap:14px;display:flex}.settings-row__icon{border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.settings-row__label{margin:0 0 4px;font-weight:700}.settings-row__value{color:var(--primary);margin:0;font-weight:600}.settings-row__chevron{color:#a0a9b8;transition:transform .18s}.settings-row__chevron.is-open{transform:rotate(90deg)}.settings-row__control{padding:0 16px 18px 74px}.inline-picker{flex-direction:column;gap:10px;display:flex}.inline-picker span{color:var(--text-muted);font-size:.92rem}.inline-picker input,.inline-picker select{border:1px solid var(--line-strong);background:#fff;border-radius:16px;min-height:48px;padding:0 16px}.choice-row{padding:0 16px 18px 74px}.choice-chip{color:#5f697c;padding:11px 16px}.choice-chip.is-selected{border-color:var(--choice-accent);color:var(--choice-accent);background:color-mix(in srgb, var(--choice-surface) 84%, white 16%)}.utility-row{background:0 0;justify-content:space-between;align-items:center;width:100%;padding:12px 2px;display:flex}.utility-row+.utility-row{border-top:1px solid #0f172a0f}.utility-row__leading{align-items:center;gap:14px;font-weight:700;display:flex}.utility-row__icon,.utility-row__action{border-radius:16px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.utility-row__icon--blue{color:var(--primary);background:#eef4ff}.utility-row__icon--purple{color:#8b5cf6;background:#f3eeff}.utility-row__action{color:#6b7486;background:#0f172a0a}.form-footer{background:linear-gradient(#f7f8fb00 0%,#f7f8fbf2 24%);padding:0 18px 22px}.primary-button{color:#fff;background:linear-gradient(180deg, #3d8eff 0%, var(--primary-dark) 100%);width:100%;min-height:60px;box-shadow:var(--shadow-button);border-radius:999px;font-size:1.02rem;font-weight:800}.primary-button:disabled{opacity:.5;box-shadow:none}.feedback-message{margin:0;font-size:.92rem;line-height:1.5}.feedback-message--error{color:#d73c45}.feedback-message--success{color:#1f9b67}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes checkbox-pop{0%{transform:scale(1)}45%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes reminder-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes reminder-restore-flash{0%{opacity:0}50%{opacity:.92}to{opacity:0}}@keyframes reminder-complete-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes reminder-celebrate{0%{opacity:1;box-shadow:var(--shadow-card);transform:translateY(0)scale(1)}18%{opacity:1;transform:translateY(-3px)scale(1.014);box-shadow:0 0 0 1px #f2c94c33,0 16px 36px #27ae601f}54%{opacity:1;transform:translateY(0)scale(1.008);box-shadow:0 0 0 1px #2f80ed2e,0 14px 30px #2f80ed1a}to{opacity:1;box-shadow:var(--shadow-card);transform:translateY(0)scale(1)}}@keyframes celebration-halo{0%{opacity:0;transform:scale(.98)}16%{opacity:.86;transform:scale(1.02)}to{opacity:0;transform:scale(1.06)}}@keyframes celebration-confetti{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.35)}14%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--celebration-piece-x)), calc(-50% + var(--celebration-piece-y))) rotate(var(--celebration-piece-rotate)) scale(1)}}@keyframes celebration-streamer{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.65)}16%{opacity:.94}to{opacity:0;transform:translate(calc(-50% + var(--celebration-piece-x)), calc(-50% + var(--celebration-piece-y))) rotate(var(--celebration-piece-rotate)) scale(1)}}@keyframes celebration-sparkle{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}22%{opacity:1;transform:translate(calc(-50% + var(--celebration-piece-x)), calc(-50% + var(--celebration-piece-y))) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--celebration-piece-x)), calc(-50% + var(--celebration-piece-y))) scale(.6)}}@keyframes driving-alert-presence{0%{opacity:0;transform:translateY(-8px)scale(.98)}10%{opacity:1;transform:translateY(0)scale(1)}82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.985)}}@keyframes driving-new-arrival-default{0%{border-color:#2f80ed24;transform:translateY(0)scale(1);box-shadow:0 6px 14px #0f172a0a}14%{border-color:#2f80ed57;transform:translateY(-1px)scale(1.01);box-shadow:0 0 0 1px #2f80ed29,0 0 26px #2f80ed24}38%{border-color:#2f80ed3d;transform:translateY(0)scale(1);box-shadow:0 0 0 1px #2f80ed1f,0 0 18px #2f80ed1a}to{border-color:#0f172a0d;transform:translateY(0)scale(1);box-shadow:0 6px 14px #0f172a0a}}@keyframes driving-new-arrival-maria{0%{border-color:#e35d9b3d;transform:translateY(0)scale(1);box-shadow:0 8px 18px #e35d9b14}14%{border-color:#e35d9b66;transform:translateY(-1px)scale(1.01);box-shadow:0 0 0 1px #e35d9b29,0 0 24px #e35d9b29}38%{border-color:#e35d9b4d;transform:translateY(0)scale(1);box-shadow:0 0 0 1px #e35d9b1f,0 0 18px #e35d9b1f}to{border-color:#e35d9b3d;transform:translateY(0)scale(1);box-shadow:0 8px 18px #e35d9b14}}@keyframes driver-card-attention-nudge{0%{transform:translate(0)}22%{transform:translate(5px)}48%{transform:translate(-4px)}72%{transform:translate(3px)}to{transform:translate(0)}}@keyframes driver-card-attention-lift{0%{box-shadow:var(--driving-row-shadow);transform:translateY(0)}28%{box-shadow:0 0 0 1px color-mix(in srgb, var(--driving-attention-accent) 70%, white 30%), 0 12px 24px color-mix(in srgb, var(--driving-attention-glow) 68%, transparent 32%);transform:translateY(-4px)scale(1.006)}62%{box-shadow:0 0 0 1px color-mix(in srgb, var(--driving-attention-accent) 55%, white 45%), 0 10px 20px color-mix(in srgb, var(--driving-attention-glow) 54%, transparent 46%);transform:translateY(-2px)scale(1.003)}to{box-shadow:var(--driving-row-shadow);transform:translateY(0)}}@keyframes driver-card-attention-glow{0%{border-color:inherit;box-shadow:var(--driving-row-shadow);transform:translateY(0)scale(1)}26%{border-color:color-mix(in srgb, var(--driving-attention-accent) 82%, white 18%);box-shadow:0 0 0 1px color-mix(in srgb, var(--driving-attention-accent) 68%, white 32%), 0 0 24px color-mix(in srgb, var(--driving-attention-glow) 84%, transparent 16%);transform:translateY(-1px)scale(1.008)}58%{border-color:color-mix(in srgb, var(--driving-attention-accent) 70%, white 30%);box-shadow:0 0 0 1px color-mix(in srgb, var(--driving-attention-accent) 58%, white 42%), 0 0 18px color-mix(in srgb, var(--driving-attention-glow) 68%, transparent 32%);transform:translateY(0)scale(1.004)}to{border-color:inherit;box-shadow:var(--driving-row-shadow);transform:translateY(0)scale(1)}}@keyframes driver-card-attention-tilt{0%{transform:translate(0)rotate(0)}24%{transform:translate(3px)rotate(1.6deg)}48%{transform:translate(-3px)rotate(-1.3deg)}72%{transform:translate(2px)rotate(1deg)}to{transform:translate(0)rotate(0)}}@keyframes reminder-restore-exit{0%{opacity:.72;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.98)}}@media (width>=768px){.app-shell{padding:14px 0}.app-shell__frame{min-height:calc(var(--app-height,100dvh) - 28px);height:calc(var(--app-height,100dvh) - 28px);box-shadow:var(--shadow-soft);border:1px solid #ffffffe6;border-radius:36px}.modal-layer{border-radius:36px}}@media (width<=420px){.app-shell__content{padding-inline:16px}.dashboard-header__subtitle{font-size:1rem}.stats-scroll{grid-auto-columns:minmax(148px,1fr)}.reminder-card{padding-inline:14px}.reminder-card__icon{width:68px;height:68px}.portal-card{padding-inline:16px}.portal-form__grid{grid-template-columns:1fr}.portal-reminder__header{flex-direction:column}.modal-header,.form-scroll,.form-footer{padding-inline:16px}.driving-mode{padding-inline:10px}.driving-header{grid-template-columns:40px 1fr auto;gap:8px}.driving-header__actions{gap:6px}.icon-button--compact{width:40px;height:40px}.driving-header__sound-button.is-active:after{width:7px;height:7px;top:9px;right:9px}.driving-alert-banner{margin-bottom:8px;padding:10px 12px}.driving-alert-banner strong{font-size:.88rem}.driving-row{gap:8px;min-height:58px;padding:7px 9px}.driving-row__headline{gap:5px}.driving-row__title{font-size:.9rem}.driving-row__meta,.driving-meta,.driving-status{font-size:.7rem}.origin-pill--driving,.driving-tag{font-size:.56rem}.checkbox-button--driving{width:40px;height:40px}}
