@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-cyrillic-ext-wght-normal.1p5eg27ho_atv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-vietnamese-wght-normal.2gl4mcd5dm2h_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-latin-ext-wght-normal.362mv560wxbnh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/plus-jakarta-sans-latin-wght-normal.1nsast9qgxif8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--canvas:#f8f9fa;--surface:#fff;--subtle:#edeef0;--border:#e1e2e4;--border-strong:#c3c7cf;--hairline:#f3f4f5;--primary:#b91c1c;--primary-hover:#991b1b;--primary-soft:#fee2e2;--primary-text:#b91c1c;--primary-tint:#fecaca;--sage:#881337;--text:#1a1c1e;--text-2:#43474e;--text-3:#6a6e76;--income:#43474e;--income-bg:#edeef0;--warning:#881337;--warning-bg:#ffe4e6;--expense:#ba1a1a;--expense-bg:#ffdad6;--indigo:#881337;--indigo-bg:#ffe4e6;--radius-card:20px;--radius-md:14px;--radius-control:10px;--shadow-rest:0 1px 3px #00000008, 0 1px 2px -1px #00000008;--shadow-hover:0 10px 15px -3px #0000000a, 0 4px 6px -4px #00000005;--shadow-float:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--on-primary:#fff;--hover:#f3f4f5;--topbar-bg:#ffffffeb;--dock-bg:#f8f9faf7;--overlay:#1a1c1e47;--expense-bg-hover:#ffc9c3;--chart-income:#b91c1c;--chart-expense:#e88a8a;--chart-balance:#b91c1c;--nav-height:72px;--sidebar:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#18191b;--surface:#232427;--subtle:#2f3033;--border:#3a3b3f;--border-strong:#4a4c50;--hairline:#2b2c2f;--primary:#d0413b;--primary-hover:#dc5650;--primary-soft:#3b1515;--primary-text:#fca5a5;--primary-tint:#fca5a5;--sage:#ffb2bd;--text:#f1f0f4;--text-2:#c3c7cf;--text-3:#9a9ea6;--income:#c3c7cf;--income-bg:#2f3033;--warning:#ffb2bd;--warning-bg:#3d1422;--expense:#ff8a80;--expense-bg:#3b0d0b;--indigo:#ffb2bd;--indigo-bg:#3d1422;--on-primary:#fff;--hover:#2b2c2f;--topbar-bg:#232427e6;--dock-bg:#18191bf5;--overlay:#0000008c;--expense-bg-hover:#4a1411;--chart-income:#e86060;--chart-expense:#a8302c;--chart-balance:#d0413b;--shadow-rest:0 1px 2px #0000004d;--shadow-hover:0 8px 18px #00000059;--shadow-float:0 20px 40px #00000080}*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}html,body{max-width:100%;overflow-x:clip}body{background:var(--canvas);min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-family:Plus Jakarta Sans Variable,system-ui,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100dvh}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:68px;padding:0 16px;display:flex;position:sticky;top:0}.topbar-mark{background:var(--primary);width:38px;height:38px;color:var(--on-primary);border-radius:11px;place-items:center;display:grid}.topbar-titles{flex:1;min-width:0}.topbar-eyebrow{letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;font-size:11px;font-weight:700}.topbar-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:700;overflow:hidden}.icon-btn{width:40px;height:40px;color:var(--text-2);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:var(--subtle);color:var(--text)}.avatar{background:var(--primary);width:38px;height:38px;color:var(--on-primary);border:0;border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.main{padding:20px 16px calc(var(--nav-height) + 36px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}.stack{flex-direction:column;gap:16px;display:flex}.stack-lg{flex-direction:column;gap:28px;display:flex}.bottom-nav{z-index:30;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-link{color:var(--text-3);flex-direction:column;align-items:center;gap:4px;padding:6px 0;font-size:11px;font-weight:600;display:flex}.nav-link.active{color:var(--primary-text)}.nav-fab{background:var(--primary);width:56px;height:56px;color:var(--on-primary);box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 35%, transparent);border:4px solid var(--canvas);border-radius:50%;justify-self:center;place-items:center;margin-top:-26px;display:grid}.sidebar{display:none}@media (min-width:1024px){.shell{grid-template-columns:var(--sidebar) 1fr;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:4px 8px 20px;font-size:16px;font-weight:700;display:flex}.sidebar-link{border-radius:var(--radius-control);color:var(--text-2);align-items:center;gap:12px;padding:10px 12px;font-weight:600;display:flex}.sidebar-link:hover{background:var(--canvas);color:var(--text)}.sidebar-link.active{background:var(--primary-soft);color:var(--primary-text)}.sidebar-add{margin:0 0 14px}.sidebar-foot{margin-top:auto}.bottom-nav{display:none}.topbar{padding:0 32px}.topbar-mark,.topbar-mark-slot{display:none}.main{max-width:1040px;padding:28px 32px 48px}}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:700}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.h1{letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1.15}.h2{letter-spacing:-.015em;font-size:18px;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head .h2{align-items:center;gap:8px;display:flex}.count-pill{color:var(--text-2);background:var(--subtle);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.link{color:var(--primary-text);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.income{color:var(--income)}.expense{color:var(--expense)}.warning{color:var(--warning)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-rest)}.card-pad{padding:20px}.card.interactive{transition:border-color .15s,box-shadow .15s}.card.interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.income{background:var(--income-bg);color:var(--income)}.badge.expense{background:var(--expense-bg);color:var(--expense)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.neutral{background:var(--subtle);color:var(--text-2)}.badge.primary{background:var(--primary-soft);color:var(--primary-text)}.badge.indigo{background:var(--indigo-bg);color:var(--indigo)}.icon-badge{border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.icon-badge.sm{width:34px;height:34px}.icon-badge.lg{width:48px;height:48px}.row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.row+.row{border-top:1px solid var(--hairline)}button.row:hover,a.row:hover{background:var(--hover)}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.row-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.row-meta .badge{padding:2px 8px;font-size:11px}.row-end{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.row-amount{white-space:nowrap;font-size:15px;font-weight:700}.day-head{justify-content:space-between;align-items:baseline;padding:18px 4px 8px;display:flex}.day-head strong{font-size:15px}.btn{border-radius:var(--radius-control);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--canvas);border-color:var(--border-strong)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--subtle);color:var(--text)}.btn-danger{background:var(--expense-bg);color:var(--expense)}.btn-danger:hover:not(:disabled){background:var(--expense-bg-hover)}.btn-block{width:100%}.btn-lg{border-radius:14px;min-height:54px;font-size:16px}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn-row>.btn{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-2);letter-spacing:.02em;font-size:12px;font-weight:700}.field-hint{color:var(--text-3);font-size:12px}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--text);outline:0;padding:0 14px;font-size:16px}.textarea{resize:vertical;min-height:80px;padding:10px 14px}:root[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23c3c7cf' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%234b5563' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.search{position:relative}.search>svg{pointer-events:none;color:var(--text-3);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search .input{padding-left:42px;padding-right:46px}.search-number .input{padding-right:98px}.search input[type=search]::-webkit-search-cancel-button{display:none}.search-actions{align-items:center;gap:4px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-clear,.search-keyboard{border:0;border-radius:8px;place-items:center;min-width:40px;height:40px;display:grid}.search-clear{color:var(--text-2);background:0 0}.search-keyboard{background:var(--subtle);color:var(--text-2);letter-spacing:.03em;font-size:12px;font-weight:700}@media (hover:hover) and (pointer:fine){.search-keyboard{display:none}.search-number .input{padding-right:46px}}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{align-items:center;gap:10px;font-weight:600;display:flex}.check input{width:18px;height:18px;accent-color:var(--primary);font-size:16px}.segmented{background:var(--subtle);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{min-height:40px;color:var(--text-2);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.chips{scrollbar-width:none;gap:8px;padding:2px 1px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text-2);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.chip small{opacity:.75;font-size:12px;font-weight:600}.sheet-backdrop{overscroll-behavior:contain;z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);width:100%;max-width:560px;max-height:92dvh;box-shadow:var(--shadow-float);padding:8px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.2s ease-out rise;overflow-y:auto}.sheet-grip{background:var(--border-strong);border-radius:4px;width:40px;height:4px;margin:6px auto 12px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}@media (min-width:720px){.sheet-backdrop{align-items:center}.sheet{border-radius:24px;padding-top:20px}.sheet-grip{display:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(30px)}}.toast{left:50%;bottom:calc(var(--nav-height) + 24px + env(safe-area-inset-bottom));z-index:60;background:var(--text);color:var(--canvas);box-shadow:var(--shadow-float);border-radius:12px;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:12px 18px;font-weight:600;animation:.2s ease-out rise;display:flex;position:fixed;transform:translate(-50%)}.toast.error{background:var(--expense)}.toast.warning{background:var(--warning)}@media (min-width:1024px){.toast{bottom:28px}}.alert{border-radius:12px;gap:10px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.alert.error{background:var(--expense-bg);color:var(--expense)}.alert.info{background:var(--primary-soft);color:var(--primary-text)}.alert.warning{background:var(--warning-bg);color:var(--warning)}.empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:10px;padding:32px 20px;display:flex}.empty svg{color:var(--text-3)}.skeleton{background:linear-gradient(90deg, var(--subtle), var(--hover), var(--subtle));border-radius:var(--radius-card);background-size:200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.menu-link{align-items:center;gap:14px;padding:16px;display:flex}.menu-link+.menu-link{border-top:1px solid var(--hairline)}.menu-link:hover{background:var(--hover)}button.menu-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.section-head,.pending-actions{flex-wrap:wrap}.pending-actions .btn{min-width:0}.segmented button{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:0 6px;overflow:hidden}.action{white-space:nowrap;min-width:0;padding:0 8px;overflow:hidden}@media (max-width:379px){.topbar-title{font-size:17px}}@media (max-width:359px){.topbar{gap:8px;padding:0 12px}.topbar-eyebrow{display:none}.topbar-title{font-size:17px}.action{gap:5px;font-size:13px}.action svg{width:16px;height:16px}.segmented button svg{display:none}.segmented button{font-size:13px}.pending-actions .btn-secondary{flex-basis:100%;order:3}}.grid-2>*,.field{min-width:0}.grid-2>.field{justify-content:flex-end}input:is([type=date],[type=time]).input{appearance:none;text-align:left;width:100%;min-width:0;max-width:100%;line-height:42px;display:block}input:is([type=date],[type=time]).input::-webkit-date-and-time-value{text-align:left;margin:0}input:is([type=date],[type=time]).input::-webkit-calendar-picker-indicator{margin-left:auto}.back-btn{color:var(--text);margin-left:-8px}.theme-floating{top:calc(12px + env(safe-area-inset-top));z-index:5;position:fixed;right:12px}.login{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{width:100%;max-width:400px;padding:32px 24px}.login-mark{background:var(--primary);width:56px;height:56px;color:var(--on-primary);border-radius:16px;place-items:center;margin-bottom:20px;font-size:24px;font-weight:800;display:grid}.secret-box{border-radius:var(--radius-md);background:var(--subtle);letter-spacing:.04em;word-break:break-all;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:700;display:flex}.content{min-width:0}.bottom-nav{z-index:40;grid-template-columns:repeat(4,1fr)}.nav-link{-webkit-user-select:none;user-select:none}.nav-icon{place-items:center;height:30px;display:grid}.nav-scan .nav-icon{background:var(--primary);width:52px;height:36px;color:var(--on-primary);border-radius:12px;margin-bottom:-2px;transition:transform .12s,background .15s}.nav-scan:active .nav-icon{transform:scale(.94)}@media (min-width:1024px){.sidebar .topbar-mark{display:grid}.sidebar-brand{align-items:center}.topbar>.topbar-mark,.topbar-avatar{display:none}}.brand-lines{flex-direction:column;line-height:1.15;display:flex}.small-avatar{flex-shrink:0;width:28px;height:28px;font-size:11px}.truncate{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.hidden{display:none!important}.block{display:block}.grow{flex:1}.badge.alarm{background:var(--expense);color:#fff}.badge.muted{background:var(--subtle);color:var(--text-3)}:root[data-theme=dark] .badge.alarm{background:#b3261e}.disk-icon{background:var(--subtle);color:var(--text-2)}.disk-icon.alarm{background:var(--expense-bg);color:var(--expense)}.fav-on{color:var(--primary-text)}.sticky-search{z-index:15;background:linear-gradient(var(--canvas) 80%, transparent);margin:-8px -4px 0;padding:8px 4px;position:sticky;top:76px}.sticky-search .input{border-radius:var(--radius-md);min-height:50px;box-shadow:var(--shadow-rest)}.scan-btn{border-radius:var(--radius-md);background:var(--primary);width:50px;height:50px;color:var(--on-primary);box-shadow:var(--shadow-rest);flex:none;place-items:center;transition:transform .12s,background .15s;display:grid}.scan-btn:hover{background:var(--primary-hover)}.scan-btn:active{transform:scale(.95)}.counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.counter{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;color:var(--text-3);box-shadow:var(--shadow-rest);flex-direction:column;gap:2px;min-width:0;padding:12px;transition:border-color .15s,transform .12s;display:flex}.counter:hover{border-color:var(--border-strong)}.counter:active{transform:scale(.98)}.counter strong{letter-spacing:-.03em;color:var(--text);margin-top:4px;font-size:26px;font-weight:700;line-height:1.15}.counter span{color:var(--text-2);font-size:12px;font-weight:600;line-height:1.25}.counter.attention svg,.counter.attention strong{color:var(--warning)}.alert-chip{white-space:nowrap;background:var(--expense-bg);min-height:36px;color:var(--expense);border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.alert-chip:hover{background:var(--expense-bg-hover)}.filter-bar{align-items:center;gap:8px;display:flex}.filter-bar .chips{flex:1;min-width:0}.filter-more{flex:none}.active-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.results-head{margin:16px 0 10px}.no-margin{margin:0}.chip{cursor:pointer;transition:background .12s,border-color .12s,color .12s}.disk-row{align-items:flex-start;transition:background .12s}.disk-row .row-main{gap:2px}.disk-row .icon-badge{margin-top:1px}.disk-title{align-items:baseline;gap:8px;font-size:15px;display:flex}.disk-title strong{letter-spacing:-.01em;font-weight:700}.disk-title .faint{font-size:13px;font-weight:600}.disk-title svg{align-self:center}.disk-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.disk-where{color:var(--text-2);align-items:center;gap:5px;min-width:0;font-size:13px;font-weight:500;display:flex}.disk-where span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.disk-where svg{color:var(--text-3)}.disk-where.unknown,.disk-where.unknown svg{color:var(--warning);font-weight:700}.disk-owner{color:var(--text-3);font-size:12px}.content-chips{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.content-chip{background:var(--primary-soft);color:var(--primary-text);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}.row-end .badge{padding:3px 8px;font-size:11px}.detail-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}@media (min-width:1024px){.detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.history-col{max-height:calc(100dvh - 116px);position:sticky;top:92px;overflow-y:auto}}.disk-card{flex-direction:column;gap:14px;padding:18px;display:flex}.disk-card-head{align-items:center;gap:12px;display:flex}.disk-heading{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:700;line-height:1.15}.capacity{color:var(--text-2);font-weight:600}.facts{border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.fact{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:11px 12px;display:flex}.fact+.fact{border-top:1px solid var(--hairline)}.fact.tappable:hover{background:var(--hover)}.fact-icon{color:var(--text-3);place-items:center;display:grid}.fact .row-main{gap:1px}.fact-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.fact-value{word-break:break-word;font-size:15px;font-weight:600}.fact.unknown .fact-value{color:var(--warning)}.fact.late .fact-value{color:var(--expense)}.primary-actions{flex-direction:column;gap:8px;display:flex}.home-btn{flex:100%;min-width:0}.read-only{text-align:center}.head-actions{flex-wrap:wrap;gap:6px;display:flex}.content-type{color:var(--text-2);font-weight:500}.content-desc{white-space:normal}.add-row{color:var(--primary-text);font-size:14px;font-weight:700}.compact-empty{padding:20px}.info-list{flex-direction:column;gap:10px;display:flex}.info-line{justify-content:space-between;gap:16px;font-size:14px;display:flex}.info-line>span:last-child{text-align:right;word-break:break-word;font-weight:500}.info-label{color:var(--text-3);flex-shrink:0;font-size:13px;font-weight:600}.info-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.notes{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding-top:10px;display:flex}.notes-head{justify-content:space-between;align-items:center;display:flex}.notes-text{white-space:pre-wrap;font-size:14px}.timeline{margin:0;padding:0;list-style:none}.tl-item{gap:12px;padding-bottom:18px;display:flex;position:relative}.tl-item:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:28px;bottom:0;left:13px}.tl-dot{background:var(--subtle);width:27px;height:27px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:grid}.tl-item.move .tl-dot{background:var(--primary-soft);color:var(--primary-text)}.tl-item.corrected .tl-dot{background:var(--subtle);color:var(--text-3)}.tl-item.corrected .tl-title{color:var(--text-3);text-decoration:line-through}.tl-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding-top:3px;display:flex}.tl-title{word-break:break-word;font-size:14px;font-weight:600}.tl-comment{color:var(--text-2);font-size:13px;font-style:italic}.tl-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.tl-meta .badge{padding:1px 7px;font-size:11px}.small-link{font-size:12px}.sheet-foot{bottom:calc(-24px - env(safe-area-inset-bottom));margin:16px -20px calc(-24px - env(safe-area-inset-bottom));padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--hairline);z-index:2;flex-direction:column;gap:10px;display:flex;position:sticky}.sheet-foot .alert{max-height:34dvh;overflow-y:auto}.sheet-head{margin-bottom:14px}.journey{border-radius:var(--radius-md);background:var(--canvas);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.journey-step{flex-direction:column;gap:1px;display:flex}.journey-step .eyebrow{color:var(--text-3);font-size:10px}.journey-step strong{word-break:break-word;font-size:15px;font-weight:700}.journey-step.to strong{color:var(--primary-text)}.journey-arrow{color:var(--text-3)}.quick-moves:empty{display:none}.quick-moves .chip{min-height:40px}.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pick-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;min-height:78px;color:var(--text-2);flex-direction:column;gap:4px;padding:12px;transition:border-color .12s,background .12s,transform .1s;display:flex}.pick-tile:hover{border-color:var(--border-strong)}.pick-tile:active{transform:scale(.98)}.pick-tile.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text);box-shadow:inset 0 0 0 1px var(--primary)}.pick-top{justify-content:space-between;align-items:center;display:flex}.pick-title{color:var(--text);word-break:break-word;font-size:14px;font-weight:700}.pick-tile.on .pick-title,.pick-person.on .pick-title{color:var(--primary-text)}.pick-sub{color:var(--text-3);font-size:12px;font-weight:500}.pick-list,.status-list{flex-direction:column;gap:6px;display:flex}.pick-person{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;width:100%;min-height:54px;color:var(--text-2);align-items:center;gap:12px;padding:8px 12px;transition:border-color .12s,background .12s;display:flex}.pick-person:hover{border-color:var(--border-strong)}.pick-person.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text);box-shadow:inset 0 0 0 1px var(--primary)}.pick-person .row-main{gap:0}.person-dot{background:var(--subtle);width:34px;height:34px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.pick-person.on .person-dot{background:var(--primary);color:var(--on-primary)}.more-toggle{text-align:left;width:100%;min-height:44px;color:var(--text-2);background:0 0;border:0;align-items:center;gap:8px;min-width:0;padding:8px 0;font-weight:600;display:flex}.more-toggle>span:first-child{flex:none}.card-toggle{min-height:52px;padding:12px 16px}.toggle-body{padding-top:0}.confirm-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.conflict-link{color:inherit;margin-top:8px;text-decoration:underline;display:inline-flex}.picker .segmented{grid-auto-columns:auto}@media (max-width:479px){.picker .segmented svg{display:none}.picker .segmented button{padding:0 4px;font-size:13px}}.holder-form{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--canvas);flex-direction:column;gap:12px;padding:14px;animation:.15s ease-out rise;display:flex}.sheet>.stack>.holder-form:first-child{background:0 0;border:0;padding:0}.holder-form-head{color:var(--primary-text);align-items:center;gap:8px;display:flex}.holder-form-head strong{color:var(--text);font-size:15px}.contact-fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.contact-fields+.field-hint{margin-top:-6px}.contact-line{color:var(--text-2);word-break:break-word}.stack-tight{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.duplicate-alert .link{color:inherit;text-align:left;align-self:flex-start;text-decoration:underline}.duplicate-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-weight:500;display:flex}.duplicate-row .btn{color:var(--text)}.accessories{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-basis:100%;gap:6px;min-width:0;padding:10px 14px;display:flex}.accessories-head{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.accessory-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.accessory-item{align-items:center;gap:8px;min-height:46px;display:flex}.accessory-item+.accessory-item{border-top:1px solid var(--hairline)}.accessory-check{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;min-height:46px;font-weight:600;display:flex}.accessory-check input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.accessory-name{word-break:break-word;min-width:0}.accessory-item.off .accessory-name{color:var(--text-3);text-decoration:line-through}.stepper{flex:none;align-items:center;gap:4px;display:flex}.stepper button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:38px;height:38px;color:var(--text-2);place-items:center;display:grid}.stepper span{text-align:center;min-width:22px;font-weight:700}.accessory-other{gap:8px;display:flex}.accessory-other .input{flex:1;min-width:0}.plain-chips{margin:0;padding:0;list-style:none}.accessories-card{padding:14px 16px}.picked-list li{flex-wrap:wrap}.picked-accessories{flex-basis:100%;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.form-narrow{width:100%;max-width:560px;margin:0 auto}.number-input{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-weight:700}.capacity-input{width:130px;min-height:34px;padding:0 10px}.form-actions{gap:8px;display:flex}.field-erreur{color:var(--expense)}.chip.sm{min-height:34px;padding:0 12px;font-size:13px}.chip svg{width:15px;height:15px}.search-row{align-items:center;gap:8px;display:flex}.search-row>.search{flex:1;min-width:0}.camera{aspect-ratio:1;border-radius:var(--radius-card);color:#f1f0f4;background:#101113;width:100%;max-height:56dvh;position:relative;overflow:hidden}.camera video{object-fit:cover;width:100%;height:100%;display:block}.camera-frame{border:2px solid #ffffffe6;border-radius:22px;position:absolute;inset:16%;box-shadow:0 0 0 999px #00000059}.camera-msg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;font-weight:500;display:flex;position:absolute;inset:0}.camera-msg .btn{color:var(--text)}.batch-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:900px){.batch-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.list-card.inset{border-radius:var(--radius-md)}.picked-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picked-list li{align-items:center;gap:8px;padding:6px 0 6px 2px;animation:.15s ease-out rise;display:flex}.picked-list li+li{border-top:1px solid var(--hairline)}.picked-list li.conflict strong{color:var(--warning)}.picked-list .row-main{gap:0}.sticky-cta{bottom:calc(var(--nav-height) + 10px + env(safe-area-inset-bottom));z-index:10;flex-direction:column;grid-column:1/-1;gap:10px;display:flex;position:sticky}.sticky-cta .alert{max-height:34dvh;box-shadow:var(--shadow-hover);overflow-y:auto}.sticky-cta .btn{white-space:normal;box-shadow:var(--shadow-hover);padding:8px 16px;line-height:1.2}.sticky-cta .btn:disabled{opacity:1;background:var(--subtle);color:var(--text-2)}@media (min-width:1024px){.sticky-cta{position:static}}.done-card{text-align:center;align-items:center;max-width:480px;margin:24px auto;animation:.2s ease-out rise}.done-icon{background:var(--primary-soft);color:var(--primary-text)}.done-card .btn-row{width:100%}.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}@media (min-width:760px){.activity-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}.clear-link{grid-column:1/-1;justify-self:start}.day-title{text-transform:capitalize}.activity-head{align-items:center;gap:8px;display:flex}.activity-head .badge{padding:1px 7px;font-size:11px}.activity-path{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:13px;display:flex}.activity-path svg{color:var(--text-3)}.activity-path strong{color:var(--text);font-weight:700}.menu-link{color:inherit;width:100%}.menu-link .row-main{gap:1px}.place-card{flex-direction:column;gap:12px;padding:14px;display:flex}.place-head{align-items:center;gap:12px;display:flex}.place-head .row-main{gap:0}.spot-chips{flex-wrap:wrap;gap:6px;display:flex}.spot-chip{background:var(--subtle);border:0;border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.spot-chip.add{border:1px dashed var(--border-strong);color:var(--text-2);background:0 0}.spot-chip button{color:var(--text-3);background:0 0;border:0;place-items:center;padding:2px;display:grid}.spot-kind{font-weight:500}.spot-form{grid-template-columns:112px minmax(0,1fr) auto auto;gap:6px;display:grid}.spot-form .btn{padding:0 10px}.hidden-items summary{cursor:pointer;color:var(--text-2);justify-content:space-between;align-items:center;padding:8px 2px;font-size:13px;font-weight:600;list-style:none;display:flex}.hidden-items summary::-webkit-details-marker{display:none}.user-row{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.user-row+.user-row{border-top:1px solid var(--hairline)}.user-row.dim{opacity:.55}.user-head{align-items:center;gap:12px;display:flex}.user-head .row-main{gap:0}.user-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.role-select{background-position:right 8px center;width:auto;min-height:34px;padding:0 28px 0 10px;font-size:13px;font-weight:600}.secret-box{border-radius:var(--radius-md);background:var(--subtle);word-break:break-all;-webkit-user-select:all;user-select:all;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;display:block}.import-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.import-stats>div{border-radius:var(--radius-md);background:var(--canvas);flex-direction:column;padding:10px 12px;display:flex}.import-stats strong{font-size:22px;font-weight:700}.import-stats span{color:var(--text-2);font-size:12px;font-weight:600}.import-stats .bad strong{color:var(--expense)}.plain-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}code{background:var(--subtle);border-radius:5px;padding:1px 5px;font-size:12px}.offline-banner{background:var(--warning-bg);color:var(--warning);align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.label-picker{max-height:240px;overflow-y:auto}.labels{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.label{aspect-ratio:2;color:#000;border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px;display:flex;overflow:hidden}.label-qr{aspect-ratio:1;flex:none;height:100%}.label-qr svg{width:100%;height:100%;display:block}.label-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.label-brand{letter-spacing:.08em;color:#555;font-size:8px;font-weight:700}.label-number{letter-spacing:-.02em;word-break:break-all;font-size:17px;font-weight:800}.label-cap{color:#333;font-size:11px;font-weight:600}@media print{@page{size:A4;margin:10mm}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.sidebar,.topbar,.bottom-nav,.no-print,.theme-floating,.toast,.offline-banner{display:none!important}.shell{display:block!important}.main{max-width:none!important;margin:0!important;padding:0!important}.labels{grid-template-columns:repeat(auto-fill,50mm);grid-auto-rows:25mm;gap:2mm;display:grid}.label{aspect-ratio:auto;break-inside:avoid;border:.2mm dashed #bbb;border-radius:0;gap:1.5mm;width:50mm;height:25mm;padding:1.5mm}.label-number{font-size:12pt}.label-brand{font-size:6pt}.label-cap{font-size:8pt}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
