@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--page-bg:#e7e5ef;--bg:#fbfaff;--bg-alt:#f2f0f8;--surface-2:#f2f0f8;--surface-3:#e8e5f1;--border:#dcd9e8;--border-strong:#c7c3d6;--text-h:#16141d;--text:#5f5b6c;--text-muted:#8f8a9d;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-contrast:#fff;--accent-bg:#7c3aed1a;--success:#15803d;--success-bg:#15803d1a;--danger:#dc2626;--danger-bg:#dc262614;--secondary:#b45309;--secondary-bg:#d977061f;--warning:var(--secondary);--warning-bg:var(--secondary-bg);--info:#2563eb;--info-bg:#2563eb1a;--matte:var(--bg);--matte-border:var(--border);--matte-sheen:#ffffffe6;--matte-shadow:#1810280f;--matte-line:#18102814;--card:var(--bg);--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow-sm:0 1px 2px #1410280d, 0 1px 1px #14102808;--shadow-md:0 6px 20px #1410281a;--shadow-lg:0 20px 50px #1410282e;--ring:0 0 0 3px var(--accent-bg);--sans:"Inter Variable", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;font:15px/1.5 var(--sans);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--page-bg)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#0f1015;--bg:#171821;--bg-alt:#1d1f29;--surface-2:#1d1f29;--surface-3:#252735;--border:#2a2c38;--border-strong:#3a3d4c;--text-h:#f4f3f8;--text:#a7a4b4;--text-muted:#6f6c7d;--accent:#a78bfa;--accent-hover:#b8a1fc;--accent-contrast:#14101f;--accent-bg:#a78bfa24;--success:#4ade80;--success-bg:#4ade8021;--danger:#f87171;--danger-bg:#f8717121;--secondary:#fbbf24;--secondary-bg:#fbbf2421;--info:#60a5fa;--info-bg:#60a5fa24;--matte:var(--bg);--matte-border:var(--border);--matte-sheen:#ffffff0a;--matte-shadow:#00000059;--matte-line:#ffffff12;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 60px #0009}*{box-sizing:border-box}body{background:var(--page-bg);margin:0}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::selection{background:var(--accent-bg);color:var(--text-h)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.btn-spinner{vertical-align:-2px;opacity:.8;border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}.employee-app-view{animation:.25s both fade-in}.employee-tabbar{background:var(--bg-alt);border:1px solid var(--border);width:min(92%,380px);box-shadow:var(--shadow-md);z-index:20;border-radius:28px;justify-content:space-between;gap:4px;padding:8px;transition:background-color .3s,border-color .3s;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.employee-tab{color:var(--text-muted);background:0 0;border:none;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 8px;font-size:13px;transition:background-color .2s,color .2s,transform .12s;display:flex}.employee-tab svg{width:20px;height:20px}.employee-tab.active{background:var(--accent-bg);color:var(--accent)}.employee-tab:active{transform:scale(.94)}.employee-action-btn{transition:background-color .25s,transform .12s,box-shadow .2s}.employee-action-btn:active{transform:scale(.97)}.employee-row-icon{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.employee-theme-toggle{background:var(--bg-alt);border:1px solid var(--border);width:38px;height:38px;min-height:0;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .3s,border-color .3s,transform .15s;display:inline-flex;overflow:hidden}.employee-theme-toggle:active{transform:scale(.88)}.employee-theme-toggle-icon{animation:.4s cubic-bezier(.16,1,.3,1) both employee-theme-icon-in;display:inline-flex}@keyframes employee-theme-icon-in{0%{opacity:0;transform:rotate(-100deg)scale(.3)}to{opacity:1;transform:rotate(0)scale(1)}}.content>*{animation:.25s both fade-in}h1{letter-spacing:-.01em;color:var(--text-h);margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.2}h2{letter-spacing:-.005em;color:var(--text-h);margin:0 0 12px;font-size:17px;font-weight:700}h3{color:var(--text-h);margin:0 0 8px;font-size:15px;font-weight:600}table,.figure .value,.list-value,.sheet-total,.avatar-stat-value,.dash-stat-value{font-variant-numeric:tabular-nums}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg);min-height:38px;color:var(--text-h);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-3)}button:focus-visible{box-shadow:var(--ring);border-color:var(--accent);outline:none}button:disabled{opacity:.55;cursor:not-allowed}button svg{flex-shrink:0;width:16px;height:16px}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.08);border-color:#0000}.btn-success:hover:not(:disabled){background:var(--success);filter:brightness(1.08);border-color:#0000}.btn-secondary:hover:not(:disabled){background:var(--secondary-bg);border-color:var(--secondary)}.btn-warm{background:var(--secondary);color:#fff;border-color:#0000}.btn-warm:hover:not(:disabled){background:var(--secondary);filter:brightness(1.08);border-color:#0000}.btn-export{background:0 0}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-h);border-color:#0000}.link-button{color:var(--accent);background:0 0;border:none;border-radius:4px;min-height:0;padding:0;font-weight:500}.link-button:hover:not(:disabled){background:0 0;border-color:#0000;text-decoration:underline}.fab{z-index:50;background:var(--accent);min-height:46px;color:var(--accent-contrast);box-shadow:var(--shadow-md);border-color:#0000;border-radius:999px;padding:0 22px;font-size:15px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.fab:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.app-layout{min-height:100svh;display:flex}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:248px;height:100svh;padding:18px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{justify-content:space-between;align-items:center;margin:0 4px 18px;display:flex}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;letter-spacing:-.02em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:800;display:inline-flex;box-shadow:0 6px 16px #7c3aed47}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-name{color:var(--text-h);font-size:16px;font-weight:700}.brand-sub{color:var(--text-muted);font-size:11px}.sidebar-close-btn,.mobile-topbar,.sidebar-backdrop{display:none}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-section{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:14px 12px 6px;font-size:11px;font-weight:600}.sidebar nav a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex;position:relative}.sidebar nav a:hover{background:var(--surface-2);color:var(--text-h)}.sidebar nav a.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar nav a.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.sidebar nav a svg{opacity:.75;flex-shrink:0;width:18px;height:18px;transition:opacity .15s}.sidebar nav a:hover svg,.sidebar nav a.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.sidebar-user{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sidebar-avatar{background:var(--accent-bg);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.sidebar-user-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sidebar-user-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-muted);font-size:11px}.content{flex:1;min-width:0;padding:28px 32px 140px;position:relative}.login-page{background:radial-gradient(60% 50% at 20% 10%, var(--accent-bg), transparent 70%), radial-gradient(50% 40% at 90% 90%, var(--info-bg), transparent 70%), var(--page-bg);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-form{border:1px solid var(--border);background:var(--bg);width:min(100%,380px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;gap:14px;padding:36px 32px 32px;animation:.3s cubic-bezier(.16,1,.3,1) both modal-in;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-brand .brand-mark{border-radius:12px;width:42px;height:42px;font-size:19px}.login-form h1{margin:0;font-size:22px}.login-form .login-sub{color:var(--text-muted);margin:-8px 0 6px;font-size:13px}.login-form label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.login-form input{font:inherit;border:1px solid var(--border);background:var(--bg);min-height:40px;color:var(--text-h);border-radius:10px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.login-form button[type=submit]{background:var(--accent);min-height:42px;color:var(--accent-contrast);border-color:#0000;margin-top:6px}.login-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.login-form .error{color:var(--danger);margin:0;font-size:13px}.loading{justify-content:center;align-items:center;min-height:100svh;display:flex}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:60svh;animation:.3s both fade-in;display:flex}.loading-state-fullscreen{min-height:100svh}.loading-orbit{width:54px;height:54px;position:relative}.loading-ring{background:conic-gradient(from 0deg, transparent 0deg, var(--accent) 300deg, var(--accent) 360deg);border-radius:50%;animation:.9s cubic-bezier(.45,.05,.55,.95) infinite spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px))}.loading-core{background:var(--accent);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:1.4s ease-in-out infinite loading-core-pulse;position:absolute;top:50%;left:50%}.loading-label{letter-spacing:.04em;color:var(--text-muted,var(--text));margin:0;font-size:13px;animation:1.4s ease-in-out infinite loading-label-fade}@keyframes loading-core-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@keyframes loading-label-fade{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-ring,.loading-core,.loading-label,.loading-state{animation:none}.loading-core{opacity:1;transform:scale(1)}}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;animation:.18s both overlay-in;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:10px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px 24px;animation:.2s cubic-bezier(.16,1,.3,1) both modal-in;overflow-y:auto}.password-gate-overlay{z-index:90;-webkit-backdrop-filter:blur(6px);background:#00000038;justify-content:center;align-items:center;min-height:100%;animation:.25s both overlay-in;display:flex;position:absolute;inset:0}.password-gate-skeleton{pointer-events:none;-webkit-user-select:none;user-select:none;padding-top:4px}.skeleton-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.skeleton-bar{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px}.skeleton-title{width:220px;height:32px}.skeleton-button{border-radius:6px;width:140px;height:38px}.skeleton-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.skeleton-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;height:90px}.skeleton-table{flex-direction:column;gap:10px;display:flex}.skeleton-row{background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;height:48px}@media (width<=640px){.skeleton-cards{grid-template-columns:1fr}}.password-gate-card{box-sizing:border-box;text-align:center;background:var(--bg-alt);border:1px solid var(--border);border-radius:24px;width:min(92vw,460px);padding:56px 44px;animation:.3s cubic-bezier(.16,1,.3,1) both modal-in;box-shadow:0 20px 60px #00000059}.password-gate-icon{background:var(--accent-bg);width:84px;height:84px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 26px;display:flex}@media (width<=640px){.password-gate-card{padding:40px 28px}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h2{color:var(--text-h);margin:0;font-size:18px}.modal-close{background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.consequences{margin:8px 0;padding-left:20px}.consequences li{margin-bottom:4px}.hard-warning{background:var(--accent-bg);border-radius:6px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px;font-size:14px;display:flex}.form-hint{color:var(--text);opacity:.75;margin:4px 0 0;font-size:12px;line-height:1.45}.form-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:6px;margin-top:12px;padding:10px;font-size:13px;line-height:1.45}.btn-primary{background:var(--accent);color:#fff;border-color:#0000}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.quick-money{flex-wrap:wrap;gap:12px;display:flex}.quick-money button{border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:700;display:inline-flex}.dash-top{grid-template-columns:1.35fr 1fr;gap:12px;margin-bottom:12px;display:grid}.dash-figure-card{flex-direction:column;display:flex}@media (width<=900px){.dash-top{grid-template-columns:1fr}}.card-head{align-items:center;gap:8px;margin:0 0 4px;font-size:17px;display:flex}.matte-section .card{background:var(--matte);border:1px solid var(--matte-border);box-shadow:inset 0 1px 0 var(--matte-sheen), 0 8px 24px var(--matte-shadow);border-radius:14px}.matte-section table.data-table{background:0 0;border:0;border-radius:0}.matte-section table.data-table td{border-bottom-color:var(--matte-line)}.matte-section table.data-table th{border-bottom-color:var(--matte-line);background:0 0}.matte-section table.data-table tbody tr:hover{background:var(--matte-line)}.list-rows{flex-direction:column;gap:8px;display:flex}.list-rows .card{grid-template-columns:var(--cols);align-items:center;gap:4px 20px;padding:12px 16px;display:grid}.list-rows .card:hover{transform:none}.list-col{min-width:0}.list-label{letter-spacing:.05em;text-transform:uppercase;min-height:15px;color:var(--text);font-size:11px;font-weight:600;display:block}.list-value{color:var(--text-h);font-size:14px;display:block}.list-value.strong{font-weight:600}.list-value.muted{color:var(--text)}.list-badges{align-items:center;gap:8px;min-width:0;display:flex}.list-badges>.status-badge,.list-badges>.tag-badge,.entity-card-tags>.status-badge,.entity-card-tags>.tag-badge{white-space:nowrap;flex-shrink:0}.card-grid.entity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media (width<=1300px){.card-grid.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.card-grid.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.card-grid.entity-grid{grid-template-columns:1fr}}.entity-card{flex-direction:column;gap:7px;height:100%;display:flex}.card.entity-card{padding:12px}.entity-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.entity-card .card-actions{opacity:1;flex-shrink:0;position:static}.entity-card-meta{min-width:0;color:var(--text);font-size:12px}.entity-card-title{color:var(--text-h);overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.3}.entity-card-sub{color:var(--text);font-size:12px}.entity-card-tags{align-items:center;gap:8px;min-width:0;display:flex}.entity-card-note{min-width:0;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;font-size:11px}.entity-card-figures{border-top:1px solid var(--matte-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;margin-top:auto;padding-top:9px;display:grid}.entity-card .list-label{min-height:13px;font-size:10px}.entity-card .list-value{font-size:13px}.list-note{color:var(--text);min-width:0;font-size:13px}.list-rows .card-actions{opacity:1;justify-self:end;position:static}.list-rows .list-label{height:15px;line-height:15px}.list-rows .list-value{min-height:30px;line-height:30px}.list-rows .list-badges{min-height:30px}@media (width<=1100px){.list-rows .card{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.list-rows .card>.list-col:first-child,.list-rows .card>.list-col-wide{grid-column:1/-1}.list-rows .card-actions{grid-column:1/-1;justify-self:start}}.dash-side{flex-direction:column;gap:12px;display:flex}.dash-period{color:var(--text);margin-left:auto;font-size:12px;font-weight:500}.period-switch,.view-switch{border:1px solid var(--border);background:var(--bg);border-radius:9px;gap:2px;margin-left:auto;padding:2px;display:flex}.period-switch button,.view-switch button{color:var(--text);font:600 12px/1 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 11px}.period-switch button:hover,.view-switch button:hover{color:var(--text-h)}.period-switch button.active,.view-switch button.active{background:var(--accent-bg);color:var(--accent)}@media (width<=560px){.card-head{flex-wrap:wrap}.period-switch{margin-left:0}}.dash-stats{flex-wrap:wrap;gap:8px 36px;margin:14px 0 2px;display:flex}.dash-stat{flex-direction:column;gap:2px;display:flex}.dash-stat-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text);font-size:11px;font-weight:600}.dash-stat-value{font-size:22px;font-weight:700;line-height:1.2}.flow-chart-box{flex:1;min-height:170px;margin-top:10px;position:relative}.flow-chart{width:100%;height:100%;position:absolute;inset:0}.flow-chart-label{fill:var(--text);font-size:11px;font-weight:600}.btn-success{background:var(--success);color:#fff;border-color:#0000}.btn-export{color:var(--text-h);border-color:var(--border);background:0 0}.btn-export:hover:not(:disabled){background:var(--bg-alt);border-color:var(--text)}.period-selector{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.period-btn{background:0 0}.period-range{align-items:center;gap:6px;display:flex}.period-range input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px}.export-buttons{gap:8px;display:flex}.btn-secondary{background:var(--secondary-bg);color:var(--secondary);border-color:#0000}.line-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.line-editor-header h3{color:var(--text-h);margin:0;font-size:15px}.line-editor-actions{gap:8px;display:flex}.line-editor-summary{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;margin-top:18px;padding-top:14px;display:flex}.line-editor-summary .summary-item{text-align:right}.line-editor-summary .summary-item .label{color:var(--text);font-size:12px;display:block}.line-editor-summary .summary-item .value{color:var(--text-h);font-size:16px;font-weight:600}.line-editor-summary .summary-item.highlight .value{color:var(--success);font-size:22px}.line-editor-summary .summary-item.highlight .value.negative{color:var(--danger)}.combobox{position:relative}.combobox-menu{z-index:60;background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:220px;padding:4px;animation:.15s cubic-bezier(.16,1,.3,1) both modal-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0003}.combobox-menu button{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 9px;font-size:13px;display:flex}.combobox-menu button>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.combobox-menu .combobox-hint b{color:var(--text-h);font-weight:600}.combobox-menu button:hover{background:var(--accent-bg);box-shadow:none;transform:none}.combobox-menu .combobox-hint{color:var(--text);flex-shrink:0;font-size:12px}.combobox-new-badge{color:var(--secondary);align-items:center;gap:4px;margin-top:4px;font-size:11px;display:inline-flex}.page-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-toolbar input[type=text],.page-toolbar select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.page-toolbar input[type=text]:focus,.page-toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}table.data-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--bg);border-radius:14px;width:100%;font-size:14px;overflow:hidden}table.data-table th{text-align:left;background:var(--bg-alt);border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;color:var(--text);white-space:nowrap;padding:14px 20px;font-size:11px;font-weight:700}table.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:16px 20px}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr{transition:background-color .12s}table.sheet-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--bg);border-radius:10px;width:100%;font-size:14px;overflow:hidden}table.sheet-table th{text-align:left;background:var(--bg-alt);border-bottom:1px solid var(--border);border-right:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--text);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:700}table.sheet-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle;padding:0}table.sheet-table th:last-child,table.sheet-table td:last-child{border-right:none}table.sheet-table tbody tr:last-child td{border-bottom:none}table.sheet-table .sheet-rownum{text-align:center;background:var(--bg-alt);width:38px;color:var(--text);opacity:.6;font-variant-numeric:tabular-nums;padding:0 4px;font-size:12px}.sheet-cell{cursor:text;border:2px solid #0000;border-radius:4px;outline:none;align-items:center;min-height:38px;padding:9px 10px;display:flex}.sheet-cell:hover{background:var(--accent-bg)}.sheet-cell:focus-visible{border-color:var(--accent)}.sheet-cell-empty{opacity:.4}table.sheet-table .tag-badge{white-space:nowrap}table.sheet-table tr.sheet-group td{background:color-mix(in srgb, var(--accent) 7%, var(--bg-alt));font-weight:600}table.sheet-table .sheet-group-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px}table.sheet-table .sheet-group-toggle:hover{color:var(--text)}table.sheet-table .sheet-group-total{font-weight:700}table.sheet-table tr.sheet-subrow td{background:color-mix(in srgb, var(--accent) 3%, var(--bg-alt))}table.sheet-table tr.sheet-subrow .sheet-subrow-name{padding-left:34px}.sheet-cell-saving{opacity:.45;pointer-events:none}.sheet-input{border:2px solid var(--accent);background:var(--bg);width:100%;min-height:38px;color:var(--text-h);border-radius:4px;outline:none;padding:7px 8px;font-family:inherit;font-size:14px}.sheet-input-quiet{background:0 0;border-color:#0000}.sheet-input-quiet:hover{background:var(--accent-bg)}.sheet-input-quiet:focus{border-color:var(--accent);background:var(--bg)}.sheet-combobox>div{width:100%}.sheet-combobox input{background:0 0;border-color:#0000;border-radius:4px;width:100%;min-height:38px}.sheet-combobox input:hover{background:var(--accent-bg)}.sheet-combobox input:focus{border-color:var(--accent);background:var(--bg)}select.sheet-input{cursor:pointer;background:0 0;border-color:#0000}select.sheet-input:hover,select.sheet-input:focus{border-color:var(--accent);background:var(--bg)}.sheet-readonly{min-height:38px;color:var(--text);align-items:center;padding:9px 10px;display:flex}.sheet-total{min-height:38px;color:var(--text-h);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;padding:9px 10px;font-weight:700;display:flex}td.sheet-derived{background:var(--accent-bg)}td.sheet-derived .sheet-total{color:var(--accent)}table.sheet-table tfoot td{background:var(--bg-alt);border-top:1px solid var(--border);padding:10px;font-weight:700}.sheet-row-remove{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:9px 6px}.sheet-row-remove:hover{color:var(--danger);background:var(--danger-bg)}.sheet-scroll{overflow-x:auto}.sheet-scroll table.sheet-table{min-width:720px}.sheet-scroll table.sheet-table.sheet-wide{min-width:1120px}.negative{color:var(--danger);font-weight:600}.positive{color:var(--success);font-weight:600}.type-badge{border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.type-badge.expense{background:var(--danger-bg);color:var(--danger)}.type-badge.income{background:var(--success-bg);color:var(--success)}.type-badge.bonus{color:#fb923c;background:#fb923c26}.card{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s}.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.leaderboard-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{background:0 0;border:0;align-items:center;gap:10px;padding:8px 2px;display:flex}.leaderboard-rank{background:var(--bg-alt);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.leaderboard-rank-first{background:var(--accent-bg);color:var(--accent)}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.leaderboard-value{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.card-grid.single-column{grid-template-columns:1fr}.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=720px){.card-grid.cols-2,.card-grid.cols-3{grid-template-columns:1fr}}.card-grid.figure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=720px){.card-grid.figure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card-grid.figure-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=720px){.card-grid.figure-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.figure{background:var(--bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:18px 20px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.figure:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.figure .label{letter-spacing:.05em;text-transform:uppercase;color:var(--text);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex;position:relative}.figure .label:before{content:"";background:var(--accent-bg);border-radius:8px;flex-shrink:0;width:26px;height:26px}.figure .label:after{content:"";background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYWEzYmZmIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAyMFYxMk0xMiAyMFY0TTIwIDIwdi04Ii8+PC9zdmc+) 50%/contain no-repeat;width:14px;height:14px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}:root[data-theme=dark] .figure .label:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzA4NGZjIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAyMFYxMk0xMiAyMFY0TTIwIDIwdi04Ii8+PC9zdmc+)}.figure:has(.value.negative) .label:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMjBWMTJNMTIgMjBWNE0yMCAyMHYtOCIvPjwvc3ZnPg==)}.figure:has(.value.positive) .label:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMjBWMTJNMTIgMjBWNE0yMCAyMHYtOCIvPjwvc3ZnPg==)}.card .figure .label:after{display:none}.timesheet-stats .figure .label:before,.timesheet-stats .figure .label:after{content:none}.timesheet-stats .figure-icon{background:var(--accent-bg);width:26px;height:26px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.timesheet-stats .figure:has(.value.positive) .figure-icon{background:var(--success);color:#fff}.timesheet-stats .figure:has(.value.negative) .figure-icon{background:var(--danger);color:#fff}.timesheet-stats .figure.figure-info .figure-icon{color:#fff;background:#60a5fa}.timesheet-stats .figure.figure-bonus .figure-icon{color:#fff;background:#fb923c}.timesheet-stats .figure.figure-success{background:var(--success-bg);border-color:var(--success)}.timesheet-stats .figure.figure-success .figure-icon{background:var(--success);color:#fff}.figure .value{color:var(--text-h);font-size:24px;font-weight:700}.day-group{margin:28px 0}.day-group-title{color:var(--text-h);align-items:baseline;gap:10px;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.day-group-hint{letter-spacing:.04em;text-transform:uppercase;color:var(--text);opacity:.65;font-size:11px;font-weight:600}.figure-hint{color:var(--text);opacity:.7;font-size:11px;line-height:1.4}.figure .value.negative{color:var(--danger)}.figure .value.positive{color:var(--success)}.figure:has(.value.negative){background:var(--danger-bg);border-color:#0000}.figure:has(.value.negative) .label:before{background:var(--danger);opacity:.5}.figure:has(.value.positive){background:var(--success-bg);border-color:#0000}.figure:has(.value.positive) .label:before{background:var(--success);opacity:.5}.figure.figure-tint-success .label:before{background:var(--success);opacity:.5}.figure.figure-tint-danger .label:before{background:var(--danger);opacity:.5}.figure.figure-tint-accent .label:before{background:var(--accent);opacity:.5}:is(.card .figure,.card .figure:has(.value.negative),.card .figure:has(.value.positive)){background:0 0;border:none;border-radius:0;gap:2px;padding:0}.card .figure:hover{box-shadow:none;transform:none}.card .figure .label{text-transform:none;letter-spacing:normal;font-size:13px;font-weight:400}.card .figure .label:before{display:none}.card .figure .value{font-size:16px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid.single{grid-template-columns:1fr}.form-field{flex-direction:column;gap:4px;font-size:14px;display:flex}.form-field input,.form-field select,.form-field textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.status-badge{background:var(--accent-bg);color:var(--text-h);border-radius:999px;padding:2px 9px;font-size:11px;transition:background-color .15s;animation:.2s both fade-in;display:inline-block}.status-badge.status-negotiation{color:#60a5fa;background:#60a5fa2e}.status-badge.status-queued{color:#fbbf24;background:#fbbf242e}.status-badge.status-in_progress{color:#a78bfa;background:#a78bfa33}.status-badge.status-completed{color:#4ade80;background:#4ade802e}.status-badge.status-postponed{color:#f87171;background:#f871712e}.avatar-card{cursor:pointer;background:linear-gradient(165deg, var(--bg-alt), var(--bg));flex-direction:column;display:flex;position:relative;overflow:hidden}.avatar-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000029}.avatar-card-header{align-items:center;gap:12px;min-width:0;margin-bottom:10px;padding-right:76px;display:flex}.avatar-card-header>div{flex:1;min-width:0}.avatar-card-icon{background:linear-gradient(145deg, var(--accent), var(--secondary));color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:inline-flex;box-shadow:0 4px 12px #aa3bff40}.avatar-card-icon svg{width:26px;height:26px}.avatar-card-icon.tag-purple{background:var(--accent);box-shadow:0 4px 12px #aa3bff4d}.avatar-card-icon.tag-amber{background:var(--secondary);box-shadow:0 4px 12px #d977064d}.avatar-card-icon.tag-blue{background:#60a5fa;box-shadow:0 4px 12px #60a5fa4d}.avatar-card-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.avatar-card-subtitle{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.card-clamp-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.field-with-action{gap:8px;display:flex}.field-with-action input{flex:1;min-width:0}.btn-inline{white-space:nowrap;flex-shrink:0;padding:0 14px;font-size:13px}.row-expandable{cursor:pointer}.row-caret{vertical-align:middle;color:var(--text);margin-right:8px;transition:transform .15s;display:inline-flex}.row-caret svg{width:16px;height:16px}.row-caret-open{transform:rotate(180deg)}.row-details>td{background:var(--bg-alt);padding:0 0 14px}.nested-table{font-size:13px}.truncate-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.card-tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.avatar-card-stats{border-top:1px dashed var(--border);grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:auto;padding-top:14px;display:grid}.avatar-stat{align-items:center;gap:8px;min-width:0;display:flex}.avatar-stat-icon{background:var(--bg-alt);width:28px;height:28px;color:var(--text);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-stat-icon.stat-positive{background:var(--success-bg);color:var(--success)}.avatar-stat-icon.stat-negative{background:var(--danger-bg);color:var(--danger)}.avatar-stat-text{flex-direction:column;gap:3px;min-width:0;line-height:1.4;display:flex}.avatar-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:10px;font-weight:700}.avatar-stat-value{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.avatar-stat-value.positive{color:var(--success)}.avatar-stat-value.negative{color:var(--danger)}.avatar-card-icon.status-negotiation{background:linear-gradient(145deg,#60a5fa,#3b82f6);box-shadow:0 4px 12px #3b82f64d}.avatar-card-icon.status-queued{background:linear-gradient(145deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px #f59e0b4d}.avatar-card-icon.status-in_progress{background:linear-gradient(145deg,#a78bfa,#8b5cf6);box-shadow:0 4px 12px #8b5cf64d}.avatar-card-icon.status-completed{background:linear-gradient(145deg,#4ade80,#22c55e);box-shadow:0 4px 12px #22c55e4d}.avatar-card-icon.status-postponed{background:linear-gradient(145deg,#f87171,#ef4444);box-shadow:0 4px 12px #ef44444d}.tag-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.tag-badge.tag-blue{color:#60a5fa;background:#60a5fa2e}.shift-employee{align-items:center;gap:10px;display:flex}.shift-avatar{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.shift-time-cell{align-items:center;gap:6px;display:flex}.shift-location-pin{color:var(--secondary);opacity:.8;transition:opacity .15s;display:inline-flex}.shift-location-pin:hover{opacity:1}.time-24-picker{align-items:center;gap:6px;display:flex}.time-24-picker input{text-align:center;width:60px}.time-24-picker span{color:var(--text);font-weight:700}.link-button{color:var(--accent);background:0 0;border:none;padding:0}.icon-button{border:1px solid var(--border);width:32px;height:32px;color:var(--text);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--bg-alt);color:var(--text-h)}.icon-button.icon-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.card-actions{z-index:2;gap:4px;display:flex;position:absolute;top:10px;right:10px}.card{position:relative}.status-dropdown{display:inline-block;position:relative}.status-dropdown-menu{z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:200px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) both modal-in;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0003}.status-dropdown-menu button{text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:8px 10px;display:block}.status-dropdown-menu button:hover{background:var(--bg-alt);box-shadow:none;transform:none}@media (width<=880px){.app-layout{min-height:100svh;display:block}.mobile-topbar{z-index:45;background:var(--bg-alt);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-topbar-title{color:var(--text-h);flex:1;font-size:17px;font-weight:600}.mobile-menu-btn{background:var(--bg);border:1px solid var(--border);width:44px;height:44px;color:var(--text-h);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-backdrop{z-index:55;background:#00000073;animation:.18s both overlay-in;display:block;position:fixed;inset:0}.sidebar{z-index:60;width:min(84vw,320px);transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:8px 0 28px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-close-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar nav a{padding:13px 12px;font-size:16px}.sidebar nav a svg{width:20px;height:20px}.sidebar-footer button{min-height:44px}.content{padding:20px 16px 60px}h1{font-size:22px}button{min-height:44px}.icon-button,.sheet-row-remove,.modal-close,.combobox-menu button{min-height:0}.icon-button{width:42px;height:42px}.card-actions .icon-button{width:38px;height:38px}.modal-close{width:42px;height:42px}.shift-location-pin svg{width:20px;height:20px}table.data-table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.modal{width:calc(100vw - 24px)}}.empty-state{color:var(--text);text-align:center;padding:24px}.sidebar-search{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:9px 12px;font-size:14px;display:flex}.sidebar-search:hover{border-color:var(--accent);color:var(--text-h)}.sidebar-search span{flex:1}.sidebar-search kbd{font-family:var(--sans);border:1px solid var(--border);background:var(--bg-alt);color:var(--text);border-radius:4px;padding:2px 6px;font-size:11px}.search-backdrop{z-index:200;background:#00000073;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:.18s both overlay-in;display:flex;position:fixed;inset:0}.search-panel{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:640px;max-height:70vh;animation:.2s cubic-bezier(.16,1,.3,1) both modal-in;display:flex;overflow:hidden}.search-field{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:12px 14px;display:flex}.search-field input{color:var(--text-h);background:0 0;border:none;flex:1;padding:0;font-size:16px}.search-field input:focus{outline:none}.search-results{padding:6px;overflow-y:auto}.search-group+.search-group{margin-top:6px}.search-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text);padding:8px 10px 4px;font-size:12px}.search-hit{width:100%;color:var(--text-h);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.search-hit.active{background:var(--accent-bg)}.search-hit-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-hit-title,.search-hit-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-hit-subtitle{color:var(--text);font-size:12px}.search-hit-amount{font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0;font-size:13px}.search-empty{text-align:center;color:var(--text);padding:24px 10px}.search-hint{border-top:1px solid var(--border);color:var(--text);padding:8px 14px;font-size:12px}@media (width<=640px){.search-hint{display:none}.search-backdrop{padding:8px}.search-panel{max-height:calc(100svh - 16px)}}.find-chip{border:1px solid var(--accent);background:var(--accent-bg);color:var(--text-h);border-radius:8px;align-items:center;gap:10px;margin:12px 0;padding:8px 12px;font-size:14px;display:flex}.find-chip span{flex:1}.audit-entity{color:var(--text);font-size:12px}.audit-label{color:var(--text-h)}.audit-change{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.audit-change+.audit-change{margin-top:2px}.audit-change-field{color:var(--text)}.audit-change-before{color:var(--text);text-decoration:line-through}.audit-change-arrow{color:var(--text)}.audit-change-after{color:var(--text-h);font-weight:500}.audit-pager{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.line-item-warning{color:var(--danger);margin-top:4px;font-size:12px;display:block}.combobox-menu-floating{z-index:1200}.radio-row{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.radio-row input[type=radio]{width:16px;height:16px;margin:0}@media (width<=640px){.avatar-card-stats{grid-template-columns:1fr}}@media (width<=720px){.sheet-scroll table.sheet-table.sheet-wide{min-width:0}.sheet-table.sheet-wide thead{display:none}.sheet-table.sheet-wide tbody,.sheet-table.sheet-wide tr{display:block}.sheet-table.sheet-wide tr{border:1px solid var(--border);background:var(--card);border-radius:10px;margin-bottom:10px;padding:6px 0}.sheet-table.sheet-wide td{border:0;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:4px 12px;display:flex}.sheet-table.sheet-wide td[data-label]:before{content:attr(data-label);color:var(--text-muted);flex:0 0 42%;font-size:12px}.sheet-table.sheet-wide td.sheet-rownum{justify-content:flex-start;font-weight:600}.sheet-table.sheet-wide td .sheet-input,.sheet-table.sheet-wide td .sheet-combobox,.sheet-table.sheet-wide td .sheet-readonly{flex:1}.sheet-table.sheet-wide td:last-child{justify-content:flex-end}}.project-info-grid{grid-template-columns:repeat(3,1fr)}@media (width<=640px){.project-info-grid{grid-template-columns:1fr}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header h1,.page-header h2{margin:0}.page-header h2{font-size:19px}.page-header>div:first-child{min-width:0}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow-sm);border-color:var(--border);transform:none}.avatar-card,.card.clickable{cursor:pointer;background:var(--bg)}.avatar-card:hover,.card.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.matte-section .card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.matte-section .card:hover{box-shadow:var(--shadow-sm)}.card-head{color:var(--text-h);font-size:16px;font-weight:700}.figure{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);gap:8px;padding:16px 18px}.figure:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:none}.figure .label{letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.figure .label:before{border-radius:7px;width:24px;height:24px}.figure .label:after{left:5px}.figure .value{letter-spacing:-.01em;font-size:24px;font-weight:700;line-height:1.15}.figure.figure-tint-danger{background:var(--danger-bg);border-color:#0000}.figure:has(.value.negative){background:var(--danger-bg);border-color:#0000}.figure.figure-tint-success{background:var(--success-bg);border-color:#0000}.figure:has(.value.positive){background:var(--success-bg);border-color:#0000}.figure.figure-tint-accent{background:var(--accent-bg);border-color:#0000}.timesheet-stats .figure-icon{border-radius:7px}.timesheet-stats .figure.figure-info{background:var(--info-bg);border-color:#0000}.timesheet-stats .figure.figure-info .figure-icon{background:var(--info);color:#fff}.timesheet-stats .figure.figure-bonus{background:var(--secondary-bg);border-color:#0000}.timesheet-stats .figure.figure-bonus .figure-icon{background:var(--secondary);color:#fff}.timesheet-stats .figure.figure-accent{background:var(--accent-bg);border-color:#0000}.timesheet-stats .figure.figure-success{border-color:#0000}table.data-table{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-sm);font-size:14px}table.data-table th{letter-spacing:.06em;color:var(--text-muted);background:var(--bg-alt);padding:11px 16px;font-size:11px;font-weight:600}table.data-table td{border-bottom:1px solid var(--border);padding:12px 16px}table.data-table tbody tr:hover{background:var(--surface-2)}.nested-table th{padding:8px 16px}.nested-table td{padding:9px 16px}.row-details>td{background:var(--surface-2)}table.sheet-table{border-radius:var(--r-md);box-shadow:var(--shadow-sm)}table.sheet-table th{color:var(--text-muted);font-weight:600}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:0 0;padding:32px 24px;font-size:14px}td.empty-state{border:0;border-radius:0}.tag-badge,.status-badge{background:var(--surface-3);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.tag-badge.tag-purple{background:var(--accent-bg);color:var(--accent)}.tag-badge.tag-amber{background:var(--secondary-bg);color:var(--secondary)}.tag-badge.tag-green{background:var(--success-bg);color:var(--success)}.tag-badge.tag-blue,.status-badge.status-negotiation{background:var(--info-bg);color:var(--info)}.status-badge.status-queued{background:var(--secondary-bg);color:var(--secondary)}.status-badge.status-in_progress{background:var(--accent-bg);color:var(--accent)}.status-badge.status-completed{background:var(--success-bg);color:var(--success)}.status-badge.status-postponed{background:var(--danger-bg);color:var(--danger)}.type-badge{padding:4px 10px;font-size:12px}.type-badge.bonus{background:var(--secondary-bg);color:var(--secondary)}.avatar-card-icon{background:var(--accent-bg);color:var(--accent);box-shadow:none;border-radius:12px}.avatar-card-icon.tag-purple{background:var(--accent-bg);color:var(--accent);box-shadow:none}.avatar-card-icon.tag-amber{background:var(--secondary-bg);color:var(--secondary);box-shadow:none}.avatar-card-icon.tag-blue,.avatar-card-icon.status-negotiation{background:var(--info-bg);color:var(--info);box-shadow:none}.avatar-card-icon.status-queued{background:var(--secondary-bg);color:var(--secondary);box-shadow:none}.avatar-card-icon.status-in_progress{background:var(--accent-bg);color:var(--accent);box-shadow:none}.avatar-card-icon.status-completed{background:var(--success-bg);color:var(--success);box-shadow:none}.avatar-card-icon.status-postponed{background:var(--danger-bg);color:var(--danger);box-shadow:none}.avatar-card{background:var(--bg)}.avatar-stat-icon{background:var(--surface-2)}.avatar-card-stats{border-top:1px solid var(--border)}.icon-button{width:34px;height:34px;min-height:0;color:var(--text);background:0 0;border:1px solid #0000;border-radius:9px;padding:0}.icon-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);color:var(--text-h)}.icon-button.icon-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:#0000}.card-actions .icon-button{background:var(--bg);border-color:var(--border)}.form-field{color:var(--text);gap:6px;font-size:13px;font-weight:500}.form-field input,.form-field select,.form-field textarea,.page-toolbar input[type=text],.page-toolbar select,.period-range input{border:1px solid var(--border);background:var(--bg);min-height:38px;color:var(--text-h);border-radius:10px;padding:7px 12px;font-size:14px;font-weight:400}.form-field select,.page-toolbar select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238f8a9d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.page-toolbar input[type=text]:focus,.page-toolbar select:focus,.period-range input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.form-field textarea{min-height:80px;line-height:1.45}.form-error{border-radius:10px;padding:10px 12px}.form-hint{color:var(--text-muted);opacity:1}.hard-warning{background:var(--secondary-bg);border:1px solid var(--secondary);border-radius:10px;padding:10px 12px}.period-selector{border:1px solid var(--border);background:var(--bg);border-radius:11px;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:16px;padding:3px;display:inline-flex}.period-btn{min-height:32px;color:var(--text);background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px}.period-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-h);border-color:#0000}.period-btn.active{background:var(--accent-bg);color:var(--accent)}.period-range{padding-left:6px}.period-range input{border-radius:8px;min-height:32px;padding:4px 10px}.period-switch,.view-switch{border-radius:10px;padding:3px}.period-switch button,.view-switch button{border-radius:7px;min-height:28px;padding:0 11px}.modal-overlay{-webkit-backdrop-filter:blur(4px);background:#0a08148c}.modal{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:20px 24px 22px}.modal-header{border-bottom:1px solid var(--border);margin:0 -24px 16px;padding:0 24px 14px}.modal-header h2{font-size:17px}.modal-close{width:32px;height:32px;min-height:0;color:var(--text-muted);border-radius:8px;padding:0;font-size:20px}.modal-close:hover:not(:disabled){background:var(--surface-2);color:var(--text-h)}.modal-actions{gap:8px;margin-top:20px}.consequences{background:var(--surface-2);border-radius:10px;margin:10px 0;padding:12px 12px 12px 30px;font-size:13px;line-height:1.5}.combobox-menu,.status-dropdown-menu{box-shadow:var(--shadow-md);border-radius:12px;padding:6px}.combobox-menu button,.status-dropdown-menu button{border-radius:8px;min-height:34px;font-weight:500}.combobox-menu button:hover:not(:disabled),.status-dropdown-menu button:hover:not(:disabled){background:var(--accent-bg);border-color:#0000}.sidebar-search{background:var(--surface-2);min-height:38px;color:var(--text-muted);border-radius:10px;padding:0 12px;font-size:13px;font-weight:500}.sidebar-search:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong);color:var(--text-h)}.sidebar-search svg{width:16px;height:16px}.sidebar-search kbd{background:var(--bg)}.search-panel{box-shadow:var(--shadow-lg);border-radius:16px}.search-hit{min-height:0;font-weight:500}.find-chip{border-radius:10px}.quick-money button{min-height:44px;box-shadow:var(--shadow-sm);border-radius:12px;padding:0 20px;font-size:15px;font-weight:700}.dash-stat-value{font-size:24px}.leaderboard-rank{background:var(--surface-2)}.list-label,.avatar-stat-label,.entity-card-meta,.entity-card-sub{color:var(--text-muted)}.day-group-title{color:var(--text-muted);letter-spacing:.02em;font-size:13px}.audit-pager button{min-height:34px}.password-gate-card{background:var(--bg);border-radius:20px}@media (width<=880px){.sidebar{height:auto;position:fixed}.sidebar nav a.active:before{display:none}.content{padding:18px 16px 100px}.period-selector{display:flex}.fab{bottom:20px}}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font:inherit;border:1px solid var(--border);background:var(--bg);min-height:38px;color:var(--text-h);border-radius:10px;padding:7px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial}}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.page-toolbar,.audit-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.sidebar nav{scrollbar-width:thin;min-height:0;padding-right:2px;overflow-y:auto}.sidebar-group{flex-direction:column;gap:2px;display:flex}.sidebar-group-toggle{width:100%;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;margin:8px 0 2px;padding:4px 12px;font-size:11px;font-weight:600;display:flex}.sidebar-group-toggle:hover{color:var(--text-h);background:var(--surface-2)}.sidebar-group-toggle svg{opacity:.7;width:14px;height:14px;transition:transform .15s}.sidebar-group.collapsed .sidebar-group-toggle svg{transform:rotate(-90deg)}.sidebar-group.collapsed.holds-current .sidebar-group-toggle{color:var(--accent)}.sidebar-group+.sidebar-group{margin-top:2px}.sidebar nav a{padding:8px 12px}.month-nav{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);align-items:center;gap:4px;padding:2px;display:inline-flex}.month-nav button{color:var(--text);background:0 0;border:0;border-radius:8px;padding:6px 10px}.month-nav button:hover{background:var(--surface-2);color:var(--text-h)}.month-nav .month-nav-label{text-align:center;min-width:140px;color:var(--text-h);text-transform:capitalize;font-weight:600}.report-tabs{flex-wrap:wrap;gap:6px;margin:4px 0 16px;display:flex}.report-tabs button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:7px 14px;font-size:14px}.report-tabs button.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}table.data-table tfoot td{color:var(--text-h);border-top:2px solid var(--border-strong);background:var(--surface-2);font-weight:600}table.data-table td.num,table.data-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data-table td input.cell-input{text-align:right;width:110px;padding:4px 8px}.period-lock-banner{border-radius:var(--r-md);background:var(--secondary-bg);color:var(--text-h);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:14px;display:flex}.period-lock-banner svg{flex-shrink:0;width:18px;height:18px}.money-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.money-grid .figure .sub{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.client-picker-hint{color:var(--text-muted);margin:4px 0 0;font-size:12px}.form-field .combobox,.form-field .combobox input{width:100%}table.data-table td.nowrap,table.data-table th.nowrap{white-space:nowrap}.cash-page{flex-direction:column;gap:18px;display:flex}.cash-page .page-header{margin-bottom:0}.cash-note{color:var(--text-muted);margin:-8px 0 0;font-size:12px}.page-intro{color:var(--text-muted);margin:-6px 0 18px;font-size:14px}.figure .figure-note{color:var(--text-muted);font-size:12px;line-height:1.3}.cash-grid.balance-charts{columns:2;column-gap:14px;margin-bottom:8px;display:block}.balance-charts .chart-card{break-inside:avoid;height:auto;margin-bottom:14px}@media (width<=900px){.cash-grid.balance-charts{columns:1}}.ledger-section{margin-bottom:24px}.ledger-section>h2{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ledger-hint{color:var(--text-muted);font-size:13px;font-weight:400}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .muted{color:var(--text-muted)}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--surface-2)}.data-table tr.subtotal td{border-top:1px solid var(--border-strong)}.tag-badge.tag-red{background:var(--danger-bg);color:var(--danger)}.inventory-table .num{text-align:right;font-variant-numeric:tabular-nums}.inventory-table th.num{text-align:right}.inventory-input{border:1px solid var(--border);background:var(--bg);width:92px;min-height:32px;color:var(--text-h);font:inherit;text-align:right;font-variant-numeric:tabular-nums;border-radius:8px;padding:0 8px;font-size:13px}.inventory-input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.inventory-input.invalid{border-color:var(--danger)}.inventory-table tr.row-shortage td{background:color-mix(in srgb, var(--danger) 7%, transparent)}.inventory-table tr.row-surplus td{background:color-mix(in srgb, var(--success) 7%, transparent)}.inventory-foot{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.inventory-summary{flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.inventory-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inventory-controls .form-field{margin:0}.inventory-card{margin-bottom:10px;padding:0;overflow:hidden}.inventory-card.cancelled{opacity:.7}.inventory-card-head{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.inventory-card-head:hover{background:var(--surface-2)}.inventory-card-head .chevron{color:var(--text-muted);transition:transform .15s;display:inline-flex}.inventory-card-head .chevron.open{transform:rotate(180deg)}.inventory-card-head .chevron svg{width:14px;height:14px}.inventory-card-stats{min-width:200px;color:var(--text-muted);flex:1}.inventory-card-head .btn-secondary{min-height:30px;padding:0 10px;font-size:12px}.inventory-card .table-scroll{border-top:1px solid var(--border)}.cash-section-title{margin:6px 0 -4px}.cash-hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-tile{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;min-width:0;padding:16px 16px 14px;display:flex}.stat-tile>header{color:var(--text);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.stat-tile-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.stat-tile-icon svg{width:17px;height:17px}.stat-tile-icon.tone-success{background:var(--success-bg);color:var(--success)}.stat-tile-icon.tone-accent{background:var(--accent-bg);color:var(--accent)}.stat-tile-icon.tone-info{background:var(--info-bg);color:var(--info)}.stat-tile-icon.tone-secondary{background:var(--secondary-bg);color:var(--secondary)}.stat-tile-value{color:var(--text-h);letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.15}.stat-tile-delta{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.stat-tile-delta.muted{color:var(--text-muted);font-weight:500}.stat-tile-delta svg{width:13px;height:13px}.sparkline{width:100%;min-height:40px;margin-top:auto;padding-top:8px}.share-meter{background:var(--surface-3);border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.share-meter>span{border-radius:999px;height:100%;transition:width .3s;display:block}.cash-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill-select{border:1px solid var(--border);background:var(--bg);min-width:150px;height:40px;color:var(--text-h);border-radius:11px;padding:0 12px;font-size:13px;font-weight:500}.cash-filters .period-selector,.balance-filters .period-selector{margin-bottom:0}.pill-select:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.cash-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:14px;display:grid}.card.chart-card{background:var(--bg);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;min-width:0;padding:16px 18px 14px;display:flex}.card.chart-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:none}.chart-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-card-head h2{margin:0;font-size:16px}.chart-card-hint{color:var(--text-muted);font-size:12px}.chart-card-foot{border-radius:var(--r-md);background:var(--surface-2);color:var(--text);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.chart-card-foot i,.chart-legend i,.flow-summary i,.donut-legend i{border-radius:3px;flex-shrink:0;width:9px;height:9px}.chart-legend{color:var(--text-muted);gap:14px;font-size:12px;display:inline-flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-frame{width:100%;position:relative}.chart-frame svg{display:block}.chart-frame svg:focus-visible{outline:none}.chart-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-tooltip{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;z-index:3;flex-direction:column;gap:2px;padding:8px 10px;display:flex;position:absolute;transform:translate(-50%,-100%)}.chart-tooltip-value{color:var(--text-h);font-size:14px;font-weight:700}.chart-tooltip-label{color:var(--text-muted);font-size:11px}.chart-tooltip-row{min-width:160px;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.chart-tooltip-row i{border-radius:3px;width:8px;height:8px}.chart-tooltip-row .chart-tooltip-value{margin-left:auto;font-size:12px}.donut-layout{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.donut-holder{flex-shrink:0;position:relative}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.donut-center-value{color:var(--text-h);letter-spacing:-.02em;font-size:22px;font-weight:700}.donut-center-label{color:var(--text-muted);font-size:11px}.donut-legend{flex-direction:column;flex:1;gap:2px;min-width:210px;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{border-radius:var(--r-sm);grid-template-columns:9px minmax(64px,1fr) auto 44px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background-color .12s;display:grid}.donut-legend li.hovered{background:var(--surface-2)}.donut-legend-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.donut-legend-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:600}.donut-legend-share{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.flow-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.flow-summary>span{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.flow-summary-label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.flow-summary strong{font-variant-numeric:tabular-nums;font-size:14px}.avg-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.avg-chip{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.avg-chip-label{color:var(--text-muted);font-size:12px}.avg-chip-value{color:var(--text-h);font-size:18px;font-weight:700}.account-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.account-card,.category-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.account-card>header,.category-card>header{align-items:center;gap:10px;min-width:0;display:flex}.account-card-icon,.category-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.account-card-icon svg,.category-card-icon svg{width:16px;height:16px}.account-card-name,.category-card-name{min-width:0;color:var(--text-h);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.account-card-actions,.category-card-actions{flex-shrink:0;gap:4px;margin-left:auto;display:inline-flex}.account-card-value,.category-card-value{color:var(--text-h);letter-spacing:-.02em;font-size:22px;font-weight:700}.account-card-share,.category-card-share{color:var(--text-muted);font-size:11px}.journal-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.journal-card .sheet-scroll{width:calc(100% + 36px);margin:0 -18px -14px}.cash-journal td{vertical-align:middle}.journal-date{color:var(--text-h);font-weight:600;display:block}.journal-time,.journal-desc{color:var(--text-muted);font-size:11px;display:block}.journal-name{color:var(--text-h);font-weight:600;display:block}.journal-accounts{align-items:center;gap:6px;display:inline-flex}.journal-accounts svg{width:13px;height:13px;color:var(--text-muted)}.journal-amount{font-weight:700}.auto-badge{background:var(--accent-bg);color:var(--accent);border-radius:999px;margin-left:6px;padding:2px 7px;font-size:11px}@media (width<=1100px){.cash-grid{grid-template-columns:minmax(0,1fr)}.cash-hero{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.cash-hero,.avg-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tile-value{font-size:21px}.donut-layout{justify-content:center}.donut-legend{min-width:100%}}@media (width<=480px){.cash-hero{grid-template-columns:minmax(0,1fr)}}.bar-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.bar-list li{flex-direction:column;gap:6px;min-width:0;display:flex}.bar-list-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bar-list-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bar-list-value{color:var(--text-h);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.bar-list-track{background:var(--surface-3);border-radius:4px;width:100%;height:12px;display:block;overflow:hidden}.bar-list-track>span{border-radius:2px 5px 5px 2px;height:100%;transition:width .3s;display:block}.bar-list-hint{color:var(--text-muted);font-size:11px}.balance-extra{flex-direction:column;gap:14px;margin-top:28px;display:flex}.balance-extra .cash-section-title{margin:0}.balance-bottom{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.balance-bottom>div{flex-direction:column;min-width:0;display:flex}.balance-bottom>div>h2{flex-shrink:0}.equity-card{flex-direction:column;flex:1;display:flex}.equity-card table{height:100%}@media (width<=1300px){.balance-bottom{grid-template-columns:minmax(0,1fr)}}@media (width>=1120px){.app-layout.railed .balance-bottom{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.table-scroll{min-width:0;overflow-x:auto}.equity-card .table-scroll{flex:1}.stat-tile-icon.tone-danger{background:var(--danger-bg);color:var(--danger)}.category-card{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.category-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.journal-category{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.debt-progress{flex-direction:column;gap:5px;margin:2px 0 4px;display:flex}.debt-progress-note{color:var(--text-muted);font-size:11px}.window-topbar{z-index:30;background:var(--page-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:-28px -32px 18px;padding:10px 32px;animation:none;display:flex;position:sticky;top:0}.topbar-btn{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;min-height:34px;color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.topbar-btn:hover{color:var(--text-h);border-color:var(--border-strong)}.topbar-btn.active{background:var(--accent-bg);color:var(--accent);border-color:#0000}.theme-switch{border:1px solid var(--border);background:var(--bg);border-radius:11px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:inline-flex}.theme-switch button{width:30px;height:26px;min-height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.theme-switch button:hover{color:var(--text-h)}.theme-switch button.active{background:var(--surface-3);color:var(--text-h)}.theme-switch svg{width:16px;height:16px}.sidebar{transition:width .18s}@media (width>=881px){.app-layout.railed .sidebar{width:72px;padding-left:10px;padding-right:10px}.app-layout.railed .brand-text,.app-layout.railed .sidebar-search span,.app-layout.railed .sidebar-search kbd,.app-layout.railed .sidebar-group-toggle,.app-layout.railed .nav-label,.app-layout.railed .sidebar-user-text{display:none}.app-layout.railed .sidebar-header,.app-layout.railed .sidebar-search,.app-layout.railed .sidebar nav a,.app-layout.railed .sidebar-user{justify-content:center}.app-layout.railed .sidebar-search{padding:9px 0}.app-layout.railed .sidebar nav{scrollbar-width:none;padding-right:0}.app-layout.railed .sidebar nav::-webkit-scrollbar{display:none}.app-layout.railed .sidebar nav a{padding:10px 0}.app-layout.railed .sidebar nav a.active:before{display:none}.app-layout.railed .sidebar-group+.sidebar-group{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.app-layout.railed .sidebar-footer{flex-direction:column;gap:8px}.app-layout.railed .sidebar-user{flex:none}}@media (width<=880px){.window-topbar{display:none}.mobile-topbar .theme-switch{background:var(--bg)}}.ai-fab{z-index:120;background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;min-height:52px;padding:0;transition:transform .15s,box-shadow .15s;animation:.3s cubic-bezier(.16,1,.3,1) both ai-pop;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 28px #7c3aed59}.ai-fab:hover{transform:translateY(-2px);box-shadow:0 14px 32px #7c3aed6b}.ai-fab svg{width:22px;height:22px}.ai-panel{z-index:110;background:var(--bg);border-left:1px solid var(--border);width:min(100vw,460px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) both ai-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0}.ai-panel.full{border-left:0;grid-template-columns:300px minmax(0,1fr) 380px;width:100vw;animation:.2s both ai-fade-in;display:grid;left:0}@keyframes ai-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes ai-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ai-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ai-shimmer{to{background-position:-200% 0}}@keyframes ai-blink{50%{opacity:0}}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-side-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes ai-side-in-right{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.ai-main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.ai-panel:not(.full) .ai-main{flex:1}.ai-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.ai-head-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.ai-head-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ai-panel.full .ai-head-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box}.ai-head-sub{color:var(--text-muted);font-size:11px}.ai-icon-btn{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;min-height:34px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.ai-icon-btn:hover:not(:disabled){color:var(--text-h);border-color:var(--border-strong)}.ai-icon-btn.active{background:var(--accent-bg);color:var(--accent);border-color:#0000}.ai-icon-btn.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.ai-icon-btn svg{width:16px;height:16px}.ai-panel.full .ai-only-compact,.ai-panel.full .ai-overlay{display:none}.ai-side{background:var(--bg);flex-direction:column;min-height:0;display:flex}.ai-side-left{border-right:1px solid var(--border);animation:.25s both ai-side-in}.ai-side-right{border-left:1px solid var(--border);animation:.25s both ai-side-in-right}.ai-side-head{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 10px;font-size:12px;font-weight:600;display:flex}.ai-side-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-dialog-list,.ai-journal{flex:1;min-height:0;padding:0 8px 12px;overflow-y:auto}.ai-overlay{z-index:2;background:var(--bg);flex-direction:column;animation:.15s both ai-fade-in;display:flex;position:absolute;inset:59px 0 0;overflow:hidden}.ai-overlay .ai-dialog-list{padding-top:8px}.ai-dialog-item{border-radius:10px;align-items:center;gap:6px;padding:2px;transition:background-color .15s;display:flex}.ai-dialog-item.active{background:var(--accent-bg)}.ai-dialog-open{min-width:0;min-height:0;color:var(--text-h);text-align:left;background:0 0;border:0;border-radius:8px;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:500;display:flex}.ai-dialog-open:hover{background:var(--surface-2)}.ai-dialog-confirm{flex-shrink:0;gap:4px;animation:.15s both ai-pop;display:inline-flex}.ai-dialog-confirm button{border:1px solid var(--border);background:var(--bg);min-height:30px;color:var(--text-h);border-radius:8px;padding:0 10px;font-size:12px;font-weight:600}.ai-dialog-confirm button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.ai-dialog-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.ai-dialog-date{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:400}.ai-notes{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;max-height:42%;display:flex}.ai-notes-count{color:var(--text-muted);font-weight:500}.ai-notes-list{flex:1;min-height:0;margin:0;padding:0 8px;list-style:none;overflow-y:auto}.ai-notes-list li{color:var(--text-h);border-radius:8px;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12.5px;line-height:1.4;display:flex}.ai-notes-list li:hover{background:var(--surface-2)}.ai-notes-list li>span{overflow-wrap:anywhere;flex:1;min-width:0}.ai-notes-list li>button{width:20px;height:20px;min-height:20px;color:var(--text-muted);opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:0;transition:opacity .15s}.ai-notes-list li:hover>button,.ai-notes-list li>button:focus-visible{opacity:1}.ai-notes-list li>button svg{width:12px;height:12px}.ai-notes-list .ai-empty{padding:8px 10px;font-size:12px;display:block}.ai-notes-add{gap:6px;padding:8px 10px 10px;display:flex}.ai-notes-add input{border:1px solid var(--border);background:var(--surface-2);min-width:0;min-height:34px;color:var(--text-h);font:inherit;border-radius:10px;flex:1;padding:0 10px;font-size:13px}.ai-notes-add input:focus{border-color:var(--accent);outline:none}.ai-body{background:var(--bg);scroll-behavior:smooth;flex-direction:column;flex:1;gap:18px;min-height:0;padding:16px 14px;display:flex;overflow-y:auto}.ai-panel.full .ai-body{gap:22px;padding:28px max(24px,50% - 390px) 20px}.ai-panel.full .ai-composer,.ai-panel.full .ai-foot{padding-left:max(24px,50% - 390px);padding-right:max(24px,50% - 390px)}.ai-panel.full .ai-composer{border-top:0;padding-top:4px}.ai-empty,.ai-note{border-radius:var(--r-md);background:var(--surface-2);color:var(--text);padding:12px 14px;font-size:13px;line-height:1.45}.ai-empty{text-align:center;color:var(--text-muted);margin:4px 6px}.ai-note{border:1px solid var(--border)}.ai-welcome{text-align:center;color:var(--text);margin:auto 0;padding:20px 8px;animation:.3s both ai-msg-in}.ai-welcome>svg{width:28px;height:28px;color:var(--accent)}.ai-welcome p{max-width:460px;margin:10px auto 16px;font-size:14px;line-height:1.5}.ai-examples{flex-direction:column;gap:6px;max-width:460px;margin:0 auto;display:flex}.ai-examples button{text-align:left;background:var(--bg);min-height:38px;color:var(--text-h);border:1px solid var(--border);border-radius:10px;justify-content:flex-start;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.ai-examples button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ai-msg{flex-direction:column;max-width:100%;animation:.28s cubic-bezier(.16,1,.3,1) both ai-msg-in;display:flex}.ai-msg.user{align-items:flex-end}.ai-msg.assistant{align-items:flex-start}.ai-bubble{background:var(--accent-bg);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);max-width:84%;color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 6px;padding:10px 14px;font-size:14px;line-height:1.5}.ai-answer{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-h);overflow-wrap:anywhere;border-radius:6px 16px 16px;gap:12px;padding:12px 14px;font-size:14.5px;line-height:1.6;display:flex}.ai-avatar{background:var(--accent-bg);width:24px;height:24px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.ai-avatar svg{width:13px;height:13px}.ai-answer-body{flex:1;min-width:0}.ai-md>:first-child{margin-top:0}.ai-md>:last-child{margin-bottom:0}.ai-md p{margin:0 0 10px}.ai-md h4{margin:12px 0 6px;font-size:14px}.ai-md ul,.ai-md ol{margin:0 0 10px;padding-left:22px}.ai-md li{margin:3px 0}.ai-md code{font-family:var(--mono);background:var(--surface-3);border-radius:5px;padding:1px 5px;font-size:12px}.ai-md pre{background:var(--surface-2);border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:12px;overflow-x:auto}.ai-table-wrap{border:1px solid var(--border);border-radius:10px;margin:4px 0 10px;overflow-x:auto}.ai-md table{border-collapse:collapse;width:100%;font-size:13px}.ai-md th,.ai-md td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px}.ai-md th{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);font-size:11px;font-weight:600}.ai-md tr:last-child td{border-bottom:0}.ai-md th.num,.ai-md td.num{text-align:right;font-variant-numeric:tabular-nums}.ai-link{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 40%, transparent);font-weight:500;text-decoration:none;transition:border-color .15s}.ai-link:hover{border-bottom-color:var(--accent)}.ai-cursor{vertical-align:-2px;background:var(--accent);border-radius:2px;width:7px;height:15px;margin-left:2px;animation:.9s step-end infinite ai-blink;display:inline-block}.ai-thinking{align-items:center;gap:8px;min-height:24px;font-size:14px;font-weight:500;display:inline-flex}.ai-thinking-text{background:linear-gradient(90deg, var(--text-muted) 0%, var(--text-h) 40%, var(--text-muted) 80%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite ai-shimmer}.ai-thinking-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ai-blink}.ai-files{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ai-file{border:1px solid var(--border);background:var(--bg);max-width:100%;min-height:44px;color:var(--text-h);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:13px;transition:border-color .15s,transform .15s;animation:.2s both ai-pop;display:inline-flex}.ai-file:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.ai-file>svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.ai-file-icon{letter-spacing:.04em;color:#fff;background:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:32px;font-size:10px;font-weight:700;display:inline-flex}.ai-file.xls .ai-file-icon{background:#1d7a46}.ai-file.pdf .ai-file-icon{background:#c2410c}.ai-file.doc .ai-file-icon{background:#2b5fb8}.ai-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.ai-file-size{color:var(--text-muted);flex-shrink:0;font-size:11px}.ai-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ai-chip{background:var(--surface-2);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:500;transition:background-color .2s,color .2s;animation:.2s both ai-pop;display:inline-flex}.ai-chip.done{background:var(--success-bg);color:var(--success)}.ai-chip.error{background:var(--danger-bg);color:var(--danger)}.ai-chip svg{width:13px;height:13px}.ai-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite ai-spin}.ai-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-top:6px;padding:8px 10px;font-size:13px}.ai-system{background:var(--surface-2);max-width:92%;color:var(--text-muted);text-align:center;border-radius:999px;align-self:center;padding:4px 12px;font-size:12px;animation:.25s both ai-msg-in}.ai-unlock{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px 14px;animation:.25s both ai-msg-in;display:flex}.ai-unlock-head{color:var(--text-h);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ai-unlock-head svg{width:16px;height:16px;color:var(--accent)}.ai-unlock-note{color:var(--text-muted);margin:0;font-size:12px}.ai-icon-btn.unlocked{color:var(--success)}.ai-unlock input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:10px;padding:10px 12px}.ai-actions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.ai-action{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:10px;padding:10px 12px;animation:.25s both ai-msg-in}.ai-action-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.ai-action-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.ai-action-status{background:var(--accent-bg);color:var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.ai-action-status.confirmed{background:var(--success-bg);color:var(--success)}.ai-action-status.failed{background:var(--danger-bg);color:var(--danger)}.ai-action-status.cancelled,.ai-action-status.undone{background:var(--surface-3);color:var(--text-muted)}.ai-action-summary{color:var(--text-h);font-size:13px;font-weight:500;line-height:1.4}.ai-action-amount{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:6px;font-weight:700;display:inline-block}.ai-action-items{color:var(--text);margin:6px 0 0;padding-left:20px;font-size:12.5px;line-height:1.45}.ai-action-items li{margin:2px 0}.ai-action-details{margin-top:6px;font-size:12px}.ai-action-details summary{cursor:pointer;color:var(--text-muted)}.ai-action-details pre{background:var(--bg);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);border-radius:8px;margin:6px 0 0;padding:8px 10px;font-size:11px}.ai-action-buttons{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ai-action-buttons button{min-height:32px;padding:0 12px;font-size:12.5px}.ai-action-buttons button svg{width:14px;height:14px}.ai-action-buttons input{border:1px solid var(--border);background:var(--bg);min-width:140px;min-height:32px;color:var(--text-h);font:inherit;border-radius:8px;flex:1;padding:0 10px;font-size:13px}.ai-action-tag{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 6px;font-size:12.5px;animation:.25s both ai-msg-in;display:flex}.ai-action-tag-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-action-tag .ai-error{background:0 0;margin:0;padding:0;font-size:12px}.ai-log{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg);border-radius:8px;margin:0 0 6px;padding:8px 10px;transition:opacity .2s;animation:.2s both ai-msg-in}.ai-log.confirmed{border-left-color:var(--success)}.ai-log.failed{border-left-color:var(--danger)}.ai-log.cancelled,.ai-log.undone{border-left-color:var(--border-strong);opacity:.8}.ai-log-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-log-summary{color:var(--text-h);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.ai-log-foot{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.ai-log-foot .ai-action-amount{color:var(--text-h);margin:0;font-size:12px}.ai-log-foot .ai-log-spacer{flex:1}.ai-log-foot .ai-error{flex-basis:100%;margin:2px 0 0}.ai-log .ai-action-buttons{margin-top:6px}.ai-undo{border:1px solid var(--border);background:var(--bg);min-height:26px;color:var(--text-h);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:11.5px;font-weight:600;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.ai-undo svg{width:12px;height:12px}.ai-undo:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.ai-undo.armed{background:var(--danger);border-color:var(--danger);color:#fff}.ai-undo.armed:hover:not(:disabled){color:#fff;border-color:var(--danger)}.ai-undo.done{background:var(--surface-3);color:var(--text-muted);cursor:default;border-color:#0000}.ai-attachments{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-attach-img{border:1px solid var(--border);object-fit:cover;border-radius:10px;max-width:220px;max-height:180px}.ai-attach-chip{background:var(--surface-3);color:var(--text-h);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.ai-attach-chip svg{width:13px;height:13px}.ai-composer{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;display:flex}.ai-composer-row{align-items:flex-end;gap:8px;display:flex}.ai-composer textarea{resize:none;border:1px solid var(--border);background:var(--surface-2);height:42px;min-height:42px;max-height:200px;color:var(--text-h);font:inherit;border-radius:14px;flex:1;padding:11px 14px;font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s;overflow-y:auto}.ai-composer textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.ai-attach{border:1px solid var(--border);background:var(--bg);width:42px;height:42px;min-height:42px;color:var(--text);border-radius:12px;flex-shrink:0;padding:0;transition:color .15s,border-color .15s}.ai-attach:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.ai-mic svg{width:17px;height:17px}.ai-mic.listening{color:var(--danger);border-color:var(--danger);animation:1.2s ease-in-out infinite ai-mic-pulse}@keyframes ai-mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 45%, transparent)}50%{box-shadow:0 0 0 6px #0000}}.ai-send{background:var(--accent);width:42px;height:42px;min-height:42px;color:var(--accent-contrast);border:0;border-radius:12px;flex-shrink:0;padding:0;transition:opacity .15s,transform .15s}.ai-send:not(:disabled):hover{transform:translateY(-1px)}.ai-send:disabled{opacity:.45;cursor:default}.ai-pending{flex-wrap:wrap;gap:6px;display:flex}.ai-pending-item{border:1px solid var(--border);background:var(--surface-2);max-width:220px;color:var(--text-h);border-radius:10px;align-items:center;gap:6px;padding:4px 6px 4px 4px;font-size:12px;animation:.2s both ai-pop;display:inline-flex}.ai-pending-item img{object-fit:cover;border-radius:6px;width:32px;height:32px}.ai-pending-item>svg{width:16px;height:16px;color:var(--text-muted);margin-left:4px}.ai-pending-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-pending-item button{width:22px;height:22px;min-height:22px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:0}.ai-pending-item button svg{width:12px;height:12px}.ai-foot{color:var(--text-muted);background:var(--bg);justify-content:space-between;gap:10px;padding:6px 14px 8px;font-size:11px;display:flex}@media (width<=1100px){.ai-panel.full{grid-template-columns:minmax(0,1fr)}.ai-panel.full .ai-side{display:none}.ai-panel.full .ai-only-compact{display:inline-flex}.ai-panel.full .ai-overlay{display:flex}}@media (width<=720px){.ai-fab{bottom:14px;right:14px}.ai-panel{width:100vw}.ai-bubble{max-width:92%}}@media (prefers-reduced-motion:reduce){.ai-panel,.ai-fab,.ai-msg,.ai-side,.ai-overlay,.ai-chip,.ai-action,.ai-action-tag,.ai-file,.ai-log,.ai-system,.ai-unlock,.ai-welcome,.ai-pending-item,.ai-thinking-text,.ai-thinking-dot,.ai-mic.listening{animation:none}.ai-thinking-text{color:var(--text-muted);background:0 0}.ai-body{scroll-behavior:auto}}
