@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#172033;color-scheme:light;--bg-page:radial-gradient(circle at 12% 12%, #6366f124, transparent 24%), radial-gradient(circle at 88% 10%, #0ea5e91f, transparent 18%), linear-gradient(160deg, #fcfdff 0%, #f5f7ff 45%, #eef3fb 100%);--bg-panel:#ffffffe0;--bg-panel-strong:#fffffff5;--bg-panel-soft:#f6f8ffd1;--bg-sidebar:#f8fafff5;--bg-muted:#4f46e50f;--border:#94a3b83d;--border-strong:#6366f12e;--text-main:#000;--text-muted:#5b6477;--text-soft:#7c8699;--accent:#0ea5e9;--accent-strong:#0284c7;--accent-soft:#e0f2fe;--accent-soft-strong:#bae6fd;--success:#0f9f6e;--danger:#c2410c;--shadow:0 20px 48px #0f172a14;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 12% 12%,#6366f124,#0000 24%),radial-gradient(circle at 88% 10%,#0ea5e91f,#0000 18%),linear-gradient(160deg,#fcfdff,#f5f7ff 45%,#eef3fb);font-family:Manrope,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text-main);background:var(--bg-page);margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 .75rem;font-size:.7rem}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,.sidebar__user-name,.entity-card__title,.page__header h1,.report-section__title,.due-section__title,.batch-section__header h2,.surface-card h2,.auth-panel h2,.auth-card__header h1{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif}.copy{color:var(--text-muted);margin-top:1rem;font-size:1rem;line-height:1.7}.auth-shell,.foundation-shell{min-height:100vh;padding:24px}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(320px,460px);align-items:stretch;gap:24px;display:grid}.auth-hero,.auth-panel,.surface-card,.stat-card,.topbar,.identity-chip{backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #94a3b84d;box-shadow:0 18px 48px #00000038}.auth-hero,.auth-panel,.surface-card,.stat-card{border-radius:28px;padding:28px}.auth-hero{background:linear-gradient(135deg,#e988332e,#21273114),#fffffff5;flex-direction:column;justify-content:space-between;gap:28px;display:flex}.auth-hero h1,.foundation-shell h1{max-width:12ch;font-size:clamp(2.3rem,4vw,4.3rem);line-height:.96}.feature-grid,.panel-grid,.route-grid{gap:16px;display:grid}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{background:#4f46e508;border:1px solid #94a3b838;border-radius:22px;grid-template-columns:auto 1fr;gap:14px;padding:16px;display:grid}.feature-card__icon{width:42px;height:42px;color:var(--accent);background:#0ea5e92e;border-radius:14px;place-items:center;display:grid}.feature-card__icon svg,.ghost-button svg{width:20px;height:20px}.feature-card h3{margin-bottom:.35rem;font-size:1rem}.feature-card p,.route-card small,.api-state,.identity-chip small,.auth-switch{color:var(--text-muted)}.auth-panel{flex-direction:column;justify-content:center;gap:24px;display:flex}.auth-panel h2{font-size:1.75rem;line-height:1.1}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--text-muted);gap:8px;font-size:.92rem;display:grid}.auth-form input{width:100%;color:inherit;background:#fffffff5;border:1px solid #94a3b84d;border-radius:16px;outline:none;padding:14px 16px;transition:border-color .14s,transform .14s}.auth-form input:focus{border-color:#0ea5e9d9;transform:translateY(-1px)}.primary-button,.ghost-button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;transition:transform .14s,background .14s,opacity .14s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#0ea5e9,#38bdf8);padding:14px 18px;font-weight:700}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.56;cursor:default;transform:none}.ghost-button{color:inherit;background:#4f46e50a;border:1px solid #94a3b84d;padding:12px 16px}.form-error{color:#ffb4a8;background:#d94f3d29;border:1px solid #d94f3d47;border-radius:14px;padding:12px 14px;font-size:.92rem}.auth-switch a{color:var(--accent)}.topbar{border-radius:24px;justify-content:space-between;gap:18px;margin-bottom:20px;padding:20px 22px;display:flex}a.topbar__brand{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.topbar-actions{align-items:center;gap:12px;display:flex}.identity-chip{border-radius:18px;gap:2px;min-width:220px;padding:10px 14px;display:grid}.identity-chip span{font-weight:600}.panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel-grid--stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.surface-card--wide{grid-column:span 2}.surface-card__header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;display:flex}.surface-card h2{margin-top:.3rem;font-size:1.4rem;line-height:1.05}.pill{color:var(--text-muted);background:#4f46e50a;border-radius:999px;padding:8px 12px;font-size:.8rem}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card{background:#4f46e508;border:1px solid #94a3b838;border-radius:20px;gap:10px;padding:16px;display:grid}.route-card p{margin-bottom:4px;font-weight:600}.route-card span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-size:.8rem}.due-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.due-list li{border-bottom:1px solid #94a3b838;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.due-list li:last-child{border-bottom:0;padding-bottom:0}.stat-card{align-content:space-between;gap:10px;min-height:136px;display:grid}.stat-card p{font-size:.95rem}.stat-card strong{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1}.loading-shell{align-content:center;place-items:center;gap:14px;min-height:100vh;display:grid}.loading-orb{background:radial-gradient(circle at 30% 30%,var(--accent),var(--accent-strong) 60%,#0ea5e929 100%);border-radius:50%;width:52px;height:52px;animation:1.6s ease-in-out infinite pulse}.loading-orb--sm{width:32px;height:32px}.api-state--error{color:#ffb4a8}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.layout{min-height:100vh;display:flex}.sidebar{inset-y:0;z-index:60;backdrop-filter:blur(18px);background:#f8fafff7;border-right:1px solid #94a3b838;flex-direction:column;width:240px;transition:transform .24s;display:flex;position:fixed;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-overlay{z-index:55;background:#00000080;position:fixed;inset:0}.sidebar__header{border-bottom:1px solid #94a3b838;justify-content:space-between;align-items:center;padding:18px 16px;display:flex}.sidebar__brand{color:var(--accent);font-size:1.2rem;font-weight:700}.sidebar__brand-logo{width:auto;height:2rem}.sidebar__close{color:.6;cursor:pointer;background:0 0;border:none;padding:4px}.sidebar__close svg{width:20px;height:20px}.sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar__link{color:var(--text-muted);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;transition:background .14s,color .14s;display:flex}.sidebar__link svg{flex-shrink:0;width:18px;height:18px}.sidebar__link:hover{color:#f7f3ea;background:#4f46e50d}.sidebar__link--active{color:var(--accent);background:#0ea5e924}.sidebar__footer{border-top:1px solid #94a3b838;align-items:center;gap:10px;padding:14px;display:flex}.sidebar__user{flex:1;gap:2px;min-width:0;display:grid}.sidebar__user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar__user-email{color:.5;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sidebar__logout{color:.5;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:color .14s,background .14s}.sidebar__logout:hover{color:#ffb4a8;background:#d94f3d1f}.sidebar__logout svg{width:18px;height:18px}.layout__main{flex:1;min-width:0}.layout__topbar{backdrop-filter:blur(10px);z-index:40;background:#ffffffe6;border-bottom:1px solid #94a3b838;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.topbar__brand{color:var(--accent);font-size:1.1rem;font-weight:700}.topbar__brand-logo{width:auto;height:2rem}.topbar__menu-btn,.topbar__logout-btn{color:.6;cursor:pointer;background:0 0;border:none;padding:6px}.topbar__menu-btn svg,.topbar__logout-btn svg{width:22px;height:22px}.layout__content{max-width:960px;margin:0 auto;padding:20px}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #94a3b84d;border-radius:28px;gap:24px;width:100%;max-width:400px;padding:32px 28px;display:grid}.auth-card__header h1{color:var(--accent);margin-bottom:6px;font-size:2rem}.auth-card__logo{width:auto;height:3rem;margin-bottom:10px}.auth-card__header p{color:.6;font-size:.95rem}.input-with-toggle{position:relative}.input-with-toggle input{padding-right:42px}.input-toggle{color:.4;cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-toggle svg{width:18px;height:18px}.field-hint{color:var(--text-soft);margin-top:4px;font-size:.78rem}.page{gap:20px;display:grid}.page__header{gap:4px;display:grid}.page__header h1{font-size:1.6rem;line-height:1.1}.page__header p{color:.6;font-size:.92rem}.page__header--with-back{align-items:center;gap:12px;display:flex}.page__header--with-back>div{flex:1;gap:4px;display:grid}.page__loading{place-items:center;padding:48px 0;display:grid}.back-button{color:.7;cursor:pointer;background:#4f46e50a;border:1px solid #94a3b84d;border-radius:12px;padding:8px;transition:background .14s}.back-button:hover{background:#ffffff1a}.back-button svg{width:18px;height:18px}.form-card{backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #94a3b84d;border-radius:22px;gap:16px;max-width:480px;padding:24px;display:grid}.form-success{color:#81d4c4;background:#2a9d8f29;border:1px solid #2a9d8f47;border-radius:14px;padding:12px 14px;font-size:.92rem}.form-actions{gap:12px;display:flex}.form-actions button{flex:1}.password-checks{color:var(--text-soft);gap:6px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.password-checks li.pass{color:#81d4c4}.settings-user-card{background:#ffffffe6;border:1px solid #94a3b84d;border-radius:22px;align-items:center;gap:16px;padding:20px;display:flex}.settings-user-card__avatar svg{width:48px;height:48px;color:var(--accent)}.settings-user-card__name{font-size:1.05rem;font-weight:600}.settings-user-card__email{color:.6;font-size:.9rem}.settings-user-card__since{color:.4;margin-top:2px;font-size:.78rem}.settings-section{background:#ffffffe6;border:1px solid #94a3b84d;border-radius:22px;overflow:hidden}.settings-section--danger{border-color:#d94f3d33}.settings-section__title{text-transform:uppercase;letter-spacing:.12em;color:.5;border-bottom:1px solid #94a3b838;padding:14px 20px;font-size:.88rem}.settings-section--danger .settings-section__title{color:#ffb4a8}.settings-section__items{display:grid}.settings-item{align-items:center;gap:14px;padding:16px 20px;transition:background .14s;display:flex}.settings-item:hover{background:#4f46e508}.settings-item__icon{width:22px;height:22px;color:.6}.settings-item__text{flex:1;gap:2px;display:grid}.settings-item__text span{font-size:.95rem;font-weight:500}.settings-item__text small{color:.5;font-size:.82rem}.settings-item__chevron{width:16px;height:16px;color:.3}.settings-danger{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.settings-danger p{font-size:.95rem;font-weight:500}.settings-danger small{color:.5;font-size:.82rem}.danger-button{cursor:pointer;color:#fff;background:#d94f3dd9;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:600;transition:background .14s,opacity .14s;display:inline-flex}.danger-button:hover{background:#d94f3d}.danger-button:disabled{opacity:.55;cursor:default}.danger-button--outline{color:#ffb4a8;background:0 0;border:1px solid #d94f3d80}.danger-button--outline:hover{background:#d94f3d1f}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.link-button:hover{text-decoration:underline}.icon-button{cursor:pointer;color:.5;background:0 0;border:none;border-radius:10px;padding:8px;transition:background .14s,color .14s}.icon-button svg{width:18px;height:18px}.icon-button--danger:hover{color:#ffb4a8;background:#d94f3d24}.icon-button:disabled{opacity:.5;cursor:default}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.badge--green{color:#81d4c4;background:#2a9d8f2e}.device-list{gap:8px;display:grid}.device-card{background:#ffffffe6;border:1px solid #94a3b838;border-radius:18px;align-items:center;gap:14px;padding:16px 18px;display:flex}.device-card--current{background:#2a9d8f0f;border-color:#2a9d8f33}.device-card__icon svg{width:24px;height:24px;color:.6}.device-card--current .device-card__icon svg{color:#81d4c4}.device-card__info{flex:1;gap:4px;min-width:0;display:grid}.device-card__name{align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.device-card__info small{color:.5;font-size:.78rem}.empty-state{color:.4;place-items:center;gap:12px;padding:56px 0;display:grid}.empty-state svg{width:48px;height:48px}.info-box{background:#57759014;border:1px solid #57759033;border-radius:18px;padding:18px 20px}.info-box h3{color:var(--text-muted);margin-bottom:8px;font-size:.9rem;font-weight:600}.info-box ul{color:var(--text-muted);gap:4px;margin:0;padding-left:18px;font-size:.84rem;display:grid}.modal-backdrop{z-index:80;background:#0000008c;position:fixed;inset:0}.modal-wrap{z-index:85;pointer-events:none;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{pointer-events:auto;backdrop-filter:blur(20px);background:#12161ef5;border:1px solid #94a3b85c;border-radius:24px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden}.modal--narrow{max-width:420px}.modal__header{border-bottom:1px solid #94a3b838;align-items:center;gap:12px;padding:18px 20px;display:flex}.modal__header h3{flex:1;font-size:1.1rem}.modal__header p{color:.5;font-size:.85rem}.modal__header>button{color:.5;cursor:pointer;background:0 0;border:none;padding:4px}.modal__header>button svg{width:20px;height:20px}.modal__header-icon{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.modal__header-icon svg{width:20px;height:20px}.modal__header-icon--danger{color:#ffb4a8;background:#d94f3d29}.modal__body{color:.7;padding:16px 20px;font-size:.92rem}.modal__body ul{gap:4px;margin:10px 0 0;padding-left:18px;display:grid}.modal__actions{border-top:1px solid #94a3b838;gap:12px;padding:16px 20px;display:flex}.modal__actions button{flex:1}.quick-add-fab{z-index:50;background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#1a1714;cursor:pointer;border:none;border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .14s,box-shadow .14s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 28px #0ea5e959}.quick-add-fab svg{width:24px;height:24px}.quick-add-fab:hover{transform:scale(1.08);box-shadow:0 10px 32px #0ea5e973}.quick-add__modal{max-width:520px}.quick-add__tabs{border-bottom:1px solid #94a3b838;display:flex}.quick-add__tabs button{color:.5;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:.9rem;font-weight:500;transition:color .14s,border-color .14s}.quick-add__tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.quick-add__body{max-height:50vh;padding:16px;overflow-y:auto}.quick-add__loading{place-items:center;padding:40px 0;display:grid}.quick-add__empty{text-align:center;color:.5;gap:10px;padding:32px 0;display:grid}.quick-add__grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.quick-add__item{color:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b838;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:background .14s,border-color .14s;display:flex}.quick-add__item:hover{background:#4f46e50d;border-color:#0ea5e94d}.quick-add__icon{border-radius:10px;place-items:center;width:36px;height:36px;font-size:1.2rem;display:grid}.quick-add__label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;overflow:hidden}.quick-add__badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:#0ea5e924;border-radius:999px;padding:1px 6px;font-size:.65rem}.icon-picker{min-width:0;overflow:hidden}.icon-picker__input{box-sizing:border-box;background:#fffffff5;border:1px solid #94a3b84d;border-radius:14px;width:100%;max-width:100%;display:flex;overflow:hidden}.icon-picker__input input{text-align:center;min-width:0;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:10px 12px;font-size:1.1rem}.icon-picker__input button{cursor:pointer;background:0 0;border:none;border-left:1px solid #94a3b84d;flex:none;justify-content:center;align-items:center;width:40px;padding:0;display:flex}.icon-picker__input button svg{width:16px;height:16px}.icon-picker__modal{max-width:650px}.icon-picker__search{border-bottom:1px solid #94a3b838;align-items:center;gap:10px;padding:12px 18px;display:flex}.icon-picker__search svg{width:18px;height:18px;color:.4;flex-shrink:0}.icon-picker__search input{color:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.92rem}.icon-picker__categories{border-bottom:1px solid #94a3b838;gap:6px;padding:10px 18px;display:flex;overflow-x:auto}.icon-picker__categories button{cursor:pointer;white-space:nowrap;background:#4f46e50d;border:none;border-radius:999px;padding:5px 12px;font-size:.78rem;transition:background .14s,color .14s}.icon-picker__categories button.active{color:var(--accent);background:#0ea5e92e}.icon-picker__grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;max-height:320px;padding:14px 18px;display:grid;overflow-y:auto}.icon-picker__grid button{aspect-ratio:1;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;place-items:center;font-size:1.4rem;transition:background .12s;display:grid}.icon-picker__grid button:hover{background:#4f46e50d}.icon-picker__grid button.selected{border-color:var(--accent);background:#0ea5e91f}.icon-picker__empty{text-align:center;color:.4;grid-column:1/-1;padding:28px 0;font-size:.88rem}.icon-picker__hint{border-top:1px solid #94a3b838;padding:10px 18px;font-size:.78rem}.color-picker__trigger{width:100%;color:inherit;cursor:pointer;background:#fffffff5;border:1px solid #94a3b84d;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;display:flex}.color-picker__trigger svg{width:16px;height:16px;color:.5;margin-left:auto}.color-picker__preview{border:2px solid #94a3b880;border-radius:8px;flex-shrink:0;width:24px;height:24px}.color-picker__label{color:.6;font-size:.85rem}.color-picker__modal{max-width:520px}.color-picker__grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:8px;padding:20px;display:grid}.color-picker__swatch{aspect-ratio:1;cursor:pointer;border:3px solid #0000;border-radius:12px;min-width:40px;transition:border-color .12s,transform .12s}.color-picker__swatch:hover{transform:scale(1.1)}.color-picker__swatch--active{border-color:#fff;box-shadow:0 0 12px #ffffff40}.type-picker-trigger{cursor:pointer;text-align:left;align-items:center;display:flex}.type-picker-trigger__value{align-items:center;gap:10px;display:flex}.type-picker-trigger__icon{border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.85rem;display:grid}.type-picker-trigger__placeholder{color:.4}.type-picker__modal{max-width:520px}.type-picker__search{border-bottom:1px solid #94a3b838;align-items:center;gap:10px;padding:12px 18px;display:flex}.type-picker__search svg{width:18px;height:18px;color:.4;flex-shrink:0}.type-picker__search input{color:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.92rem}.type-picker__list{max-height:400px;padding:8px 0;overflow-y:auto}.type-picker__group{margin-bottom:4px}.type-picker__item{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 18px;font-size:.92rem;transition:background .12s;display:flex}.type-picker__item:hover{background:#4f46e50d}.type-picker__item--active{background:#0ea5e91f}.type-picker__item--child{padding-left:46px;font-size:.88rem}.type-picker__item-icon{border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.9rem;display:grid}.type-picker__item-name{flex:1}.type-picker__item-parent{color:.4;font-size:.78rem}.type-picker__empty{text-align:center;color:.4;padding:28px 0;font-size:.88rem}.wallet-select-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.wallet-select-item{color:inherit;cursor:pointer;background:0 0;border:2px solid #94a3b838;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:background .14s,border-color .14s;display:flex}.wallet-select-item:hover{background:#4f46e50d;border-color:#0ea5e94d}.wallet-select-item--active{border-color:var(--accent);background:#0ea5e91f}.wallet-select-item__icon{border-radius:10px;place-items:center;width:36px;height:36px;font-size:1.1rem;display:grid}.wallet-select-item__name{white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;font-size:.82rem;overflow:hidden}.wallet-select-item__badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:#0ea5e924;border-radius:999px;padding:1px 6px;font-size:.65rem}input,select,textarea{color:var(--text-main)}:is(.auth-hero,.auth-panel,.surface-card,.stat-card,.topbar,.identity-chip,.sidebar,.layout__topbar,.auth-card,.form-card,.settings-user-card,.settings-section,.device-card,.info-box,.modal,.entity-card,.entity-row,.tree-item,.batch-table,.due-item-card,.report-month,.report-month__header,.report-month__detail,.type-picker__item,.wallet-select-item){background:var(--bg-panel);border-color:var(--border);box-shadow:var(--shadow);color:var(--text-main)}.sidebar{background:var(--bg-sidebar);border-right-color:var(--border)}.layout__topbar,.topbar,.modal,.auth-card,.form-card,.settings-user-card,.settings-section,.device-card,.batch-table,.due-item-card,.report-month__header,.report-month__detail,.entity-card,.entity-row,.tree-item,.surface-card,.stat-card,.auth-hero,.auth-panel,.identity-chip,.info-box{backdrop-filter:blur(18px)}.auth-hero{background:linear-gradient(135deg,#4f46e514,#0ea5e914),var(--bg-panel-strong)}.feature-card,.route-card,.pill,.badge,.wallet-select-item,.tree-item--child,.quick-add__tabs,.quick-add__empty,.empty-state,.due-section__count,.breakdown-row__bar-track,.report-view-toggle,.report-view-toggle button,.summary-bar,.filter-chip,.back-button,.ghost-button,.btn--ghost,.batch-table__head,.report-month,.type-picker__item{background:var(--bg-panel-soft);border-color:var(--border)}.copy,.feature-card p,.route-card small,.api-state,.identity-chip small,.auth-switch,.auth-form label,.auth-card__header p,.field-hint,.page__header p,.settings-user-card__email,.settings-user-card__since,.settings-section__title,.settings-item__text small,.settings-item__chevron,.settings-danger small,.device-card__info small,.empty-state,.modal__body,.modal__header p,.quick-add__tabs button,.quick-add__empty,.quick-add__loading,.type-picker__item-parent,.type-picker__empty,.filter-icon,.filter-toggle,.entity-row__secondary,.entity-card__desc,.entity-card__meta,.due-item__meta,.report-subsection h3,.report-empty,.breakdown-row__count,.breakdown-row__pct,.report-month__label svg,.sidebar__user-email,.sidebar__logout,.topbar__menu-btn,.topbar__logout-btn,.input-toggle,.password-checks,.link-button,.page__loading,.loading-shell p{color:var(--text-muted)}.eyebrow,.sidebar__brand,.topbar__brand,.auth-card__header h1,.surface-card h2,.report-section__title,.settings-user-card__avatar svg,.quick-add__tabs button.active,.filter-chip--active,.sidebar__link--active,.link-button,.settings-section--danger .settings-section__title{color:var(--accent-strong)}.auth-switch a,.sidebar__link--active,.quick-add__tabs button.active,.filter-chip--active{border-color:var(--border-strong)}.sidebar__link,.settings-item__icon,.icon-button,.sidebar__close,.topbar__menu-btn,.topbar__logout-btn,.back-button,.ghost-button,.btn--ghost{color:var(--text-muted)}.sidebar__link:hover,.settings-item:hover,.back-button:hover,.ghost-button:hover,.btn--ghost:hover,.filter-chip:hover,.wallet-select-item:hover,.due-item-card:hover,.report-month__header:hover,.type-picker__item:hover,.entity-row:hover,.entity-card:hover{background:var(--accent-soft)}.sidebar__link:hover{color:var(--text-main)}.sidebar__link--active{background:var(--accent-soft)}.primary-button,.btn--primary{color:#fff;background:linear-gradient(135deg,#0ea5e9,#38bdf8);box-shadow:0 14px 30px #0ea5e938}.primary-button:hover,.btn--primary:hover{box-shadow:0 16px 32px #0ea5e947}.quick-add-fab{color:#1f2937;background:linear-gradient(135deg,#facc15,#f59e0b);box-shadow:0 14px 30px #f59e0b3d}.quick-add-fab:hover{box-shadow:0 16px 32px #f59e0b52}.ghost-button,.btn--ghost,.back-button,.icon-button{border:1px solid var(--border);color:var(--text-main);background:#ffffffc7}.auth-form input,.input-with-toggle input,.form-card input,.form-card select,.form-card textarea,.batch-table input,.batch-table select,.batch-table textarea{border-color:var(--border);color:var(--text-main);background:#fff}select,.icon-picker__input,.icon-picker__categories button,.color-picker__trigger,.type-picker-trigger,.type-picker__search,.type-picker__item,.wallet-select-item,.summary-bar{background:#fff}.icon-picker__input,.color-picker__trigger,.type-picker-trigger,.type-picker__search,.type-picker__item,.wallet-select-item,.summary-bar,.icon-picker__input button,.icon-picker__search,.icon-picker__categories{border-color:var(--border)}.icon-picker__categories button,.icon-picker__input button,.icon-picker__search svg,.color-picker__label,.type-picker-trigger__placeholder,.type-picker__item-parent,.summary-bar{color:var(--text-muted)}.summary-bar{background:#fffffff5}.summary-bar strong{color:var(--text-main)}.auth-form input:focus,.input-with-toggle input:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#4f46e573;box-shadow:0 0 0 4px #4f46e51f}.sidebar__header,.sidebar__footer,.layout__topbar,.settings-section__title,.modal__actions,.quick-add__tabs,.batch-table__head,.report-month__detail,.report-month,.due-list li,.device-card,.settings-item,.entity-row,.batch-table__row:not(:last-child){border-color:var(--border)}.loading-orb{background:radial-gradient(circle at 30% 30%,#93c5fd,#4f46e5 60%,#4f46e524)}.stat-card--warm{background:linear-gradient(140deg,#fbbf242e,#fffffff2)}.stat-card--teal{background:linear-gradient(140deg,#2dd4bf2e,#fffffff2)}.stat-card--ink{background:linear-gradient(140deg,#6366f129,#fffffff2)}.stat-card--sand{background:linear-gradient(140deg,#93c5fd2e,#fffffff2)}.report-month__expense,.eyebrow{color:#b45309}.report-month__payment,.password-checks li.pass,.form-success,.badge--green{color:var(--success)}.quick-add__tabs button.active,.filter-chip--active,.wallet-select-item--active{background:var(--accent-soft);color:var(--accent-strong)}.filter-toggle input,.batch-table__row input[type=checkbox]{accent-color:var(--accent)}.breakdown-row__bar-track,.pill,.badge,.wallet-select-item__badge{color:var(--text-soft)}.wallet-select-item__badge,.feature-card__icon,.modal__header-icon,.sidebar__link--active,.filter-chip--active{background:var(--accent-soft)}.feature-card__icon,.sidebar__link--active,.wallet-select-item__badge{color:var(--accent-strong)}.modal__header-icon--danger,.danger-button--outline{color:#b91c1c;background:#dc262614}.form-error,.api-state--error,.settings-danger,.danger-button,.icon-button--danger:hover{color:#b91c1c}@media(min-width:1024px){.sidebar{transform:translate(0)}.sidebar__close{display:none}.layout__main{margin-left:240px}.layout__topbar{display:none}.layout__content{padding:28px 32px}}.entity-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.entity-toolbar--wrap{align-items:flex-start}.entity-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-filters--wrap{flex-wrap:wrap}.filter-icon{width:18px;height:18px;color:.4;flex-shrink:0}.filter-chip{color:var(--text-main);cursor:pointer;background:#4f46e508;border:1px solid #94a3b85c;border-radius:999px;padding:5px 14px;font-size:.82rem;transition:all .14s}.filter-chip:hover{background:#4f46e512}.filter-chip--active{color:var(--accent-strong);background:#0ea5e929;border-color:#0ea5e959}.filter-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;transition:background .14s,opacity .14s;display:inline-flex}.btn svg{width:18px;height:18px}.btn--sm{padding:5px 10px;font-size:.8rem}.btn--sm svg{width:14px;height:14px}.btn--primary{color:#fff;background:linear-gradient(135deg,#0ea5e9,#38bdf8)}.btn--primary:hover{opacity:.88}.btn--primary:disabled{opacity:.5;cursor:default}.btn--ghost{background:#4f46e50d;border:1px solid #94a3b85c}.btn--ghost:hover{background:#ffffff1a}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.entity-card{backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #94a3b84d;border-radius:18px;gap:10px;padding:16px;transition:border-color .14s;display:grid;position:relative}.entity-card--menu-open{z-index:30}.entity-card:hover{border-color:#ffffff24}.entity-card--stopped{opacity:.55}.entity-card__header{align-items:center;gap:12px;display:flex}.entity-card__icon{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:600;display:grid}.entity-card__icon--sm{border-radius:8px;width:30px;height:30px;font-size:.9rem}.entity-card__title{flex:1;gap:4px;min-width:0;display:grid}.entity-card__title>span{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.entity-card__badges{flex-wrap:wrap;gap:4px;display:flex}.entity-card__desc{color:.5;font-size:.82rem;line-height:1.4}.entity-card__meta{color:var(--text-soft);flex-wrap:wrap;gap:8px;font-size:.78rem;display:flex}.entity-card__meta span:before{content:"•";opacity:.4;margin-right:8px}.entity-card__meta span:first-child:before{display:none}.entity-card__actions{justify-content:flex-end;gap:4px;display:flex}.wallet-card-menu{position:relative}.wallet-card-menu__panel{z-index:20;background:#fffffffa;border:1px solid #94a3b838;border-radius:14px;min-width:160px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #0f172a24}.wallet-card-menu__item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;display:block}.wallet-card-menu__item:hover{background:#4f46e50f}.wallet-card-menu__item:disabled{opacity:.5;cursor:default}.wallet-card-menu__item--danger{color:var(--danger)}.wallet-card-menu__item--danger:hover{background:#d94f3d1a}.entity-list{backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #94a3b84d;border-radius:18px;overflow:hidden}.entity-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;transition:background .1s;display:flex}.entity-row:not(:last-child){border-bottom:1px solid #94a3b82e}.entity-row:hover{background:#4f46e505}.entity-row__leading{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.entity-row__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.entity-row__info{gap:2px;min-width:0;display:grid}.entity-row__primary{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:500;overflow:hidden}.entity-row__secondary{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.entity-row__trailing{flex-shrink:0;align-items:center;gap:8px;display:flex}.entity-row__amount{text-align:right;min-width:80px;font-size:.95rem;font-weight:600}.summary-bar{color:.6;background:#ffffffe6;border:1px solid #94a3b84d;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.9rem;display:flex}.summary-bar strong{font-size:1.05rem}.alert{border-radius:14px;padding:12px 16px;font-size:.9rem}.alert--error{color:#ffb4a8;background:#d94f3d24;border:1px solid #d94f3d4d}.alert--success{color:#81d4c4;background:#2a9d8f24;border:1px solid #2a9d8f4d}.alert--info{color:#0f3a53;background:#0ea5e91a;border:1px solid #0ea5e93d}.badge--blue{color:#7ec8e3;background:#277da133}.badge--red{color:#ffb4a8;background:#d94f3d33}.badge--orange{color:#f9c74f;background:#f48c0633}.badge--dim{color:var(--text-soft);background:#4f46e50d}.field{gap:6px;display:grid}.field--flex1{flex:1;min-width:0}.field__label{font-size:.82rem;font-weight:500}.field__label-row{justify-content:space-between;align-items:center;display:flex}.field__input{color:inherit;background:#fffffff5;border:1px solid #94a3b84d;border-radius:12px;outline:none;width:100%;padding:10px 12px;font-size:.92rem;transition:border-color .14s}.field__input:focus{border-color:#0ea5e973}.field__input--compact{border-radius:10px;padding:6px 10px;font-size:.84rem}.field__input--icon{text-align:center;max-width:52px}.field-row{gap:12px;display:flex}.field-check{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.field-check input{accent-color:var(--accent)}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:28px;height:28px;transition:border-color .12s}.color-swatch--active{border-color:#fff}.form-preview{background:#4f46e505;border:1px solid #94a3b838;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.form-preview strong{font-size:.95rem}.form-preview__sub{color:var(--text-soft);margin-top:2px;font-size:.8rem;display:block}.expense-checklist{border:1px solid #94a3b84d;border-radius:14px;max-height:240px;overflow:hidden auto}.expense-checklist__item{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.expense-checklist__item:not(:last-child){border-bottom:1px solid #94a3b824}.expense-checklist__item:hover{background:#4f46e505}.expense-checklist__item input{accent-color:var(--accent)}.expense-checklist__info{flex:1;gap:2px;font-size:.88rem;display:grid}.expense-checklist__info small{color:.4;font-size:.78rem}.expense-checklist__amount{font-size:.88rem;font-weight:600}.new-expense-row{align-items:center;gap:8px;padding:8px 0;display:flex}.new-expense-row:not(:first-child){border-top:1px solid #94a3b824}.new-expense-row__type{flex:2;min-width:0}.new-expense-row__amount{flex:1;min-width:80px;max-width:120px}.new-expense-row__note{flex:1;min-width:0}.new-expense-row .btn--icon{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.new-expense-row .btn--icon svg{width:16px;height:16px}@media(max-width:600px){.new-expense-row{flex-wrap:wrap}.new-expense-row__type{flex:100%}.new-expense-row__amount,.new-expense-row__note{flex:1}}.tree-list{gap:2px;display:grid}.tree-group{position:relative}.tree-expand{color:.4;cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;top:12px;left:-28px}.tree-expand svg{width:16px;height:16px}.tree-item{background:#ffffffe6;border:1px solid #94a3b838;border-radius:14px;padding:10px 14px}.tree-item--child{background:#ffffffbf;border-color:#ffffff0a;margin-left:32px}.tree-item--stopped{opacity:.5}.tree-item__main{align-items:center;gap:10px;display:flex}.tree-item__info{flex:1;gap:4px;min-width:0;display:grid}.tree-item__name{font-size:.92rem;font-weight:600}.tree-item__badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tree-item__due-date{color:.4;font-size:.76rem}.tree-item__actions{flex-shrink:0;gap:2px;display:flex}.batch-section{margin-bottom:24px}.batch-section__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.batch-section__header h2{font-size:1.1rem}.batch-table{background:#ffffffe6;border:1px solid #94a3b84d;border-radius:14px;overflow-x:auto}.batch-table__head{text-transform:uppercase;letter-spacing:.08em;color:.4;border-bottom:1px solid #94a3b838;grid-template-columns:2fr 50px 100px 50px 50px 1.2fr 70px 36px;align-items:center;gap:8px;padding:10px 14px;font-size:.76rem;display:grid}.batch-table__row{grid-template-columns:2fr 50px 100px 50px 50px 1.2fr 70px 36px;align-items:center;gap:8px;padding:8px 14px;display:grid}.batch-table__row:not(:last-child){border-bottom:1px solid #94a3b824}.batch-table__row input[type=checkbox]{justify-self:center}.batch-section:last-of-type .batch-table__head,.batch-section:last-of-type .batch-table__row{grid-template-columns:2fr 50px 100px 1fr 1fr 80px 36px}.batch-color{align-items:center;gap:4px;display:flex}.batch-color__preview{border-radius:6px;flex-shrink:0;width:20px;height:20px}.batch-color input{max-width:72px}.dash-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}@media(max-width:768px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-actions{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.dash-due-section{gap:16px;display:grid}.due-sections{gap:24px;display:grid}.due-section__title{align-items:center;gap:8px;margin-bottom:12px;font-size:1.1rem;display:flex}.due-section__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.due-section__count{background:#4f46e50d;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:500}.due-items-list{gap:6px;display:grid}.due-item-card{background:#ffffffe6;border:1px solid #94a3b838;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.due-item-card:hover{background:#ffffffed}.due-item__leading{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.due-item__icon{border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:1.1rem;display:grid}.due-item__info{gap:2px;min-width:0;display:grid}.due-item__name{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.due-item__meta{color:var(--text-soft);font-size:.78rem}.due-item__trailing{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.due-item__amount{color:.8;font-size:.92rem;font-weight:600}.due-item__postpone{gap:4px;display:flex}.report-section{margin-bottom:24px}.report-section__title{color:var(--text-main);margin-bottom:14px;font-size:1.15rem}.report-subsection{margin-bottom:16px}.report-subsection h3{color:.6;margin-bottom:10px;font-size:.92rem}.report-empty{color:var(--text-soft);padding:8px 0;font-size:.88rem}.breakdown-list{gap:10px;display:grid}.breakdown-row{gap:6px;display:grid}.breakdown-row__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.breakdown-row__label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.breakdown-row__dot{border-radius:4px;flex-shrink:0;width:10px;height:10px}.breakdown-row__icon{font-size:.95rem}.breakdown-row__name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.breakdown-row__count{color:var(--text-soft);flex-shrink:0;font-size:.72rem}.breakdown-row__values{flex-shrink:0;align-items:center;gap:8px;display:flex}.breakdown-row__amount{font-size:.88rem;font-weight:600}.breakdown-row__pct{color:.4;text-align:right;min-width:42px;font-size:.72rem}.breakdown-row__bar-track{background:#4f46e50d;border-radius:2px;height:4px;overflow:hidden}.breakdown-row__bar-fill{border-radius:2px;height:100%;transition:width .3s}.report-months{gap:4px;display:grid}.report-month{border:1px solid #94a3b838;border-radius:14px;overflow:hidden}.report-month__header{color:inherit;font:inherit;cursor:pointer;background:#ffffffe6;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:background .1s;display:flex}.report-month__header:hover{background:#fffffff5}.report-month__label{align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.report-month__label svg{width:16px;height:16px;color:var(--text-soft)}.report-month__totals{gap:16px;display:flex}.report-month__expense{color:var(--accent);font-size:.88rem;font-weight:600}.report-month__payment{color:#81d4c4;font-size:.88rem;font-weight:600}.report-month__detail{background:#ffffffbf;border-top:1px solid #94a3b838;padding:14px 16px}.report-view-toggle{gap:4px;display:flex}@media(max-width:480px){.field-row{flex-direction:column;gap:0}.dash-stats{grid-template-columns:1fr}.entity-toolbar{flex-direction:column;align-items:stretch}.entity-toolbar .btn--primary{text-align:center;align-self:stretch}.entity-filters,.entity-row{flex-wrap:wrap}.entity-row__trailing{justify-content:space-between;width:100%;padding-top:4px}.entity-row__amount{min-width:0}.tree-item__main{flex-wrap:wrap}.tree-item__actions{justify-content:flex-end;width:100%;padding-top:4px}.tree-expand{margin-left:-4px;margin-right:-4px;position:static}.tree-item--child{margin-left:16px}.batch-table__head,.batch-table__row{gap:4px;padding:6px 8px}.report-month__totals{flex-wrap:wrap;gap:8px}.due-item__trailing{justify-content:flex-end;width:100%;padding-top:4px}.due-item__postpone{flex-wrap:wrap}.wallet-select-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.summary-bar{text-align:center;flex-direction:column;gap:8px}.form-card{padding:16px}.page__header h1{font-size:1.3rem}.batch-section__header{flex-direction:column;align-items:flex-start;gap:8px}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}.settings-item{padding:12px 14px}.auth-card__body{padding:20px}.expense-checklist__item{padding:8px 10px}.color-picker__modal{max-width:100%}.layout__content{padding:14px}.breakdown-row__name{font-size:.82rem}.quick-add__panel{width:calc(100vw - 32px);left:50%;right:auto;transform:translate(-50%)}}@media(max-width:640px){.entity-filters select{flex:1;min-width:0}.layout__content{padding:16px}.report-month__header{padding:10px 12px}.page__header--with-back{gap:10px}.form-preview{flex-wrap:wrap}.batch-table__head,.batch-table__row{font-size:.78rem}.batch-table input,.batch-table select{font-size:.8rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
