:root{color-scheme:dark;--color-bg: #1a1a1a;--color-surface: #242424;--color-surface-sunken: #1e1e1e;--color-surface-hover: #2e2e2e;--color-input-bg: #1a1a1a;--color-border: #333333;--color-border-strong: #474747;--color-text: #ffffff;--color-text-muted: #a0a0a0;--color-text-faint: #666666;--color-sidebar: #121212;--color-sidebar-text: #a0a0a0;--color-sidebar-text-strong: #ffffff;--color-sidebar-text-muted: #666666;--color-sidebar-hover: #1e1e1e;--color-sidebar-border: #262626;--color-accent: #ffb800;--color-accent-hover: #e6a600;--color-on-accent: #000000;--color-accent-text: #ffb800;--color-accent-soft: rgba(255, 184, 0, .12);--color-success: #22c55e;--color-success-text: #4ade80;--color-success-soft: rgba(34, 197, 94, .14);--color-danger: #ef4444;--color-danger-text: #f87171;--color-danger-soft: rgba(239, 68, 68, .14);--color-info: #3b82f6;--color-info-text: #60a5fa;--color-info-soft: rgba(59, 130, 246, .16);--color-warning: #ffb800;--color-warning-text: #ffc933;--color-warning-soft: rgba(255, 184, 0, .14);--color-backdrop: rgba(0, 0, 0, .65);--font-display: "Montserrat", system-ui, sans-serif;--font-body: "Montserrat", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--shadow-modal: 0 16px 40px rgba(0, 0, 0, .5);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .45)}:root[data-theme=light]{color-scheme:light;--color-bg: #f3f3f1;--color-surface: #ffffff;--color-surface-sunken: #f7f7f5;--color-surface-hover: #f0efea;--color-input-bg: #ffffff;--color-border: #e0e0dc;--color-border-strong: #c9c9c4;--color-text: #1a1a1a;--color-text-muted: #5c5c5c;--color-text-faint: #8a8a8a;--color-accent-text: #8a6200;--color-accent-soft: rgba(255, 184, 0, .18);--color-success-text: #15803d;--color-success-soft: rgba(34, 197, 94, .14);--color-danger-text: #b91c1c;--color-danger-soft: rgba(239, 68, 68, .1);--color-info-text: #1d4ed8;--color-info-soft: rgba(59, 130, 246, .1);--color-warning-text: #8a6200;--color-warning-soft: rgba(255, 184, 0, .18);--color-backdrop: rgba(18, 18, 18, .5);--shadow-modal: 0 16px 40px rgba(0, 0, 0, .18);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,color .16s ease}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.05em;line-height:1.25}a{color:inherit}button,input,select,textarea{font-family:var(--font-body)}code{font-family:var(--font-mono);font-size:.92em}.mono{font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.03em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-shell{--sidebar-width: 240px;display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-sidebar);color:var(--color-sidebar-text);border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;padding:24px 0 20px;position:fixed;top:0;bottom:0;left:0;z-index:40;overflow-y:auto;overscroll-behavior:contain}.sidebar-brand{padding:0 20px 20px;border-bottom:1px solid var(--color-sidebar-border)}.sidebar-logo{display:block;width:100%;max-width:196px;height:auto}.sidebar-mark{display:none;width:40px;height:auto;margin:0 auto}.sidebar-nav{margin-top:20px;display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav a{position:relative;display:flex;align-items:center;gap:12px;padding:11px 20px;text-decoration:none;color:var(--color-sidebar-text);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:background-color .12s ease,color .12s ease}.sidebar-nav a svg{flex-shrink:0;color:var(--color-sidebar-text)}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.sidebar-nav a.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.sidebar-nav a.active svg{color:var(--color-accent)}.sidebar-footer{border-top:1px solid var(--color-sidebar-border);margin:0 20px;padding-top:16px;font-size:13px;display:flex;flex-direction:column;gap:8px}.sidebar-footer .user-email{color:var(--color-sidebar-text-strong);font-weight:600;word-break:break-all}.user-role{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-top:2px}.sidebar-footer button,.drawer-logout,.theme-toggle{width:100%;justify-content:center;color:var(--color-sidebar-text);border:1px solid var(--color-sidebar-border);background:transparent}.sidebar-footer button:hover:not(:disabled),.drawer-logout:hover:not(:disabled),.theme-toggle:hover:not(:disabled){background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong);border-color:var(--color-border-strong)}.main{flex:1;min-width:0;margin-left:var(--sidebar-width);padding:32px 40px}.mobile-topbar,.bottom-nav{display:none}.icon-button{background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm)}.icon-button:hover{background:#7f7f7f29}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header h1{font-size:22px}.page-header h1:after{content:"";display:block;width:40px;height:2px;margin-top:10px;background:var(--color-accent)}.page-subtitle{color:var(--color-text-muted);font-size:14px;margin-top:8px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);z-index:200;display:flex;justify-content:flex-end}.drawer{width:min(320px,86vw);height:100%;background:var(--color-sidebar);color:var(--color-sidebar-text);border-left:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));overflow-y:auto;animation:drawer-in .16s ease-out}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-sidebar-border)}.drawer-name{color:var(--color-sidebar-text-strong);font-weight:600;word-break:break-all;padding-top:10px}.drawer-role{color:var(--color-accent);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.drawer-nav{display:flex;flex-direction:column;gap:2px;margin:16px 0;flex:1}.drawer-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:50px;padding:0 14px;border-radius:var(--radius-sm);color:var(--color-sidebar-text);text-decoration:none;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.drawer-nav a.active{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.drawer-nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.drawer-nav a.active svg{color:var(--color-accent)}.drawer-actions{display:flex;flex-direction:column;gap:8px}.drawer-logout,.drawer-actions .theme-toggle{min-height:48px}.drawer-slogan,.sidebar-slogan{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-sidebar-text-muted);text-align:center;margin-top:4px}.btn{font-family:var(--font-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn svg,.btn-link svg{flex-shrink:0}.btn-sm{gap:5px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:transparent;border-color:var(--color-accent);color:var(--color-accent-text)}.btn-secondary:hover:not(:disabled){background:var(--color-accent-soft)}.btn-danger{background:transparent;color:var(--color-danger-text);border-color:transparent}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-sm{padding:6px 11px;font-size:11.5px}.btn-link{background:none;border:none;color:var(--color-accent-text);font-family:var(--font-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:32px}.btn-link:hover{text-decoration:underline;text-underline-offset:3px}.btn-icon{position:relative;justify-content:center;padding:7px;min-width:34px}.btn-icon .btn-label{display:none}.btn-icon[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);right:0;z-index:30;padding:5px 9px;border-radius:4px;border:1px solid var(--color-sidebar-border);background:var(--color-sidebar);color:#fff;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}@media (hover: hover){.btn-icon[data-tooltip]:hover:after{opacity:1;transform:none}}.btn-icon[data-tooltip]:focus-visible:after{opacity:1;transform:none}.data-table .dt-expand{display:none}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}table.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);vertical-align:bottom}.data-table td{padding:13px 16px;border-bottom:1px solid var(--color-border);font-size:14px;vertical-align:top}.data-table tbody tr{transition:background-color .1s ease}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table tr:last-child td{border-bottom:none}.data-table a:not(.btn){color:var(--color-text);text-decoration-color:var(--color-text-faint);text-underline-offset:3px}.data-table tr.subrow td{background:var(--color-surface-sunken);padding:16px}.code-cell{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--color-text);white-space:nowrap}.cell-actions .btn-secondary,.dt-pager .btn-secondary,.address-row .btn-secondary{border-color:var(--color-border-strong);color:var(--color-text)}.cell-actions .btn-secondary:hover:not(:disabled),.dt-pager .btn-secondary:hover:not(:disabled),.address-row .btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-accent-soft)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.empty-state{padding:40px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-success{background:var(--color-success-soft);color:var(--color-success-text)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.badge-info{background:var(--color-info-soft);color:var(--color-info-text)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge-neutral{background:var(--color-surface-hover);color:var(--color-text-muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}.field.full{grid-column:1 / -1}.field label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.field label.checkbox-row,.field label.toggle-row{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--color-text)}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-input-bg);width:100%;min-width:0;transition:border-color .12s ease,box-shadow .12s ease}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-faint)}.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--color-text-muted);background:var(--color-surface-sunken)}.field input[type=checkbox],.field input[type=radio]{width:auto}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.field textarea.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:0}.dt{margin-bottom:24px}.dt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.dt-search{position:relative;flex:1 1 240px;max-width:360px;color:var(--color-text-muted)}.dt-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}.dt-search input,.dt-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-input-bg);min-height:38px}.dt-search input{width:100%;padding:8px 10px 8px 32px}.dt-select{padding:7px 8px;max-width:100%}.dt-search input:focus,.dt-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.dt-toolbar-end{display:flex;gap:8px;margin-left:auto}.dt-mobile-sort{display:none}.dt:has(.is-cards) .dt-mobile-sort{display:block}.dt-sort{background:none;border:none;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-align:left}.dt-sort:hover{color:var(--color-text)}.dt-sort-icon{display:inline-flex;opacity:.45}.dt-sort-icon.active{opacity:1;color:var(--color-accent-text)}.dt-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:12px;font-size:13px;color:var(--color-text-muted)}.dt-page-size{display:inline-flex;align-items:center;gap:6px}.dt-pager{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}.dt-page{min-width:34px;justify-content:center}.dt-gap{padding:0 4px}.table-cell-sub{display:block;font-size:12px;color:var(--color-text-muted)}@media (max-width: 720px){.dt-toolbar{flex-direction:column;align-items:stretch}.dt-search{flex:none;max-width:none}.dt-search input,.dt-select{font-size:16px;min-height:46px;width:100%}.dt-mobile-sort{display:block}.dt-toolbar-end{margin-left:0}.dt-toolbar-end .btn{flex:1;justify-content:center}.dt-footer{justify-content:space-between}.dt-page-size .dt-select{width:auto;min-height:40px}.dt-pager{width:100%;justify-content:center;margin-left:0}.dt-pager .btn{min-width:40px;justify-content:center}.table-cell-sub{text-align:right}}.is-cards .table-cell-sub{text-align:right}.form-section{margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border)}.form-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.form-section-header h3{font-size:16px}.address-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.subrow .address-row{background:var(--color-surface)}.address-text{min-width:0;word-break:break-word}.address-text .badge{margin:0 6px 4px 0}@media (max-width: 720px){.address-row{flex-direction:column;align-items:stretch}.address-row .row-actions>*{flex:1;justify-content:center}.form-section-header .btn{width:100%;justify-content:center}}.datetime-slot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px}.datetime-slot input,.datetime-slot select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 10px;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-input-bg);width:100%;min-width:0;min-height:40px}.datetime-slot input:focus,.datetime-slot select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.datetime-slot input:disabled,.datetime-slot select:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}@media (max-width: 720px){.datetime-slot input,.datetime-slot select{font-size:16px;min-height:46px}}.field-hint{font-size:12px;color:var(--color-text-muted)}.radio-row{display:flex;gap:16px;flex-wrap:wrap}.field .radio-row label,.radio-row label{text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text)}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px}.form-error{background:var(--color-danger-soft);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;word-break:break-word;white-space:pre-line}.form-success{background:var(--color-success-soft);color:var(--color-success-text);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:hidden;overscroll-behavior:contain;z-index:100}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);width:100%;max-width:560px;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:18px 20px 14px 24px;border-bottom:1px solid var(--color-border);gap:8px}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 24px;outline:none}.modal-body>.form-actions:last-child,.modal-body>form>.form-actions:last-child{position:sticky;bottom:-24px;z-index:2;margin-bottom:-24px;padding-bottom:24px;background:var(--color-surface)}@media (max-height: 640px) and (min-width: 721px){.modal-backdrop{padding:8px 16px}.modal-header{padding:10px 16px 10px 20px}.modal-body{padding:14px 20px 16px}.modal-body>.form-actions:last-child,.modal-body>form>.form-actions:last-child{bottom:-16px;margin-bottom:-16px;padding-bottom:16px}}.modal-header h2{font-size:17px}.modal-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--color-text-muted);line-height:1;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-close:hover{color:var(--color-accent-text);background:var(--color-surface-hover)}.login-screen{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-sidebar);padding:16px}.login-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px}.login-logo{display:block;width:100%;max-width:300px;height:auto;margin:0 auto 24px}.login-subtitle{color:var(--color-text-muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-align:center;margin-bottom:24px}.login-subtitle:after{content:"";display:block;width:40px;height:2px;margin:10px auto 0;background:var(--color-accent)}.login-card .btn-primary{width:100%;justify-content:center;margin-top:4px;min-height:46px}.login-theme{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;width:auto}.only-light{display:none!important}:root[data-theme=light] .only-light{display:block!important}:root[data-theme=light] .only-dark{display:none!important}.theme-toggle{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:24px}.panel-title{font-size:15px;margin-bottom:6px}.panel-subtitle{color:var(--color-text-muted);font-size:14px;margin-bottom:16px}.section-title{font-size:16px;margin-bottom:14px}.section-title:after{content:"";display:block;width:32px;height:2px;margin-top:8px;background:var(--color-accent)}.info-box{background:var(--color-info-soft);color:var(--color-info-text);border:1px solid color-mix(in srgb,var(--color-info) 30%,transparent);padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.info-box ol,.info-box ul{margin:6px 0 0;padding-left:20px}.info-box code{word-break:break-all}.kv-list{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:8px 16px;font-size:14px;margin:0}.kv-list dt{color:var(--color-text-muted);font-weight:600;font-size:13px}.kv-list dd{margin:0;word-break:break-word}.toggle-row{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;cursor:pointer}.toggle-row input{width:20px;height:20px;accent-color:var(--color-accent)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.tabs{display:flex;flex-wrap:wrap;gap:0 4px;border-bottom:1px solid var(--color-border);margin-bottom:24px}.tabs a{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a:hover{color:var(--color-text)}.tabs a.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.tabs a.active svg{color:var(--color-accent-text)}.loading-line{color:var(--color-text-muted);font-size:14px;padding:24px 0}.text-muted{color:var(--color-text-muted)}.stack{display:flex;flex-direction:column;gap:12px}@media (max-width: 1024px) and (min-width: 721px){.app-shell{--sidebar-width: 88px}.sidebar{width:88px;padding:18px 0 16px}.sidebar-brand{padding:0 8px 16px}.sidebar-logo,.sidebar-slogan{display:none}.sidebar-mark{display:block}.sidebar-nav{margin-top:12px;gap:4px}.sidebar-nav a{flex-direction:column;justify-content:center;gap:5px;min-height:60px;padding:8px 2px;font-size:9.5px;letter-spacing:.04em;text-align:center}.sidebar-footer{margin:0 10px}.sidebar-footer .user-email,.sidebar-footer .nav-label{display:none}.sidebar-footer button{min-height:44px;padding:8px 4px}.main{padding:24px}.btn{min-height:40px}.btn-sm{min-height:36px}.field input,.field select,.field textarea{padding:10px 11px;font-size:15px}}@media (max-width: 720px){body{font-size:16px}.btn-icon{padding:8px 12px}.btn-icon .btn-label{display:inline}.btn-icon[data-tooltip]:after{display:none}.app-shell{--sidebar-width: 0px;flex-direction:column}.sidebar{display:none}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:var(--color-sidebar);color:var(--color-sidebar-text-strong);border-bottom:1px solid var(--color-sidebar-border);padding:4px 8px 4px 16px;padding-top:max(4px,env(safe-area-inset-top))}.mobile-brand{display:flex;align-items:center;min-height:48px}.mobile-brand img{display:block;height:30px;width:auto}.main{padding:16px 16px calc(84px + env(safe-area-inset-bottom))}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--color-sidebar);border-top:1px solid var(--color-sidebar-border);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a,.bottom-nav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;padding:6px 2px;position:relative;background:none;border:none;color:var(--color-sidebar-text);text-decoration:none;font-family:var(--font-body);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav a.active,.bottom-nav button.active{color:var(--color-sidebar-text-strong)}.bottom-nav a.active svg,.bottom-nav button.active svg{color:var(--color-accent)}.bottom-nav a.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;border-radius:0 0 3px 3px;background:var(--color-accent)}.page-header{align-items:stretch;flex-direction:column;margin-bottom:16px;gap:12px}.page-header h1{font-size:22px}.page-header>.btn{width:100%;justify-content:center}.page-header .row-actions{justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:8px}.btn{min-height:44px;padding:10px 16px;font-size:15px}.btn-sm{min-height:40px;padding:8px 12px;font-size:14px}.field input,.field select,.field textarea{font-size:16px;padding:11px 12px}.field input[type=checkbox],.field input[type=radio],.checkbox-row input,.radio-row input{width:20px;height:20px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid>.field:empty,.form-grid>div:empty{display:none}.form-actions{flex-direction:column-reverse}.form-actions .btn,.field.full>.btn{width:100%;justify-content:center}.panel{padding:16px}.kv-list{grid-template-columns:1fr;gap:2px}.kv-list dd{margin-bottom:10px}.login-card{padding:24px 20px}.modal-backdrop{padding:0}.modal{max-width:none;height:100%;border:none;border-radius:0;box-shadow:none}.modal-header{padding:8px 4px 8px 16px;padding-top:max(8px,env(safe-area-inset-top))}.modal-body{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal-body>.form-actions:last-child,.modal-body>form>.form-actions:last-child{bottom:calc(-1*max(16px,env(safe-area-inset-bottom)));margin-bottom:calc(-1*max(16px,env(safe-area-inset-bottom)));padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal-close{width:44px;height:44px;font-size:26px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-bottom:none;margin-bottom:16px}.tabs a{min-width:0;min-height:44px;padding:8px 10px;margin-bottom:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:11px;white-space:normal}.tabs a.active{border-color:var(--color-accent);background:var(--color-accent-soft)}.photo-grid{grid-template-columns:repeat(2,1fr)}}.data-table-wrap.is-cards{background:transparent;border:none;overflow:visible}.data-table-wrap.is-cards>.empty-state,.data-table-wrap.is-cards>form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.is-cards>table.data-table,.is-cards .data-table tbody,.is-cards .data-table tr,.is-cards .data-table td{display:block;width:100%}.is-cards .data-table thead{display:none}.is-cards .data-table tr{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;padding:6px 14px}.is-cards .data-table td,.is-cards .data-table tr:last-child td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-surface-sunken);text-align:right;word-break:break-word}.is-cards .data-table td[data-label]:before{content:attr(data-label);flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-text-muted);text-align:left}.is-cards .data-table td.cell-primary{order:-1;display:block;text-align:left;font-weight:600;font-size:16px}.is-cards .data-table td.cell-primary:before{display:none}.is-cards .data-table td:last-child{border-bottom:none}.is-cards .data-table td.cell-actions{display:block;padding-top:10px}.is-cards .data-table td.cell-actions .row-actions{flex-wrap:wrap;gap:8px}.is-cards .data-table td.cell-actions .row-actions>*{flex:1 1 auto;justify-content:center}.is-cards .data-table.dt-collapsible tbody tr{cursor:pointer}.is-cards .data-table.dt-collapsible tr:not(.is-expanded) td:not(.cell-primary):not(.cell-summary){display:none}.is-cards .data-table.dt-collapsible tr:not(.is-expanded) td.cell-summary{border-bottom:none}.is-cards .data-table.dt-collapsible td.cell-summary{order:-1}.is-cards .data-table td.cell-primary .dt-card-head{flex:1;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.is-cards .data-table .dt-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-6px -8px -6px 0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer}.is-cards .data-table tr.subrow{margin-top:-10px;border-top:none;border-top-left-radius:0;border-top-right-radius:0;background:var(--color-surface-sunken)}.is-cards .data-table tr.subrow td{display:block;text-align:left;padding:10px 0;background:transparent}.is-cards .data-table tr.subrow .row-actions{flex-wrap:wrap;align-items:center;gap:8px}.totals-bar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;margin:-12px 0 16px;font-size:14px;color:var(--color-text-muted)}.totals-bar strong{color:var(--color-text)}@media (max-width: 720px){.totals-bar{flex-direction:column;align-items:flex-end}}.share-native{width:100%;justify-content:center;margin-bottom:12px}.share-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.share-option{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:14px;font-weight:600;text-decoration:none;text-align:left;cursor:pointer}.share-option:hover{background:var(--color-surface-sunken)}.share-icon{display:inline-flex;flex-shrink:0;color:var(--color-text-muted)}.share-file{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.share-file .field-hint{margin-bottom:8px}@media (max-width: 720px){.share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-option{min-height:48px;font-size:15px}}.autocomplete{position:relative}.autocomplete-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-popover);-webkit-overflow-scrolling:touch}.autocomplete-list li{padding:8px 12px;font-size:14px;cursor:pointer;line-height:1.35}.autocomplete-list li.active,.autocomplete-list li[role=option]:hover{background:var(--color-accent-soft)}.autocomplete-list .ac-main{font-weight:600}.autocomplete-list .ac-sub{display:block;font-size:12px;color:var(--color-text-muted)}.autocomplete-list li.autocomplete-status{color:var(--color-text-muted);cursor:default;font-size:13px}.autocomplete-list li.autocomplete-status:hover{background:none}.field-warning{color:var(--color-warning-text);font-weight:600}@media (max-width: 720px){.autocomplete-list{max-height:45vh}.autocomplete-list li{padding:12px 14px;font-size:16px}}.status-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-bottom:20px}.status-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.status-tile:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.status-tile svg{color:var(--color-text-muted)}.status-tile-count{font-size:26px;font-weight:700;line-height:1;color:var(--color-text);font-variant-numeric:tabular-nums}.status-tile-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.status-tile.empty .status-tile-count{color:var(--color-text-faint)}.status-tile.active{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 -3px 0 var(--color-accent)}.status-tile.active svg,.status-tile.active .status-tile-label{color:var(--color-accent-text)}.status-tile.tone-success:not(.empty) svg{color:var(--color-success-text)}.status-tile.tone-danger:not(.empty) svg{color:var(--color-danger-text)}.status-tile.tone-warning:not(.empty) svg{color:var(--color-warning-text)}.status-tile.tone-info:not(.empty) svg{color:var(--color-info-text)}.btn-danger-solid{background:var(--color-danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#dc2626}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.field-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.field-static{padding:10px 0;font-weight:600}.segmented{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;width:fit-content}.segmented button{min-width:64px;padding:8px 14px;border:none;background:var(--color-input-bg);color:var(--color-text-muted);font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer}.segmented button+button{border-left:1px solid var(--color-border)}.segmented button.active{background:var(--color-accent);color:var(--color-on-accent)}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:6px 12px;border:1px solid var(--color-border);border-radius:100px;background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer}.chip:hover{border-color:var(--color-border-strong)}.chip.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-text)}.checkbox-grid{display:flex;flex-wrap:wrap;gap:10px 20px}.quote-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.file-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:120px;padding:8px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:12px;text-align:center;word-break:break-all;overflow:hidden}.file-tile:hover{color:var(--color-accent-text);border-color:var(--color-accent)}.quote-items{display:flex;flex-direction:column;gap:8px}.quote-item{display:grid;grid-template-columns:120px minmax(180px,1fr) 72px 70px 110px 70px 64px 110px 80px;gap:6px;align-items:center}.quote-item input,.quote-item select{width:100%;min-width:0;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:13px}.quote-item input:focus,.quote-item select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.quote-item-head span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.quote-item .num{text-align:right}.qi-total{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.qi-actions{display:flex;gap:4px;justify-content:flex-end}.quote-add{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.quote-add-material{flex:1 1 280px;max-width:420px}.quote-add-material input{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:13px}.quote-totals{margin:18px 0 0 auto;max-width:340px;display:flex;flex-direction:column;gap:6px;font-size:14px}.quote-totals>div{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums}.quote-totals .quote-grand{margin-top:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font-weight:700;font-size:15px}.quote-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;background:var(--color-bg);border-top:1px solid var(--color-border)}.quote-actions-spacer{flex:1}@media (max-width: 1100px){.quote-item{grid-template-columns:1fr 1fr 1fr 1fr;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.quote-item-head{display:none}.quote-item .qi-desc{grid-column:2 / -1}.quote-item .qi-total{grid-column:1 / 3;text-align:left}.quote-item .qi-actions{grid-column:3 / -1}}@media (max-width: 720px){.status-tiles{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.status-tile{padding:10px}.status-tile-count{font-size:22px}.status-tile-label{font-size:10px}.quote-item{grid-template-columns:1fr 1fr}.quote-item .qi-desc,.quote-item .qi-total,.quote-item .qi-actions{grid-column:1 / -1}.quote-actions{bottom:calc(60px + env(safe-area-inset-bottom))}.quote-actions .btn{flex:1 1 45%;justify-content:center}.quote-actions-spacer{display:none}.segmented button{min-height:44px}.chip{padding:9px 14px;font-size:14px}}.password-input{position:relative}.password-input input{width:100%;padding-right:46px!important}.password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--color-accent-text)}.net-gross{display:grid;grid-template-columns:1fr 1fr;gap:8px}.net-gross-part{display:flex;flex-direction:column;gap:4px;text-transform:none!important;letter-spacing:0!important}.net-gross-part span{font-size:11px;font-weight:600;color:var(--color-text-faint)}.select-with-button{display:flex;gap:6px;align-items:stretch}.select-with-button select{flex:1;min-width:0}.select-with-button .btn-icon{min-width:42px}.pre-line{white-space:pre-line}.photo-thumb{cursor:zoom-in;transition:opacity .12s ease}.photo-thumb:hover{opacity:.85}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#000000eb;padding:56px 16px 48px}.image-viewer-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:4px;padding:6px 8px 6px 16px;padding-top:max(6px,env(safe-area-inset-top));color:#fff}.image-viewer-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.image-viewer-bar .icon-button{color:#fff}.image-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;-webkit-user-select:none;user-select:none}.image-viewer-caption{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;text-align:center;color:#e5e5e5;font-size:13px}.image-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer}.image-viewer-nav:hover{background:#ffb800d9;color:#000}.image-viewer-nav.prev{left:12px}.image-viewer-nav.next{right:12px}.quote-item{grid-template-columns:110px minmax(160px,1fr) 64px 60px 96px 96px 58px 54px 104px 70px 76px}.quote-item .qi-static{font-size:13px;color:var(--color-text-muted)}.quote-item .qi-percent-info{white-space:nowrap;font-weight:600;color:var(--color-text)}.qi-include{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;cursor:pointer}.qi-include input{width:18px!important;height:18px;accent-color:var(--color-accent)}.quote-item.internal{box-shadow:inset 3px 0 0 var(--color-warning);padding-left:8px;border-radius:var(--radius-sm)}.quote-group+.quote-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--color-border)}.quote-group-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:10px}.quote-group-head h3{margin:0;padding-bottom:4px;border-bottom:2px solid var(--color-accent);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.quote-group-sum{font-size:12.5px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.quote-vat-cover{margin-top:14px}.quote-vat-cover .field-hint{margin-top:4px}.quote-item.internal .qi-include-label{color:var(--color-warning-text)}.quote-internal-total{margin-top:6px;font-size:12.5px;color:var(--color-text-muted)}@media (max-width: 1100px){.quote-item{grid-template-columns:1fr 1fr 1fr 1fr}.quote-item .qi-include{grid-column:1 / 3}}@media (max-width: 720px){.net-gross,.quote-item{grid-template-columns:1fr 1fr}.quote-item .qi-include{grid-column:1 / -1}.image-viewer-nav{width:42px;height:42px}}.dropdown-menu{position:fixed;z-index:400;min-width:200px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;padding:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);animation:dropdown-in .11s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text);font-family:var(--font-body);font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.dropdown-item svg{flex-shrink:0;color:var(--color-text-muted)}.dropdown-item:hover,.dropdown-item:focus-visible{outline:none;background:var(--color-surface-hover)}.dropdown-item:hover svg,.dropdown-item:focus-visible svg{color:var(--color-accent-text)}.dropdown-item.danger,.dropdown-item.danger svg{color:var(--color-danger-text)}.dropdown-item.danger:hover{background:var(--color-danger-soft)}.dropdown-item-text{display:flex;flex-direction:column}.dropdown-item-hint{font-size:11px;font-weight:500;color:var(--color-text-faint)}.address-link{display:inline-flex;align-items:flex-start;gap:5px;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.address-link svg{flex-shrink:0;margin-top:3px;color:var(--color-accent-text)}.address-link span{text-decoration:underline;text-decoration-color:var(--color-text-faint);text-underline-offset:3px}.address-link:hover span,.address-link[aria-expanded=true] span{color:var(--color-accent-text);text-decoration-color:var(--color-accent)}.cell-stack{display:flex;flex-direction:column;gap:2px}.cell-main{font-weight:600}.data-table a[href^="tel:"]{white-space:nowrap}.date-stack{display:flex;flex-direction:column;gap:4px;white-space:nowrap;font-size:13px}.date-tag{display:inline-block;min-width:64px;margin-right:6px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.date-tag.work{color:var(--color-accent-text)}.data-table.dt-has-details .dt-card-head{display:flex;align-items:flex-start;gap:6px}.data-table.dt-has-details .dt-card-head .dt-card-title{flex:1;min-width:0}.data-table.dt-has-details .dt-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;order:-1;width:26px;height:26px;margin:-2px 0 0 -6px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.data-table.dt-has-details .dt-expand:hover{background:var(--color-surface-hover);color:var(--color-accent-text)}.data-table.dt-has-details tbody tr:not(.dt-details-row){cursor:pointer}.data-table tr.is-expanded>td{border-bottom-color:transparent}.data-table tr.dt-details-row>td{padding:4px 16px 16px 44px;background:var(--color-surface);cursor:default}.data-table tr.dt-details-row:hover{background:transparent}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 20px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border);font-size:13.5px}.details-grid>div{display:flex;flex-direction:column;gap:2px;min-width:0;word-break:break-word}.details-grid .details-wide{grid-column:1 / -1}.details-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}@media (max-width: 720px){.details-grid{grid-template-columns:1fr 1fr;padding:10px}.date-stack{align-items:flex-end}.address-link{text-align:right}.dropdown-item{padding:12px 14px;font-size:15px}}.is-cards .data-table.dt-has-details .dt-expand{order:0;width:36px;height:36px;margin:-6px -8px -6px 0}.is-cards .data-table.dt-has-details .dt-card-head{align-items:center}.is-cards .data-table.dt-collapsible tr.dt-details-row>td{display:block!important;border-bottom:none}.is-cards .data-table td.cell-primary .cell-stack{align-items:flex-start;text-align:left}.is-cards .data-table td.cell-primary .table-cell-sub{text-align:left}.is-cards .data-table tr.dt-details-row{margin-top:-12px;padding:0 14px 12px;border-top:none;border-top-left-radius:0;border-top-right-radius:0}.is-cards .data-table tr.dt-details-row>td{display:block;padding:0;text-align:left}.is-cards .details-grid{grid-template-columns:1fr 1fr;padding:10px}.is-cards .date-stack{align-items:flex-end}.is-cards .address-link{text-align:right}.dt-tools{display:contents}.dt-tools-toggle{display:none}.status-tiles{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-bottom:16px}.status-tile{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:10px 12px}.status-tile-count{font-size:20px}.status-tile-label{flex-basis:100%;font-size:10.5px}.qi-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.qi-cell-label{display:none;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.qi-total-cell{align-items:flex-end}.qa-label-short{display:none}@media (max-width: 1100px){.qi-cell-label{display:block}.quote-item .qi-filler{display:none}.quote-item .qi-total-cell{grid-column:1 / 3;align-items:flex-start}.quote-item .qi-total{font-size:15px}}@media (max-width: 720px){.page-header{margin-bottom:12px;gap:6px}.page-header .page-subtitle{display:none}.page-header h1:after{margin-top:6px}.page-header>.btn-primary{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:60;width:56px;height:56px;min-height:0;padding:0;border-radius:50%;justify-content:center;font-size:0;box-shadow:0 6px 18px #00000059}.page-header>.btn-primary svg{width:26px;height:26px;stroke-width:2.4}.main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.dt-toolbar{flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:10px}.dt-search{flex:1 1 0;min-width:0}.dt-tools-toggle{position:relative;display:inline-flex;flex:0 0 46px;width:46px;min-height:46px;padding:0;justify-content:center;border-color:var(--color-border-strong);color:var(--color-text)}.dt-tools-toggle.active{border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-accent-soft)}.dt-tools-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-accent);color:var(--color-on-accent);font-size:11px;font-weight:700;line-height:18px;text-align:center}.dt-tools{display:none;flex-basis:100%;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.dt-tools.open{display:flex}.dt-tools .dt-toolbar-end{flex-direction:row}.status-tiles{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 12px;padding:2px 16px 6px;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.status-tiles::-webkit-scrollbar{display:none}.status-tile{flex:0 0 auto;min-width:96px;padding:8px 10px;scroll-snap-align:start}.status-tile-count{font-size:18px}.status-tile-label{font-size:9.5px;white-space:nowrap}.quote-actions{flex-wrap:nowrap;gap:6px;padding:8px 0}.quote-actions .qa-btn{flex:0 0 44px;width:44px;padding:0;justify-content:center}.quote-actions .qa-label,.quote-actions .qa-label-long{display:none}.quote-actions .qa-label-short{display:inline}.quote-actions .qa-primary{flex:1 1 auto;justify-content:center}.quote-item .qi-total-cell{grid-column:1 / -1}}.user-avatar-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.user-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.02em}.user-avatar.large{width:42px;height:42px;font-size:15px}.user-avatar-button[aria-expanded=true] .user-avatar{box-shadow:0 0 0 3px #ffb80059}.dropdown-header{display:flex;align-items:center;gap:12px;padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--color-border)}.user-menu-id{display:flex;flex-direction:column;min-width:0}.user-menu-name{font-weight:700;word-break:break-word}.dropdown-divider{height:1px;margin:4px 6px;background:var(--color-border)}.user-menu{min-width:250px}.sidebar-footer .sidebar-profile{display:block;padding:6px 8px;margin:0 -8px;border-radius:var(--radius-sm);text-decoration:none}.sidebar-footer .sidebar-profile:hover,.sidebar-footer .sidebar-profile.active{background:var(--color-sidebar-hover)}.cell-with-status{display:inline-flex;align-items:flex-start;gap:10px}.status-dot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--color-surface-hover);color:var(--color-text-muted)}.status-dot.tone-info{background:var(--color-info-soft);color:var(--color-info-text)}.status-dot.tone-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.status-dot.tone-success{background:var(--color-success-soft);color:var(--color-success-text)}.status-dot.tone-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}@media (max-width: 720px){.mobile-topbar{padding-right:6px}}.is-cards .data-table tr.status-row{border-left-width:4px}.is-cards .data-table tr.status-row.tone-neutral{border-left-color:var(--color-text-faint)}.is-cards .data-table tr.status-row.tone-info{border-left-color:var(--color-info)}.is-cards .data-table tr.status-row.tone-warning{border-left-color:var(--color-warning)}.is-cards .data-table tr.status-row.tone-success{border-left-color:var(--color-success)}.is-cards .data-table tr.status-row.tone-danger{border-left-color:var(--color-danger)}.home-header{align-items:flex-end}.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.home-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;transition:border-color .12s ease,background-color .12s ease}.home-stat:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.home-stat svg{grid-row:1 / 3;color:var(--color-text-muted)}.home-stat-value{font-size:26px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.home-stat-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.home-stat.attention{border-color:var(--color-accent);background:var(--color-accent-soft)}.home-stat.attention svg,.home-stat.attention .home-stat-label{color:var(--color-accent-text)}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.home-col{display:flex;flex-direction:column;min-width:0}.home-panel{scroll-margin-top:16px}.home-panel .panel-title{display:flex;align-items:center;gap:8px;margin-bottom:14px}.home-panel .panel-title svg{color:var(--color-accent-text)}.home-empty{padding:14px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:14px;text-align:center}.home-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.home-event{display:flex;gap:14px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.home-event-time{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0;min-width:70px;padding-right:12px;border-right:2px solid var(--color-accent)}.home-event-hour{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.home-event-body{display:flex;flex-direction:column;gap:3px;min-width:0}.home-event-title{font-weight:700;color:var(--color-text);text-decoration:none}.home-event-title:hover{color:var(--color-accent-text)}.home-event-meta{font-size:12.5px;color:var(--color-text-muted)}.home-event-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px;font-size:13.5px}.home-phone{display:inline-flex;align-items:center;gap:5px;color:var(--color-text);white-space:nowrap;text-decoration:underline;text-decoration-color:var(--color-text-faint);text-underline-offset:3px}.home-phone svg{color:var(--color-accent-text)}.parking-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--color-text-muted)}.parking-chip svg{color:var(--color-text-muted)}.parking-chip.is-paid{color:var(--color-text)}.parking-chip.is-paid svg{color:var(--color-accent-text)}.parking-chip.is-free svg{color:var(--color-success-text)}.parking-info{display:inline-flex;flex-direction:column;gap:2px}.parking-fee{color:var(--color-accent-text)}.parking-free{color:var(--color-success-text)}.parking-sub{font-size:12px;font-weight:400;color:var(--color-text-muted)}.home-day+.home-day{margin-top:14px}.home-day-label{margin-bottom:6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.home-task-group+.home-task-group{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.home-task-head{display:flex;gap:10px;margin-bottom:8px}.home-task-titles h3{font-size:13px;letter-spacing:.04em}.home-task-titles p{margin:2px 0 0;font-size:12.5px;color:var(--color-text-muted)}.home-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;margin-left:4px;padding:0 6px;border-radius:10px;background:var(--color-surface-hover);color:var(--color-text);font-size:11.5px;vertical-align:1px}.home-task-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.home-task-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.home-task-name{display:flex;flex-direction:column;min-width:0;color:var(--color-text);text-decoration:none}.home-task-name:hover .cell-main{color:var(--color-accent-text)}.home-task-action{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;flex-shrink:0}.home-recent{list-style:none;margin:0;padding:0}.home-recent li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-border)}.home-recent li:last-child{border-bottom:none}.home-recent-link{display:flex;flex-direction:column;min-width:0;color:var(--color-text);text-decoration:none}.home-recent-link:hover .cell-main{color:var(--color-accent-text)}@media (max-width: 1100px){.home-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.home-header{flex-direction:column;align-items:stretch}.home-header .segmented{width:100%}.home-header .segmented button{flex:1}.home-header .page-subtitle{display:block;margin-top:4px}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.home-stat{padding:10px 12px}.home-stat-value{font-size:22px}.home-stat-label{font-size:10px}.home-grid{gap:0}.home-panel{padding:14px;margin-bottom:14px}.home-event{gap:10px;padding:10px}.home-event-time{min-width:62px;padding-right:10px}.home-task-list li{flex-direction:column;align-items:stretch}.home-task-action .btn{flex:1;justify-content:center}.bottom-nav a{font-size:9.5px}.home .address-link,.home .table-cell-sub{text-align:left}.home-grid{display:flex;flex-direction:column;align-items:stretch}.home-panel{width:100%;min-width:0}.home-col{display:contents}#ma{order:1}#teendok{order:2}#kozelgo{order:3}.home-recent-panel{order:4}}.qi-include-note{font-size:11px;font-weight:600;color:var(--color-accent-text);cursor:default}.modal.modal-wide{max-width:960px}.invoice-pick p{margin-top:0;line-height:1.5}.invoice-pick-button{width:100%;justify-content:center;padding:18px;font-size:15px}.invoice-reading{padding:32px 0;text-align:center}.invoice-totals{margin:-4px 0 16px}.invoice-items-header{margin-top:8px}.invoice-items{display:flex;flex-direction:column;gap:12px}.invoice-item{border:1px solid var(--color-border);border-left:3px solid var(--color-info);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface)}.invoice-item-existing{border-left-color:var(--color-success)}.invoice-item-skip{border-left-color:var(--color-border);opacity:.6}.invoice-item-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.invoice-item-head .field{flex:1;max-width:280px;margin-bottom:0}.invoice-item-index{font-weight:700;color:var(--color-text-muted);min-width:24px}.invoice-item-fields{display:grid;grid-template-columns:140px 1fr 90px 80px 140px 80px;gap:10px}.invoice-item-fields .field,.invoice-item>.field{margin-bottom:0}.invoice-item>.field{margin-bottom:10px}.invoice-item-price{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-surface-sunken);font-size:13px}.invoice-item-note{margin-top:10px;font-size:13px;line-height:1.4}.price-up{color:var(--color-danger-text);font-weight:600}.price-down{color:var(--color-success-text);font-weight:600}.price-compare{margin-bottom:24px}.price-compare-note{margin:-16px 0 24px}.price-compare .badge{margin-left:8px}.data-table tr.price-best td{background:var(--color-success-soft)}@media (max-width: 1024px){.invoice-item-fields{grid-template-columns:repeat(4,1fr)}.invoice-item-fields .invoice-item-name{grid-column:span 3}}@media (max-width: 720px){.invoice-item-fields{grid-template-columns:1fr 1fr}.invoice-item-fields .invoice-item-name{grid-column:1 / -1;order:-1}.invoice-item-head .field{max-width:none}}.is-cards .data-table tr.price-best{border-color:var(--color-success)}.price-cell{white-space:nowrap}.price-manual{color:var(--color-warning-text)}.sale-auto-toggle{margin:4px 0 8px;font-size:13px}.facet-intro{margin:12px 0;font-size:13px}.facet-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:50vh;overflow-y:auto}.facet-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 12px}.facet-row+.facet-row{border-top:1px solid var(--color-border)}.facet-name{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}.facet-name .badge{margin-left:8px}.facet-count{color:var(--color-text-muted);font-size:13px;white-space:nowrap}.facet-actions{display:flex;gap:6px}.facet-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.facet-edit input{flex:1;min-width:160px}.facet-missing{margin-top:10px}.webshop-search{margin-top:24px}.webshop-search p{font-size:13px;margin:0 0 10px}.webshop-search-row{display:flex;gap:8px;align-items:center}.webshop-search-row input{flex:1;min-width:0}.webshop-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.webshop-links .btn.disabled{opacity:.5;pointer-events:none}.net-gross-part--main span{color:var(--color-accent-text)}.net-gross-part--main input{font-weight:700}.facet-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.facet-search{flex:1;min-width:180px}.facet-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}.facet-main{background:var(--color-surface)}.facet-main .facet-name{font-weight:700}.facet-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-accent-text);cursor:pointer}.facet-toggle:hover{background:var(--color-surface-hover)}.facet-sub-count{display:block;font-size:12px;font-weight:400;color:var(--color-text-muted)}.facet-sublist{border:none;border-top:1px solid var(--color-border);border-radius:0;max-height:none}.facet-sublist .facet-row{padding-left:44px}.facet-move{max-width:170px;font-size:13px;padding:4px 8px;min-height:32px}.facet-add{display:flex;gap:8px;width:100%;margin:8px 0}.facet-add input{flex:1;min-width:0}.facet-unlisted-title{margin-top:24px}@media (max-width: 720px){.facet-row{flex-wrap:wrap}.facet-sublist .facet-row{padding-left:12px}.facet-move{max-width:100%}}.data-table .dt-mobile-only,.label-short{display:none}.materials-tools{margin-left:auto}.mat-summary{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;width:100%;text-align:left}.mat-summary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;font-size:12px;color:var(--color-text-muted)}.mat-summary-code{font-family:var(--font-mono, monospace);color:var(--color-text-faint)}.mat-summary-prices{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;white-space:nowrap}.mat-summary-sale{font-size:15px;font-weight:700;color:var(--color-accent-text)}.mat-summary-unit{font-size:12px;font-weight:400;color:var(--color-text-muted)}.mat-summary-buy{font-size:12px;color:var(--color-text-muted)}@media (max-width: 720px){.label-long{display:none}.label-short{display:inline}.page-header .materials-tools{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}.page-header .materials-tools .btn:last-child:nth-child(odd){grid-column:1 / -1}.page-header .materials-tools .btn{justify-content:center;min-height:40px;padding:8px 10px}}.is-cards .data-table td.dt-mobile-only{display:block}.is-cards .data-table th.dt-mobile-hidden,.is-cards .data-table td.dt-mobile-hidden{display:none!important}.materials-table .is-cards .data-table tr{margin-bottom:8px;padding:2px 12px}.materials-table .is-cards .data-table td.cell-primary{padding:8px 0 2px;font-size:15px;border-bottom:none}.materials-table .is-cards .data-table td.cell-primary .table-cell-sub{font-size:12px;font-weight:400}.materials-table .is-cards .data-table td.dt-mobile-only{padding:2px 0 8px}.materials-table .is-cards .data-table tr.is-expanded td.dt-mobile-only{border-bottom:1px solid var(--color-surface-sunken)}.materials-table .is-cards .data-table td{padding:6px 0}.materials-table .is-cards .data-table td.cell-actions .row-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 44px;gap:6px}.materials-table .is-cards .data-table td.cell-actions .btn-danger .btn-label{display:none}.materials-table .is-cards .data-table td.cell-actions .btn{min-width:0;padding:8px 6px;gap:6px}.page-tools{margin-left:auto}@media (max-width: 720px){.page-header .page-tools{width:100%;margin-left:0}.page-header .page-tools .btn{flex:1;justify-content:center;min-height:40px}}.sidebar-mark--custom{object-fit:contain}.phone-link{white-space:nowrap}.import-mapping{margin-top:12px}.import-select-all{display:flex;gap:8px;margin-bottom:10px}.import-list{list-style:none;margin:0;padding:0;max-height:55vh;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.import-row+.import-row{border-top:1px solid var(--color-border)}.import-row-main{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}.import-row-main input{margin-top:3px;flex-shrink:0}.import-row-text{display:flex;flex-direction:column;min-width:0;gap:1px}.import-row.is-blocked{opacity:.6}.import-row.is-blocked .import-row-main{cursor:not-allowed}.import-note{font-size:12px}.form-error-text{color:var(--color-danger-text);font-weight:600}.logo-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}.logo-slot{display:flex;flex-direction:column;gap:10px}.logo-slot-title{font-size:14px}.logo-preview{display:flex;align-items:center;justify-content:center;height:110px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview--dark{background:#121212}.logo-preview--light{background:#fff}.home-finance-link{display:flex;align-items:center;gap:14px;margin:-8px 0 20px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}.home-finance-link:hover{background:var(--color-surface-hover)}.home-finance-link>svg:first-child{color:var(--color-accent-text)}.home-finance-link>svg:last-child{margin-left:auto;color:var(--color-text-muted)}.home-finance-text{display:flex;flex-direction:column}.home-finance-text span{font-size:13px;color:var(--color-text-muted)}.fin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.fin-period{min-width:180px}.fin-custom{display:flex;align-items:center;gap:6px}.fin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.fin-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0}.fin-stat-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.fin-stat-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text);overflow-wrap:anywhere}.fin-stat-sub{font-size:12px;color:var(--color-text-muted)}.fin-stat--negative{border-color:var(--color-danger)}.fin-stat--negative .fin-stat-label svg{color:var(--color-danger-text)}.fin-panel{margin-bottom:16px}.fin-hint{font-size:13px;margin:-6px 0 12px}.fin-month-table{margin-top:16px}.fin-breakdown .fin-row-strong td{font-weight:700}.fin-breakdown .fin-row-indent td.cell-primary{padding-left:28px;color:var(--color-text-muted)}.fin-breakdown .fin-row-total td{font-weight:700;border-top:2px solid var(--color-border-strong)}.fin-lists{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.fin-list{list-style:none;margin:0;padding:0}.fin-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0}.fin-list li+li{border-top:1px solid var(--color-border)}.fin-list-main{display:flex;flex-direction:column;min-width:0}.fin-list-amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 900px){.fin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-lists{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.fin-stat-value{font-size:18px}.fin-toolbar .segmented{margin-left:auto}.fin-breakdown .fin-row-indent td.cell-primary{padding-left:12px}}:root{--viz-series-1: #3987e5;--viz-series-2: #d95926}:root[data-theme=light]{--viz-series-1: #2a78d6;--viz-series-2: #eb6834}.viz{width:100%}.viz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;font-size:13px;color:var(--color-text-muted)}.viz-legend-item{display:inline-flex;align-items:center;gap:6px}.viz-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.viz-swatch.viz-series-1{background:var(--viz-series-1)}.viz-swatch.viz-series-2{background:var(--viz-series-2)}.viz-plot{position:relative}.viz-plot svg{display:block;overflow:visible}.viz-bar.viz-series-1{fill:var(--viz-series-1)}.viz-bar.viz-series-2{fill:var(--viz-series-2)}.viz-grid{stroke:var(--color-border);stroke-width:1}.viz-axis{stroke:var(--color-border-strong);stroke-width:1}.viz-tick{fill:var(--color-text-muted);font-size:11px;font-family:var(--font-body)}.viz-hover-band{fill:var(--color-surface-hover)}.viz-hit{fill:transparent;cursor:pointer}.viz-tooltip{position:absolute;top:12px;display:flex;flex-direction:column;gap:3px;min-width:170px;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);pointer-events:none;box-shadow:0 4px 14px #00000040}.viz-tooltip-row{display:flex;align-items:center;gap:6px;color:var(--color-text-muted)}.viz-tooltip-row b{color:var(--color-text)}.room-workspace{margin-bottom:24px;container:room-ws / inline-size}.room-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.room-nav{position:sticky;top:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.room-nav ul{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 220px);overflow-y:auto}.room-nav-item{position:relative;display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px 10px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer}.room-nav-item:hover,.room-nav-item.active{background:var(--color-surface-hover)}.room-nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--color-accent)}.room-nav-name{font-size:14px;font-weight:700}.room-nav-meta{font-size:12px;color:var(--color-text-muted)}.room-nav-counts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:2px;font-size:12px;color:var(--color-text-faint)}.room-nav-counts>span{display:inline-flex;align-items:center;gap:4px}.room-nav-counts strong{margin-left:auto;color:var(--color-text-muted);font-weight:600}.room-nav-item.active .room-nav-counts svg{color:var(--color-accent-text)}.room-nav-total{display:grid;gap:4px;padding:12px 14px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.room-nav-total>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.room-nav-total>div{display:flex;justify-content:space-between;gap:8px}.room-nav-total strong{color:var(--color-text)}.room-nav-total>.room-nav-grand{margin-top:4px;padding-top:8px;border-top:1px solid var(--color-border);font-weight:700;color:var(--color-text)}.room-nav-grand strong{font-size:15px;color:var(--color-accent-text)}.room-detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;min-width:0}.room-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.room-detail-header h3{margin:0;font-size:18px;text-transform:uppercase;letter-spacing:.05em}.room-detail-meta{margin-top:4px;font-size:13px;color:var(--color-text-muted)}.room-block{min-width:0}.room-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.room-block-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px}.room-block-head h4{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.room-block-head h4 svg{color:var(--color-accent-text)}.room-block-sum{font-size:13px;color:var(--color-text-muted)}.room-block-sum strong{color:var(--color-text)}.room-empty{font-size:13px;padding:12px 0}.room-items{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;container:room-items / inline-size}.room-item{position:relative;display:grid;grid-template-columns:minmax(160px,2fr) minmax(104px,1fr) minmax(130px,1fr) minmax(110px,auto) 40px;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--color-border);font-size:14px}.room-item:first-child{border-top:none}.room-item:not(.room-item-head):hover{background:var(--color-surface-hover)}.room-item-head{background:var(--color-surface-sunken);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.room-item-head>span:nth-child(4){text-align:right}.room-item-name{min-width:0;word-break:break-word;font-weight:600}.room-item-total{text-align:right;font-weight:700}.room-item-actions{display:flex;justify-content:flex-end}.room-labor{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.room-labor-field{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:12px 14px;border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:13px;font-weight:600;color:var(--color-text-muted)}.room-labor-field .cell-input-wrap{flex:0 1 220px}.room-labor-field .cell-input{font-size:16px;font-weight:700}.room-labor .field-hint{margin-top:6px}.cell-input-wrap{display:flex;align-items:center;gap:6px}.cell-input{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;text-align:right}.cell-input:hover{border-color:var(--color-border-strong)}.cell-input:focus{outline:none;border-color:var(--color-accent)}.cell-suffix{flex-shrink:0;font-size:12px;color:var(--color-text-muted)}.room-add-row{display:flex;gap:8px;align-items:center;margin-top:12px}.room-add-material{flex:1;min-width:0}.room-add-material input,.room-note-form textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px}.room-add-material input:focus,.room-note-form textarea:focus{outline:none;border-color:var(--color-accent)}.room-custom-form{margin-top:12px;padding:16px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm)}.room-notes{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.room-notes li{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.room-note-meta{font-size:11.5px;color:var(--color-text-faint);margin-bottom:2px}.room-note-form{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.room-note-form textarea{resize:vertical}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.media-tile{position:relative}.media-thumb{display:block;width:100%;height:100px;object-fit:cover;border-radius:var(--radius-sm);background:#000}.media-tile .file-tile{display:flex;height:100px;background:var(--color-surface-sunken)}.media-thumb-empty{background:var(--color-surface-sunken)}.media-thumb-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in}.media-delete{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:#000000a6;color:#fff;cursor:pointer}.media-delete:hover{background:var(--color-danger)}.btn.disabled{opacity:.6;pointer-events:none}@media (max-width: 1100px){.room-layout{grid-template-columns:220px minmax(0,1fr)}.room-columns{grid-template-columns:minmax(0,1fr)}}@container room-ws (max-width: 1000px){.room-layout{grid-template-columns:minmax(0,1fr)}.room-nav{position:static}.room-nav ul{flex-direction:row;overflow-x:auto;max-height:none;scrollbar-width:none}.room-nav ul::-webkit-scrollbar{display:none}.room-nav li{flex:0 0 auto;max-width:220px}.room-nav-item.active:before{left:8px;right:8px;top:auto;bottom:0;width:auto;height:3px}.room-nav-total{grid-template-columns:auto 1fr 1fr 1fr;align-items:center;gap:12px}.room-nav-total>.room-nav-grand{margin-top:0;padding-top:0;padding-left:12px;border-top:none;border-left:1px solid var(--color-border)}}@container room-items (max-width: 660px){.room-item-head{display:none}.room-item{grid-template-columns:1fr 1fr;gap:8px 12px}.room-item-name{grid-column:1 / -1;padding-right:44px}.room-item-actions{position:absolute;top:8px;right:8px}.room-item>[data-label]:before{content:attr(data-label);display:block;margin-bottom:3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.room-item-total{text-align:left;align-self:end;padding-bottom:6px}}@media (max-width: 720px){.room-detail{padding:14px}.room-detail-header h3{font-size:16px}.room-nav-total{grid-template-columns:1fr;gap:4px}.room-nav-total>.room-nav-grand{margin-top:4px;padding-top:8px;padding-left:0;border-top:1px solid var(--color-border);border-left:none}.room-add-row{flex-direction:column;align-items:stretch}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.status-timeline{display:flex;list-style:none;margin:-8px 0 16px;padding:0;overflow-x:auto;scrollbar-width:none}.status-timeline::-webkit-scrollbar{display:none}.status-timeline li{position:relative;flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:10px 28px 0 0;font-size:12px}.status-timeline li:before{content:"";position:absolute;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--color-text-faint)}.status-timeline li:after{content:"";position:absolute;top:3.5px;left:12px;right:4px;height:1px;background:var(--color-border-strong)}.status-timeline li:last-child:after{display:none}.status-timeline-label{font-weight:700;color:var(--color-text-muted);white-space:nowrap}.status-timeline-date{color:var(--color-text-faint);white-space:nowrap}.status-timeline li.current:before{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.status-timeline li.current .status-timeline-label{color:var(--color-text)}.survey-overview{padding:16px 20px;margin-bottom:16px}.fact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 24px;margin:0}.fact dd,.details-facts dd{margin:2px 0 0;font-size:14px;font-weight:600;word-break:break-word}.fact-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.fact-label svg{color:var(--color-accent-text)}.overview-texts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border);font-size:14px}.overview-texts .fact-label{margin-bottom:2px}.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 24px;font-size:14px}.contact-list+.contact-list{margin-top:6px}.contact-list li{display:flex;align-items:baseline;gap:8px;min-width:0}.contact-list-label{color:var(--color-text-muted);word-break:break-word}.contact-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-editor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:stretch}@media (max-width: 720px){.contact-editor-row{grid-template-columns:minmax(0,1fr) auto;padding:10px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.contact-editor-row input{grid-column:1}.contact-editor-row .btn{grid-column:2;grid-row:1}}.inquiry-intro{margin-top:0;line-height:1.5;font-size:14px}.field textarea.inquiry-text.dragging{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.inquiry-attachment .address-text svg{vertical-align:-2px;color:var(--color-accent-text)}.inquiry-fill-button{width:100%;justify-content:center;margin-bottom:16px}.inquiry-summary-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.overview-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:start;margin-bottom:24px}.overview-columns .card-section{margin-bottom:0}.card-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;min-width:0}.card-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--color-border)}.card-section-head h2{margin:0;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.card-empty{padding:16px 20px;font-size:13px}.details-compact{padding:16px 20px}.details-notes{margin:0 0 14px;font-size:14px}.details-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 24px;margin:0}.flag-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--color-border)}.details-compact>.flag-list:first-child{margin-top:0;padding-top:0;border-top:none}.flag-list li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--color-border);border-radius:100px;font-size:12.5px;font-weight:600}.flag-list li.yes{border-color:color-mix(in srgb,var(--color-success) 40%,transparent);background:var(--color-success-soft);color:var(--color-success-text)}.flag-list li.no{color:var(--color-text-faint)}.flag-list li.no span:not(.visually-hidden){text-decoration:line-through}.quote-list{list-style:none;margin:0;padding:0}.quote-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 12px 20px}.quote-list li+li{border-top:1px solid var(--color-border)}.quote-list-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width: 1100px){.overview-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.survey-overview,.details-compact{padding:14px}.fact-row,.details-facts{grid-template-columns:1fr 1fr;gap:10px 14px}.card-section-head,.quote-list li{padding-left:14px}}.quote-text-preview{padding:8px 12px;border-left:2px solid var(--color-accent);background:var(--color-surface-sunken);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:13px;color:var(--color-text-muted)}.chip svg{vertical-align:-2px;margin-right:4px}.work-selected{margin:0 0 14px;padding:0;list-style:none;counter-reset:work;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.work-selected li{counter-increment:work;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 12px;font-size:14px}.work-selected li+li{border-top:1px solid var(--color-border)}.work-selected li>span:first-child:before{content:counter(work) ".";display:inline-block;min-width:22px;color:var(--color-text-faint);font-weight:700}.work-selected-actions{display:flex;gap:4px;flex-shrink:0}.work-empty{font-size:13px;margin-bottom:14px}.work-add{display:flex;gap:8px;align-items:center;margin-bottom:14px}.work-add input,.work-add select,.work-search{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px}.work-add select,.work-add .work-add-tag{flex:0 0 200px}.work-add input:focus,.work-add select:focus,.work-search:focus{outline:none;border-color:var(--color-accent)}.work-search{display:block;width:100%;margin-bottom:14px}.work-group{margin-top:14px}.work-group>.field-label{display:block;margin-bottom:8px}.work-group>summary{cursor:pointer;margin-bottom:8px}.work-subgroup{margin:8px 0 0 12px}.work-subgroup-title{font-size:12px;font-weight:700;color:var(--color-text-muted);margin-bottom:6px}.work-library{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.work-library li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 12px;font-size:14px}.work-library li+li{border-top:1px solid var(--color-border)}.term-list{display:flex;flex-direction:column;gap:8px}.term-list .checkbox-row{align-items:flex-start}.term-list .checkbox-row input{margin-top:3px;flex-shrink:0}.settings-fieldset{margin:0 0 16px;padding:14px 16px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.settings-fieldset legend{padding:3px 10px;border-radius:var(--radius-sm);background:var(--color-accent-soft);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-text)}@media (max-width: 720px){.work-add{flex-wrap:wrap}.work-add input{flex-basis:100%}.work-add select,.work-add .work-add-tag{flex:1 1 auto}}.quote-page-header{margin-top:12px;margin-bottom:16px;align-items:flex-start}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.quote-main{min-width:0}.q-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;scroll-margin-top:16px}.q-section-head{display:flex;align-items:center}.q-section-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:none;color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer}.q-section-title{flex-shrink:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.q-section-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--color-text-muted)}.q-section-chevron{flex-shrink:0;margin-left:auto;color:var(--color-text-faint);transition:transform .15s ease}.q-section.open .q-section-chevron{transform:rotate(90deg);color:var(--color-accent-text)}.q-section.open .q-section-head{border-bottom:1px solid var(--color-border)}.q-section.open .q-section-title:before{content:"";display:inline-block;width:3px;height:14px;margin-right:8px;vertical-align:-2px;border-radius:2px;background:var(--color-accent)}.q-section-body{padding:16px}.quote-help{margin-bottom:12px;font-size:13px;color:var(--color-text-muted)}.quote-help summary{cursor:pointer;font-weight:600}.quote-help p{margin:8px 0 0}.quote-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}.quote-side-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.quote-side-card h2{margin:0 0 12px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.quote-side-card .quote-totals{margin:0;max-width:none}.quote-side-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.quote-side-actions .qa-primary{justify-content:center}.quote-side-actions .qa-secondary{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quote-side-actions .qa-btn{justify-content:center;padding:8px 6px;font-size:11.5px}.quote-side-nav{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px}.quote-side-nav button{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text);font-family:var(--font-body);font-size:13px;font-weight:700;text-align:left;cursor:pointer}.quote-side-nav button:hover{background:var(--color-surface-hover)}.quote-side-nav-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:400;color:var(--color-text-muted)}.quote-nav{display:none}.quote-editor>.quote-actions{display:none}.quote-totals-inline,.qi-summary,.qi-done{display:none}.qi-empty{font-size:13px;padding:8px 0}.quote-add{margin-top:14px}@media (max-width: 1100px){.quote-layout{grid-template-columns:minmax(0,1fr)}.quote-side{display:none}.quote-nav{display:flex;gap:6px;margin:0 0 14px;overflow-x:auto;scrollbar-width:none}.quote-nav::-webkit-scrollbar{display:none}.quote-nav .chip{flex-shrink:0}.quote-totals-inline{display:block}.quote-editor>.quote-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;margin-top:12px;padding:8px 0}.quote-actions .qa-total{display:flex;flex-direction:column;min-width:0;margin-right:auto;line-height:1.2}.quote-actions .qa-total span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.quote-actions .qa-total strong{font-size:16px;white-space:nowrap}.quote-actions .qa-secondary{display:flex;gap:6px;order:1}.quote-actions .qa-primary{order:2;flex:0 0 auto;min-height:44px}}@media (max-width: 720px){.quote-page-header h1{font-size:19px}.q-section{margin-bottom:10px}.q-section-toggle{padding:14px 12px;min-height:52px}.q-section-body{padding:14px 12px}.quote-items{gap:8px}.qi-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.qi-card.internal{box-shadow:inset 3px 0 0 var(--color-warning)}.qi-card.open{border-color:var(--color-accent)}.qi-summary{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 10px 10px 12px;border:none;background:none;color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer}.qi-sum-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qi-sum-desc{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.qi-sum-desc.missing{color:var(--color-danger-text)}.qi-sum-sub{font-size:12px;color:var(--color-text-muted)}.qi-sum-total{flex-shrink:0;font-size:14px;font-weight:700;white-space:nowrap}.qi-sum-chevron{flex-shrink:0;color:var(--color-text-faint);transition:transform .15s ease}.qi-card.open .qi-sum-chevron{transform:rotate(90deg);color:var(--color-accent-text)}.qi-card .quote-item{display:none}.qi-card.open .quote-item{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 12px 12px;border:none;background:none;box-shadow:none}.qi-card .quote-item input,.qi-card .quote-item select{padding:10px;font-size:16px}.qi-card .quote-item .qi-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-start;padding-top:4px}.qi-card .quote-item .qi-actions .btn{min-height:42px}.qi-card .quote-item .qi-actions .btn-icon{min-width:42px}.qi-done{display:inline-flex;margin-left:auto}.quote-add{flex-direction:column;align-items:stretch}.quote-add-material{flex:1 1 auto;max-width:none}.quote-add-material input{padding:11px 12px;font-size:16px}.quote-add .btn{justify-content:center;min-height:44px}.quote-totals{max-width:none}.quote-editor>.quote-actions{gap:4px}.quote-actions .qa-btn,.quote-actions .btn.qa-btn{flex:0 0 40px;width:40px;height:44px;padding:0;justify-content:center}.quote-actions .qa-primary{padding:0 14px}.quote-actions .qa-total strong{font-size:15px}}.is-cards .data-table td{min-width:0}.is-cards .data-table td>*,.is-cards .data-table .dt-card-title,.is-cards .data-table .cell-stack{min-width:0;max-width:100%}.is-cards .data-table .cell-with-status{display:flex;min-width:0}.is-cards .data-table td,.is-cards .data-table .address-link span,.is-cards .data-table .cell-main,.is-cards .data-table .table-cell-sub{overflow-wrap:anywhere}.app-settings{display:flex;flex-direction:column}.app-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.app-setting+.app-setting{border-top:1px solid var(--color-border)}.app-setting-title{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:2px}.app-setting-title svg{color:var(--color-accent-text)}@media (max-width: 720px){.app-setting{flex-direction:column;align-items:stretch}.app-setting .btn{justify-content:center;min-height:44px}.app-setting .row-actions>.btn{flex:1}}.validity-chips{align-items:center}.validity-custom{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.field .validity-custom input{width:76px;padding:5px 8px;text-align:right}.delete-warning{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-text);font-size:14px;line-height:1.5}.delete-warning>svg{flex-shrink:0;margin-top:2px;color:var(--color-danger-text)}.delete-warning-sub{margin-top:4px;font-size:13px;color:var(--color-danger-text)}.btn.btn-delete-confirm{background:var(--color-danger);color:#fff}.btn.btn-delete-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 85%,#000000)}.checkbox-row.no-site-visit{align-items:flex-start;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken);cursor:pointer}.checkbox-row.no-site-visit input{margin-top:3px}.checkbox-row.no-site-visit .field-hint{display:block;margin-top:2px;font-weight:400}
