:root{--bg:#f5f6f8;--surface:#ffffff;--surface-2:#f8f9fb;--border:#e6e8ee;--hairline:#eef0f4;--text:#1a1d24;--text-2:#565e6b;--text-3:#9aa2ae;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eef3fe;--accent-ring:rgba(37,99,235,0.16);--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--success:#047857;--success-bg:#ecfdf5;--success-border:#bbf7d0;--badge-new-bg:#dcfce7;--badge-new-fg:#15803d;--badge-price-bg:#fee2e2;--badge-price-fg:#b91c1c;--badge-content-bg:#fef3c7;--badge-content-fg:#b45309;--badge-site-bg:#e0e7ff;--badge-site-fg:#4338ca;--badge-sent-bg:#dbeafe;--badge-sent-fg:#1d4ed8;--badge-open-fg:#15803d;--badge-open-line:#86efac;--badge-pending-fg:#b45309;--badge-pending-line:#fcd34d;--badge-paused-fg:#b91c1c;--badge-paused-line:#fca5a5;--sidebar-bg:#2b3445;--sidebar-hover:rgba(255,255,255,0.07);--sidebar-active:rgba(255,255,255,0.14);--sidebar-text:#ffffff;--sidebar-text-dim:rgba(255,255,255,0.62);--sidebar-line:rgba(255,255,255,0.1);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:13.5px;--fs-lg:15.5px;--fs-xl:21px;--radius:10px;--radius-sm:8px;--radius-xs:6px;--pane-header-h:52px;--sidebar-w:232px;--props-w:380px;--shadow-xs:0 1px 2px rgba(16,24,40,0.05);--shadow-sm:0 1px 3px rgba(16,24,40,0.06),0 6px 16px -10px rgba(16,24,40,0.14);--shadow-md:0 1px 3px rgba(16,24,40,0.06),0 12px 26px -14px rgba(16,24,40,0.2);--shadow-lg:0 24px 64px -12px rgba(16,24,40,0.28);--shadow-accent:0 1px 2px rgba(37,99,235,0.3);--shadow-header:0 1px 2px rgba(16,24,40,0.04)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Inter,Hiragino Sans,Yu Gothic UI,Yu Gothic,system-ui,sans-serif;font-feature-settings:"palt";background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-ring)}h1{font-size:var(--fs-xl);letter-spacing:-.01em;margin-bottom:18px}h1,h2{font-weight:700}h2{font-size:var(--fs-lg);margin:28px 0 var(--sp-3)}.muted{color:var(--text-2);font-size:var(--fs-md)}.price-old{text-decoration:line-through;color:var(--text-3);font-size:var(--fs-sm)}.section-label{font-size:var(--fs-xs);font-weight:700;color:var(--text-3);letter-spacing:.06em;margin-bottom:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 16px;font-size:var(--fs-md);font-weight:600;cursor:pointer;font-family:inherit;line-height:1.4;white-space:nowrap;transition:background .12s ease,box-shadow .12s ease;box-shadow:var(--shadow-accent)}.btn,.btn:hover{color:#fff;text-decoration:none}.btn:hover{background:var(--accent-hover)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--accent)}.btn-sub{background:var(--surface);color:var(--text-2);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.btn:disabled{box-shadow:none}.btn-sub:hover{background:var(--surface-2);color:var(--text)}.btn-sub:disabled:hover{background:var(--surface)}.btn-sm{padding:5px 11px;font-size:var(--fs-sm)}.btn-danger-text{color:var(--danger)}.btn-block{width:100%}.page-back-button{min-height:38px;margin-bottom:var(--sp-3);padding-inline:14px}.page-back-button span{font-size:18px;line-height:1}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;line-height:1.6;white-space:nowrap}.badge-new{background:var(--badge-new-bg);color:var(--badge-new-fg)}.badge-price{background:var(--badge-price-bg);color:var(--badge-price-fg)}.badge-content{background:var(--badge-content-bg);color:var(--badge-content-fg)}.badge-site{background:var(--badge-site-bg);color:var(--badge-site-fg)}.badge-sent{background:var(--badge-sent-bg);color:var(--badge-sent-fg)}.badge-status-open,.badge-status-paused,.badge-status-pending{background:var(--surface);border:1px solid;padding:1px 8px}.badge-status-open{color:var(--badge-open-fg);border-color:var(--badge-open-line)}.badge-status-pending{color:var(--badge-pending-fg);border-color:var(--badge-pending-line)}.badge-status-paused{color:var(--badge-paused-fg);border-color:var(--badge-paused-line)}.badge-muted{background:var(--hairline);color:var(--text-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);margin-bottom:var(--sp-4);box-shadow:var(--shadow-sm)}.card>h1:first-child,.card>h2:first-child{margin-top:0}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs)}td,th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--hairline);font-size:var(--fs-base)}tr:last-child td{border-bottom:none}th{background:var(--surface-2);font-weight:600;font-size:var(--fs-sm);color:var(--text-3);letter-spacing:.04em}.cell-nowrap{white-space:nowrap}.row-actions{display:flex;gap:6px;justify-content:flex-end}.inline-form{display:inline-block}input,select,textarea{font-family:inherit;font-size:14px;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;background:var(--surface);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}input:hover,select:hover,textarea:hover{border-color:#cfd5de}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--text-3)}label{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin:10px 0 5px}.form-row{display:flex;gap:var(--sp-3)}.form-row>div{flex:1 1}.form-error-message,.form-success-message{margin:var(--sp-3) 0 0;padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600;line-height:1.5}.form-error-message{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.form-success-message{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.form-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}.form-actions .card{flex-basis:100%;margin-top:var(--sp-1);margin-bottom:0}.form-row-spaced{margin-top:var(--sp-2)}.form-required{color:#ef4444}.form-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 14px;margin-bottom:var(--sp-3);background:var(--surface)}.form-fieldset legend{font-size:var(--fs-xs);color:var(--text-3);padding:0 6px;font-weight:700;letter-spacing:.05em}.chip{padding:5px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:500;font-size:var(--fs-md);cursor:pointer;font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s ease}.chip:hover{border-color:#cfd5de;color:var(--text)}.chip.chip-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.chip:disabled{cursor:not-allowed;opacity:.45}.seg-tabs{display:inline-flex;gap:2px;padding:3px;background:var(--hairline);border-radius:var(--radius-sm);margin-bottom:14px}.seg-tab{padding:6px 16px;border-radius:var(--radius-xs);border:0;background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs-md);cursor:pointer;font-family:inherit;transition:all .12s ease}.seg-tab:hover{color:var(--text)}.seg-tab.seg-tab-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.add-dashed-btn{background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-size:12.5px;font-weight:500;padding:6px 14px;font-family:inherit;margin-top:6px;transition:all .12s ease}.add-dashed-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.add-dashed-btn:disabled{color:var(--text-3);cursor:default;opacity:.6}.remove-x-btn{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;align-self:flex-end;margin-bottom:var(--sp-2);font-family:inherit}.remove-x-btn:hover{color:#dc2626}.radio-inline{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);cursor:pointer;margin:0;font-weight:500;color:var(--text-2)}.radio-inline input[type=radio]{width:auto;accent-color:var(--accent)}.pane-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-3);font-size:var(--fs-md);text-align:center;padding:var(--sp-7);flex-direction:column;gap:6px}.pane-empty-icon{font-size:26px;margin-bottom:var(--sp-1);opacity:.8}.pane-empty-hint{font-size:var(--fs-sm);color:var(--text-3)}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:28px}.modal-backdrop{position:absolute;inset:0;border:0;border-radius:0;background:rgba(15,23,42,.55);cursor:pointer;padding:0}.modal-panel{position:relative;z-index:1;width:min(680px,94vw);max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);padding:var(--sp-6);color:var(--text);text-align:left}.modal-title{font-size:var(--fs-lg);font-weight:700;margin:0 0 var(--sp-1)}.modal-note{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:var(--sp-3)}.pdf-frame{height:520px;background:var(--surface-2)}.pdf-canvas-frame,.pdf-frame{width:100%;border:1px solid var(--border);border-radius:var(--radius)}.pdf-canvas-frame{position:relative;display:block;min-height:180px;overflow:visible;background:var(--surface);box-shadow:var(--shadow-xs)}.pdf-canvas-frame-landscape,.pdf-canvas-frame-loading{aspect-ratio:1.414/1}.pdf-canvas-frame-portrait{aspect-ratio:auto}.pdf-canvas-button{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:zoom-in;text-align:left}.pdf-canvas-button:hover .pdf-canvas-frame{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.pdf-canvas{display:block;width:100%;height:auto}.pdf-native-frame{display:block;width:100%;height:min(76vh,780px);border:0;background:var(--surface)}.pdf-native-frame-inline{height:100%;pointer-events:none}.pdf-open-link{display:none;width:-moz-fit-content;width:fit-content;margin-top:var(--sp-2);font-size:var(--fs-sm);font-weight:700}.pdf-canvas-status{position:absolute;background:var(--surface-2);color:var(--text-2);font-size:var(--fs-md)}.pdf-canvas-status,.pdf-preview-modal{inset:0;display:flex;align-items:center;justify-content:center}.pdf-preview-modal{position:fixed;z-index:1000;padding:28px}.pdf-preview-modal-backdrop{position:absolute;inset:0;border:0;border-radius:0;background:rgba(15,23,42,.66);cursor:zoom-out;min-height:0;padding:0}.pdf-preview-modal-panel{position:relative;z-index:1;width:min(1180px,96vw);max-height:94vh;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.pdf-preview-modal-header{height:48px;padding:0 12px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border-bottom:1px solid var(--border);font-size:var(--fs-md);font-weight:700}.pdf-preview-modal-close{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);cursor:pointer;font-size:20px;line-height:1}.pdf-preview-modal-close:hover{background:var(--surface-2)}.pdf-preview-modal-body{position:relative;flex:1 1;overflow:auto;background:#10151f;padding:0}.pdf-preview-modal-canvas{display:block;width:min(100%,1100px);height:auto;margin:0 auto;background:#fff}.pdf-preview-modal-canvas-portrait{width:min(100%,760px)}.pdf-placeholder{width:100%;height:200px;border:2px dashed var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:14px;background:var(--surface-2)}.pdf-placeholder-stack{flex-direction:column;gap:10px;height:auto;min-height:200px;padding:var(--sp-5)}.pdf-placeholder-icon{font-size:32px}.pdf-fetch-message{margin:0;max-width:420px;font-size:var(--fs-md);line-height:1.5;text-align:center}.pdf-fetch-message-ok{color:var(--success)}.pdf-fetch-message-error{color:var(--danger)}.workspace{height:100vh}.shell-content,.workspace{display:flex;overflow:hidden}.shell-content{flex:1 1 auto;min-width:0;background:var(--bg)}.page-scroll{flex:1 1;min-width:0;overflow-y:auto}.page-container{max-width:1080px;margin:0 auto;padding:28px 32px 48px}.page-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:var(--sp-5)}.page-tab{padding:9px 14px;font-size:var(--fs-md);font-weight:600;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.page-tab:hover{color:var(--text);text-decoration:none}.page-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.pane-cases{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;overflow:hidden}.pane-cases-logo{display:flex;align-items:center;padding:18px 18px 14px}.pane-cases-logo img{display:block;width:100%;height:auto;opacity:.96}.pane-cases-logo:hover{text-decoration:none;opacity:1}.pane-cases-header{padding:4px 12px 10px;flex-shrink:0;border-bottom:1px solid var(--sidebar-line)}.pane-cases-new-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:var(--fs-md);font-weight:600;background:transparent;padding:var(--sp-2);border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.28);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.pane-cases-new-btn,.pane-cases-new-btn:hover{color:var(--sidebar-text);text-decoration:none}.pane-cases-new-btn:hover{background:var(--sidebar-hover);border-color:rgba(255,255,255,.45)}.pane-cases-list{overflow-y:auto;flex:1 1;padding:var(--sp-2) 0}.case-list-section{padding:4px 0 10px}.case-list-section+.case-list-section{border-top:1px solid var(--sidebar-line);margin-top:var(--sp-1)}.case-list-section-title{padding:8px 18px 6px;color:var(--sidebar-text-dim);font-size:10.5px;font-weight:700;letter-spacing:.1em}.case-list-empty{padding:8px 18px 10px;color:var(--sidebar-text-dim);font-size:var(--fs-sm);line-height:1.5}.case-item-form{display:block;padding:1px 8px}.case-item{width:100%;padding:8px 10px;cursor:pointer;color:var(--sidebar-text);background:transparent;font-size:13.5px;font-family:inherit;display:flex;align-items:center;gap:7px;text-decoration:none;border:0;border-radius:var(--radius-sm);text-align:left;transition:background .12s ease}.case-item-main{flex:1 1;min-width:0;display:grid;grid-gap:1px;gap:1px}.case-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text);text-decoration:none}.case-item.active{background:var(--sidebar-active);color:var(--sidebar-text)}.case-item:disabled{cursor:progress}.case-item-pending{opacity:.72}.case-item-name{color:var(--sidebar-text);font-weight:600}.case-item-name,.case-item-owner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-item-owner{color:var(--sidebar-text-dim);font-size:var(--fs-xs);font-weight:500}.case-item-count{font-weight:700;color:var(--sidebar-bg);background:rgba(255,255,255,.92);line-height:1.7}.case-item-count,.case-item-deal{font-size:10px;padding:1px 7px;border-radius:999px;flex-shrink:0}.case-item-deal{min-width:30px;font-weight:800;line-height:1.6;text-align:center}.case-item-deal-sale{color:#7c2d12;background:#fdd9b5}.case-item-deal-rent{color:#173f7a;background:#c3dafe}.case-item-notification-dot{width:8px;height:8px;border-radius:999px;background:#fb923c;box-shadow:0 0 0 3px rgba(251,146,60,.25);flex-shrink:0}.case-item.active .case-item-count{background:#fff}.sidebar-empty{padding:16px 14px;color:var(--sidebar-text-dim);font-size:var(--fs-md)}.sidebar-archived{border-top:1px solid var(--sidebar-line);padding:6px 0;flex-shrink:0}.sidebar-archived summary{list-style:none;cursor:pointer;padding:8px 18px;color:var(--sidebar-text-dim);font-size:10.5px;font-weight:700;letter-spacing:.1em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-archived summary::-webkit-details-marker{display:none}.sidebar-archived summary:before{content:"▸ "}.sidebar-archived[open] summary:before{content:"▾ "}.sidebar-archived summary:hover{color:var(--sidebar-text)}.sidebar-archived-list{max-height:180px;overflow-y:auto}.sidebar-archived-item{display:flex;align-items:center;gap:var(--sp-2);padding:5px 12px 5px 18px}.sidebar-archived-name{flex:1 1;min-width:0;color:var(--sidebar-text-dim);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-archived-name:hover{color:var(--sidebar-text);text-decoration:none}.sidebar-archived-restore{flex-shrink:0;font-size:10px;font-weight:600;color:var(--sidebar-text-dim);background:transparent;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:1px 8px;cursor:pointer;font-family:inherit;transition:all .12s ease}.sidebar-archived-restore:hover{color:var(--sidebar-text);background:var(--sidebar-hover);border-color:rgba(255,255,255,.45)}.pane-cases-footer{padding:var(--sp-3);border-top:1px solid var(--sidebar-line);flex-shrink:0}.sidebar-user{display:grid;grid-gap:1px;gap:1px;margin-bottom:10px;padding:0 4px}.sidebar-user strong{color:var(--sidebar-text);font-size:12.5px;line-height:1.35}.sidebar-user span{color:var(--sidebar-text-dim);font-size:var(--fs-xs);line-height:1.45;overflow-wrap:anywhere}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-2);gap:var(--sp-2)}.sidebar-actions form{width:100%;min-width:0}.sidebar-action-button{display:flex;align-items:center;justify-content:center;width:100%;height:32px;text-align:center;font-family:inherit;font-size:var(--fs-sm);font-weight:600;line-height:1;color:var(--sidebar-text);background:var(--sidebar-hover);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);padding:6px 8px;text-decoration:none;cursor:pointer;transition:background .12s ease}.sidebar-action-button:hover{background:var(--sidebar-active);color:var(--sidebar-text);text-decoration:none}.pane-header{padding:0 16px;height:var(--pane-header-h);border-bottom:1px solid var(--border);background:var(--surface);display:flex;gap:var(--sp-2);box-shadow:var(--shadow-header);position:relative;z-index:2}.pane-back-link,.pane-header{flex-shrink:0;align-items:center}.pane-back-link{display:none;justify-content:center;width:32px;height:32px;margin-left:-6px;border-radius:var(--radius-sm);font-size:20px;line-height:1;color:var(--text-2)}.pane-back-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.pane-props{width:var(--props-w);flex-shrink:0;background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.pane-props-header{padding:0 14px;height:var(--pane-header-h);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-2)}.pane-props-header,.pane-props-top{background:var(--surface);flex-shrink:0}.pane-props-top{box-shadow:var(--shadow-header);position:relative;z-index:2}.pane-props-top .pane-props-header{box-shadow:none}.crawl-status{display:flex;align-items:center;gap:7px;margin:0 14px 10px;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm);line-height:1.5;border:1px solid}.crawl-status-icon{flex-shrink:0;font-weight:800}.crawl-status b{color:var(--text);font-weight:700}.crawl-status-ok{background:var(--badge-new-bg);border-color:transparent;color:var(--badge-new-fg)}.crawl-status-ok .crawl-status-text{color:var(--text-2)}.crawl-status-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.crawl-status-running{background:var(--accent-soft);border-color:transparent;color:var(--accent-hover)}.crawl-status-none{background:var(--surface-2);border-color:var(--hairline);color:var(--text-3)}.pane-props-header .btn,.pane-props-header form{flex-shrink:0}.pane-props-title{font-size:13.5px;font-weight:700;color:var(--text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-props-list{overflow-y:auto;flex:1 1}.prop-date-group{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:100%;padding:10px 14px 5px;font-size:10.5px;font-weight:700;color:var(--text-3);letter-spacing:.07em;background:var(--surface-2);position:-webkit-sticky;position:sticky;top:0;z-index:1;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:inherit;text-align:left}.prop-date-group:hover{color:var(--text-2)}.prop-date-group-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--surface);color:var(--text-3);font-size:14px;line-height:1;letter-spacing:0}.prop-item{padding:11px 14px;background:var(--surface);border-bottom:1px solid var(--hairline);cursor:pointer;text-decoration:none;display:block;border-left:3px solid transparent;min-height:60px;transition:background .1s ease}.prop-item-row{display:flex;align-items:flex-start;gap:var(--sp-2)}.prop-check{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:var(--accent)}.prop-item-main{flex:1 1;min-width:0;color:inherit}.prop-item-main,.prop-item-main:hover,.prop-item:hover{text-decoration:none}.prop-item:hover{background:var(--surface-2)}.prop-item.active{background:var(--accent-soft);border-left-color:var(--accent)}.prop-item-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:3px;min-width:0}.prop-item-title-text{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.prop-item.active .prop-item-title{color:var(--accent-hover)}.prop-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:var(--fs-sm);color:var(--text-2)}.prop-item-price{font-weight:600;color:#1e293b}.prop-item-submeta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:2px;font-size:var(--fs-xs);color:var(--text-3);line-height:1.45}.proposal-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);color:var(--text-2)}.proposal-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.proposal-warning{padding:7px 12px;background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm)}.pane-inspector{flex:1 1 auto;background:var(--surface);display:flex;flex-direction:column;overflow:hidden;min-width:0}.inspector-head-title{font-size:13.5px;font-weight:700;color:var(--text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-external-link{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);flex-shrink:0}.inspector-external-link:hover{color:var(--accent);text-decoration:none}.inspector-body{overflow-y:auto;flex:1 1;padding:18px 20px}.drive-add{position:relative;flex-shrink:0;display:flex;align-items:center;gap:var(--sp-2)}.drive-add-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;display:grid;grid-gap:2px;gap:2px}.drive-add-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;border-radius:var(--radius-xs);padding:8px 10px;font-size:var(--fs-md);font-weight:600;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}.drive-add-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.drive-add-menu-item:disabled{cursor:not-allowed;opacity:.45}.drive-add-menu-settings{padding:7px 10px;border-top:1px solid var(--hairline);color:var(--accent);font-size:var(--fs-sm);font-weight:600}.drive-add-status{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:600}.drive-add-status-ok{color:var(--success)}.drive-add-status-error{color:var(--danger)}.inspector-overview{margin-bottom:var(--sp-5)}.overview-badge-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp-2)}.overview-badge-row:empty{display:none}.overview-title{font-size:var(--fs-lg);font-weight:700;color:var(--text);margin-bottom:var(--sp-3);line-height:1.4}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-xs)}.overview-item{background:var(--surface);padding:8px 12px;display:grid;grid-gap:2px;gap:2px;align-content:start}.overview-span-2{grid-column:span 2}.overview-span-3{grid-column:span 3}.overview-span-4{grid-column:1/-1}.overview-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-3)}.overview-value{font-size:var(--fs-md);font-weight:600;color:var(--text);line-height:1.45;overflow-wrap:anywhere}.overview-price{font-size:15px;font-weight:700;color:var(--accent-hover)}.overview-maps-link{display:inline-block;margin-top:var(--sp-2);font-size:var(--fs-sm);font-weight:600}.inspector-drawing{margin-bottom:var(--sp-6)}.inspector-events table+table{margin-top:var(--sp-3)}.inspector-events-empty{color:var(--text-3);font-size:var(--fs-md)}.cell-datetime{color:#64748b;font-size:var(--fs-sm)}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.settings-head h1{display:flex;align-items:center;gap:10px;margin-bottom:0}.case-edit-inline h2{margin-top:0}.case-management-actions{display:flex;justify-content:flex-end;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border)}.member-management-help{margin-top:0;color:var(--text-2);font-size:var(--fs-sm)}.cell-error{max-width:260px}.member-add-form{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3)}.member-add-form select{flex:1 1;width:auto}.condition-form-type-grid{display:grid;grid-template-columns:.8fr 1.5fr 1.5fr 1.5fr;grid-gap:10px;gap:10px;margin-bottom:14px}.condition-form-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.area-row{display:grid;grid-template-columns:150px 1fr 1fr 110px auto;grid-gap:6px;gap:6px;margin-bottom:6px;align-items:end}.area-row:not(.area-row-first) .area-row-label{display:none}.railway-station-grid{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:8px;gap:8px;align-items:end}.railway-walk{min-width:110px}.layout-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;grid-gap:16px;gap:16px;align-items:start;padding-top:2px}.condition-form-actions{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}.admin-flash,.table-spaced{margin-top:var(--sp-3)}.cell-webhook{min-width:360px}.cell-ops{min-width:160px;white-space:nowrap}.cell-ops .inline-form{margin-left:var(--sp-2)}.employee-profile-list{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-4)}.employee-profile-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-4);background:var(--surface-2)}.employee-card-preview-row,.employee-profile-actions,.employee-profile-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.employee-profile-head>div{display:grid}.employee-profile-actions span,.employee-profile-head span{color:var(--text-2);font-size:var(--fs-sm)}.employee-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:var(--sp-3)}.employee-profile-grid label{display:grid;grid-gap:5px;gap:5px;color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.employee-profile-grid input{width:100%}.employee-card-preview-row{justify-content:flex-start;margin-top:var(--sp-3)}.employee-card-preview-row img{width:190px;max-height:112px;object-fit:contain;border:1px solid var(--border);background:#fff}.employee-remove-card{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:var(--fs-sm)}.employee-profile-actions{justify-content:flex-end;margin-top:var(--sp-3)}.railway-row-card{border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:var(--sp-2);background:var(--surface-2)}.fullpage-container{max-width:1080px;margin:0 auto;padding:28px 24px 48px}.proposal-builder-header{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:var(--sp-4);box-shadow:var(--shadow-xs)}.proposal-preview-list{display:grid;grid-gap:18px;gap:18px}.proposal-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);box-shadow:var(--shadow-xs)}.proposal-preview-title{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:10px;font-weight:700}.proposal-targets .radio-inline.is-disabled{color:var(--text-3)}.proposal-targets-settings{color:var(--accent);font-size:var(--fs-sm);font-weight:600}.proposal-preview-title-actions{display:flex;align-items:center;gap:var(--sp-3);white-space:nowrap}.proposal-rotation-controls{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.proposal-remove-item{color:var(--text-2)}.proposal-remove-item:hover{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger)}.proposal-page-frame{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);width:100%}.proposal-page-canvas{display:block;width:100%;height:100%}.proposal-page-status{inset:0;background:rgba(248,250,252,.92);color:var(--text-2);font-size:var(--fs-md)}.proposal-mask,.proposal-page-status{position:absolute;display:flex;align-items:center;justify-content:center;font-weight:700}.proposal-mask{border:2px solid var(--accent);background:rgba(255,255,255,.88);color:var(--accent-hover);font-size:var(--fs-sm);pointer-events:none;box-shadow:0 0 0 9999px rgba(15,23,42,.05)}.proposal-mask-editable{pointer-events:auto;cursor:move;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.proposal-mask-handle{position:absolute;top:-9px;right:-9px;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:var(--shadow-sm);cursor:nesw-resize;touch-action:none}.proposal-builder-note{margin:-6px 0 16px;font-size:12.5px}.proposal-processing-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin:0 0 18px;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.proposal-processing-mode legend{padding:0 6px;font-size:var(--fs-sm);font-weight:700;color:var(--text-2)}.proposal-processing-option{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}.proposal-processing-option.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.proposal-processing-option input{width:auto;margin-top:3px;accent-color:var(--accent)}.proposal-processing-option span{display:grid;grid-gap:3px;gap:3px}.proposal-processing-option strong{font-size:var(--fs-md)}.proposal-processing-option small{color:var(--text-2);line-height:1.45}.proposal-band-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}.proposal-band-preview-inner{position:relative;display:block;width:100%;aspect-ratio:6249/631;max-width:100%;max-height:100%;pointer-events:none}.proposal-band-preview-inner img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.proposal-band-preview-missing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--danger);font-weight:700}.proposal-mask-group{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--border)}.proposal-mask-group:first-of-type{border-top:0;padding-top:0}.proposal-mask-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.proposal-mask-group-title{font-size:var(--fs-sm);font-weight:700;color:var(--text-2)}.proposal-mask-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.proposal-mask-control{margin:0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.proposal-mask-control-head,.proposal-mask-nudges{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.proposal-mask-value{color:var(--text-2);font-size:var(--fs-sm);font-weight:700}.proposal-mask-nudges .btn{width:44px;min-height:30px;padding:4px 0}.proposal-targets{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:18px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.proposal-targets-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.05em;color:var(--text-3)}.proposal-targets .radio-inline input[type=checkbox]{width:auto;accent-color:var(--accent)}.proposal-targets-warn{font-size:var(--fs-sm);font-weight:600;color:var(--danger)}.proposal-submit-bar{position:-webkit-sticky;position:sticky;bottom:0;margin-top:18px;padding:var(--sp-3) 0;background:var(--bg);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.proposal-action-error,.proposal-action-success{flex:1 1;border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-md);font-weight:600}.proposal-action-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.proposal-action-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.proposal-action-success a{color:#0369a1;text-decoration:underline}.photo-section{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px dashed var(--border);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.photo-section-head{display:flex;align-items:baseline;gap:var(--sp-2)}.photo-count{margin-left:auto;font-size:var(--fs-sm);font-weight:700;color:var(--accent-ink)}.photo-empty-note,.photo-locked-note{font-size:var(--fs-sm);color:var(--text-2);margin:0 0 var(--sp-2)}.photo-locked-note{padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm)}.photo-actions-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.photo-url-form{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.photo-url-form input[type=url]{flex:1 1}.photo-match{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-xs)}.photo-match-top{display:flex;align-items:center;gap:var(--sp-2);padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--hairline);flex-wrap:wrap}.photo-src-badge{font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 9px;border-radius:999px;background:var(--badge-new-bg);color:var(--badge-new-fg)}.photo-match-name{font-weight:700;font-size:var(--fs-md);display:inline-flex;align-items:center;gap:var(--sp-2)}.photo-score{font-size:var(--fs-xs);font-weight:800;padding:1px 8px;border-radius:999px}.photo-score-ok{background:var(--badge-new-bg);color:var(--badge-new-fg)}.photo-score-warn{background:var(--badge-content-bg);color:var(--badge-content-fg)}.photo-score-ng{background:var(--badge-price-bg);color:var(--badge-price-fg)}.photo-match-top a{margin-left:auto;font-size:var(--fs-sm);font-weight:700}.photo-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1px;gap:1px;background:var(--hairline)}.photo-check{background:var(--surface);padding:8px 14px;font-size:var(--fs-sm);color:var(--text-2)}.photo-check b{color:var(--text);margin-right:5px}.photo-check-ok b{color:var(--good)}.photo-check-warn b{color:var(--amber)}.photo-check-ng b{color:var(--danger)}.photo-match-act{display:flex;align-items:center;gap:var(--sp-3);padding:11px 14px;border-top:1px solid var(--hairline);flex-wrap:wrap}.photo-confirmed{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:700;color:var(--good);background:var(--good-soft,var(--badge-new-bg));border-radius:999px;padding:4px 12px}.photo-clear-btn{margin-left:auto;color:var(--danger)}.photo-clear-btn:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-bg)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px;padding:12px 14px 0}.photo-thumb{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:var(--surface-2)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb.sel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.photo-cb{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.9);border:1.5px solid rgba(0,0,0,.25);display:grid;place-items:center;font-size:13px;font-weight:900;color:transparent}.photo-thumb.sel .photo-cb{background:var(--accent);border-color:var(--accent);color:#fff}.photo-ord{position:absolute;right:6px;bottom:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:10px;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-save-row{display:flex;align-items:center;gap:var(--sp-3);padding:12px 14px;flex-wrap:wrap}.photo-save-row .muted{margin-right:auto}.estimate-page-container{max-width:1320px}.estimate-page{display:grid;grid-gap:16px;gap:16px}.estimate-page-head h1{margin:4px 0 2px;font-size:24px}.estimate-back-link,.estimate-page-head p{color:var(--text-2);font-size:var(--fs-md)}.estimate-builder{display:grid;grid-gap:16px;gap:16px}.estimate-common-panel,.estimate-property-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-xs)}.estimate-common-panel{padding:18px}.estimate-batch-actions,.estimate-items-footer,.estimate-property-actions,.estimate-property-title-row,.estimate-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.estimate-section-head{margin-bottom:14px}.estimate-property-title-row h2,.estimate-section-head h2,.estimate-section-head h3{margin:0}.estimate-section-head span{color:var(--text-3);font-size:var(--fs-sm)}.estimate-common-grid{display:grid;grid-template-columns:160px minmax(260px,1fr) 120px repeat(3,minmax(150px,.7fr));grid-gap:12px;gap:12px}.estimate-common-grid label,.estimate-notes-field,.estimate-subject-field{display:grid;grid-gap:5px;gap:5px;color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.estimate-common-grid input,.estimate-common-grid select,.estimate-notes-field textarea,.estimate-subject-field input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px 10px;font:inherit}.estimate-cell-input:focus,.estimate-cell-select:focus,.estimate-common-grid input:focus,.estimate-common-grid select:focus,.estimate-notes-field textarea:focus,.estimate-subject-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.estimate-inline-check{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--text-2);font-size:var(--fs-md)}.estimate-inline-check input{width:16px;height:16px;accent-color:var(--accent)}.estimate-property-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border)}.estimate-property-tabs button{min-width:180px;max-width:260px;border:0;border-bottom:3px solid transparent;background:transparent;padding:10px 12px 9px;color:var(--text-2);cursor:pointer;text-align:left}.estimate-property-tabs button.is-active{border-bottom-color:var(--accent);color:var(--text);background:var(--surface)}.estimate-property-tabs button>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.estimate-status{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-3)}.estimate-status-ready{color:var(--success)}.estimate-status-error{color:var(--danger)}.estimate-status-reading{color:var(--accent)}.estimate-property-panel{padding:20px;min-height:420px}.estimate-property-title-row{margin-bottom:14px}.estimate-property-index{color:var(--text-3);font-size:var(--fs-xs);font-weight:700}.estimate-drive-link{font-size:var(--fs-sm);font-weight:700}.estimate-subject-field{margin-bottom:16px}.estimate-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:7px}.estimate-items-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-base)}.estimate-items-table th{background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:700;text-align:left}.estimate-items-table td,.estimate-items-table th{height:48px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px 7px;vertical-align:middle}.estimate-items-table td:last-child,.estimate-items-table th:last-child{border-right:0}.estimate-items-table tbody tr:last-child td{border-bottom:0}.estimate-items-table tr.is-dragging{opacity:.48}.estimate-drag-column{width:42px}.estimate-number-column{width:82px}.estimate-price-column{width:138px}.estimate-tax-column{width:112px}.estimate-delete-column{width:42px}.estimate-cell-input,.estimate-cell-select{width:100%;height:36px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);padding:5px 7px;font:inherit}.estimate-cell-input:hover,.estimate-cell-select:hover{border-color:var(--border);background:var(--surface)}.estimate-calculated,.estimate-cell-input[type=number]{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-drag-handle,.estimate-row-delete{width:30px;height:30px;border:0;background:transparent;color:var(--text-3);cursor:-webkit-grab;cursor:grab;font-size:17px}.estimate-row-delete{cursor:pointer;font-size:20px}.estimate-drag-handle:hover,.estimate-row-delete:hover{color:var(--text);background:var(--surface-2);border-radius:5px}.estimate-items-footer{margin-top:10px}.estimate-add-item-control{display:flex;align-items:center;gap:8px}.estimate-add-item-control small{color:var(--text-3);font-size:var(--fs-xs)}.estimate-totals-inline{display:flex;align-items:center;gap:16px;font-size:var(--fs-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-totals-inline strong{font-size:16px}.estimate-notes-field{margin-top:20px}.estimate-notes-field textarea{resize:vertical;line-height:1.7}.estimate-drawing-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.estimate-drawing-section .pdf-canvas-frame{min-height:520px}.estimate-property-actions{justify-content:flex-end;margin-top:16px}.estimate-state-panel{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-2)}.estimate-state-panel strong{color:var(--text);font-size:16px}.estimate-state-panel p{margin:4px 0 14px}.estimate-spinner{width:28px;height:28px;margin-bottom:12px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:estimate-spin .8s linear infinite}@keyframes estimate-spin{to{transform:rotate(1turn)}}.estimate-alert,.estimate-batch-message{padding:11px 13px;border:1px solid var(--danger-border);border-radius:7px;background:var(--danger-bg);color:var(--danger);font-size:var(--fs-md)}.estimate-batch-message{border-color:var(--border);background:var(--surface);color:var(--text-2)}.estimate-batch-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;padding:12px 0;border-top:1px solid var(--border);background:var(--bg);color:var(--text-2);font-size:var(--fs-md)}.estimate-batch-actions>div{display:flex;gap:8px}@media (max-width:980px){.estimate-common-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-client-name-field{grid-column:span 2}.estimate-drawing-section .pdf-canvas-frame{min-height:280px}.estimate-batch-actions{align-items:stretch;flex-direction:column}.estimate-batch-actions>div{display:grid}}@media (max-width:620px){.estimate-page-container{padding:18px 12px 36px}.estimate-common-grid{grid-template-columns:1fr}.estimate-client-name-field{grid-column:auto}.estimate-property-panel{padding:14px}.estimate-items-footer{align-items:stretch;flex-direction:column}.estimate-totals-inline{align-items:flex-end;flex-direction:column;gap:2px}}.inspection-page-container{max-width:1320px}.inspection-builder,.inspection-page{display:grid;grid-gap:16px;gap:16px}.inspection-page-head h1{margin:4px 0 2px;font-size:24px}.inspection-back-link,.inspection-page-head p{color:var(--text-2);font-size:var(--fs-md)}.inspection-common-panel,.inspection-property-panel,.inspection-route-panel{padding:20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs)}.inspection-route-controls,.inspection-route-error,.inspection-route-head,.inspection-route-total{display:flex;align-items:center}.inspection-route-head{justify-content:space-between;gap:16px;margin-bottom:16px}.inspection-route-head h2{margin:0;font-size:18px}.inspection-route-head>div:first-child>span{color:var(--text-3);font-size:var(--fs-sm)}.inspection-route-controls{gap:8px;flex-wrap:wrap;justify-content:flex-end}.inspection-mode-control{display:inline-grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.inspection-mode-control button{min-width:64px;min-height:34px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;font:inherit;font-weight:700}.inspection-mode-control button:last-child{border-right:0}.inspection-mode-control button.is-active{background:var(--text);color:var(--surface)}.inspection-mode-control button:disabled{cursor:wait;opacity:.65}.inspection-route-error{justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--danger-line);border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm)}.inspection-route-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);grid-gap:18px;gap:18px;align-items:stretch}.inspection-route-map{min-height:420px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}.inspection-route-map img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.inspection-route-map-empty{display:grid;min-height:420px;place-items:center;color:var(--text-3);font-size:var(--fs-sm)}.inspection-route-summary{display:grid;grid-template-rows:auto 1fr auto;grid-gap:12px;gap:12px;min-width:0}.inspection-route-total{grid-row:1;gap:10px;min-height:42px;padding-bottom:10px;border-bottom:1px solid var(--border)}.inspection-route-total span{padding:3px 8px;border:1px solid var(--border);border-radius:4px;color:var(--text-2);font-size:var(--fs-sm);font-weight:700}.inspection-route-total strong{font-size:20px}.inspection-route-total small{margin-left:auto;color:var(--text-3)}.inspection-route-list{grid-row:2;display:grid;align-content:start;grid-gap:0;gap:0;min-width:0;margin:0;padding:0;list-style:none}.inspection-route-stop{display:grid;grid-template-columns:24px 28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;min-height:56px;background:var(--surface)}.inspection-route-stop.is-dragging{opacity:.45}.inspection-route-handle{color:var(--text-3);cursor:-webkit-grab;cursor:grab;font-size:17px;text-align:center}.inspection-route-stop:active .inspection-route-handle{cursor:-webkit-grabbing;cursor:grabbing}.inspection-route-number{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--accent);color:white;font-size:var(--fs-sm);font-weight:800}.inspection-route-property{display:grid;min-width:0}.inspection-route-property small,.inspection-route-property strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-route-property small{color:var(--text-3);font-size:var(--fs-xs)}.inspection-route-connection{display:grid;grid-template-columns:24px auto 1fr;grid-gap:6px;gap:6px;align-items:center;min-height:30px;margin-left:32px;padding:2px 0 2px 8px;border-left:2px solid color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--text-2);font-size:var(--fs-xs)}.inspection-route-connection>span{color:var(--accent);font-size:16px;line-height:1;text-align:center}.inspection-route-connection strong{font-weight:700}.inspection-route-connection small{color:var(--text-3)}.inspection-route-open{grid-row:3;width:100%}.inspection-batch-actions,.inspection-property-actions,.inspection-property-head,.inspection-read-error,.inspection-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inspection-section-head{margin-bottom:14px}.inspection-property-head h2,.inspection-section-head h2,.inspection-section-head h3{margin:0}.inspection-property-head>div>span,.inspection-section-head span{color:var(--text-3);font-size:var(--fs-sm)}.inspection-common-grid{display:grid;grid-template-columns:minmax(220px,.8fr) 180px minmax(300px,1.2fr);grid-gap:12px;gap:12px;align-items:end}.inspection-common-grid label,.inspection-property-fields label{display:grid;grid-gap:5px;gap:5px;color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.inspection-common-grid input,.inspection-common-grid select,.inspection-date-row input,.inspection-date-row select,.inspection-property-fields input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px 10px;font:inherit}.inspection-common-grid input:focus,.inspection-common-grid select:focus,.inspection-date-row input:focus,.inspection-date-row select:focus,.inspection-property-fields input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.inspection-employee-summary{display:grid;min-height:64px;align-content:center;padding:8px 12px;border-left:3px solid var(--success);background:var(--surface-2)}.inspection-employee-summary small,.inspection-employee-summary span{color:var(--text-2);font-size:var(--fs-sm)}.inspection-employee-summary.is-incomplete{border-left-color:var(--danger)}.inspection-message,.inspection-profile-warning,.inspection-read-error{margin-top:12px;padding:10px 12px;border:1px solid var(--danger-line);border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm)}.inspection-extract-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.inspection-extract-panel h2{margin:0 0 4px;font-size:var(--fs-lg)}.inspection-extract-panel p{margin:0;color:var(--text-2);font-size:var(--fs-sm)}.inspection-extract-panel .btn{flex:0 0 auto}.inspection-property-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border)}.inspection-property-tabs button{min-width:180px;max-width:250px;border:0;border-bottom:3px solid transparent;background:transparent;padding:10px 12px 9px;color:var(--text-2);cursor:pointer;text-align:left}.inspection-property-tabs button.is-active{border-bottom-color:var(--accent);background:var(--surface);color:var(--text)}.inspection-property-tabs button small,.inspection-property-tabs button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-property-tabs button span{font-weight:700}.inspection-property-tabs button small{color:var(--text-3);font-size:var(--fs-xs)}.inspection-property-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.inspection-property-head-actions{display:flex;align-items:center;gap:10px}.inspection-remove-property{color:var(--text-2)}.inspection-remove-property:hover{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger)}.inspection-reading{color:var(--accent);font-size:var(--fs-sm);font-weight:700}.inspection-read-error{margin:0 0 16px}.inspection-property-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.inspection-wide-field{grid-column:1/-1}.inspection-dates-section,.inspection-drawing-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.inspection-date-list{display:grid;grid-gap:8px;gap:8px;margin-bottom:10px}.inspection-date-row{display:grid;grid-template-columns:minmax(300px,520px) 36px;grid-gap:8px;gap:8px;align-items:end}.inspection-date-fieldset{min-width:0;margin:0;padding:0;border:0}.inspection-date-fieldset legend{margin-bottom:5px;color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.inspection-date-controls{display:grid;grid-template-columns:minmax(170px,1fr) 76px 10px 76px;grid-gap:6px;gap:6px;align-items:center}.inspection-date-controls>span{color:var(--text-2);font-weight:700;text-align:center}.inspection-remove-date{width:36px;height:40px;border:0;background:transparent;color:var(--text-3);font-size:22px;cursor:pointer}.inspection-remove-date:hover{color:var(--danger);background:var(--danger-bg)}.inspection-drawing-section .pdf-canvas-frame{min-height:720px}.inspection-property-actions{justify-content:flex-end;margin-top:20px}.inspection-message{margin:0}.inspection-batch-actions{position:-webkit-sticky;position:sticky;bottom:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.inspection-batch-actions span{color:var(--text-2);font-size:var(--fs-sm)}@media (max-width:840px){.employee-profile-grid,.inspection-common-grid,.inspection-property-fields{grid-template-columns:1fr}.inspection-wide-field{grid-column:auto}.inspection-date-row{grid-template-columns:1fr 36px}.inspection-date-controls{grid-template-columns:minmax(140px,1fr) 68px 8px 68px}.inspection-batch-actions,.inspection-extract-panel,.inspection-property-head,.inspection-route-head,.inspection-section-head{align-items:flex-start;flex-direction:column}.inspection-batch-actions .btn,.inspection-extract-panel .btn{width:100%}.inspection-route-layout{grid-template-columns:1fr}.inspection-route-controls{width:100%;justify-content:flex-start}.inspection-route-map,.inspection-route-map img,.inspection-route-map-empty{min-height:320px}}.signin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(1200px 600px at 80% -10%,var(--accent-soft),transparent),var(--bg)}.signin-panel{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px 28px;box-shadow:var(--shadow-md)}.signin-logo{display:block;width:min(260px,100%);height:auto;margin-bottom:18px}.signin-error{margin:0 0 var(--sp-1);padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-md);line-height:1.5}@media (max-width:900px){body:has(.workspace),html:has(.workspace){height:100%;overflow:hidden}.workspace{height:100dvh;position:relative}.shell-content,.workspace{overflow:hidden;flex-direction:column}.shell-content{height:100%}.mobile-screen-cases .shell-content,.mobile-screen-detail .pane-cases,.mobile-screen-detail .pane-props,.mobile-screen-full .pane-cases,.mobile-screen-list .pane-cases,.mobile-screen-list .pane-inspector{display:none}.pane-back-link{display:inline-flex}.pane-cases{width:100%;height:100dvh;flex:none;max-width:100%}.pane-cases-logo{padding:16px 16px 12px}.pane-cases-logo img{width:min(200px,56vw)}.pane-cases-list{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.case-item{min-height:52px}.sidebar-archived{display:block}.sidebar-user{display:grid}.pane-inspector,.pane-props{width:100%;max-width:100%;height:100%;flex:none;border-right:0}.inspector-body,.pane-props-list{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.inspector-body{padding:14px 12px}.inspector-head-title,.pane-props-title{white-space:normal;overflow-wrap:anywhere}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-span-2,.overview-span-3,.overview-span-4{grid-column:1/-1}.page-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.fullpage-container,.page-container{width:100%;padding:14px 12px 40px}.page-tabs{overflow-x:auto}.pdf-frame{height:64vh;min-height:360px}.pdf-canvas-frame{min-height:180px}.pdf-canvas-frame-portrait{min-height:0}.pdf-open-link{display:inline-flex}.pdf-preview-modal{align-items:stretch;justify-content:stretch;padding:0}.pdf-preview-modal-panel{width:100%;max-height:none;height:100dvh;border-radius:0}.pdf-preview-modal-body{padding:0;-webkit-overflow-scrolling:touch}.pdf-preview-modal-body .pdf-native-frame{height:calc(100dvh - 48px)}.pdf-preview-modal-canvas{width:100%;min-width:100%;max-width:none}.pdf-preview-modal-canvas-portrait{width:min(100%,780px);min-width:0}.proposal-builder-header{flex-direction:column;align-items:stretch}.proposal-processing-mode{grid-template-columns:1fr}.inspection-property-head,.proposal-preview-title{align-items:stretch;flex-direction:column}.inspection-property-head-actions,.proposal-preview-title-actions{justify-content:space-between}.proposal-submit-bar{flex-wrap:wrap}.proposal-targets{align-items:flex-start;flex-direction:column;gap:var(--sp-2)}.modal{padding:0;align-items:stretch}.modal-panel{width:100%;max-height:none;border-radius:0}.area-row,.condition-form-condition-grid,.layout-grid,.proposal-mask-controls,.railway-station-grid{grid-template-columns:1fr}.area-row .area-row-label{display:block}.area-row-spacer{display:none}.condition-form-type-grid,.form-row{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.member-add-form{flex-direction:column;align-items:stretch}.member-add-form select{width:100%}table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:901px) and (max-width:1280px){:root{--sidebar-w:208px;--props-w:340px}}