.confirm-overlay{z-index:10000;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border-radius:var(--radius-md);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:24px}.confirm-dialog h3{color:var(--color-text-primary);margin:0 0 8px;font-size:18px}.confirm-dialog p{color:var(--color-text-secondary);margin:0 0 20px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:24px;right:24px}.toast{border-radius:var(--radius-sm);min-width:280px;max-width:420px;color:var(--color-text-primary);background:var(--color-surface);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary);padding:14px 18px;font-size:14px;font-weight:500;animation:.25s toast-in}.toast--success{border-left-color:var(--color-success);background:var(--color-success-bg)}.toast--error{border-left-color:var(--color-error);background:var(--color-error-bg)}.toast--info{border-left-color:var(--color-primary);background:var(--color-primary-light)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.layout{background:var(--color-background);min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-surface);padding:24px 16px;padding-top:calc(24px + var(--safe-area-top));padding-bottom:calc(24px + var(--safe-area-bottom));height:100dvh;color:var(--color-sidebar-text);flex-direction:column;display:flex;position:sticky;top:0}.sidebar__brand{border-bottom:1px solid var(--color-sidebar-surface);align-items:center;gap:12px;margin-bottom:16px;padding:0 8px 24px;display:flex}.sidebar__logo{background:var(--color-primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.sidebar__brand strong{color:var(--color-sidebar-text-active);word-break:break-word;font-size:15px;line-height:1.3;display:block}.sidebar__brand small{color:var(--color-sidebar-text);font-size:12px}.sidebar__nav{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.sidebar__nav a{border-radius:var(--radius-sm);color:var(--color-sidebar-text);padding:12px 14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.sidebar__nav a:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar__nav a.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active)}.sidebar__logout{border:1px solid var(--color-sidebar-surface);border-radius:var(--radius-sm);color:var(--color-sidebar-text);cursor:pointer;background:0 0;margin-top:auto;padding:12px 14px;font-weight:500}.sidebar__logout:hover{background:var(--color-error-bg);color:var(--color-error);border-color:#0000}.layout__main{padding:32px;padding-top:calc(32px + var(--safe-area-top));padding-right:calc(32px + var(--safe-area-right));padding-bottom:calc(32px + var(--safe-area-bottom));padding-left:calc(32px + var(--safe-area-left));background:var(--color-background);color:var(--color-text-primary);flex:1;min-width:0;overflow-x:auto}@media (width<=900px){.layout{flex-direction:column}.sidebar{z-index:40;width:100%;height:auto;padding:calc(12px + var(--safe-area-top)) 12px 12px;padding-left:calc(12px + var(--safe-area-left));padding-right:calc(12px + var(--safe-area-right));flex-flow:wrap;align-items:center;gap:8px 12px;position:sticky;top:0}.sidebar__brand{border-bottom:none;flex:auto;min-width:0;margin-bottom:0;padding-bottom:0}.sidebar__brand strong{font-size:14px}.sidebar__nav{-webkit-overflow-scrolling:touch;flex-direction:row;flex:100%;gap:6px;padding-bottom:2px;overflow:auto hidden}.sidebar__nav a{white-space:nowrap;flex-shrink:0;padding:10px 12px;font-size:13px}.sidebar__logout{flex-shrink:0;margin-top:0;padding:10px 12px;font-size:13px}.layout__main{padding:16px;padding-bottom:calc(16px + var(--safe-area-bottom));padding-left:calc(16px + var(--safe-area-left));padding-right:calc(16px + var(--safe-area-right))}}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-divider);justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.stat-card__label{color:var(--color-text-secondary);margin-bottom:8px;font-size:13px;display:block}.stat-card__value{color:var(--color-text-primary);font-size:28px;font-weight:700;line-height:1}.stat-card__value .money-value{font-size:inherit;color:var(--color-money)}.stat-card__icon{background:var(--color-primary-light);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.stat-card--success .stat-card__icon{background:var(--color-success-bg)}.stat-card--info .stat-card__icon{background:var(--color-info-bg)}.stat-card--warning .stat-card__icon{background:var(--color-warning-bg)}.page-header{margin-bottom:28px}.page-header h1{color:var(--color-text-primary);margin:0 0 4px;font-size:28px}.page-header p{color:var(--color-text-secondary);margin:0}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.owner-shell-bar{margin-bottom:20px}.owner-shell-bar__actions{margin-bottom:16px}.owner-shell-bar__stats{margin-bottom:0}.stat-card-button{text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.stat-card-button .stat-card{width:100%;transition:transform .15s,box-shadow .15s}.stat-card-button:hover .stat-card{transform:translateY(-1px);box-shadow:0 8px 20px #0f172a14}.table-link{color:var(--color-primary);font-weight:600;text-decoration:none}.table-link:hover{text-decoration:underline}.delete-summary p{margin:0 0 8px}.table-link-button{color:var(--color-primary);cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0;font-weight:600}.table-link-button:hover{text-decoration:underline}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.recent-companies h2{margin:0 0 12px;font-size:18px}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{color:var(--color-text-secondary);background:var(--color-bg);font-weight:600}.data-table a{color:var(--color-primary);font-weight:500;text-decoration:none}.data-table a:hover{text-decoration:underline}.page-error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-sm);padding:16px}.empty-state{text-align:center;background:var(--color-surface);border-radius:var(--radius-md);border:1px dashed var(--color-divider);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state__icon{background:var(--color-primary-light);width:56px;height:56px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:24px;display:flex}.empty-state h3{color:var(--color-text-primary);margin:0 0 8px}.empty-state p{color:var(--color-text-secondary);max-width:360px;margin:0 0 16px}.loading{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.loading--full{min-height:320px}.loading__spinner{border:3px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-header--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.toolbar{margin-bottom:16px}.search-input{border:1px solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-surface);outline:none;width:100%;max-width:480px;padding:12px 14px;font-size:15px}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.table-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-divider);box-shadow:var(--shadow-card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-divider);padding:14px 16px}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:#fafafa;font-size:12px}.data-table tbody tr:hover{background:#fafafa}.data-table tbody tr:last-child td{border-bottom:none}.status-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge--active{background:var(--color-success-bg);color:var(--color-success)}.status-badge--inactive{background:var(--color-error-bg);color:var(--color-error)}.back-link{color:var(--color-primary);margin-bottom:8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.detail-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-divider);box-shadow:var(--shadow-card);padding:20px}.detail-card h2{color:var(--color-text-primary);margin:0 0 16px;font-size:16px}.detail-card dl{flex-direction:column;gap:12px;margin:0;display:flex}.detail-card dt{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:2px;font-size:12px}.detail-card dd{color:var(--color-text-primary);margin:0;font-weight:500}.detail-card--highlight{background:linear-gradient(#fff 0%,#f8fafc 100%)}.detail-metrics{flex-direction:column;gap:16px;display:flex}.detail-metrics span{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px;display:block}.detail-metrics strong{color:var(--color-text-primary);font-size:22px}.detail-grid--stacked{grid-template-columns:1fr}.detail-grid--stacked .detail-card{grid-column:1/-1}.activity-timeline{gap:12px;display:grid}.activity-timeline__item{border:1px solid var(--color-divider);border-radius:var(--radius-sm);background:#fafafa;padding:16px}.activity-timeline__meta{color:var(--color-text-secondary);margin-bottom:8px;font-size:13px}.activity-timeline__text{white-space:pre-wrap;margin:0 0 12px;line-height:1.5}.activity-timeline__photos{flex-wrap:wrap;gap:8px;display:flex}.owner-form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.owner-form label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.owner-form input{border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}.form-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-divider);box-shadow:var(--shadow-card);max-width:760px;padding:24px}.company-form{flex-direction:column;gap:20px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid__full{grid-column:1/-1}.company-form label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.company-form input{border:1px solid var(--color-divider);border-radius:var(--radius-sm);outline:none;padding:12px 14px;font-size:15px}.company-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.simple-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.simple-chart h3{color:var(--color-text-primary);margin:0 0 16px;font-size:16px}.simple-chart__bars{flex-direction:column;gap:10px;display:flex}.simple-chart__row{grid-template-columns:52px 1fr 32px;align-items:center;gap:8px;display:grid}.simple-chart__label{color:var(--color-text-secondary);font-size:12px}.simple-chart__track{background:var(--color-bg);border-radius:999px;height:10px;overflow:hidden}.simple-chart__bar{background:var(--color-primary);border-radius:999px;min-width:2px;height:100%}.simple-chart__value{text-align:right;font-size:12px;font-weight:600}.simple-pie{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.simple-pie h3{color:var(--color-text-primary);margin:0 0 16px;font-size:16px}.simple-pie__content{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.simple-pie__chart{border-radius:50%;flex-shrink:0;width:140px;height:140px}.simple-pie__legend{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.simple-pie__legend li{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.simple-pie__legend span{border-radius:50%;flex-shrink:0;width:12px;height:12px}.license-expired{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.license-expired__card{text-align:center;background:#fff;border:2px solid #dc2626;border-radius:12px;max-width:480px;padding:32px;box-shadow:0 8px 24px #dc26261f}.license-expired__card h1{color:#dc2626;margin:0 0 16px;font-size:1.5rem}.license-expired__card p{color:#374151;margin:0 0 24px;line-height:1.6}.license-expired__btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:12px 24px;font-weight:600}.license-expired__btn:hover{background:#b91c1c}.login-page{background:linear-gradient(135deg, #eff6ff 0%, var(--color-background) 50%, #f9fafb 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--color-divider);padding:36px}.login-card__header{text-align:center;margin-bottom:28px}.login-card__logo{background:var(--color-primary);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;font-size:18px;font-weight:700;display:inline-flex}.login-card__header h1{color:var(--color-text-primary);margin:0 0 4px;font-size:24px}.login-card__header p{color:var(--color-text-secondary);margin:0;font-size:14px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.login-form input{border:1px solid var(--color-divider);border-radius:var(--radius-sm);outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-background:#e8edf5;--color-surface:#fff;--color-divider:#d5dde8;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-hint:#94a3b8;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-error:#dc2626;--color-error-bg:#fee2e2;--color-info:#0369a1;--color-info-bg:#e0f2fe;--color-sidebar-bg:#0f172a;--color-sidebar-surface:#1e293b;--color-sidebar-text:#cbd5e1;--color-sidebar-text-active:#fff;--color-sidebar-hover:#334155;--color-sidebar-active:#1d4ed8;--color-money:#0f766e;--color-money-bg:#ccfbf1;--shadow-card:0 1px 3px #0f172a1a, 0 1px 2px #0f172a0f;--shadow-lg:0 10px 15px -3px #0f172a1a, 0 4px 6px -4px #0f172a14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sidebar-width:260px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--font-family:"Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-background);-webkit-font-smoothing:antialiased}a{color:inherit}.page{max-width:1200px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-divider)}.btn--secondary:hover:not(:disabled){background:var(--color-background)}.btn--ghost{color:var(--color-primary);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--color-primary-light)}.btn--block{width:100%}.btn--sm{padding:6px 12px;font-size:13px}.form-error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px}.page-error{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px}.money-value{font-variant-numeric:tabular-nums;color:var(--color-money);letter-spacing:-.01em;align-items:baseline;gap:4px;font-weight:700;display:inline-flex}.money-value--lg{font-size:1.5rem;line-height:1.2}.money-value--xl{font-size:1.85rem;line-height:1.15}.money-total-row{border-radius:var(--radius-md);background:var(--color-money-bg);border:1px solid #99f6e4;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.money-total-row__label{color:var(--color-text-primary);font-size:15px;font-weight:700}.vehicle-brand-highlight{border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary-dark);margin-top:6px;padding:6px 12px;font-size:15px;font-weight:700;display:inline-block}.paragraph-text{white-space:pre-wrap;line-height:1.55}.detail-card--highlight strong,.detail-card--highlight .money-value{color:var(--color-money)}
