.app-shell{display:flex;min-height:100vh;background:var(--surface)}.sidebar{position:sticky;top:0;width:var(--sidebar-width);height:100vh;flex-shrink:0;display:flex;flex-direction:column;padding:var(--space-6) var(--space-4);background:var(--deep-forest);color:var(--text-on-dark);border-right:1px solid var(--border-on-dark)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3) var(--space-8)}.sidebar-close{display:none;border:none;background:none;color:var(--text-on-dark-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-on-dark-muted);font-family:var(--font-body);font-size:14px;font-weight:500;text-align:left;transition:background var(--transition),color var(--transition)}.nav-item:hover{background:#a7f3d00f;color:var(--mint-white)}.nav-item.active{color:var(--mint-white)}.nav-item.active svg{color:var(--async-green)}.sidebar-footer{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-on-dark)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.avatar{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--async-green) center / cover no-repeat;color:var(--deep-forest);font-family:var(--font-display);font-size:13px;font-weight:600}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{overflow:hidden;font-size:14px;font-weight:500;color:var(--mint-white);text-overflow:ellipsis;white-space:nowrap}.sidebar-user-plan{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-dark-muted)}.nav-logout:hover{color:#fca5a5;background:#ef444414}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.page-content{flex:1;padding:var(--space-8)}.mobile-topbar{display:none}.subscription-banner{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:12px var(--space-8);background:var(--white);border-bottom:1px solid var(--border);font-size:14px;color:var(--text-secondary)}.subscription-banner.danger{background:var(--state-error-soft);color:var(--state-error-text)}.subscription-banner.warning{background:var(--state-warning-soft);color:var(--state-warning-text)}.sidebar-backdrop{display:none}@media (max-width: 960px){.sidebar{position:fixed;left:0;z-index:50;transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}.sidebar.open{transform:translate(0);visibility:visible;transition:transform .2s ease}.sidebar-close{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0b0f0b66}.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-4);background:var(--white);border-bottom:1px solid var(--border)}.page-content{padding:var(--space-6) var(--space-4)}.subscription-banner{padding:12px var(--space-4)}}.page-content:focus{outline:none}.terms-gate{display:flex;flex-direction:column;gap:var(--space-4);max-width:560px;margin:var(--space-12) auto}.terms-gate-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--deep-forest)}.terms-gate .card-title{margin:0}.terms-gate p{margin:0;line-height:1.6}.terms-gate-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}@font-face{font-family:Geist;src:url(/assets/Geist-Regular-rEkwi4hp.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Medium-DdmPy8f2.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-SemiBold-Dgivxjvs.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Bold-COtuY0uS.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Regular-C38fXH4l.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Medium-Cerq10X2.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-V6pRDFza.woff2) format("woff2");font-weight:400;font-display:swap}:root{--deep-forest: #0B0F0B;--mint-white: #E9F7EC;--sage-gray: #47594D;--async-green: #22C55E;--light-mint: #A7F3D0;--white: #FFFFFF;--background: #FFFFFF;--surface: #F8FCF9;--surface-soft: #E9F7EC;--text-primary: #0B0F0B;--text-secondary: #47594D;--text-on-dark: #E9F7EC;--text-on-dark-muted: rgba(233, 247, 236, .64);--border: rgba(71, 89, 77, .15);--border-strong: rgba(71, 89, 77, .32);--border-control: #7C8A80;--text-placeholder: #5F6F65;--border-on-dark: rgba(167, 243, 208, .12);--brand-primary: var(--async-green);--brand-soft: var(--light-mint);--state-success: var(--async-green);--state-info: #3B82F6;--state-warning: #F59E0B;--state-error: #EF4444;--state-neutral: var(--sage-gray);--state-error-soft: rgba(239, 68, 68, .12);--state-warning-soft: rgba(245, 158, 11, .14);--state-info-soft: rgba(59, 130, 246, .12);--state-error-text: #B91C1C;--state-warning-text: #92400E;--positive-text: #15803D;--font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--shadow-card: 0 12px 32px rgba(11, 15, 11, .08);--shadow-soft: 0 2px 8px rgba(11, 15, 11, .04);--sidebar-width: 248px;--focus-color: #15803D;--focus-color-on-dark: #A7F3D0;--focus-ring: 0 0 0 2px #FFFFFF, 0 0 0 4px var(--focus-color);--danger-strong: #DC2626;--transition: .14s ease;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .16s;--dur-base: .28s;--dur-slow: .52s;--rise: 12px;--stagger: 55ms}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--background);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em}h1{font-weight:700;line-height:1.2}h2{font-weight:600;line-height:1.2}h3{font-weight:600;line-height:1.3}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px;border-radius:var(--radius-sm)}.sidebar :focus-visible,.card-dark :focus-visible,.toast :focus-visible{outline-color:var(--focus-color-on-dark)}img{max-width:100%;display:block}.lucide{stroke-width:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.mono{font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-positive{color:var(--positive-text)}.text-danger,.text-negative{color:var(--state-error-text)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fade-in .22s ease backwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 20px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:15px;font-weight:500;line-height:1;white-space:nowrap;transition:filter var(--transition),background var(--transition),border-color var(--transition),color var(--transition)}.btn:disabled{opacity:.55}.btn-primary{background:var(--async-green);color:var(--deep-forest)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-control)}.btn-secondary:hover:not(:disabled){border-color:var(--async-green)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-soft);color:var(--text-primary)}.btn-danger{background:var(--danger-strong);color:var(--white)}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-danger-outline{background:transparent;color:var(--state-error-text);border-color:#ef444459}.btn-danger-outline:hover:not(:disabled){background:var(--state-error-soft)}.btn-tertiary{padding:0;border:none;background:none;color:var(--positive-text);font-weight:500}.btn-tertiary:hover{text-decoration:underline}.btn-on-dark.btn-secondary{color:var(--mint-white);border-color:#a7f3d059}.btn-on-dark.btn-secondary:hover:not(:disabled){border-color:var(--async-green)}.btn-sm{padding:8px 12px;font-size:14px}.btn-lg{padding:16px 24px;font-size:16px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.icon-btn:hover:not(:disabled){background:var(--surface-soft);color:var(--text-primary)}.icon-btn.danger:hover:not(:disabled){background:var(--state-error-soft);color:var(--state-error-text)}.icon-btn.success:hover:not(:disabled){background:var(--surface-soft);color:var(--positive-text)}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.card-title{font-family:var(--font-display);font-size:17px;font-weight:600}.card-subtitle{margin-top:2px;font-size:13px;color:var(--text-secondary)}.card-dark{background:var(--deep-forest);border-color:var(--border-on-dark);color:var(--text-on-dark)}.card-dark .card-title{color:var(--mint-white)}.card-dark .card-subtitle{color:var(--text-on-dark-muted)}.page{display:flex;flex-direction:column;gap:var(--space-6);max-width:1320px;margin:0 auto;width:100%}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.eyebrow{display:block;margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}.page-title{font-size:30px;font-weight:600}.page-subtitle{margin-top:var(--space-1);color:var(--text-secondary)}.page-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.kpi-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md)}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--deep-forest)}.kpi-icon.accent{background:var(--deep-forest);color:var(--async-green)}.kpi-icon.warning{background:var(--state-warning-soft);color:var(--state-warning-text)}.kpi-icon.danger{background:var(--state-error-soft);color:var(--state-error-text)}.kpi-value{font-family:var(--font-mono);font-size:24px;font-weight:400;letter-spacing:-.02em;color:var(--text-primary)}.kpi-hint{font-size:13px;color:var(--text-secondary)}.form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:14px;font-weight:500;color:var(--text-primary)}.field-label .required{color:var(--state-error-text)}.field-hint{font-size:12px;color:var(--text-secondary)}.field-error{display:flex;align-items:center;gap:var(--space-1);font-size:13px;color:var(--state-error-text)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field-row-city{grid-template-columns:minmax(0,1fr) 88px}.field-group{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.field-group>legend{padding:0 var(--space-1)}.input,.select,.textarea{width:100%;padding:11px 14px;background:var(--white);border:1px solid var(--border-control);border-radius:var(--radius-sm);font-size:15px;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder,.textarea::placeholder{color:var(--text-placeholder)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--async-green);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface);color:var(--text-secondary)}.input.has-error{border-color:var(--state-error)}.input-money{font-family:var(--font-mono);font-size:16px}.textarea{resize:vertical;min-height:88px}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:40px}.input-group-icon{position:absolute;left:13px;color:var(--text-secondary);pointer-events:none}.search-box{position:relative;display:flex;align-items:center;min-width:240px}.search-box .input{padding-left:38px}.search-box svg{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.segmented{display:inline-flex;padding:4px;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented button{padding:7px 14px;border:none;border-radius:7px;background:transparent;font-size:14px;font-weight:500;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.segmented button:hover,.segmented button.active{color:var(--text-primary)}.toggle-type{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.toggle-type button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);font-weight:500;color:var(--text-secondary)}.toggle-type button.active{border-color:var(--deep-forest);background:var(--deep-forest);color:var(--mint-white)}.toggle-type button.active svg{color:var(--async-green)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:8px;font-size:13px;font-weight:500;line-height:20px;white-space:nowrap}.badge-success{background:var(--async-green);color:var(--deep-forest)}.badge-soft{background:var(--light-mint);color:var(--deep-forest)}.badge-danger{background:var(--state-error-soft);color:var(--state-error-text)}.badge-warning{background:var(--state-warning-soft);color:var(--state-warning-text)}.badge-neutral{background:var(--surface-soft);color:var(--text-secondary)}.badge-info{background:var(--state-info-soft);color:#1d4ed8}.table-wrapper{position:relative;width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{padding:10px 16px;text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface)}.table .num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.table .actions{text-align:right;white-space:nowrap}.cell-primary{font-weight:500;color:var(--text-primary)}.cell-secondary{margin-top:2px;font-size:13px;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0b0f0b7a}.modal{width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.modal-sm{max-width:420px}.modal-lg{max-width:780px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4)}.modal-title{font-size:20px;font-weight:600}.modal-body{padding:0 var(--space-6) var(--space-6);overflow-y:auto}.modal-body>p{color:var(--text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--surface)}.alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:12px 14px;border-radius:var(--radius-sm);font-size:14px}.alert svg{flex-shrink:0;margin-top:1px}.alert-error{background:var(--state-error-soft);color:var(--state-error-text)}.alert-success{background:var(--surface-soft);color:var(--deep-forest)}.alert-warning{background:var(--state-warning-soft);color:var(--state-warning-text)}.alert-info{background:var(--state-info-soft);color:#1d4ed8}.spinner{width:22px;height:22px;border:2px solid rgba(34,197,94,.25);border-top-color:var(--async-green);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:240px;color:var(--text-secondary);font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-secondary)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--sage-gray)}.empty-state-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary)}.empty-state .btn{margin-top:var(--space-3)}.toast-stack{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:12px 14px;background:var(--deep-forest);color:var(--mint-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);font-size:14px}.toast svg{flex-shrink:0;margin-top:1px}.toast-success svg{color:var(--async-green)}.toast-error svg{color:#fca5a5}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.progress{width:100%;height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--async-green);transition:width .4s ease}.chart-tooltip{padding:10px 12px;background:var(--deep-forest);color:var(--mint-white);border-radius:var(--radius-sm);font-size:13px;box-shadow:var(--shadow-card)}.chart-tooltip-label{margin-bottom:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-dark-muted)}.chart-tooltip-row{display:flex;align-items:center;gap:8px}.chart-tooltip-row+.chart-tooltip-row{margin-top:4px}.chart-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.chart-tooltip-value{margin-left:auto;padding-left:12px;font-family:var(--font-mono)}.legend{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.legend-item{display:inline-flex;align-items:center;gap:6px}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.kpi-card{padding:var(--space-4);gap:var(--space-2)}.kpi-value{font-size:17px}.kpi-icon{width:30px;height:30px}.kpi-label{font-size:13px}.field-row{grid-template-columns:1fr}.page-title{font-size:24px}.card{padding:var(--space-4)}.search-box{min-width:0;width:100%}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toast-stack{right:16px;left:16px;bottom:16px}}.logo{display:inline-flex;align-items:center;gap:.34em;font-family:var(--font-display);line-height:1;letter-spacing:-.02em;color:var(--deep-forest);white-space:nowrap}.logo-mark{flex-shrink:0;overflow:visible}.logo .logo-mark{transform:translateY(-.04em)}.logo-strong{font-weight:700}.logo-light{font-weight:400}.logo-on-dark{color:var(--mint-white)}.plan-limit{align-items:center;justify-content:space-between;flex-wrap:wrap}.alert .btn-tertiary{color:inherit;text-decoration:underline}.toast{position:relative;padding-right:36px}.toast-info svg{color:#93c5fd}.toast-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;color:inherit;opacity:.8}.toast-close:hover{opacity:1;background:#e9f7ec1f}.inline-error{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.error-boundary{min-height:50vh;justify-content:center}.skip-link{position:absolute;top:8px;left:8px;z-index:300;padding:10px 16px;background:var(--deep-forest);color:var(--mint-white);border-radius:var(--radius-sm);transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.period-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.month-nav{display:flex;align-items:center;gap:var(--space-2)}.month-label{min-width:170px;text-align:center;font-family:var(--font-display);font-size:17px;font-weight:600}.chart-data-table caption{text-align:left}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);font-size:14px;color:var(--text-secondary)}.items-editor{display:flex;flex-direction:column;gap:var(--space-2)}.items-editor-head,.items-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 116px 116px 36px;gap:var(--space-2);align-items:center}.items-editor.no-discount .items-editor-head,.items-editor.no-discount .items-editor-row{grid-template-columns:minmax(0,1fr) 76px 116px 36px}.items-editor-order{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-sm)}.items-editor-order .input{flex:1 1 200px;min-width:0}.items-editor-cell{display:block;min-width:0}.items-editor-cell .input{width:100%}.items-editor-cell-label{display:none}.items-editor-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.items-editor-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:14px;color:var(--text-secondary)}.items-editor-total strong{font-family:var(--font-mono);font-size:18px;color:var(--text-primary)}@media (max-width: 640px){.items-editor-head{display:none}.items-editor-row,.items-editor.no-discount .items-editor-row{grid-template-columns:1fr 1fr;padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.items-editor-row>:first-child{grid-column:1 / -1}.items-editor-cell-label{display:block;margin-bottom:4px;font-size:12px;color:var(--text-secondary)}.items-editor-row>.icon-btn{align-self:end;justify-self:end}}.checkbox-field{display:flex;align-items:flex-start;gap:var(--space-3);font-size:14px;color:var(--text-primary);cursor:pointer}.checkbox-field input{width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--deep-forest)}.checkbox-field .field-hint{display:block;margin-top:2px}.sale-detail{display:flex;flex-direction:column;gap:var(--space-4)}.sale-detail .section-title,.history-products .section-title,.attachments .section-title{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.sale-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin:0}.sale-meta dt{font-size:13px;color:var(--text-secondary)}.sale-meta dd{margin:2px 0 0;font-weight:500}.sale-meta .sale-meta-wide{grid-column:1 / -1}.order-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.order-box-due{font-size:14px}.order-box-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.table tfoot th,.table tfoot td{border-top:1px solid var(--border);text-align:right}.cancel-box{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--state-error-soft);border-radius:var(--radius-sm);background:var(--surface)}.cancel-box p{margin:0;font-size:14px}.text-muted-strike{color:var(--text-secondary);text-decoration:line-through}.import-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-file{position:relative;overflow:hidden}.import-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.import-file:focus-within{outline:2px solid var(--focus-color);outline-offset:2px}.attachments{display:grid;gap:var(--space-3)}.attachments-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.attachments-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm)}.attachments-name{display:flex;flex:1;flex-direction:column;min-width:0}.attachments-name .cell-primary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachments-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.attachments-preview{margin:0}.attachments-preview img{display:block;max-width:100%;max-height:60vh;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.attachments-preview figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);font-size:13px;color:var(--text-secondary)}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:none}}@keyframes logo-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes logo-loop{0%{stroke-dashoffset:1}45%,60%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}@keyframes flow-drift{0%{transform:translate(-2.5%)}to{transform:translate(2.5%)}}@keyframes flow-draw{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.logo-mark-draw path,.logo-mark-loop path{stroke-dasharray:1;stroke-dashoffset:1}.logo-mark-draw path{animation:logo-draw 1.1s var(--ease-in-out) .12s forwards}.logo-mark-loop path{animation:logo-loop 1.8s var(--ease-in-out) infinite}.logo-animated .logo-text{animation:rise-in var(--dur-slow) var(--ease-out) .38s backwards}.flow-animated .flow-layer{transform-box:view-box;animation:flow-drift 14s var(--ease-in-out) infinite alternate}.flow-animated .flow-layer:nth-child(2){animation-duration:18s;animation-direction:alternate-reverse}.flow-animated .flow-layer:nth-child(3){animation-duration:11s}.flow-animated .flow-layer path{stroke-dasharray:1;stroke-dashoffset:1;animation:flow-draw 1.8s var(--ease-out) forwards}.flow-animated .flow-layer:nth-child(2) path{animation-delay:.2s}.flow-animated .flow-layer:nth-child(3) path{animation-delay:.42s}.page>*,.kpi-grid>*,.dashboard-main>*,.dashboard-side>*,.tx-list>li,.schedule-list>li,.stock-list>li,.category-list>li,.table tbody tr{animation:rise-in var(--dur-slow) var(--ease-out) backwards}.page>.modal-overlay{animation:none}.page>*:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.page>*:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.page>*:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.page>*:nth-child(n+5){animation-delay:calc(var(--stagger) * 4)}.kpi-grid>*:nth-child(1){animation-delay:calc(var(--stagger) * 2)}.kpi-grid>*:nth-child(2){animation-delay:calc(var(--stagger) * 3)}.kpi-grid>*:nth-child(3){animation-delay:calc(var(--stagger) * 4)}.kpi-grid>*:nth-child(4){animation-delay:calc(var(--stagger) * 5)}.dashboard-main>*:nth-child(2),.dashboard-side>*:nth-child(2){animation-delay:calc(var(--stagger) * 2)}.dashboard-side>*:nth-child(3){animation-delay:calc(var(--stagger) * 3)}.table tbody tr,.tx-list>li,.schedule-list>li,.stock-list>li,.category-list>li{--rise: 6px;animation-duration:var(--dur-base)}.table tbody tr:nth-child(1),.tx-list>li:nth-child(1),.schedule-list>li:nth-child(1),.stock-list>li:nth-child(1),.category-list>li:nth-child(1){animation-delay:.16s}.table tbody tr:nth-child(2),.tx-list>li:nth-child(2),.schedule-list>li:nth-child(2),.stock-list>li:nth-child(2),.category-list>li:nth-child(2){animation-delay:.19s}.table tbody tr:nth-child(3),.tx-list>li:nth-child(3),.schedule-list>li:nth-child(3),.stock-list>li:nth-child(3),.category-list>li:nth-child(3){animation-delay:.22s}.table tbody tr:nth-child(4),.tx-list>li:nth-child(4),.schedule-list>li:nth-child(4),.stock-list>li:nth-child(4),.category-list>li:nth-child(4){animation-delay:.25s}.table tbody tr:nth-child(5),.tx-list>li:nth-child(5),.schedule-list>li:nth-child(5),.stock-list>li:nth-child(5),.category-list>li:nth-child(5){animation-delay:.28s}.table tbody tr:nth-child(6),.category-list>li:nth-child(6){animation-delay:.31s}.table tbody tr:nth-child(7){animation-delay:.34s}.table tbody tr:nth-child(8){animation-delay:.37s}.table tbody tr:nth-child(n+9){animation-delay:.4s}.progress-fill{transform-origin:left center;animation:grow-x .9s var(--ease-out) .3s backwards}.agenda-event{animation:pop-in var(--dur-base) var(--ease-out) backwards;animation-delay:calc(.12s + var(--i, 0) * 40ms)}.btn{transition:filter var(--transition),background var(--transition),border-color var(--transition),color var(--transition),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e38}.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:none}.icon-btn{transition:background var(--transition),color var(--transition),transform var(--dur-fast) var(--ease-out)}.icon-btn:active:not(:disabled){transform:scale(.9)}.kpi-card,.feature,.plan-card{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) ease}.kpi-card:hover,.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);border-color:#22c55e59}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.kpi-icon,.feature-icon{transition:transform var(--dur-base) var(--ease-out),background var(--dur-base) ease,color var(--dur-base) ease}.kpi-card:hover .kpi-icon,.feature:hover .feature-icon{transform:rotate(-6deg) scale(1.08)}.feature:hover .feature-icon{background:var(--deep-forest);color:var(--async-green)}.nav-item,.settings-nav-item,.segmented button{position:relative}.nav-item>:not(.nav-indicator),.settings-nav-item>:not(.nav-indicator),.segmented button>:not(.segmented-pill){position:relative;z-index:1}.nav-indicator{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);background:#22c55e1f;box-shadow:inset 3px 0 0 var(--async-green)}.settings-nav .nav-indicator{background:var(--white);box-shadow:inset 3px 0 0 var(--async-green)}.segmented-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;background:var(--white);box-shadow:0 1px 3px #0b0f0b1a}.kpi-value,.count-up{font-variant-numeric:tabular-nums}@media (max-width: 860px){.settings-nav .nav-indicator{box-shadow:inset 0 -2px 0 var(--async-green)}}@media (prefers-reduced-motion: reduce){.flow-animated .flow-layer,.flow-animated .flow-layer path,.logo-mark-draw path,.logo-mark-loop path{animation:none!important;stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:var(--focus-color)}}
