@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-sidebar-bg: #0F1B2D;--color-sidebar-hover: #1A2E47;--color-sidebar-active: #1E3555;--color-sidebar-border: #1E3A5F22;--color-accent: #3D5A80;--color-accent-light: #4A6FA0;--color-highlight: #E07A5F;--color-highlight-hover: #D4674D;--color-canvas: #F7F8FA;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-border: #E4E8EE;--color-border-subtle: #F0F2F6;--color-text-primary: #1A2433;--color-text-secondary: #5A6A7E;--color-text-muted: #8A9BB0;--color-text-inverse: #F7F8FA;--color-text-sidebar: #B8C8DC;--color-text-sidebar-active: #FFFFFF;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-loose: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--border-width: 1px;--border: 1px solid var(--color-border);--border-subtle: 1px solid var(--color-border-subtle);--shadow-sm: 0 1px 3px rgba(15, 27, 45, .06), 0 1px 2px rgba(15, 27, 45, .04);--shadow-md: 0 4px 12px rgba(15, 27, 45, .08), 0 2px 4px rgba(15, 27, 45, .04);--shadow-lg: 0 8px 24px rgba(15, 27, 45, .12), 0 4px 8px rgba(15, 27, 45, .06);--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 64px;--ease: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .22s;--duration-slow: .3s;--transition-base: var(--duration-normal) var(--ease);--transition-fast: var(--duration-fast) var(--ease);--transition-slow: var(--duration-slow) var(--ease)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background:var(--color-canvas);line-height:var(--line-height-normal);overflow:hidden;height:100dvh}#root{height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{color:var(--color-text-secondary);line-height:var(--line-height-loose)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{display:flex;height:100dvh;width:100vw;overflow:hidden}.main{flex:1;min-width:0;overflow-y:auto;background:var(--color-canvas);transition:padding-left var(--duration-slow) var(--ease)}.page{padding:var(--space-8) var(--space-10);max-width:1200px}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.page-header p{font-size:var(--font-size-md);color:var(--color-text-secondary)}.card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card__header{padding:var(--space-5) var(--space-6);border-bottom:var(--border);display:flex;align-items:center;justify-content:space-between}.card__header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.card__body{padding:var(--space-6)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5)}.stat-card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;align-items:flex-start;gap:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card__icon{width:40px;height:40px;background:#eef3f9;color:var(--color-accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__body{display:flex;flex-direction:column;gap:var(--space-1)}.stat-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.stat-card__change{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.stat-card__change.up{color:#2e7d55}.stat-card__change.down{color:#c0392b}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family);cursor:pointer;border:none;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-light);box-shadow:0 2px 8px #3d5a804d}.btn-highlight{background:var(--color-highlight);color:#fff}.btn-highlight:hover{background:var(--color-highlight-hover);box-shadow:0 2px 8px #e07a5f4d}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:var(--border)}.btn-ghost:hover{background:var(--color-border-subtle);color:var(--color-text-primary)}.input{width:100%;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3d5a801f}.input::placeholder{color:var(--color-text-muted)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--color-canvas);background-image:linear-gradient(var(--color-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,transparent 1px);background-size:32px 32px}.login-card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10) var(--space-10);width:100%;max-width:400px;animation:loginCardIn var(--duration-slow) var(--ease) both}@keyframes loginCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);text-align:center}.login-logo{width:48px;height:48px;background:var(--color-highlight);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #e07a5f66;margin-bottom:var(--space-2)}.login-logo span{color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}.login-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.login-error{display:flex;align-items:center;gap:var(--space-2);background:#fef2f2;border:1px solid #FECACA;color:#b91c1c;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-5);animation:errorIn var(--duration-fast) var(--ease) both}@keyframes errorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-error svg{flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-field{display:flex;flex-direction:column;gap:var(--space-2)}.login-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;transition:color var(--transition-fast)}.login-input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) calc(var(--space-3) + 15px + var(--space-3));border:var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3d5a801f}.login-input:focus+.login-input-icon,.login-input-wrap:focus-within .login-input-icon{color:var(--color-accent)}.login-input--error{border-color:#fecaca}.login-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-input::placeholder{color:var(--color-text-muted)}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;margin-top:var(--space-2);transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.login-btn:hover:not(:disabled){background:var(--color-accent-light);box-shadow:0 4px 14px #3d5a8059}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.65;cursor:not-allowed}.login-spinner{animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cnf-form{display:flex;flex-direction:column;gap:var(--space-4)}.cnf-field{display:flex;flex-direction:column;gap:var(--space-1)}.cnf-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.cnf-error{font-size:var(--font-size-sm);color:var(--color-highlight)}.cnf-loading{color:var(--color-text-muted);font-size:var(--font-size-sm)}.cnf-upload-dropzone{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm)}.cnf-upload-dropzone:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.cnf-hidden-input{display:none}.cnf-submit{margin-top:var(--space-2);align-self:flex-start}.cnf-login-card{max-width:480px;max-height:90vh;overflow-y:auto}.acc-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.acc-field{display:flex;flex-direction:column;gap:var(--space-1)}.acc-field--id{grid-column:1 / -1}.acc-field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.acc-field-input-wrap{position:relative;display:flex;align-items:center}.acc-field-input-wrap .input{flex:1;padding-right:var(--space-8)}.acc-field-icon-btn{position:absolute;right:var(--space-2);border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center}.acc-field-icon-btn:hover{color:var(--color-text-primary)}.acc-id-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.acc-id-download{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:none}.acc-id-download:hover{color:var(--color-accent-light)}.acc-id-upload-label{padding:var(--space-2) var(--space-4);border:var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;background:var(--color-surface)}.acc-id-upload-label:hover{background:var(--color-canvas)}.acc-hidden-input{display:none}.am-root{display:flex;flex-direction:column;gap:var(--space-5)}.am-topbar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.am-type-filter{max-width:200px}.am-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.am-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.am-search-input{padding-left:calc(var(--space-3) + 14px + var(--space-2))}.am-topbar-actions{margin-left:auto;display:flex;gap:var(--space-3)}.am-view-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:var(--border);border-radius:var(--radius-md);background:var(--color-canvas);flex-shrink:0}.am-view-tab{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:var(--transition-fast)}.am-view-tab:hover{color:var(--color-text-primary)}.am-view-tab--active{background:var(--color-accent);color:var(--color-text-inverse)}.am-view-tab--active:hover{color:var(--color-text-inverse)}.am-list{display:flex;flex-direction:column;gap:var(--space-3)}.am-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);cursor:pointer}.am-row-main{display:flex;align-items:center;gap:var(--space-4)}.am-row-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-primary)}.am-row-type{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize;background:var(--color-canvas);padding:2px var(--space-2);border-radius:var(--radius-full)}.am-row-delete{color:var(--color-text-muted);display:flex;align-items:center;padding:var(--space-2);border-radius:var(--radius-md);border:none;background:none;cursor:pointer}.am-row-delete:hover{color:var(--color-highlight);background:var(--color-canvas)}.am-loading,.am-empty-state{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-muted)}.am-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:am-spin .7s linear infinite}@keyframes am-spin{to{transform:rotate(360deg)}}.am-pay-chart{display:flex;flex-direction:column;gap:var(--space-4)}.am-pay-chart-header{display:flex;align-items:center;justify-content:space-between}.am-pay-chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.am-pay-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.am-pay-table th{text-align:left;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;padding:var(--space-2) var(--space-3);border-bottom:var(--border)}.am-pay-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border);vertical-align:middle}.am-pay-input{width:100px}.am-pay-select{width:130px}.am-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d73;display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--space-5)}.am-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.am-panel--wide{max-width:720px}.am-side-panel{position:fixed;top:var(--space-6);right:var(--space-6);bottom:var(--space-6);width:40vw;min-width:420px;max-width:900px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:500;display:flex;flex-direction:column;overflow:hidden;animation:am-slide-in var(--duration-normal) var(--ease)}@keyframes am-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.am-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-subtle);flex-shrink:0}.am-panel-title{font-size:var(--font-size-lg)}.am-panel-close{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex}.am-panel-close:hover{color:var(--color-text-primary)}.am-panel-body{padding:var(--space-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0}.am-panel-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-subtle);flex-shrink:0}.am-panel-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.am-inline-btn{align-self:flex-start}.am-delete-btn{color:var(--color-highlight);border-color:var(--color-highlight);margin-right:auto}.am-delete-btn:hover{background:var(--color-highlight);color:#fff}.am-field{display:flex;flex-direction:column;gap:var(--space-1)}.am-field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.am-error{font-size:var(--font-size-sm);color:var(--color-highlight)}.am-copy-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-canvas);border:var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.am-copy-value{flex:1;font-family:monospace;font-size:var(--font-size-sm);word-break:break-all}.am-copy-btn{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0}.am-copy-btn:hover{color:var(--color-text-primary)}.am-price-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-subtle)}.am-price-name{font-size:var(--font-size-sm)}.am-price-input{max-width:120px}@media (max-width: 700px){.am-overlay{padding:0;align-items:stretch}.am-panel,.am-panel--wide{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}.am-side-panel{top:0;right:0;bottom:0;left:0;width:100%;min-width:0;max-width:none;border-radius:0}.am-topbar{flex-wrap:wrap}.am-topbar-actions{margin-left:0;width:100%}}.acc-sections{display:flex;flex-direction:column;gap:var(--space-6)}.acc-loading{color:var(--color-text-muted);font-size:var(--font-size-sm)}.acc-save-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--border-subtle)}.acc-saved-note{font-size:var(--font-size-sm);color:#2e7d55}.card__header h3{display:flex;align-items:center;gap:var(--space-2)}.acc-account-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.acc-delete-btn{color:var(--color-highlight);border-color:var(--color-highlight)}.acc-delete-btn:hover{background:var(--color-highlight);color:#fff}.acc-tracking-loading{color:var(--color-text-muted);font-size:var(--font-size-sm)}.acc-tracking-setup{display:flex;flex-direction:column;gap:var(--space-4);max-width:360px}.acc-tracking-setup-sub{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.acc-tracking-error{font-size:var(--font-size-sm);color:var(--color-highlight)}.acc-tracking-info{display:flex;flex-direction:column;gap:var(--space-6)}.acc-tracking-step{display:flex;flex-direction:column;gap:var(--space-3)}.acc-tracking-step-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.acc-tracking-step-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.acc-app-links{display:flex;gap:var(--space-3)}.acc-tracking-config-row{display:flex;gap:var(--space-5);align-items:flex-start;flex-wrap:wrap}.acc-qr-canvas{border-radius:var(--radius-md);flex-shrink:0}.acc-tracking-config-actions{display:flex;flex-direction:column;gap:var(--space-2)}.acc-tracking-fields{display:flex;flex-direction:column;gap:var(--space-2);max-width:420px}.acc-copy-field{display:flex;flex-direction:column;gap:var(--space-1)}.acc-copy-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.acc-copy-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-canvas);border:var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.acc-copy-value{flex:1;font-family:monospace;font-size:var(--font-size-sm);color:var(--color-text-primary)}.acc-copy-btn{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex}.acc-copy-btn:hover{color:var(--color-text-primary)}@media (max-width: 700px){.page{padding:var(--space-4)}.acc-tracking-config-row{flex-direction:column;align-items:center}}.atp-root{display:flex;flex-direction:column;gap:6px}.atp-add-btn{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:5px 10px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#6b7280;font-size:12px;cursor:pointer}.atp-add-btn:hover{background:#f9fafb}.atp-hidden-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.atp-list{display:flex;flex-wrap:wrap;gap:6px}.atp-item{position:relative;width:52px;height:52px}.atp-thumb{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb}.atp-remove{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:50%;border:none;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}:root{--qcb-bg: #f8f9fb;--qcb-surface: #ffffff;--qcb-border: #e4e7ed;--qcb-text: #1a1d23;--qcb-text-sub: #6b7280;--qcb-accent: #2563eb;--qcb-warn: #b45309;--qcb-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.qcb-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--qcb-border);border-radius:7px;background:none;color:var(--qcb-warn);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--qcb-font)}.qcb-trigger:hover{background:#fffbeb}.qcb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;padding:20px}.qcb-panel{background:var(--qcb-surface);width:100%;max-width:420px;border-radius:12px;overflow:hidden;font-family:var(--qcb-font);color:var(--qcb-text)}.qcb-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--qcb-border)}.qcb-title{font-size:16px;font-weight:700}.qcb-close{flex-shrink:0;background:var(--qcb-bg);border:1px solid var(--qcb-border);border-radius:50%;width:30px;height:30px;font-size:14px;color:var(--qcb-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.qcb-close:hover{background:var(--qcb-border)}.qcb-body{padding:16px;display:flex;flex-direction:column;gap:12px}.qcb-sent{font-size:14px;color:#16a34a;font-weight:600}.qcb-type-toggle{display:inline-flex;border:1px solid var(--qcb-border);border-radius:999px;padding:2px;align-self:flex-start}.qcb-type-btn{padding:4px 16px;border:none;border-radius:999px;background:none;font-size:13px;color:var(--qcb-text-sub);cursor:pointer;font-family:var(--qcb-font)}.qcb-type-btn--active{background:var(--qcb-accent);color:#fff}.qcb-textarea{min-height:90px;padding:10px 12px;border:1px solid var(--qcb-border);border-radius:8px;font-family:var(--qcb-font);font-size:14px;color:var(--qcb-text);background:var(--qcb-bg);resize:vertical}.qcb-textarea:focus{outline:none;border-color:var(--qcb-accent)}.qcb-textarea::placeholder{color:var(--qcb-text-sub)}.qcb-send-btn{padding:10px 16px;border:none;border-radius:8px;background:var(--qcb-accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--qcb-font)}.qcb-send-btn:hover{background:#1d4ed8}.qcb-send-btn:disabled{opacity:.6;cursor:not-allowed}:root{--jbr-bg: #f8f9fb;--jbr-surface: #ffffff;--jbr-border: #e4e7ed;--jbr-text: #1a1d23;--jbr-text-sub: #6b7280;--jbr-accent: #2563eb;--jbr-radius: 12px;--jbr-radius-sm: 7px;--jbr-shadow: 0 1px 4px rgba(0,0,0,.07), 0 4px 16px rgba(0,0,0,.05);--jbr-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.jbr-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm);padding:8px 14px;font-size:13px;font-weight:600;color:var(--jbr-text);cursor:pointer;font-family:var(--jbr-font);transition:background .15s}.jbr-trigger:hover{background:var(--jbr-bg)}.jbr-trigger-icon{width:16px;height:16px}.jbr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:stretch;justify-content:stretch;padding:20px 0;background:#00000080;font-family:var(--jbr-font)}.jbr-panel{background:var(--jbr-surface);width:100%;max-width:560px;margin:0 auto;border-radius:var(--jbr-radius);position:relative;display:flex;flex-direction:column;overflow:hidden;color:var(--jbr-text)}.jbr-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--jbr-border);flex-shrink:0}.jbr-title{font-size:16px;font-weight:700}.jbr-close{flex-shrink:0;background:var(--jbr-bg);border:1px solid var(--jbr-border);border-radius:50%;width:32px;height:32px;font-size:14px;color:var(--jbr-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.jbr-close:hover{background:var(--jbr-border)}.jbr-scroll{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.jbr-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--jbr-text-sub)}.jbr-section-gap{margin-top:18px}.jbr-inline{display:flex;flex-direction:column;gap:10px}.jbr-empty-note{font-size:13px;color:var(--jbr-text-sub);font-style:italic}.jbr-input{width:100%;min-height:72px;padding:10px 12px;border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm);font-family:var(--jbr-font);font-size:14px;color:var(--jbr-text);background:var(--jbr-bg);resize:vertical;transition:border-color .15s}.jbr-input:focus{outline:none;border-color:var(--jbr-accent)}.jbr-input::placeholder{color:var(--jbr-text-sub)}.jbr-btn{background:none;border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm);padding:8px 14px;font-size:13px;color:var(--jbr-accent);cursor:pointer;text-align:left;font-family:var(--jbr-font);transition:background .15s}.jbr-btn:hover{background:#eff6ff}.jbr-hidden-input{display:none}.jbr-loading-inline{display:flex;justify-content:center;padding:12px 0}.jbr-spinner{width:28px;height:28px;border:3px solid var(--jbr-border);border-top-color:var(--jbr-accent);border-radius:50%;animation:jbr-spin .7s linear infinite}.jbr-spinner--sm{width:20px;height:20px;border-width:2px}@keyframes jbr-spin{to{transform:rotate(360deg)}}.jbr-product-selected-list{display:flex;flex-direction:column;gap:8px}.jbr-product-selected-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm)}.jbr-product-selected-img{width:32px;height:32px;object-fit:cover;border-radius:6px;flex-shrink:0}.jbr-product-selected-name{flex:1;font-size:14px}.jbr-product-qty{display:flex;align-items:center;gap:8px}.jbr-qty-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--jbr-border);background:var(--jbr-bg);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.jbr-qty-value{font-size:14px;font-weight:600;min-width:16px;text-align:center}.jbr-product-remove{background:none;border:none;color:var(--jbr-text-sub);font-size:14px;cursor:pointer;padding:4px}.jbr-product-search-wrap{position:relative}.jbr-product-search-input{min-height:unset;height:42px;resize:none}.jbr-product-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--jbr-surface);border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm);box-shadow:var(--jbr-shadow);z-index:10}.jbr-product-search-result{padding:10px 12px;font-size:14px;cursor:pointer}.jbr-product-search-result:hover{background:var(--jbr-bg)}.jbr-save-products-btn{align-self:flex-start;text-align:center;background:var(--jbr-accent);color:#fff;border-color:var(--jbr-accent)}.jbr-save-products-btn:hover{background:#1d4ed8}.jbr-report-form{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.jbr-report-upload-label{cursor:pointer}.jbr-report-upload-preview{width:80px;height:80px;object-fit:cover;border-radius:var(--jbr-radius-sm);border:1px dashed var(--jbr-border)}.jbr-send-report-btn{align-self:stretch;background:var(--jbr-accent);color:#fff;border:none;border-radius:var(--jbr-radius-sm);padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--jbr-font)}.jbr-send-report-btn:hover{background:#1d4ed8}.jbr-report-list{display:flex;flex-direction:column;gap:12px}.jbr-report-item{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--jbr-border);border-radius:var(--jbr-radius-sm)}.jbr-report-image-wrap{width:100%}.jbr-report-image{width:100%;max-height:220px;object-fit:cover;border-radius:var(--jbr-radius-sm);display:block}.jbr-report-text{min-height:60px}.jbr-report-delete{align-self:flex-end;background:none;border:1px solid #fecaca;color:#dc2626;border-radius:var(--jbr-radius-sm);padding:6px 12px;font-size:13px;cursor:pointer}.jbr-report-delete:hover{background:#fef2f2}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.prop-root{display:flex;flex-direction:column;height:100%;padding:var(--space-6);gap:var(--space-5);overflow-y:auto}.prop-topbar{display:flex;align-items:center;gap:var(--space-4)}.prop-topbar-title{flex-shrink:0}.prop-search-wrap{position:relative;flex:1;max-width:420px;display:flex;align-items:center}.prop-search-input{width:100%;padding:var(--space-2) var(--space-8);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-primary)}.prop-search-input:focus{outline:none;border-color:var(--color-accent)}.prop-search-icon{position:absolute;left:var(--space-2);width:16px;height:16px;opacity:.5;pointer-events:none}.prop-search-clear{position:absolute;right:var(--space-2);width:14px;height:14px;cursor:pointer;opacity:.6}.prop-add-btn{margin-left:auto;white-space:nowrap;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast)}.prop-add-btn:hover{background:var(--color-accent-light)}.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.prop-grid--with-panel{max-width:calc(100% - 41vw)}.prop-card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.prop-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.prop-card-thumb{width:100%;height:140px;object-fit:cover;display:block;background:var(--color-canvas)}.prop-card-thumb--empty{display:flex;align-items:center;justify-content:center}.prop-card-thumb--empty img{width:32px;height:32px;opacity:.3}.prop-card-carousel{position:relative;touch-action:pan-y}.prop-card-carousel .prop-card-thumb{margin:0;-webkit-user-select:none;user-select:none}.prop-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:#fff;color:#222;cursor:pointer;box-shadow:0 1px 4px #00000040,0 0 0 1px #0000000f;transition:var(--transition-fast)}.prop-carousel-nav:hover{transform:translateY(-50%) scale(1.08)}.prop-carousel-nav--prev{left:var(--space-2)}.prop-carousel-nav--next{right:var(--space-2)}.prop-carousel-dots{position:absolute;bottom:var(--space-2);left:50%;transform:translate(-50%);display:flex;gap:4px}.prop-carousel-dot{width:5px;height:5px;border-radius:50%;background:#fff9}.prop-carousel-dot--active{background:#fff}.prop-card-body{padding:var(--space-3) var(--space-4)}.prop-card-address{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.prop-card-desc,.prop-card-owner{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.prop-card-notes{width:100%;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:inherit}.prop-card-notes:hover{border-color:var(--color-border)}.prop-card-notes:focus{outline:none;border-color:var(--color-accent);background:var(--color-canvas);color:var(--color-text-primary)}.prop-status-select{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer}.prop-status-select:focus{outline:none;border-color:var(--color-accent)}.prop-empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted)}.prop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d73;display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--space-5)}.prop-panel,.prop-form-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.prop-panel--wide,.prop-form-card{max-width:720px}.prop-side-panel{position:fixed;top:var(--space-6);right:var(--space-6);bottom:var(--space-6);width:40vw;min-width:420px;max-width:900px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:500;display:flex;flex-direction:column;overflow:hidden;animation:prop-slide-in var(--duration-normal) var(--ease)}@keyframes prop-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.prop-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-subtle);flex-shrink:0}.prop-panel-title{font-size:var(--font-size-lg)}.prop-panel-close{border:none;background:none;font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;line-height:1}.prop-panel-close:hover{color:var(--color-text-primary)}.prop-panel-body,.prop-form-body{padding:var(--space-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0}.prop-panel-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.prop-panel-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-subtle);flex-shrink:0}.prop-btn{padding:var(--space-2) var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast);text-decoration:none;display:inline-flex;align-items:center}.prop-btn:hover{background:var(--color-canvas)}.prop-btn:disabled{opacity:.6;cursor:not-allowed}.prop-btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.prop-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.prop-btn--primary:hover{background:var(--color-accent-light)}.prop-btn--danger{margin-left:auto;color:var(--color-highlight);border-color:var(--color-highlight)}.prop-btn--danger:hover{background:var(--color-highlight);color:var(--color-text-inverse)}.prop-map-section{display:flex;flex-direction:column;gap:var(--space-2)}.prop-map-wrap{height:200px;border-radius:var(--radius-md);overflow:hidden;border:var(--border)}.prop-map-wrap--editor{height:260px}.prop-map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-muted);background:var(--color-canvas)}.prop-map-placeholder img{width:28px;height:28px;opacity:.4}.prop-address-row{display:flex;align-items:center;gap:var(--space-3)}.prop-address-text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.prop-address-search-wrap{position:relative}.prop-gallery-section{display:flex;flex-direction:column;gap:var(--space-2)}.prop-section-header{display:flex;align-items:center;justify-content:space-between}.prop-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.prop-gallery{display:flex;flex-wrap:wrap;gap:var(--space-2)}.prop-gallery-thumb{width:84px;height:84px;object-fit:cover;border-radius:var(--radius-md);border:var(--border);cursor:pointer;background:var(--color-canvas)}.prop-gallery-thumb-wrap{position:relative;cursor:pointer}.prop-gallery-thumb-tag{position:absolute;bottom:2px;left:2px;right:2px;background:#0f1b2db3;color:var(--color-text-inverse);font-size:9px;padding:1px 4px;border-radius:var(--radius-sm);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-upload-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm)}.prop-upload-dropzone img{width:28px;height:28px;opacity:.5}.prop-hidden-input{display:none}.prop-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.prop-field{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.prop-field--block{width:100%}.prop-field-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.prop-field-photos-btn{display:inline-flex;align-items:center;border:none;background:none;padding:0;margin-left:2px;font-size:var(--font-size-xs);color:var(--color-accent);cursor:pointer;vertical-align:middle}.prop-field-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.prop-field-value--empty{color:var(--color-text-muted)}.prop-field-link{font-size:var(--font-size-sm);color:var(--color-accent)}.prop-field-label--link{color:var(--color-accent);text-decoration:underline;cursor:pointer;width:fit-content}.prop-field-label--link:hover{color:var(--color-accent-light)}.prop-field-input,.prop-input,.prop-textarea{padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);font-family:inherit}.prop-field-input:focus,.prop-input:focus,.prop-textarea:focus{outline:none;border-color:var(--color-accent)}.prop-textarea{min-height:72px;resize:vertical}.prop-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto;z-index:10}.prop-dropdown-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-2)}.prop-dropdown-item:hover{background:var(--color-canvas)}.prop-dropdown-item-img{width:20px;height:20px;border-radius:var(--radius-sm);object-fit:cover}.prop-subpanel-row{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3);border-top:var(--border-subtle)}.prop-tab-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.prop-tab{padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--font-size-xs);cursor:pointer;color:var(--color-text-secondary)}.prop-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.prop-view-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:var(--border);border-radius:var(--radius-md);background:var(--color-canvas);flex-shrink:0}.prop-view-tab{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:var(--transition-fast)}.prop-view-tab:hover{color:var(--color-text-primary)}.prop-view-tab--active{background:var(--color-accent);color:var(--color-text-inverse)}.prop-view-tab--active:hover{color:var(--color-text-inverse)}.prop-show-pending-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.prop-status-badge{align-self:flex-start;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 9px;border-radius:var(--radius-full)}.prop-status-badge--requested{background:#fffbeb;color:#b45309}.prop-status-badge--denied{background:#fdecea;color:#b91c1c}.prop-checkbox-list{display:flex;flex-direction:column;gap:var(--space-2)}.prop-checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer}.prop-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.prop-checkbox-amount{max-width:160px;margin-left:calc(16px + var(--space-2))}.prop-section-label--spaced{margin-top:var(--space-2)}.prop-panel select:focus,.prop-panel select:focus-visible,.prop-form-card select:focus,.prop-form-card select:focus-visible,.prop-side-panel select:focus,.prop-side-panel select:focus-visible{outline:none}.prop-estimate-row{display:flex;gap:var(--space-4)}.prop-estimate-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);flex:1}.prop-estimate-field input{padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-sm)}.prop-add-requirement-form{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-canvas);border-radius:var(--radius-md)}.prop-add-requirement-row{display:flex;gap:var(--space-2)}.prop-add-requirement-row select,.prop-add-requirement-row input{flex:1;padding:var(--space-2);border:var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.prop-requirement-list{display:flex;flex-direction:column;gap:var(--space-2)}.prop-requirement-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:var(--border);border-radius:var(--radius-md)}.prop-requirement-item--added{border-color:var(--color-accent);background:#3d5a800f}.prop-requirement-item--deleted{opacity:.5;text-decoration:line-through}.prop-requirement-item select{font-size:var(--font-size-xs);padding:var(--space-1);border:var(--border);border-radius:var(--radius-sm)}.prop-order-input{width:44px;padding:var(--space-1);border:var(--border);border-radius:var(--radius-sm)}.prop-requirement-desc-input{flex:1;padding:var(--space-1) var(--space-2);border:var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.prop-requirement-delete{border:none;background:none;color:var(--color-highlight);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap}.prop-add-requirement-row input:focus,.prop-add-requirement-row select:focus,.prop-order-input:focus,.prop-requirement-desc-input:focus{outline:none;border-color:var(--color-accent)}.prop-switch-wrap{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.prop-switch{position:relative;width:36px;height:20px;border:none;border-radius:var(--radius-full);background:var(--color-border);cursor:pointer;padding:0;flex-shrink:0;transition:background var(--transition-fast)}.prop-switch--on{background:var(--color-accent)}.prop-switch:focus{outline:none;box-shadow:0 0 0 2px var(--color-accent-light)}.prop-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-surface);transition:transform var(--transition-fast)}.prop-switch--on .prop-switch-knob{transform:translate(16px)}.prop-switch-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.prop-product-list{display:flex;flex-direction:column;gap:var(--space-2)}.prop-product-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border:var(--border);border-radius:var(--radius-md)}.prop-product-img{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-canvas)}.prop-product-name{flex:1;font-size:var(--font-size-sm)}.prop-qty{display:flex;align-items:center;gap:var(--space-2)}.prop-qty button{width:22px;height:22px;border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.prop-charge-toggle{border:var(--border);border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--font-size-xs);background:var(--color-surface);cursor:pointer}.prop-charge-toggle--on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.prop-product-remove{border:none;background:none;color:var(--color-text-muted);cursor:pointer}.prop-product-remove:hover{color:var(--color-highlight)}.prop-product-search-wrap{position:relative}.prop-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:600;gap:var(--space-3)}.prop-fullscreen-media{max-width:90vw;max-height:80vh;border-radius:var(--radius-md)}.prop-fullscreen-caption{color:var(--color-text-inverse);font-size:var(--font-size-sm)}.prop-fullscreen-toolbar{position:absolute;top:var(--space-5);right:var(--space-5);display:flex;gap:var(--space-2);z-index:2}.prop-fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:var(--color-text-inverse);width:32px;height:32px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-md);text-decoration:none}.prop-fullscreen-btn:hover{background:#ffffff4d}.prop-fullscreen-btn--active{background:#ffffff59;color:#f5c518}.prop-fullscreen-link-select{border:none;background:#ffffff26;color:var(--color-text-inverse);height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer}.prop-fullscreen-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:#ffffff26;color:var(--color-text-inverse);width:44px;height:44px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-2xl);line-height:1;display:flex;align-items:center;justify-content:center;z-index:2}.prop-fullscreen-nav:hover{background:#ffffff4d}.prop-fullscreen-nav--prev{left:var(--space-5)}.prop-fullscreen-nav--next{right:var(--space-5)}@media (max-width: 700px){.prop-fullscreen-nav{width:36px;height:36px;font-size:var(--font-size-xl)}.prop-fullscreen-nav--prev{left:var(--space-2)}.prop-fullscreen-nav--next{right:var(--space-2)}}.prop-loading,.prop-loading-inline{display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.prop-loading-inline{padding:var(--space-3)}.prop-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:prop-spin .7s linear infinite}.prop-spinner--sm{width:16px;height:16px;border-width:2px}@keyframes prop-spin{to{transform:rotate(360deg)}}.prop-empty-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.prop-reports-list{display:flex;flex-direction:column;gap:var(--space-3)}.prop-report-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.prop-report-row-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.prop-report-event-time{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.prop-report-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.prop-report-text{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:pre-wrap}.prop-report-gallery{margin-top:0}.prop-report-row-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.prop-price-chart{display:flex;flex-direction:column;gap:var(--space-4)}.prop-price-chart-header{display:flex;align-items:center;justify-content:space-between}.prop-price-chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.prop-price-table-wrap{overflow-x:auto}.prop-price-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.prop-price-table th{text-align:left;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;padding:var(--space-2) var(--space-3);border-bottom:var(--border);white-space:nowrap}.prop-price-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border);vertical-align:middle}.prop-price-input{width:90px;padding:var(--space-1) var(--space-2);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-sm)}.prop-price-advanced-toggle{font-size:var(--font-size-xs);color:var(--color-accent);background:none;border:none;cursor:pointer;white-space:nowrap}.prop-price-advanced-toggle:hover{text-decoration:underline}.prop-price-advanced-row td{background:var(--color-canvas)}.prop-price-advanced-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.prop-price-advanced-field{display:flex;flex-direction:column;gap:var(--space-1)}.prop-price-advanced-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (max-width: 700px){.prop-overlay{padding:0;align-items:stretch}.prop-panel,.prop-form-card{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}.prop-side-panel{top:0;right:0;bottom:0;left:0;width:100%;min-width:0;max-width:none;border-radius:0}.prop-grid--with-panel{max-width:100%}.prop-root{padding:var(--space-4)}.prop-topbar{flex-wrap:wrap;gap:var(--space-3)}.prop-search-wrap{max-width:none;flex-basis:100%;order:3}.prop-add-btn{margin-left:0}}:root{--mp-bg: #f8f9fb;--mp-surface: #ffffff;--mp-border: #e4e7ed;--mp-text: #1a1d23;--mp-text-sub: #6b7280;--mp-accent: #2563eb;--mp-green: #16a34a;--mp-amber: #b45309;--mp-radius: 12px;--mp-radius-sm: 7px;--mp-shadow: 0 1px 4px rgba(0,0,0,.07), 0 4px 16px rgba(0,0,0,.05);--mp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.mp-root{font-family:var(--mp-font);background:var(--mp-bg);min-height:100dvh;color:var(--mp-text)}.mp-topbar{position:sticky;top:0;z-index:100;background:var(--mp-surface);border-bottom:1px solid var(--mp-border);padding:12px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mp-topbar-left{display:flex;flex-direction:column;gap:6px}.mp-topbar-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.mp-stats-row{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;background:var(--mp-surface)}.mp-stat-tile{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--mp-radius-sm);border:1px solid var(--mp-border);background:var(--mp-bg)}.mp-stat-icon{font-size:20px;line-height:1}.mp-stat-text{display:flex;flex-direction:column;line-height:1.15}.mp-stat-value{font-size:18px;font-weight:700;color:var(--mp-text)}.mp-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--mp-text-sub)}.mp-stat-tile--total{background:#eff6ff;border-color:#bfdbfe}.mp-stat-tile--total .mp-stat-value{color:#1d4ed8}.mp-stat-tile--pending{background:#fef3c7;border-color:#fde68a}.mp-stat-tile--pending .mp-stat-value{color:#92400e}.mp-stat-tile--done{background:#dbeafe;border-color:#bfdbfe}.mp-stat-tile--done .mp-stat-value{color:#1e40af}.mp-stat-tile--approved{background:#dcfce7;border-color:#bbf7d0}.mp-stat-tile--approved .mp-stat-value{color:#15803d}.mp-stat-tile--late{background:#fee2e2;border-color:#fecaca}.mp-stat-tile--late .mp-stat-value{color:#dc2626}.mp-stat-tile--notstarted{background:#f1f5f9;border-color:#e2e8f0}.mp-stat-tile--notstarted .mp-stat-value{color:#475569}.mp-date-nav{display:flex;align-items:center;gap:6px;background:var(--mp-bg);border-radius:999px;padding:4px 6px;border:1px solid var(--mp-border)}.mp-date-arrow{background:none;border:none;font-size:20px;cursor:pointer;color:var(--mp-text-sub);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.mp-date-arrow:hover{background:var(--mp-border)}.mp-date-label-wrap{position:relative;display:inline-flex;border-radius:var(--mp-radius-sm)}.mp-date-label-wrap:hover{background:var(--mp-border)}.mp-date-label{font-size:14px;font-weight:600;min-width:90px;text-align:center;padding:2px 4px;pointer-events:none}.mp-date-picker-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}.mp-topbar-right{display:flex;align-items:center;gap:8px}.mp-manage-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--mp-bg);border:1px solid var(--mp-border);border-radius:999px;font-size:13px;font-weight:600;color:var(--mp-text);cursor:pointer;font-family:var(--mp-font);white-space:nowrap}.mp-manage-btn:hover{background:var(--mp-border)}.mp-requested-products-btn{background:#fffbeb;border-color:#fde68a;color:#92400e}.mp-requested-products-btn:hover{background:#fef3c7}.mp-requested-products-count{background:#f59e0b;color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;line-height:1.5}.mp-view-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--mp-border);border-radius:999px;background:var(--mp-bg);flex-shrink:0}.mp-view-tab{padding:6px 12px;border:none;border-radius:999px;background:none;color:var(--mp-text-sub);font-size:13px;font-weight:600;font-family:var(--mp-font);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.mp-view-tab:hover{background:var(--mp-border)}.mp-view-tab--active{background:var(--mp-accent);color:#fff}.mp-view-tab--active:hover{background:var(--mp-accent)}.mp-worker-section{border:1px solid var(--mp-border);border-radius:12px;background:var(--mp-bg);overflow:hidden}.mp-worker-section+.mp-worker-section{margin-top:12px}.mp-worker-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--mp-font)}.mp-worker-section-chevron{font-size:10px;color:var(--mp-text-sub)}.mp-worker-section-name{font-size:15px;font-weight:700;color:var(--mp-text);flex:1}.mp-worker-section-count{font-size:12px;font-weight:600;color:var(--mp-text-sub)}.mp-worker-section-jobs{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}.mp-requests-section{display:flex;flex-direction:column;gap:12px}.mp-requests-section+.mp-requests-section{margin-top:4px;padding-top:16px;border-top:1px solid var(--mp-border)}.mp-requests-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mp-text-sub)}.mp-requested-group{display:flex;flex-direction:column;gap:8px}.mp-requested-group+.mp-requested-group{margin-top:4px;padding-top:16px;border-top:1px solid var(--mp-border)}.mp-requested-group-header{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:none;padding:0;text-align:left;cursor:pointer;font-family:inherit}.mp-requested-group-address{font-size:14px;font-weight:600;color:var(--mp-text)}.mp-requested-group-header:hover .mp-requested-group-address{color:var(--mp-accent)}.mp-requested-group-meta{font-size:12px;color:var(--mp-text-sub)}.mp-freq-row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.mp-freq-btn{padding:6px 12px;border:1px solid var(--mp-border);border-radius:999px;background:var(--mp-surface);font-size:12.5px;color:var(--mp-text-sub);cursor:pointer;font-family:var(--mp-font)}.mp-freq-btn--active{background:var(--mp-accent);border-color:var(--mp-accent);color:#fff}.mp-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0006;display:flex;justify-content:flex-end}.mp-panel{background:var(--mp-surface);width:100%;max-width:340px;height:100%;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:mp-panel-slide-in .2s ease-out}@keyframes mp-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.mp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--mp-border)}.mp-panel-title{font-size:16px;font-weight:700}.mp-panel-close{background:var(--mp-bg);border:1px solid var(--mp-border);border-radius:50%;width:30px;height:30px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mp-panel-body{padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.mp-add-event-btn{padding:10px 16px;background:none;border:1.5px dashed var(--mp-accent);border-radius:var(--mp-radius-sm);color:var(--mp-accent);font-size:14px;font-weight:600;font-family:var(--mp-font);cursor:pointer}.mp-add-event-btn:hover{background:#eff6ff}.mp-optimize-run-btn--block{width:100%;justify-content:center}.mp-opt-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--mp-text-sub)}.mp-driver-checks{display:flex;flex-wrap:wrap;gap:6px}.mp-driver-check-label{cursor:pointer}.mp-hidden-checkbox{display:none}.mp-driver-check-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500;border:1.5px solid var(--mp-border);background:var(--mp-bg);color:var(--mp-text-sub);transition:all .15s;-webkit-user-select:none;user-select:none}.mp-driver-check-pill--on{background:#eff6ff;border-color:#93c5fd;color:var(--mp-accent)}.mp-optimize-run-btn{display:flex;align-items:center;gap:7px;padding:9px 20px;background:var(--mp-accent);color:#fff;border:none;border-radius:var(--mp-radius-sm);font-size:14px;font-weight:600;font-family:var(--mp-font);cursor:pointer;transition:background .15s;white-space:nowrap}.mp-optimize-run-btn:hover{background:#1d4ed8}.mp-optimize-run-btn:disabled{background:#93c5fd;cursor:not-allowed}.mp-body{display:flex;align-items:flex-start;gap:16px;padding:14px 14px 60px}.mp-view{padding:0;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-width:0;max-width:720px}.mp-worker-widget{flex:0 0 260px;width:260px;background:var(--mp-surface);border:1px solid var(--mp-border);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow);padding:14px;display:flex;flex-direction:column;gap:14px}.mp-wa-title{font-size:15px;font-weight:700}.mp-wa-section{display:flex;flex-direction:column;gap:6px}.mp-wa-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mp-text-sub)}.mp-wa-row{display:flex;flex-wrap:wrap;gap:10px}.mp-wa-item{display:flex;flex-direction:column;align-items:center;gap:2px;width:52px}.mp-wa-avatar-wrap{position:relative}.mp-wa-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--mp-bg);color:var(--mp-text-sub);border:1px solid var(--mp-border)}.mp-wa-avatar--gray{color:#c3c8d1;border-color:var(--mp-border)}.mp-wa-avatar--normal{color:var(--mp-text);border-color:var(--mp-border)}.mp-wa-avatar--green{color:var(--mp-green);border-color:var(--mp-green);background:#f0fdf4}.mp-wa-check{position:absolute;bottom:-2px;right:-2px;color:var(--mp-green);background:var(--mp-surface);border-radius:50%;line-height:0}.mp-wa-name{font-size:10px;color:var(--mp-text-sub);max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-wa-progress{font-size:10px;font-weight:700}.mp-wa-progress--neutral{color:var(--mp-text-sub)}.mp-wa-progress--blue{color:var(--mp-accent)}.mp-wa-progress--green{color:var(--mp-green)}.mp-wa-footnote{font-size:12px;color:var(--mp-text-sub);margin-top:2px}@media (max-width: 900px){.mp-body{flex-direction:column}.mp-worker-widget{width:100%}}.mp-card{background:var(--mp-surface);border:1px solid var(--mp-border);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow);overflow:hidden}.mp-card--expanded{box-shadow:0 2px 8px #0000001a,0 8px 32px #00000014}.mp-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mp-card-header:active{background:var(--mp-bg)}.mp-card-header-main{flex:1;display:flex;flex-direction:column;gap:4px}.mp-card-header-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mp-card-address{font-size:15px;font-weight:600;line-height:1.3}.mp-card-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.mp-card-time{font-size:12px;font-weight:600;color:var(--mp-text-sub);white-space:nowrap}.mp-card-chevron{font-size:12px;color:var(--mp-text-sub);flex-shrink:0}.mp-card-body{border-top:1px solid var(--mp-border);display:flex;flex-direction:column;gap:0}.mp-section{padding:12px 16px;border-bottom:1px solid var(--mp-border);display:flex;flex-direction:column;gap:8px}.mp-section:last-child{border-bottom:none}.mp-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--mp-text-sub)}.mp-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mp-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:3px 8px;border-radius:999px;background:var(--mp-bg);border:1px solid var(--mp-border);color:var(--mp-text-sub)}.mp-pill--driver{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.mp-pill--worker{background:#faf5ff;border-color:#e9d5ff;color:#7e22ce}.mp-pill--status{background:#f1f5f9;color:var(--mp-text)}.mp-pill--pending-request{background:#fffbeb;border-color:#fde68a;color:var(--mp-amber)}.mp-pill--denied-request{background:#fef2f2;border-color:#fecaca;color:#ef4444}.mp-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mp-type-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px}.mp-type-badge--pickup{background:#fef3c7;color:#92400e}.mp-type-badge--delivery{background:#dbeafe;color:#1e40af}.mp-type-badge--clean{background:#dcfce7;color:#15803d}.mp-type-badge--other{background:#ede9fe;color:#6d28d9}.mp-route-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.mp-route-field{display:flex;flex-direction:column;gap:4px}.mp-field-label{font-size:11px;color:var(--mp-text-sub);font-weight:500}.mp-route-field--driver{flex:1 1 240px;min-width:220px}.mp-time-input,.mp-stop-input{border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);padding:6px 10px;font-size:14px;font-family:var(--mp-font);background:var(--mp-bg);color:var(--mp-text)}.mp-time-input:focus,.mp-stop-input:focus{outline:none;border-color:var(--mp-accent)}.mp-stop-input{width:70px}.mp-driver-assign{width:100%}.mp-driver-assign-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mp-driver-select-wrap{position:relative;flex:1;min-width:160px}.mp-driver-input{width:100%;padding:8px 12px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-size:14px;font-family:var(--mp-font);background:var(--mp-bg);color:var(--mp-text-sub);cursor:pointer}.mp-driver-input--assigned{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a;font-weight:500}.mp-driver-input:focus{outline:none;border-color:var(--mp-accent)}.mp-driver-dropdown{position:absolute;left:0;right:0;background:var(--mp-surface);border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);box-shadow:0 4px 16px #0000001f;z-index:200;max-height:200px;overflow-y:auto}.mp-driver-dropdown--bottom{top:100%;margin-top:4px}.mp-driver-dropdown--top{bottom:100%;margin-bottom:4px}.mp-driver-option{padding:9px 12px;font-size:14px;cursor:pointer}.mp-driver-option:hover{background:var(--mp-bg)}.mp-optimize-btn{padding:8px 14px;border-radius:var(--mp-radius-sm);border:none;font-size:13px;font-weight:600;font-family:var(--mp-font);cursor:pointer;white-space:nowrap;transition:all .15s}.mp-optimize-btn--on{background:#eff6ff;color:var(--mp-accent);border:1.5px solid #93c5fd}.mp-optimize-btn--off{background:#fff7ed;color:#c2410c;border:1.5px solid #fed7aa}.mp-product-list{display:flex;flex-wrap:wrap;gap:7px}.mp-product-row{display:flex;align-items:center;gap:8px;font-size:14px;background:var(--mp-bg);border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);padding:4px 10px 4px 4px}.mp-product-img{width:28px;height:28px;object-fit:cover;border-radius:5px;flex-shrink:0}.mp-product-row--removable{padding-right:6px}.mp-product-row--requested{background:#fffbeb;border-color:#fde68a}.mp-product-request-actions{display:flex;gap:4px;margin-left:2px}.mp-product-approve-btn,.mp-product-deny-btn{border:none;border-radius:999px;font-size:11px;font-weight:600;padding:3px 9px;cursor:pointer}.mp-product-approve-btn{background:#16a34a;color:#fff}.mp-product-approve-btn:hover{background:#15803d}.mp-product-deny-btn{background:#fee2e2;color:#ef4444}.mp-product-deny-btn:hover{background:#fecaca}.mp-product-remove{border:none;background:none;color:var(--mp-text-sub);font-size:13px;line-height:1;cursor:pointer;padding:2px;margin-left:2px}.mp-product-remove:hover{color:#ef4444}.mp-product-search-wrap{position:relative;margin-top:8px}.mp-product-search-row{display:flex;gap:8px;align-items:stretch}.mp-product-search-input{width:100%;flex:1 1 auto;min-width:0;padding:9px 12px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-family:var(--mp-font);font-size:14px;color:var(--mp-text);background:var(--mp-bg)}.mp-product-search-input:focus{outline:none;border-color:var(--mp-accent)}.mp-product-qty-input{width:60px;flex-shrink:0;padding:9px 8px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-family:var(--mp-font);font-size:14px;color:var(--mp-text);background:var(--mp-bg);text-align:center}.mp-product-qty-input:focus{outline:none;border-color:var(--mp-accent)}.mp-product-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--mp-surface);border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);box-shadow:var(--mp-shadow);max-height:200px;overflow-y:auto;z-index:20}.mp-product-dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:13px;cursor:pointer}.mp-product-dropdown-item:hover{background:var(--mp-bg)}.mp-product-dropdown-img{width:22px;height:22px;object-fit:cover;border-radius:4px;flex-shrink:0}.mp-image-groups-row{display:flex;gap:24px;flex-wrap:wrap}.mp-image-group{display:flex;flex-direction:column;gap:8px}.mp-image-row{display:flex;gap:12px;flex-wrap:wrap}.mp-image-slot{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.mp-image-slot--empty{cursor:default}.mp-slot-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--mp-radius-sm);border:1px solid var(--mp-border)}.mp-slot-missing{opacity:.3}.mp-slot-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--mp-text-sub)}.mp-slot-timestamp{font-size:10px;color:var(--mp-text-sub)}.mp-fullscreen-timestamp{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#ffffff26;color:#fff;padding:4px 14px;border-radius:999px;font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mp-hidden-input{display:none}.mp-slot-upload-label{cursor:pointer;display:block}.mp-gallery-add{width:80px;height:80px;border:1px dashed var(--mp-border);border-radius:var(--mp-radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--mp-bg);transition:background .15s,border-color .15s}.mp-gallery-add:hover{background:#eff6ff;border-color:var(--mp-accent)}.mp-gallery-add-icon{width:26px;height:26px;opacity:.5}.mp-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#000000e6;display:flex;align-items:center;justify-content:center}.mp-fullscreen-img{max-width:95vw;max-height:90dvh;border-radius:var(--mp-radius);object-fit:contain}.mp-fullscreen-actions{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:10px}.mp-replace-btn{background:#ffffff26;color:#fff;padding:8px 18px;border-radius:999px;font-size:14px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;text-decoration:none}.mp-replace-btn--danger{background:#dc262659}.mp-status-select{padding:8px 12px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-size:14px;font-family:var(--mp-font);background:var(--mp-bg);color:var(--mp-text);cursor:pointer}.mp-status-select:focus{outline:none;border-color:var(--mp-accent)}.mp-card-actions-row{display:flex;gap:8px;flex-wrap:wrap}.mp-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:none;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-size:13px;font-weight:600;color:var(--mp-text);cursor:pointer;font-family:var(--mp-font)}.mp-edit-btn:hover{background:var(--mp-bg)}.mp-delete-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:none;border:1px solid #fecaca;border-radius:var(--mp-radius-sm);font-size:13px;font-weight:600;color:#dc2626;cursor:pointer;font-family:var(--mp-font)}.mp-delete-btn:hover{background:#fef2f2}.mp-cleaner-reqs{display:flex;flex-direction:column;gap:12px}.mp-req-block{display:flex;flex-direction:column;gap:6px}.mp-req-label{font-size:13px;font-weight:600}.mp-before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mp-before-after-side{display:flex;flex-direction:column;gap:5px}.mp-side-label{font-size:11px;font-weight:600;color:var(--mp-text-sub);text-transform:uppercase;letter-spacing:.4px}.mp-image-gallery{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.mp-circular-progress{width:60px;height:60px;position:relative;display:flex;align-items:center;justify-content:center}.mp-circular-progress svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.mp-progress-bg{fill:none;stroke:var(--mp-border);stroke-width:8}.mp-progress-bar{fill:none;stroke:var(--mp-accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:282.74;transition:stroke-dashoffset .2s}.mp-progress-text{font-size:11px;font-weight:700;color:var(--mp-accent);position:relative}.mp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 16px;color:var(--mp-text-sub);font-size:14px;min-height:100dvh}.mp-loading-inline{display:flex;justify-content:center;padding:12px 0}.mp-spinner{width:28px;height:28px;border:3px solid var(--mp-border);border-top-color:var(--mp-accent);border-radius:50%;animation:mp-spin .7s linear infinite}.mp-spinner--sm{width:16px;height:16px;border-width:2px}.mp-spinner--white{border-color:#ffffff4d;border-top-color:#fff}@keyframes mp-spin{to{transform:rotate(360deg)}}.mp-empty-state{text-align:center;padding:48px 16px;color:var(--mp-text-sub);font-size:15px}.mp-empty-note{font-size:13px;color:var(--mp-text-sub);font-style:italic}.mp-notes-list{display:flex;flex-direction:column;gap:8px}.mp-note-row{display:flex;flex-direction:column;gap:2px}.mp-note-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--mp-text-sub)}.mp-note-row p{font-size:13px;white-space:pre-wrap}.mp-note-audience-row{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--mp-border);border-radius:8px;background:var(--mp-bg);width:fit-content}.mp-note-audience-btn{padding:6px 14px;border:none;border-radius:6px;background:none;color:var(--mp-text-sub);font-size:13px;cursor:pointer}.mp-note-audience-btn:hover{color:var(--mp-text)}.mp-note-audience-btn--active{background:var(--mp-accent);color:#fff}.mp-note-audience-btn--active:hover{color:#fff}.mp-note-textarea{width:100%;resize:vertical;margin-top:10px}.mp-panel--wide{max-width:480px}.mp-section--flat{border-bottom:none;padding:12px 0}.mp-section--flat:not(:last-child){border-bottom:1px solid var(--mp-border)}.mp-calc-basis{font-size:13px;color:var(--mp-text)}.mp-calc-duration-row{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--mp-text-sub)}.mp-calc-product-group{display:flex;flex-direction:column;gap:4px}.mp-calc-product-group-label{font-size:11px;font-weight:600;color:var(--mp-text-sub);margin-top:4px}.mp-calc-product-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.mp-calc-product-name{color:var(--mp-text)}.mp-calc-product-price{color:var(--mp-text);white-space:nowrap}.mp-calc-product-price--was{color:var(--mp-text-sub);text-decoration:line-through;margin-right:4px}.mp-calc-worker-price-wrap{display:flex;align-items:center;gap:2px;color:var(--mp-text)}.mp-calc-worker-price-input{width:72px;padding:2px 6px;font-size:13px;text-align:right}.mp-charge-row,.mp-add-charge-row{display:flex;align-items:center;gap:8px}.mp-charge-row{padding:4px 0}.mp-charge-reason-input{flex:1;min-width:0;padding:4px 8px;font-size:13px}.mp-charge-amount-wrap{display:flex;align-items:center;gap:2px;color:var(--mp-text);font-size:13px;flex-shrink:0}.mp-charge-amount-input{width:72px;padding:4px 6px;font-size:13px;text-align:right}.mp-charge-delete{border:none;background:none;color:var(--mp-text-sub);cursor:pointer;font-size:14px;padding:2px 4px;flex-shrink:0}.mp-charge-delete:hover{color:#ef4444}.mp-add-charge-row{margin-top:6px;padding-top:8px;border-top:1px dashed var(--mp-border)}.mp-calc-product-total{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;margin-top:6px;padding-top:6px;border-top:1px solid var(--mp-border)}@media (max-width: 700px){.mp-topbar{flex-wrap:wrap;padding:10px 12px 8px;gap:8px}.mp-topbar-left{order:1}.mp-topbar-right{order:2;width:100%;justify-content:space-between}.mp-stats-row{order:3;flex-basis:100%;width:100%;flex-wrap:nowrap;padding:6px 0 0;gap:5px}.mp-stat-tile{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;text-align:center;padding:6px 2px;gap:2px}.mp-stat-icon{font-size:15px}.mp-stat-text{align-items:center}.mp-stat-value{font-size:13px}.mp-stat-label{font-size:8px;letter-spacing:.2px;white-space:normal;line-height:1.1}.mp-topbar-title{font-size:16px}.mp-date-label{min-width:74px;font-size:13px}.mp-manage-btn{padding:7px 10px;font-size:12px}.mp-view{padding:10px 10px 50px;gap:8px}.mp-card-header{padding:12px 14px;gap:8px}.mp-card-address{font-size:14px}.mp-card-header-top{gap:4px}.mp-pill,.mp-type-badge{font-size:10.5px;padding:2px 7px}.mp-section{padding:10px 14px}.mp-route-field--driver{flex-basis:100%;min-width:100%}.mp-card-actions-row{gap:6px}.mp-card-actions-row .mp-edit-btn,.mp-card-actions-row .mp-delete-btn{flex:1 1 auto;justify-content:center}.mp-panel{max-width:100%}}@media (max-width: 480px){.mp-before-after-grid{grid-template-columns:1fr}.mp-route-controls{gap:8px}.mp-opt-bar{flex-direction:column;align-items:flex-start;gap:8px}.mp-optimize-run-btn{width:100%;justify-content:center}}:root{--cal-bg: #eef2f7;--cal-surface: #ffffff;--cal-border: #dde3ec;--cal-text: #1a1d23;--cal-text-sub: #6b7280;--cal-accent: #2563eb;--cal-radius: 10px;--cal-radius-sm: 6px;--cal-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--cal-delivery: #1d4ed8;--cal-pickup: #b45309;--cal-clean: #166534;--cal-clean-del: #4338ca;--cal-plain: #374151;--cal-hour-h: 8vmin}.cal-root{font-family:var(--cal-font);background:var(--cal-bg);min-height:100dvh;display:flex;flex-direction:column;color:var(--cal-text)}.cal-header{position:sticky;top:0;z-index:200;background:var(--cal-surface);border-bottom:1px solid var(--cal-border);display:flex;align-items:center;gap:12px;padding:8px 16px;flex-wrap:wrap}.cal-header-left,.cal-header-center,.cal-header-right{display:flex;align-items:center;gap:8px}.cal-header-center{flex:1;justify-content:center}.cal-header-right{margin-left:auto}.cal-search-input{border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);padding:6px 10px;font-size:13px;font-family:var(--cal-font);background:var(--cal-bg);color:var(--cal-text);width:130px}.cal-search-input:focus{outline:none;border-color:var(--cal-accent)}.cal-username{font-size:14px;font-weight:600;color:var(--cal-text)}.cal-today-btn{padding:5px 12px;border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);background:var(--cal-bg);font-size:13px;font-family:var(--cal-font);cursor:pointer;color:var(--cal-text)}.cal-today-btn:hover{background:var(--cal-border)}.cal-nav{display:flex;align-items:center;gap:6px}.cal-nav-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--cal-text-sub);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.cal-nav-btn:hover{background:var(--cal-border)}.cal-date-range{font-size:14px;font-weight:600;min-width:160px;text-align:center}.cal-goto-form{display:flex;align-items:center;gap:4px}.cal-goto-input{border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);padding:5px 8px;font-size:13px;background:var(--cal-bg);color:var(--cal-text);font-family:var(--cal-font)}.cal-goto-btn{padding:5px 8px;border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);background:var(--cal-bg);cursor:pointer;font-size:14px}.cal-view-btns{display:flex;align-items:center;gap:4px}.cal-view-btn{background:none;border:1px solid transparent;border-radius:var(--cal-radius-sm);padding:4px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;text-decoration:none}.cal-view-btn:hover{background:var(--cal-bg);border-color:var(--cal-border)}.cal-view-btn--active{background:#eff6ff;border-color:#bfdbfe}.cal-icon{width:20px;height:20px}.cal-grid-wrapper{overflow-x:auto;overflow-y:auto;flex:1}.cal-week-grid{display:flex;min-width:max-content}.cal-day-view{display:flex}.cal-day-single-col{flex:1;position:relative}.cal-hour-col{width:52px;flex-shrink:0;border-right:1px solid var(--cal-border);background:var(--cal-surface);position:sticky;left:0;z-index:10}.cal-hour-label{height:var(--cal-hour-h);display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 6px 0 0;font-size:11px;color:var(--cal-text-sub);border-bottom:1px solid var(--cal-border)}.cal-day-col{border-right:1px solid var(--cal-border);position:relative}.cal-day-header{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--cal-border);background:var(--cal-surface);position:sticky;top:0;z-index:5;gap:1px}.cal-day-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--cal-text-sub)}.cal-day-name--short{display:none}.cal-day-num{font-size:14px;font-weight:700;color:var(--cal-text)}.cal-day-num--today{background:var(--cal-accent);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px}.cal-hour-slot{height:var(--cal-hour-h);border-bottom:1px solid var(--cal-border);position:relative;background:var(--cal-surface);cursor:crosshair}.cal-hour-slot:hover{background:#f8faff}.cal-event-frame{position:absolute;top:0;outline:none;z-index:1;width:100%}.cal-event-frame:focus{z-index:50}.cal-event{position:absolute;top:0;border-radius:var(--cal-radius-sm);padding:3px 5px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.2);font-size:11px;color:#fff;display:flex;flex-direction:column;gap:1px;box-shadow:0 1px 3px #0003;transition:filter .15s}.cal-event:hover{filter:brightness(1.08)}.cal-event--delivery{background:#1d4ed8}.cal-event--pickup{background:#92400e}.cal-event--clean{background:#166534}.cal-event--clean-deliver{background:#4338ca}.cal-event--plain{background:#374151}.cal-event--started{opacity:.85}.cal-event--done{filter:brightness(.8)}.cal-event--canceled{opacity:.45;text-decoration:line-through}.cal-event--rescheduled{opacity:.6;border-style:dashed}.cal-event--pending-request{background:#b45309}.cal-event-type{font-weight:700;font-size:11px;line-height:1.2}.cal-event-time{font-size:10px;opacity:.85}.cal-event-address{font-size:10px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.cal-status-icon{width:14px;height:14px;filter:brightness(0) invert(1);opacity:.9}.cal-worker-badge{width:20px;height:20px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.cal-popup{position:absolute;top:0;width:220px;background:var(--cal-surface);border:1px solid var(--cal-border);border-radius:var(--cal-radius);box-shadow:0 4px 24px #00000026;z-index:100;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.cal-popup--right{left:100%;margin-left:6px}.cal-popup--left{right:100%;margin-right:6px}.cal-popup-actions{display:flex;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--cal-border)}.cal-popup-icon{width:20px;height:20px;cursor:pointer;opacity:.7;transition:opacity .15s}.cal-popup-icon:hover{opacity:1}.cal-popup-row{display:flex;flex-wrap:wrap;gap:4px}.cal-popup-text{font-size:13px;color:var(--cal-text)}.cal-popup-link{font-size:13px;color:var(--cal-accent);cursor:pointer;text-decoration:none}.cal-popup-link:hover{text-decoration:underline}.cal-popup-worker{font-size:12px;background:var(--cal-bg);border:1px solid var(--cal-border);border-radius:999px;padding:2px 8px}.cal-drag-preview{position:fixed;background:#2563eb33;border:2px dashed var(--cal-accent);border-radius:var(--cal-radius-sm);pointer-events:none;z-index:999}.cal-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.cal-form-card{background:var(--cal-surface);border-radius:var(--cal-radius);width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;box-shadow:0 8px 40px #0003}.cal-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--cal-border);position:sticky;top:0;background:var(--cal-surface);z-index:1}.cal-form-title{font-size:17px;font-weight:700}.cal-form-close{background:var(--cal-bg);border:1px solid var(--cal-border);border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.cal-form-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.cal-form-type-row{display:flex;flex-wrap:wrap;gap:6px}.cal-type-btn{padding:5px 12px;border-radius:999px;border:2px solid transparent;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--cal-font);background:var(--cal-bg);color:var(--cal-text-sub);transition:all .15s}.cal-type-btn--delivery.cal-type-btn--active{background:#dbeafe;border-color:#1d4ed8;color:#1d4ed8}.cal-type-btn--pickUp.cal-type-btn--active{background:#fef3c7;border-color:#92400e;color:#92400e}.cal-type-btn--clean.cal-type-btn--active{background:#dcfce7;border-color:#166534;color:#166534}.cal-type-btn--cleanAndDeliver.cal-type-btn--active{background:#ede9fe;border-color:#4338ca;color:#4338ca}.cal-type-btn--event.cal-type-btn--active{background:#f1f5f9;border-color:#475569;color:#475569}.cal-form-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.cal-form-row>.cal-form-input{width:auto;flex:1 1 0;min-width:0}.cal-form-sep{color:var(--cal-text-sub);flex-shrink:0}.cal-form-end-wrap{position:relative;flex:1 1 0;min-width:0}.cal-end-dropdown{position:absolute;top:100%;left:0;background:var(--cal-surface);border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);box-shadow:0 4px 16px #0000001f;z-index:200;max-height:200px;overflow-y:auto;min-width:180px}.cal-end-option{padding:8px 12px;font-size:13px;cursor:pointer;font-family:var(--cal-font)}.cal-end-option:hover{background:var(--cal-bg)}.cal-form-input{width:100%;padding:8px 10px;border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);font-size:14px;font-family:var(--cal-font);background:var(--cal-bg);color:var(--cal-text)}.cal-form-input:focus{outline:none;border-color:var(--cal-accent)}.cal-form-textarea{min-height:72px;resize:vertical}.cal-form-note-label{font-size:12px;color:var(--cal-text-sub);font-family:var(--cal-font)}.cal-form-search-wrap{position:relative;display:flex;flex-direction:column;gap:6px}.cal-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--cal-surface);border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);box-shadow:0 4px 16px #0000001a;z-index:300;max-height:200px;overflow-y:auto}.cal-dropdown-item{padding:9px 12px;font-size:13px;cursor:pointer}.cal-dropdown-item:hover{background:var(--cal-bg)}.cal-selected-tags{display:flex;flex-wrap:wrap;gap:5px}.cal-tag{display:inline-flex;align-items:center;gap:4px;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:500}.cal-tag-remove{background:none;border:none;cursor:pointer;font-size:13px;line-height:1;color:inherit;opacity:.7;padding:0}.cal-selected-products{display:flex;flex-direction:column;gap:6px}.cal-product-tag{display:flex;align-items:center;gap:8px;background:var(--cal-bg);border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);padding:5px 10px;font-size:13px}.cal-product-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;border:1px solid var(--cal-border)}.cal-product-qty{display:flex;align-items:center;gap:6px;margin-left:auto}.cal-product-qty button{background:var(--cal-surface);border:1px solid var(--cal-border);border-radius:4px;width:22px;height:22px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.cal-product-charge{font-size:11px;cursor:pointer;color:var(--cal-text-sub);border:1px solid var(--cal-border);border-radius:999px;padding:1px 6px}.cal-form-footer{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.cal-form-cancel{padding:8px 16px;border:1px solid var(--cal-border);border-radius:var(--cal-radius-sm);background:var(--cal-bg);cursor:pointer;font-size:14px;font-family:var(--cal-font)}.cal-form-submit{padding:8px 20px;background:var(--cal-accent);color:#fff;border:none;border-radius:var(--cal-radius-sm);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--cal-font)}.cal-form-submit:hover{background:#1d4ed8}@media (max-width: 700px){.cal-header{padding:6px 10px;gap:6px}.cal-header-left{display:none}.cal-date-range{font-size:13px;min-width:120px}.cal-day-name{display:none}.cal-day-name--short{display:block}.cal-search-input{width:100px}.cal-form-card{max-height:95dvh}.cal-form-type-row{gap:4px}.cal-type-btn{font-size:11px;padding:4px 10px}.cal-form-row{gap:4px}.cal-form-row .cal-form-input{padding:8px 6px;font-size:13px}.cal-popup{position:fixed;top:50%;left:50%;right:auto;margin:0;transform:translate(-50%,-50%);width:min(88vw,320px);max-height:80dvh;overflow-y:auto;z-index:400;box-shadow:0 12px 40px #00000059}}.vcb-trigger{border:1px dashed #e4e7ed;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#f8f9fb;color:#6b7280;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;padding:0}.vcb-trigger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.vcb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000eb;display:flex;align-items:center;justify-content:center}.vcb-modal{position:relative;width:100%;height:100%;max-width:480px;max-height:100dvh;display:flex;flex-direction:column;background:#000}.vcb-close{position:absolute;top:14px;right:14px;z-index:2;width:34px;height:34px;border-radius:50%;border:none;background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vcb-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}.vcb-video{width:100%;height:100%;object-fit:cover;background:#000}.vcb-video--mirrored{transform:scaleX(-1)}.vcb-video--hidden{opacity:0}.vcb-status-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:14px;text-align:center;padding:0 24px}.vcb-status-msg--overlay{background:#0000008c}.vcb-status-msg--error{color:#fca5a5}.vcb-retry-btn{padding:8px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:13px;cursor:pointer}.vcb-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:vcb-spin .7s linear infinite}@keyframes vcb-spin{to{transform:rotate(360deg)}}.vcb-progress-bar{width:100%;max-width:220px;height:8px;border-radius:999px;background:#fff3;overflow:hidden}.vcb-progress-fill{height:100%;background:#22c55e;border-radius:999px;transition:width .15s ease-out}.vcb-upload-hint{font-size:12px;color:#fff9}.vcb-rec-badge{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#00000080;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px}.vcb-rec-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:vcb-pulse 1s ease-in-out infinite}@keyframes vcb-pulse{0%,to{opacity:1}50%{opacity:.35}}.vcb-error-text{color:#fca5a5;font-size:13px;text-align:center;padding:10px 20px 0;background:#000}.vcb-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 24px calc(20px + env(safe-area-inset-bottom));background:#000;flex-wrap:wrap}.vcb-controls-spacer{width:44px;height:44px}.vcb-icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.vcb-icon-btn:disabled{opacity:.5;cursor:not-allowed}.vcb-record-btn{width:68px;height:68px;border-radius:50%;border:4px solid #fff;background:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,border-radius .15s}.vcb-record-btn--active{border-radius:16px;background:#b91c1c}.vcb-pill-btn{display:flex;align-items:center;gap:7px;padding:11px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.vcb-pill-btn--primary{background:#22c55e;border-color:#22c55e}.vcb-pill-btn:disabled{opacity:.5;cursor:not-allowed}.cmp-root{display:flex;height:100%;overflow:hidden}.cmp-list-pane{flex:0 0 300px;width:300px;display:flex;flex-direction:column;border-right:var(--border);overflow:hidden}.cmp-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4)}.cmp-list-title{font-size:var(--font-size-lg)}.cmp-new-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.cmp-new-btn:hover{background:var(--color-accent-light)}.cmp-show-all{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.cmp-view-tabs{display:flex;gap:var(--space-1);padding:0 var(--space-4) var(--space-3)}.cmp-view-tab{flex:1;padding:6px 10px;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer}.cmp-view-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cmp-chat-pane--requests{overflow-y:auto;padding:var(--space-4)}.cmp-requests-view{display:flex;flex-direction:column;gap:var(--space-6);max-width:640px}.cmp-requests-section{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-requests-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.cmp-request-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.cmp-request-row--block{flex-direction:column;align-items:stretch;gap:var(--space-2)}.cmp-request-row--clickable{width:100%;text-align:left;font-family:inherit;cursor:pointer}.cmp-request-row--clickable:hover{border-color:var(--color-accent)}.cmp-request-row-main{display:flex;flex-direction:column;gap:2px}.cmp-request-row-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cmp-request-row-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cmp-request-row-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.cmp-request-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.cmp-status-badge{flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 9px;border-radius:var(--radius-full);white-space:nowrap}.cmp-status-badge--pending{background:#fffbeb;color:#b45309}.cmp-status-badge--approved{background:#e7f6ec;color:#16a34a}.cmp-status-badge--denied{background:#fdecea;color:#b91c1c}.cmp-list{overflow-y:auto;display:flex;flex-direction:column}.cmp-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:var(--border-subtle);background:none;text-align:left;cursor:pointer;transition:var(--transition-fast)}.cmp-list-item:hover{background:var(--color-canvas)}.cmp-list-item--active{background:var(--color-canvas);border-left:3px solid var(--color-accent)}.cmp-list-item-top{display:flex;align-items:center;gap:var(--space-2)}.cmp-list-item-target{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cmp-list-item-preview{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cmp-list-item-name{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.cmp-list-item-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cmp-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--color-highlight);flex-shrink:0}.cmp-resolved-badge{font-size:var(--font-size-xs);color:var(--color-text-muted);border:var(--border);border-radius:var(--radius-full);padding:1px 8px}.cmp-type-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--radius-full);background:var(--color-canvas);color:var(--color-text-secondary)}.cmp-type-badge--complain{background:#fdecea;color:#b91c1c}.cmp-type-badge--notify{background:#e8f0fe;color:var(--color-accent)}.cmp-chat-pane{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.cmp-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.cmp-chat{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.cmp-chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border)}.cmp-chat-header-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.cmp-chat-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.cmp-chat-target{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%}.cmp-chat-target-line{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cmp-chat-target-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.cmp-chat-target--clickable{border:none;background:none;padding:0;cursor:pointer;text-align:left}.cmp-chat-target--clickable:hover .cmp-chat-target-line{text-decoration:underline}.cmp-messages{flex:1 1 auto;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.cmp-message{display:flex;flex-direction:column;gap:4px;padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);max-width:520px;cursor:pointer}.cmp-message--other{align-self:flex-start}.cmp-message--own{align-self:flex-end;background:#eef4ff;border-color:#dbe7fc}.cmp-message-meta{display:flex;align-items:baseline;gap:var(--space-2)}.cmp-message-sender{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cmp-message-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cmp-message-content{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.cmp-message-images{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.cmp-reactions{display:flex;gap:var(--space-2);margin-top:2px}.cmp-react-btn{opacity:0;transition:opacity var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.cmp-react-btn:hover{background:var(--color-canvas)}.cmp-react-btn--good{color:var(--color-text-inverse);background:#16a34a;border-color:#16a34a}.cmp-react-btn--bad{color:var(--color-text-inverse);background:#dc2626;border-color:#dc2626}.cmp-message:hover .cmp-react-btn,.cmp-message--revealed .cmp-react-btn{opacity:1}.cmp-react-btn--persistent{opacity:1!important}.cmp-reactions--readonly .cmp-react-btn{cursor:default;pointer-events:none}.cmp-reply-form{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4);border-top:var(--border)}.cmp-input,.cmp-textarea{width:100%;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text-primary);background:var(--color-surface)}.cmp-input:focus,.cmp-textarea:focus{outline:none;border-color:var(--color-accent)}.cmp-textarea{min-height:44px;resize:vertical;flex:1}.cmp-textarea--tall{min-height:100px}.cmp-btn{padding:var(--space-2) var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast)}.cmp-btn:hover{background:var(--color-canvas)}.cmp-btn:disabled{opacity:.6;cursor:not-allowed}.cmp-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.cmp-btn--primary:hover{background:var(--color-accent-light)}.cmp-btn--block{width:100%}.cmp-loading-inline{display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.cmp-spinner{width:26px;height:26px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:cmp-spin .7s linear infinite}.cmp-spinner--sm{width:18px;height:18px;border-width:2px}@keyframes cmp-spin{to{transform:rotate(360deg)}}.cmp-empty-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.cmp-empty-note--list{padding:0 var(--space-4)}.cmp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d73;display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--space-5)}.cmp-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:460px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.cmp-panel--wide{max-width:640px}.cmp-panel--full{max-width:900px}.cmp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-subtle);flex-shrink:0}.cmp-panel-title{font-size:var(--font-size-lg)}.cmp-panel-close{border:none;background:none;font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;line-height:1}.cmp-panel-close:hover{color:var(--color-text-primary)}.cmp-panel-body--manager{padding:var(--space-3);background:var(--mp-bg, var(--color-canvas))}.cmp-panel-body{padding:var(--space-5);overflow-y:auto;flex:1 1 auto;min-height:0}.cmp-panel-footer{padding:var(--space-3) var(--space-5) var(--space-4);border-top:var(--border-subtle);flex-shrink:0}.cmp-job-popup{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-job-popup-address{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cmp-job-popup-time{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cmp-job-popup-notes{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2);border-top:var(--border-subtle)}.cmp-job-popup-note-text{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:pre-wrap}.cmp-job-status-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 10px;border-radius:var(--radius-full);background:var(--color-canvas);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:capitalize}.cmp-job-status-dot{width:7px;height:7px;border-radius:50%}.cmp-job-popup-checklist{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-2);border-top:var(--border-subtle)}.cmp-checklist-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.cmp-req-block{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:var(--border-subtle)}.cmp-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cmp-req-side{display:flex;flex-direction:column;gap:var(--space-1)}.cmp-req-side-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cmp-req-gallery{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cmp-req-thumb-wrap{cursor:pointer}.cmp-req-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);border:var(--border);background:var(--color-canvas)}.cmp-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:600}.cmp-req-fullscreen-img{max-width:90vw;max-height:85vh;border-radius:var(--radius-md)}.cmp-topic-grid{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-topic-btn{padding:var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:var(--transition-fast)}.cmp-topic-btn:hover{background:var(--color-canvas);border-color:var(--color-accent)}.cmp-pick-step{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-pick-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cmp-pick-datenav{display:flex;align-items:center;gap:var(--space-2)}.cmp-datenav-arrow{width:30px;height:30px;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}.cmp-datenav-arrow:hover{background:var(--color-canvas)}.cmp-datenav-input{flex:1;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.cmp-pick-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto}.cmp-pick-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer;transition:var(--transition-fast)}.cmp-pick-item:hover{background:var(--color-canvas);border-color:var(--color-accent)}.cmp-pick-item-title{font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1}.cmp-pick-item-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.cmp-pick-item-thumb{width:36px;height:36px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.cmp-compose-step{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-type-toggle{display:inline-flex;border:var(--border);border-radius:var(--radius-full);padding:2px;align-self:flex-start}.cmp-type-toggle-btn{padding:var(--space-1) var(--space-4);border:none;border-radius:var(--radius-full);background:none;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.cmp-type-toggle-btn--active{background:var(--color-accent);color:var(--color-text-inverse)}@media (max-width: 760px){.cmp-root{flex-direction:column;height:auto}.cmp-list-pane{flex:none;width:100%;border-right:none;border-bottom:var(--border);max-height:40vh}.cmp-chat-pane{min-height:60vh}}.ap-root{display:flex;flex-direction:column;gap:var(--space-5)}.page-header h1{display:flex;align-items:center;gap:var(--space-2)}.ap-clock-body,.ap-totals-body{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.ap-clock-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-right:auto}.ap-picker-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.ap-picker-current{display:flex;align-items:center;gap:var(--space-2)}.ap-picker-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ap-picker-me-btn{padding:2px var(--space-3);font-size:var(--font-size-xs)}.ap-search-wrap{position:relative;max-width:280px;flex:1}.ap-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.ap-search-input{padding-left:calc(var(--space-3) + 14px + var(--space-2))}.ap-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto;z-index:10}.ap-search-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer}.ap-search-item:hover{background:var(--color-canvas)}.ap-search-item-type{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize;background:var(--color-canvas);padding:1px var(--space-2);border-radius:var(--radius-full)}.ap-month-nav{display:flex;align-items:center;gap:var(--space-3)}.ap-month-arrow{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.ap-month-arrow:hover{background:var(--color-canvas);color:var(--color-text-primary)}.ap-month-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);min-width:140px;text-align:center}.ap-total{display:flex;flex-direction:column;gap:2px}.ap-total-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.ap-total-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.ap-total-value--paid{color:#2e7d55}.ap-total-value--due{color:#c0392b}.ap-bulk-pay{display:flex;gap:var(--space-2);margin-left:auto;align-items:center;flex-wrap:wrap}.ap-bulk-input{max-width:140px}.ap-add-btn{display:flex;align-items:center;gap:var(--space-1);white-space:nowrap}.ap-empty-state{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-muted)}.ap-entries{display:flex;flex-direction:column;gap:var(--space-3)}.ap-day-card{overflow:visible}.ap-day-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;flex-wrap:wrap}.ap-day-header-left{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.ap-day-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ap-day-summary{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.ap-day-stat{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.ap-day-stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ap-day-stat-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.ap-day-due{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#c0392b}.ap-day-paid{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#2e7d55}.ap-day-pay-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.ap-day-body{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-5) var(--space-5);border-top:var(--border-subtle)}.ap-entry{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:var(--border-subtle)}.ap-entry:first-child{border-top:none;padding-top:var(--space-4)}.ap-entry-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ap-entry-time{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.ap-entry-address{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:auto}.ap-entry-time--clickable{border:none;background:none;padding:0;font:inherit;font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;text-align:left;text-decoration:underline dotted;text-underline-offset:2px}.ap-entry-time--clickable:hover{color:var(--color-accent)}.ap-entry-delete{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0}.ap-entry-delete:hover{background:#c0392b1a;color:#c0392b}.ap-extra-charges-card{margin-top:var(--space-4)}.ap-extra-charges-list{display:flex;flex-direction:column;gap:var(--space-2)}.ap-extra-charge-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-canvas)}.ap-extra-charge-main{display:flex;flex-direction:column;margin-right:auto;min-width:0}.ap-extra-charge-reason{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ap-extra-charge-notes{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ap-extra-charge-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 9px;border-radius:var(--radius-full);white-space:nowrap}.ap-extra-charge-status--draft{background:#fffbeb;color:#b45309}.ap-extra-charge-status--sent{background:#e7f6ec;color:#16a34a}.ap-extra-charge-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 9px;border-radius:var(--radius-full);white-space:nowrap}.ap-extra-charge-type--income{background:#e7f6ec;color:#16a34a}.ap-extra-charge-type--expense{background:#fdecea;color:#b91c1c}.ap-extra-charge-type--refund{background:#eff6ff;color:#2563eb}.ap-extra-charge-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.ap-extra-charge-actions{display:flex;align-items:center;gap:var(--space-2)}.ap-type-toggle{display:flex;gap:var(--space-2)}.ap-type-toggle-btn{flex:1;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer}.ap-type-toggle-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.ap-checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2);cursor:pointer}.ap-entry-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3);align-items:end}.ap-field--notes,.ap-field--charges{grid-column:span 2}.ap-field,.ap-charges-list{display:flex;flex-direction:column;gap:var(--space-1)}.ap-charge-chip{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.ap-charge-reason{flex:1;min-width:0;color:var(--color-text-primary)}.ap-charge-amount{color:var(--color-text-primary);white-space:nowrap}.ap-charge-remove{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);padding:0 var(--space-1)}.ap-charge-remove:hover{color:#c0392b}.ap-add-charge-inline{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.ap-charge-reason-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.ap-charge-amount-input{width:80px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.ap-charge-add-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);white-space:nowrap}.ap-field-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ap-field-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.ap-field-input{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.ap-subtotal-pending{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.ap-field-value--pending{color:#c0392b}.ap-save-pending-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.ap-entry-pay{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2)}.ap-pay-btn{font-size:var(--font-size-sm)}.ap-paid-note{font-size:var(--font-size-sm);color:#2e7d55}.ap-undo-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.ap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d73;display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--space-5)}.ap-manage-expenses-btn{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3)}.ap-empty-note{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-4) 0}.ap-field-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.ap-manage-filters{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ap-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.ap-modal--wide{max-width:720px}.ap-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-subtle)}.ap-modal-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.ap-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer}.ap-modal-close:hover{background:var(--color-canvas);color:var(--color-text-primary)}.ap-modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.ap-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.ap-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@media (max-width: 700px){.page{padding:var(--space-4)}.ap-day-header{flex-direction:column;align-items:flex-start}.ap-day-summary{width:100%;justify-content:space-between}.ap-entry-fields{grid-template-columns:repeat(2,1fr)}.ap-field--notes{grid-column:span 2}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--jp-bg: #f8f9fb;--jp-surface: #ffffff;--jp-border: #e4e7ed;--jp-text: #1a1d23;--jp-text-sub: #6b7280;--jp-accent: #2563eb;--jp-pickup: #f59e0b;--jp-delivery: #2563eb;--jp-done: #22c55e;--jp-radius: 12px;--jp-radius-sm: 7px;--jp-shadow: 0 1px 4px rgba(0,0,0,.07), 0 4px 16px rgba(0,0,0,.05);--jp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.jp-root{font-family:var(--jp-font);background:var(--jp-bg);min-height:100dvh;color:var(--jp-text)}.jp-topbar{position:sticky;top:0;z-index:100;background:var(--jp-surface);border-bottom:1px solid var(--jp-border);padding:12px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.jp-topbar-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.jp-topbar-left{display:flex;flex-direction:column;gap:6px;min-width:0}.jp-topbar-stats{display:flex;gap:6px;flex-wrap:wrap}.jp-quick-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 0}.jp-quick-action-btn{background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);padding:9px 14px;font-size:13px;font-weight:600;color:var(--jp-accent);cursor:pointer;font-family:var(--jp-font);transition:background .15s,border-color .15s}.jp-quick-action-btn:hover{background:#eff6ff;border-color:var(--jp-accent)}.jp-stats-row{display:flex;flex-wrap:wrap;gap:8px}.jp-stat-tile{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--jp-radius-sm);border:1px solid var(--jp-border);background:var(--jp-bg)}.jp-stat-icon{font-size:20px;line-height:1}.jp-stat-text{display:flex;flex-direction:column;line-height:1.15}.jp-stat-value{font-size:18px;font-weight:700;color:var(--jp-text)}.jp-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--jp-text-sub)}.jp-stat-tile--total{background:#eff6ff;border-color:#bfdbfe}.jp-stat-tile--total .jp-stat-value{color:#1d4ed8}.jp-stat-tile--pending{background:#fef3c7;border-color:#fde68a}.jp-stat-tile--pending .jp-stat-value{color:#92400e}.jp-stat-tile--done{background:#dbeafe;border-color:#bfdbfe}.jp-stat-tile--done .jp-stat-value{color:#1e40af}.jp-stat-tile--approved{background:#dcfce7;border-color:#bbf7d0}.jp-stat-tile--approved .jp-stat-value{color:#15803d}.jp-stat-tile--late{background:#fee2e2;border-color:#fecaca}.jp-stat-tile--late .jp-stat-value{color:#dc2626}.jp-stat-tile--notstarted{background:#f1f5f9;border-color:#e2e8f0}.jp-stat-tile--notstarted .jp-stat-value{color:#475569}.jp-date-nav{display:flex;align-items:center;gap:6px;background:var(--jp-bg);border-radius:999px;padding:4px 6px;border:1px solid var(--jp-border)}.jp-date-arrow{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--jp-text-sub);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.jp-date-arrow:hover{background:var(--jp-border)}.jp-date-label{font-size:14px;font-weight:600;min-width:90px;text-align:center;color:var(--jp-text)}.jp-view{padding:14px 14px 40px;display:flex;flex-direction:column;gap:10px;max-width:680px;margin:0 auto}.jp-card{background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius);box-shadow:var(--jp-shadow);overflow:hidden;transition:box-shadow .2s}.jp-card--expanded{box-shadow:0 2px 8px #0000001a,0 8px 32px #00000014}.jp-card--pickup{border-left:3px solid var(--jp-pickup)}.jp-card--canceled{opacity:.55;filter:grayscale(.6);text-decoration:line-through}.jp-card--canceled.jp-card--expanded{opacity:.75}.jp-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.jp-card-header:active{background:var(--jp-bg)}.jp-card-header-main{flex:1;display:flex;flex-direction:column;gap:4px}.jp-card-header-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.jp-card-address{font-size:15px;font-weight:600;line-height:1.3}.jp-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.jp-card-header-side{display:flex;flex-direction:row;align-items:flex-end;gap:4px;flex-shrink:0}.jp-card-time{font-size:12px;font-weight:600;color:var(--jp-text-sub);white-space:nowrap}.jp-card-chevron{font-size:12px;color:var(--jp-text-sub);padding-top:3px;flex-shrink:0}.jp-card-body{border-top:1px solid var(--jp-border);padding:14px 16px;display:flex;flex-direction:column;gap:14px}.jp-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:3px 8px;border-radius:999px;background:var(--jp-bg);border:1px solid var(--jp-border);color:var(--jp-text-sub)}.jp-pill--done{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.jp-pill--status{background:#f1f5f9;color:var(--jp-text)}.jp-pill--canceled{background:#fef2f2;border-color:#fecaca;color:#b91c1c;font-weight:700}.jp-type-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px}.jp-type-badge--pickup{background:#fef3c7;color:#92400e}.jp-type-badge--delivery{background:#dbeafe;color:#1e40af}.jp-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.jp-time-label{font-size:12px;color:var(--jp-text-sub)}.jp-product-list{display:flex;flex-wrap:wrap;gap:8px}.jp-product-row{display:flex;align-items:center;gap:8px;background:var(--jp-bg);border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);padding:5px 10px 5px 5px}.jp-product-img{width:28px;height:28px;object-fit:cover;border-radius:5px;flex-shrink:0}.jp-product-name{font-size:14px;color:var(--jp-text)}.jp-product-section{display:flex;flex-direction:column;gap:8px}.jp-product-row--removable{padding-right:6px}.jp-product-remove{border:none;background:none;color:var(--jp-text-sub);font-size:13px;line-height:1;cursor:pointer;padding:2px;margin-left:2px}.jp-product-remove:hover{color:#ef4444}.jp-product-search-wrap{position:relative}.jp-product-search-row{display:flex;gap:8px;align-items:stretch}.jp-product-search-input{min-height:unset;padding:10px 12px;flex:1 1 auto;min-width:0}.jp-product-qty-input{width:60px;flex-shrink:0;min-height:unset;padding:10px 8px;border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);font-family:var(--jp-font);font-size:14px;color:var(--jp-text);text-align:center}.jp-product-qty-input:focus{outline:none;border-color:var(--jp-accent)}.jp-product-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);box-shadow:var(--jp-shadow);max-height:200px;overflow-y:auto;z-index:20}.jp-product-dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:13px;cursor:pointer}.jp-product-dropdown-item:hover{background:var(--jp-bg)}.jp-product-dropdown-img{width:22px;height:22px;object-fit:cover;border-radius:4px;flex-shrink:0}.jp-empty-note{font-size:13px;color:var(--jp-text-sub);font-style:italic}.jp-notes-input{width:100%;min-height:72px;padding:10px 12px;border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);font-family:var(--jp-font);font-size:14px;color:var(--jp-text);background:var(--jp-bg);resize:vertical;transition:border-color .15s}.jp-notes-input:focus{outline:none;border-color:var(--jp-accent)}.jp-notes-input::placeholder{color:var(--jp-text-sub)}.jp-image-row{display:flex;gap:12px;flex-wrap:wrap}.jp-image-slot{display:flex;flex-direction:column;align-items:center;gap:5px}.jp-image-slot-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--jp-text-sub)}.jp-slot-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--jp-radius-sm);border:1px solid var(--jp-border);cursor:pointer}.jp-slot-missing{opacity:.35;cursor:default}.jp-slot-upload-label{cursor:pointer;display:block}.jp-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#000000e0;display:flex;align-items:center;justify-content:center}.jp-fullscreen-img{max-width:95vw;max-height:90dvh;border-radius:var(--jp-radius);object-fit:contain}.jp-replace-btn{position:absolute;bottom:32px;background:#ffffff26;color:#fff;padding:8px 18px;border-radius:999px;font-size:14px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.jp-fs-close,.jp-fs-delete,.jp-fs-download{position:absolute;top:16px;background:#ffffff26;color:#fff;border:none;padding:8px 14px;border-radius:999px;font-size:15px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-decoration:none;line-height:1}.jp-fs-close{right:16px}.jp-fs-delete,.jp-fs-download{left:16px}.jp-link-btn{background:none;border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);padding:8px 14px;font-size:13px;color:var(--jp-accent);cursor:pointer;text-align:left;font-family:var(--jp-font);transition:background .15s}.jp-link-btn:hover{background:#eff6ff}.jp-details-overlay{align-items:flex-end}.jp-details-card{background:var(--jp-surface);border-radius:var(--jp-radius) var(--jp-radius) 0 0;padding:24px 20px 40px;width:100%;max-width:480px;position:relative}.jp-details-close{position:absolute;top:14px;right:16px;background:var(--jp-bg);border:1px solid var(--jp-border);border-radius:50%;width:30px;height:30px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.jp-request-form{display:flex;flex-direction:column;gap:12px}.jp-request-type-row{display:flex;gap:8px;flex-wrap:wrap}.jp-request-type-btn{padding:6px 14px;border:1px solid var(--jp-border);border-radius:999px;background:var(--jp-surface);font-size:13px;color:var(--jp-text-sub);cursor:pointer}.jp-request-type-btn--active{background:var(--jp-accent);border-color:var(--jp-accent);color:#fff}.jp-request-datetime-row{display:flex;align-items:center;gap:8px}.jp-request-datetime-row .jp-notes-input{min-height:unset;flex:1}.jp-request-sep{color:var(--jp-text-sub)}.jp-request-submit{align-self:stretch;text-align:center}.jp-pick-hint{font-size:13px;color:var(--jp-text-sub)}.jp-pick-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.jp-pick-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);background:var(--jp-surface);text-align:left;cursor:pointer;font-family:var(--jp-font)}.jp-pick-item:hover{background:var(--jp-bg);border-color:var(--jp-accent)}.jp-pick-item-title{font-size:13px;color:var(--jp-text);flex:1}.jp-pick-item-sub{font-size:12px;color:var(--jp-text-sub);white-space:nowrap}.jp-request-actions-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.jp-request-actions-row .jp-request-submit{flex:1}.jp-details-address{font-size:15px;font-weight:600;margin-bottom:16px;padding-right:40px}.jp-details-codes{display:flex;flex-direction:column;gap:10px}.jp-code-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--jp-bg);border-radius:var(--jp-radius-sm);font-size:14px}.jp-code-row span{color:var(--jp-text-sub)}.jp-code-row strong{font-size:16px;letter-spacing:1px}.jp-driver-ribbon{background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:12px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--jp-shadow)}.jp-driver-info{font-size:14px;color:var(--jp-text-sub)}.jp-driver-info strong{color:var(--jp-text)}.jp-maps-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--jp-accent);text-decoration:none;margin-top:2px}.jp-maps-link:hover{text-decoration:underline}.jp-maps-icon{width:14px;height:14px}.jp-directions-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--jp-accent);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 9px;text-decoration:none;white-space:nowrap}.jp-directions-btn:hover{background:#dbeafe}.jp-summary-section{background:var(--jp-surface);border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:14px 16px;box-shadow:var(--jp-shadow)}.jp-summary-products{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.jp-summary-product{display:flex;align-items:center;gap:7px;font-size:13px;background:var(--jp-bg);border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);padding:5px 10px 5px 5px}.jp-summary-canceled-count{color:var(--jp-text-sub);opacity:.7;font-size:12px;font-weight:600}.jp-summary-img{width:28px;height:28px;object-fit:cover;border-radius:5px}.jp-note-box{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--jp-radius-sm);padding:10px 12px}.jp-note-text{font-size:14px;color:#92400e;margin-top:4px}.jp-status-row{display:flex;flex-direction:column;gap:6px}.jp-status-select{padding:8px 12px;border:1px solid var(--jp-border);border-radius:var(--jp-radius-sm);font-size:14px;font-family:var(--jp-font);background:var(--jp-bg);color:var(--jp-text);cursor:pointer}.jp-status-select:focus{outline:none;border-color:var(--jp-accent)}.jp-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--jp-text-sub)}.jp-checklist{display:flex;flex-direction:column;gap:8px}.jp-check-item{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;line-height:1.4}.jp-hidden-checkbox{display:none}.jp-checkbox-icon{width:22px;height:22px;flex-shrink:0}.jp-requirements{display:flex;flex-direction:column;gap:16px}.jp-requirement{display:flex;flex-direction:column;gap:8px}.jp-req-label{font-size:14px;font-weight:600}.jp-req-sublabel{font-size:12px;font-weight:600;color:var(--jp-text-sub);margin-bottom:4px}.jp-before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jp-before-after-side{display:flex;flex-direction:column}.jp-image-gallery{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}.jp-gallery-thumb-wrap{width:60px;height:60px;border-radius:var(--jp-radius-sm);overflow:hidden;border:1px solid var(--jp-border);cursor:pointer}.jp-gallery-thumb{width:100%;height:100%;object-fit:cover}.jp-gallery-add{width:60px;height:60px;border:1px dashed var(--jp-border);border-radius:var(--jp-radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--jp-bg);transition:background .15s}.jp-gallery-add:hover{background:#eff6ff;border-color:var(--jp-accent)}.jp-gallery-add-icon{width:24px;height:24px;opacity:.5}.jp-circular-progress{width:60px;height:60px;position:relative;display:flex;align-items:center;justify-content:center}.jp-circular-progress svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.jp-progress-bg{fill:none;stroke:var(--jp-border);stroke-width:8}.jp-progress-bar{fill:none;stroke:var(--jp-accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:282.74;transition:stroke-dashoffset .2s}.jp-progress-text{font-size:11px;font-weight:700;color:var(--jp-accent);position:relative}.jp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 16px;color:var(--jp-text-sub);font-size:14px}.jp-loading--full{min-height:100dvh}.jp-loading-inline{display:flex;justify-content:center;padding:20px 0}.jp-spinner{width:28px;height:28px;border:3px solid var(--jp-border);border-top-color:var(--jp-accent);border-radius:50%;animation:jp-spin .7s linear infinite}.jp-spinner--sm{width:20px;height:20px;border-width:2px}@keyframes jp-spin{to{transform:rotate(360deg)}}.jp-empty-state{text-align:center;padding:48px 16px;color:var(--jp-text-sub);font-size:15px}.jp-hidden-input{display:none}.jp-card-actions-row{display:flex;gap:8px}@media (max-width: 400px){.jp-before-after-grid{grid-template-columns:1fr}.jp-slot-thumb{width:70px;height:70px}.jp-topbar-title{font-size:16px}.jp-topbar{flex-wrap:wrap}.jp-stats-row{flex-wrap:nowrap;gap:5px}.jp-stat-tile{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;text-align:center;padding:6px 2px;gap:2px}.jp-stat-icon{font-size:15px}.jp-stat-text{align-items:center}.jp-stat-value{font-size:13px}.jp-stat-label{font-size:8px;letter-spacing:.2px;white-space:normal;line-height:1.1}}.inv-root{display:flex;flex-direction:column;height:100%;padding:var(--space-6);gap:var(--space-5);overflow-y:auto}.inv-topbar{display:flex;align-items:center;gap:var(--space-4)}.inv-topbar-title{flex-shrink:0}.inv-search-wrap{position:relative;flex:1;max-width:420px;display:flex;align-items:center}.inv-search-input{width:100%;padding:var(--space-2) var(--space-8);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-primary)}.inv-search-input:focus{outline:none;border-color:var(--color-accent)}.inv-search-icon{position:absolute;left:var(--space-2);opacity:.5;pointer-events:none}.inv-search-clear{position:absolute;right:var(--space-2);border:none;background:none;padding:0;cursor:pointer;opacity:.6;display:flex}.inv-search-clear:hover{opacity:1}.inv-add-btn{margin-left:auto;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast)}.inv-add-btn:hover{background:var(--color-accent-light)}.inv-category-editor{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md)}.inv-category-name-input{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);background:transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:inherit}.inv-category-name-input:hover{border-color:var(--color-border)}.inv-category-name-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-canvas)}.inv-category-editor-actions{display:flex;gap:var(--space-2);flex-shrink:0}.inv-body{display:flex;gap:var(--space-6);flex:1;min-height:0}.inv-sidebar-categories{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2)}.inv-category-chip{text-align:left;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-1)}.inv-category-chip:hover{background:var(--color-canvas)}.inv-category-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.inv-category-chip--add{color:var(--color-accent);border-style:dashed}.inv-view-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:var(--border);border-radius:var(--radius-md);background:var(--color-canvas);flex-shrink:0}.inv-view-tab{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:var(--transition-fast)}.inv-view-tab:hover{color:var(--color-text-primary)}.inv-view-tab--active{background:var(--color-accent);color:var(--color-text-inverse)}.inv-view-tab--active:hover{color:var(--color-text-inverse)}.inv-grid{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);align-content:start}.inv-product-card{position:relative;background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-fast);display:flex;flex-direction:column;height:25vh}.inv-product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.inv-product-clickable{cursor:pointer}.inv-product-image{width:100%;height:120px;object-fit:cover;display:block;background:var(--color-canvas)}.inv-product-info{padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px}.inv-product-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.inv-product-stock,.inv-product-price{font-size:var(--font-size-xs);color:var(--color-text-muted)}.inv-product-actions{display:flex;gap:var(--space-2);padding:0 var(--space-4) var(--space-3);margin-top:auto}.inv-product-actions .inv-btn{flex:1;justify-content:center}.inv-product-remove-from-category{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:#0f1b2d8c;color:var(--color-text-inverse);cursor:pointer}.inv-product-remove-from-category:hover{background:var(--color-highlight)}.inv-empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted)}.inv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d73;display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--space-5)}.inv-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.inv-side-panel{position:fixed;top:var(--space-6);right:var(--space-6);bottom:var(--space-6);width:40vw;min-width:380px;max-width:720px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:500;display:flex;flex-direction:column;overflow:hidden;animation:inv-slide-in var(--duration-normal) var(--ease)}@keyframes inv-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.inv-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-subtle);flex-shrink:0}.inv-panel-title{font-size:var(--font-size-lg)}.inv-panel-close{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex}.inv-panel-close:hover{color:var(--color-text-primary)}.inv-panel-body{padding:var(--space-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0}.inv-panel-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-subtle);flex-shrink:0}.inv-btn{padding:var(--space-2) var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-1)}.inv-btn:hover{background:var(--color-canvas)}.inv-btn:disabled{opacity:.6;cursor:not-allowed}.inv-btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.inv-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.inv-btn--primary:hover{background:var(--color-accent-light)}.inv-btn--danger{color:var(--color-highlight);border-color:var(--color-highlight)}.inv-btn--danger:hover{background:var(--color-highlight);color:var(--color-text-inverse)}.inv-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.inv-field-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.inv-field-row{display:flex;gap:var(--space-3)}.inv-input,.inv-textarea{padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);font-family:inherit}.inv-input:focus,.inv-textarea:focus{outline:none;border-color:var(--color-accent)}.inv-textarea{min-height:72px;resize:vertical}.inv-checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.inv-in-stock-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.inv-subpanel-row{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3);border-top:var(--border-subtle)}.inv-subpanel-row .inv-btn--danger{margin-left:auto}.inv-upload-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm)}.inv-upload-preview{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-md)}.inv-hidden-input{display:none}.inv-product-search-wrap{position:relative}.inv-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto;z-index:10}.inv-dropdown-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-2)}.inv-dropdown-item:hover{background:var(--color-canvas)}.inv-dropdown-item--empty{color:var(--color-text-muted);cursor:default}.inv-dropdown-item--empty:hover{background:none}.inv-dropdown-item-img{width:20px;height:20px;border-radius:var(--radius-sm);object-fit:cover}.inv-selected-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inv-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-canvas);border:var(--border);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.inv-chip button{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex}.inv-chip button:hover{color:var(--color-highlight)}.inv-records{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-width:0}.inv-records-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.inv-records-month{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);min-width:160px;text-align:center}.inv-icon-btn{border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}.inv-icon-btn:hover{background:var(--color-canvas)}.inv-records-list{display:flex;flex-direction:column;gap:var(--space-2)}.inv-record-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm)}.inv-record-date{color:var(--color-text-muted);font-size:var(--font-size-xs);width:90px;flex-shrink:0}.inv-record-product{flex:1}.inv-record-amount{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.inv-record-direction{font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-full);text-transform:capitalize}.inv-record-direction--in{background:#2e7d551f;color:#2e7d55}.inv-record-direction--out{background:#e07a5f1f;color:var(--color-highlight)}.inv-record-status{font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-full)}.inv-record-status--done{background:#2e7d551f;color:#2e7d55}.inv-record-status--pending{background:#e07a5f1f;color:var(--color-highlight)}.inv-record-delete{border:none;background:none;color:var(--color-text-muted);cursor:pointer;display:flex}.inv-record-delete:hover{color:var(--color-highlight)}.inv-price-chart{flex:1;display:flex;flex-direction:column;gap:var(--space-4);overflow:auto}.inv-price-chart-header{display:flex;align-items:center;justify-content:space-between}.inv-price-chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.inv-price-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.inv-price-table th{text-align:left;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;padding:var(--space-2) var(--space-3);border-bottom:var(--border)}.inv-price-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border);vertical-align:middle}.inv-price-row{cursor:pointer}.inv-price-row:hover{background:var(--color-canvas)}.inv-price-thumb{width:32px;height:32px;object-fit:cover;border-radius:var(--radius-sm)}.inv-price-input{width:100px;padding:var(--space-1) var(--space-2);border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-sm)}.inv-pill-reusable{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-canvas);border-radius:var(--radius-full);padding:1px var(--space-2)}.inv-price-history-row td{background:var(--color-canvas)}.inv-price-history-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.inv-price-history-table th{text-align:left;color:var(--color-text-muted);padding:var(--space-1) var(--space-2)}.inv-price-history-table td{padding:var(--space-1) var(--space-2)}.inv-loading-inline{display:flex;align-items:center;justify-content:center;padding:var(--space-3)}.inv-spinner--sm{width:16px;height:16px;border-width:2px}.inv-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-6);flex:1}.inv-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:inv-spin .7s linear infinite}@keyframes inv-spin{to{transform:rotate(360deg)}}.inv-empty-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (max-width: 700px){.inv-root{padding:var(--space-4)}.inv-topbar{flex-wrap:wrap;gap:var(--space-3)}.inv-search-wrap{max-width:none;flex-basis:100%;order:3}.inv-add-btn{margin-left:0}.inv-body{flex-direction:column}.inv-sidebar-categories{width:100%;flex-direction:row;flex-wrap:wrap}.inv-overlay{padding:0;align-items:stretch}.inv-panel{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}.inv-side-panel{top:0;right:0;bottom:0;left:0;width:100%;min-width:0;max-width:none;border-radius:0}.inv-record-row{flex-wrap:wrap}}.fin-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-10)}.fin-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:fin-spin .7s linear infinite}@keyframes fin-spin{to{transform:rotate(360deg)}}.fin-range-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.fin-range-nav-period{display:flex;align-items:center;gap:var(--space-3)}.fin-range-arrow{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.fin-range-arrow:hover{background:var(--color-canvas);color:var(--color-text-primary)}.fin-range-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);min-width:160px;text-align:center}.fin-widgets{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.fin-widget-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);cursor:pointer;flex-wrap:wrap}.fin-widget-header-left{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.fin-widget-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.fin-widget-totals{display:flex;align-items:baseline;gap:var(--space-5)}.fin-widget-total{display:flex;flex-direction:column;align-items:flex-end}.fin-widget-total-value{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.fin-widget-total-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.fin-widget-body{padding:0 var(--space-6) var(--space-6);border-top:var(--border);display:flex;flex-direction:column;gap:var(--space-3)}.fin-widget-body>.fin-tab-row{margin-top:var(--space-5)}.fin-empty-note{font-size:var(--font-size-sm);color:var(--color-text-muted);padding-top:var(--space-4)}.fin-tab-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.fin-tab{padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--font-size-xs);cursor:pointer;color:var(--color-text-secondary)}.fin-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.fin-breakdown-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-4)}.fin-breakdown-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.fin-breakdown-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-md);background:var(--color-canvas);cursor:pointer;min-width:110px}.fin-breakdown-chip--active{border-color:var(--color-accent);background:var(--color-surface)}.fin-breakdown-chip-type{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.fin-breakdown-chip-amount{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.fin-breakdown-chip-pct{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fin-row{padding:var(--space-3) var(--space-4);background:var(--color-canvas);border:var(--border);border-radius:var(--radius-md)}.fin-row-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.fin-row-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.fin-row-badge{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface);border:var(--border);border-radius:var(--radius-full);padding:2px var(--space-2)}.fin-row-fields{display:flex;flex-wrap:wrap;gap:var(--space-4)}.fin-row-field{display:flex;flex-direction:column;gap:2px}.fin-row-field-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fin-row-field-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.fin-tone-positive{color:#1e7a4c;background:#2e7d5521;border-radius:var(--radius-sm);padding:1px var(--space-2)}.fin-tone-negative{color:#b23a2e;background:#c0392b21;border-radius:var(--radius-sm);padding:1px var(--space-2)}.fin-row-head--clickable{cursor:pointer}.fin-row-event-count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:auto}.fin-events-list{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--border)}.fin-event-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm)}.fin-event-row:hover{background:var(--color-surface)}.fin-event-time{color:var(--color-text-secondary);white-space:nowrap}.fin-event-address{color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-event-value{font-weight:var(--font-weight-medium);white-space:nowrap}.fin-event-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface);border:var(--border);border-radius:var(--radius-full);padding:2px var(--space-2);white-space:nowrap}.fin-event-tag{font-size:var(--font-size-xs);color:var(--color-highlight);border:1px solid var(--color-highlight);border-radius:var(--radius-full);padding:2px var(--space-2);white-space:nowrap}.fin-event-margin{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.fin-event-charged{white-space:nowrap}.fin-event-costs{display:flex;gap:var(--space-2);font-size:var(--font-size-xs);white-space:nowrap}.fin-breakdown-card{margin-top:var(--space-6)}.fin-breakdown-table{display:flex;flex-direction:column}.fin-breakdown-table-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border-top:var(--border)}.fin-breakdown-table-row--head{border-top:none;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.fin-breakdown-table-row--total{border-top:2px solid var(--color-border);font-weight:var(--font-weight-semibold)}.fin-breakdown-table-label{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.fin-breakdown-table-row span:not(.fin-breakdown-table-label){justify-self:start}.af-root{max-width:none}.af-range-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.af-tab-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.af-tab{padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--font-size-xs);cursor:pointer;color:var(--color-text-secondary)}.af-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.af-range-nav-period{display:flex;align-items:center;gap:var(--space-3)}.af-range-arrow{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.af-range-arrow:hover{background:var(--color-canvas);color:var(--color-text-primary)}.af-range-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);min-width:160px;text-align:center}.af-custom-range{display:flex;align-items:center;gap:var(--space-2)}.af-date-input{width:150px}.af-range-sep{color:var(--color-text-muted)}.af-search-row{margin-bottom:var(--space-3)}.af-search-wrap{position:relative;max-width:480px}.af-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.af-search-input{width:100%;padding-left:var(--space-8)}.af-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.af-clear-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.af-filter{position:relative}.af-filter-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;max-width:180px}.af-filter-btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-filter--active .af-filter-btn{border-color:var(--color-accent);color:var(--color-accent-light);background:#3d5a800f}.af-filter-clear{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer}.af-filter-clear:hover{color:var(--color-text-primary)}.af-filter-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:240px;background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.af-filter-search{width:100%;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-canvas);color:var(--color-text-primary)}.af-filter-search:focus{outline:2px solid var(--color-accent)}.af-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.af-filter-chip{display:inline-flex;align-items:center;gap:3px;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--font-size-xs);cursor:pointer}.af-filter-options{max-height:220px;overflow-y:auto;display:flex;flex-direction:column}.af-filter-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.af-filter-option:hover{background:var(--color-canvas)}.af-filter-option--selected{background:#3d5a801a;font-weight:var(--font-weight-medium)}.af-filter-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-2)}.af-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-10)}.af-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:af-spin .7s linear infinite}@keyframes af-spin{to{transform:rotate(360deg)}}.af-empty-state{padding:var(--space-10);text-align:center;color:var(--color-text-muted)}.af-list{display:flex;flex-direction:column;gap:var(--space-2)}.af-list-head{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.af-list-head-toggle{width:22px;flex:none}.af-row-wrap{background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);overflow:hidden}.af-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.af-row-toggle{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.af-row-toggle:hover{background:var(--color-canvas);color:var(--color-text-primary)}.af-cell{display:flex;align-items:center;gap:var(--space-2);min-width:0;border:none;background:none;padding:0;font:inherit;color:inherit;text-align:left}.af-cell-job{flex:0 0 190px;cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-1);margin:calc(var(--space-1) * -1)}.af-cell-job:hover{background:var(--color-canvas)}.af-status-dot{width:8px;height:8px;border-radius:50%;flex:none}.af-job-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap}.af-job-time{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-cell-location{flex:1 1 220px;min-width:120px;cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-1);margin:calc(var(--space-1) * -1);flex-direction:column;align-items:flex-start;gap:1px}.af-cell-location:hover{background:var(--color-canvas)}.af-address{font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.af-owner{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.af-cell-people{flex:0 0 160px;flex-wrap:wrap;gap:var(--space-1)}.af-tag{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-canvas);border:var(--border);border-radius:var(--radius-full);padding:1px var(--space-2);white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.af-tag--more{color:var(--color-text-muted)}.af-tag--driver{color:var(--color-accent-light)}.af-cell-money{flex:0 0 110px;flex-direction:column;align-items:flex-end;gap:0}.af-money{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.af-money-sub{font-size:var(--font-size-xs);white-space:nowrap}.af-cell-meta{flex:0 0 100px;justify-content:flex-end;gap:var(--space-1)}.af-chip{display:inline-flex;align-items:center;gap:3px;font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-canvas);border:var(--border);border-radius:var(--radius-full);padding:1px var(--space-2);white-space:nowrap}.af-chip--warn{color:#b23a2e;border-color:#c0392b4d;background:#c0392b14}.af-tone-positive{color:#1e7a4c}.af-tone-negative{color:#b23a2e}.af-expanded{border-top:var(--border);padding:var(--space-3) var(--space-4) var(--space-4) calc(var(--space-4) + 22px);display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-canvas)}.af-detail-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2)}.af-notes-list{display:flex;flex-direction:column;gap:var(--space-2)}.af-note-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.af-notes{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:pre-wrap;margin-top:2px}.af-charges-list{display:flex;flex-direction:column;gap:var(--space-1)}.af-charge-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm)}.af-charge-reason{color:var(--color-text-primary)}.af-charge-amount{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);white-space:nowrap}.af-detail-grid{display:flex;flex-wrap:wrap;gap:var(--space-4)}.af-detail-field{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm)}.af-detail-field span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.af-detail-field b{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.af-people-list{display:flex;flex-direction:column;gap:var(--space-2)}.af-person-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.af-person-name{font-weight:var(--font-weight-medium)}.af-person-pay{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.af-products-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.af-product-tag{font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);border:var(--border);border-radius:var(--radius-full);padding:2px var(--space-3)}.af-product-tag em{color:var(--color-text-muted);font-style:normal}.af-product-was-price{color:var(--color-text-muted);font-size:var(--font-size-xs);text-decoration:line-through}.af-reports-grid{display:flex;flex-direction:column;gap:var(--space-3)}.af-report-item{display:flex;flex-direction:column;gap:var(--space-2)}.af-report-thumbs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.af-report-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:var(--border)}.af-report-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.af-complaints-list{display:flex;flex-direction:column;gap:var(--space-2)}.af-complaint-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.af-complaint-badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:1px var(--space-2);white-space:nowrap;color:var(--color-text-inverse);background:var(--color-accent)}.af-complaint-badge--notify{background:var(--color-text-muted)}.af-complaint-status{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:1px var(--space-2);white-space:nowrap;border:var(--border);color:var(--color-text-secondary)}.af-complaint-status--new{color:#b23a2e;border-color:#c0392b4d}.af-complaint-message{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-history-list{display:flex;flex-direction:column;gap:var(--space-1)}.af-history-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.af-history-status{font-weight:var(--font-weight-medium);color:var(--color-text-primary);min-width:90px}.af-history-time{white-space:nowrap}.af-history-by{color:var(--color-text-muted);font-size:var(--font-size-xs)}.af-pager{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.af-pager-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.af-pager-btns{display:flex;gap:var(--space-2)}@media (max-width: 900px){.af-row{flex-wrap:wrap;row-gap:var(--space-2)}.af-cell-job,.af-cell-location,.af-cell-people,.af-cell-money,.af-cell-meta{flex:1 1 auto}.af-cell-money{align-items:flex-start}.af-list-head{display:none}}.maps-root{display:flex;height:100vh}.maps-loading{display:flex;align-items:center;justify-content:center;height:100vh}.maps-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:maps-spin .8s linear infinite}@keyframes maps-spin{to{transform:rotate(360deg)}}.maps-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-4)}.maps-sidebar-tabs{display:flex;align-items:center;gap:2px;padding:2px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);margin-bottom:var(--space-3)}.maps-sidebar-tab{flex:1;padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:var(--transition-fast)}.maps-sidebar-tab:hover{color:var(--color-text-primary)}.maps-sidebar-tab--active{background:var(--color-accent);color:var(--color-text-inverse)}.maps-sidebar-tab--active:hover{color:var(--color-text-inverse)}.maps-sidebar-search{flex-shrink:0;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.maps-sidebar-list{flex:1;min-height:0;overflow-y:auto}.maps-sidebar-section-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:var(--space-4) 0 var(--space-2)}.maps-sidebar-section-label:first-child{margin-top:0}.maps-sidebar-empty{font-size:var(--font-size-sm);color:var(--color-text-muted)}.maps-sidebar-row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;font-family:inherit}.maps-sidebar-row:hover{background:var(--color-canvas)}.maps-sidebar-row--active{background:var(--color-canvas);border-color:var(--color-accent)}.maps-sidebar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.maps-sidebar-dot--live{background:#16a34a}.maps-sidebar-dot--offline{background:#9ca3af}.maps-sidebar-name{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maps-sidebar-type{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.maps-view{flex:1;position:relative}.maps-location-pin span{display:block;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #00000059}.maps-worker-pin span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--color-accent);box-shadow:0 1px 4px #00000059;font-size:15px}.maps-worker-pin--offline span{border-color:#9ca3af;filter:grayscale(1);opacity:.55}.maps-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;justify-content:flex-end;z-index:1000}.maps-popup{width:min(400px,100%);height:100%;background:var(--color-surface);box-shadow:-4px 0 16px #00000026;overflow-y:auto;padding:var(--space-4)}.maps-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.maps-popup-header h3{font-size:var(--font-size-lg);color:var(--color-text-primary)}.maps-popup-close{border:none;background:none;font-size:var(--font-size-lg);cursor:pointer;color:var(--color-text-muted)}.maps-popup-view-location-btn{display:block;width:100%;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-align:center}.maps-popup-view-location-btn:hover{background:var(--color-border-subtle)}.maps-popup-eta{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-canvas);margin-bottom:var(--space-4);text-align:center}.maps-popup-eta-btn{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-inverse);font-weight:600;cursor:pointer}.maps-popup-eta-arrived{color:#16a34a;font-weight:700}.maps-popup-eta-error{color:#dc2626}.maps-popup-eta-result{font-weight:700;color:var(--color-text-primary)}.maps-popup-section{margin-bottom:var(--space-5)}.maps-popup-section h4{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.maps-popup-event{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--color-border-subtle);background:none;font-size:var(--font-size-sm);font-family:inherit;text-align:left;cursor:pointer}.maps-popup-event:hover .maps-popup-event-date{color:var(--color-accent)}.maps-popup-event-date{font-weight:600;color:var(--color-text-primary)}.maps-popup-event-address{color:var(--color-text-secondary)}.maps-popup-event-status{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.maps-popup-empty,.maps-popup-loading{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (max-width: 767px){.maps-root{flex-direction:column}.maps-sidebar{width:100%;max-height:180px;border-right:none;border-bottom:1px solid var(--color-border)}.maps-popup{width:100%}}.sidebar{display:flex;flex-direction:column;background:var(--color-sidebar-bg);height:100dvh;overflow:hidden;flex-shrink:0;width:var(--sidebar-width-expanded);transition:width var(--duration-slow) var(--ease);border-right:1px solid rgba(255,255,255,.04);position:relative;z-index:10}.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:1px solid rgba(255,255,255,.06);min-height:64px;flex-shrink:0;overflow:hidden}.sidebar__logo{width:32px;height:32px;background:var(--color-highlight);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #e07a5f59}.sidebar__logo-mark{color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);line-height:1}.sidebar__brand-name{color:var(--color-text-sidebar-active);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;opacity:1;transform:translate(0);transition:opacity var(--duration-fast) var(--ease),transform var(--duration-normal) var(--ease)}.sidebar--collapsed .sidebar__brand-name{opacity:0;transform:translate(-8px);pointer-events:none}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__nav::-webkit-scrollbar{width:0}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;color:var(--color-text-sidebar);width:100%;text-align:left;position:relative;min-height:40px;overflow:hidden;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__item:hover{background:var(--color-sidebar-hover);color:var(--color-text-sidebar-active)}.sidebar__item--active{background:var(--color-sidebar-active);color:var(--color-text-sidebar-active)}.sidebar__active-bar{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-highlight);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:opacity var(--transition-fast)}.sidebar__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.sidebar__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex:1;opacity:1;transform:translate(0);transition:opacity var(--duration-fast) var(--ease),transform var(--duration-normal) var(--ease)}.sidebar--collapsed .sidebar__label{opacity:0;transform:translate(-6px);pointer-events:none;-webkit-user-select:none;user-select:none}.sidebar__divider{height:1px;background:#ffffff0f;margin:var(--space-2) var(--space-3);flex-shrink:0}.sidebar__toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:none;border-top:1px solid rgba(255,255,255,.06);background:transparent;color:var(--color-text-muted);cursor:pointer;width:100%;text-align:left;min-height:48px;overflow:hidden;white-space:nowrap;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__toggle:hover{background:var(--color-sidebar-hover);color:var(--color-text-sidebar)}
