.delete-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:16px;animation:delete-modal-fade-in .15s ease}@keyframes delete-modal-fade-in{0%{opacity:0}to{opacity:1}}.delete-modal-dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px 28px 22px;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;box-shadow:0 24px 64px #0000008c;animation:delete-modal-slide-up .18s ease}@keyframes delete-modal-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.delete-modal-body{font-size:15px;font-weight:500;color:var(--text-primary);margin:0 0 10px;line-height:1.55}.delete-modal-session-ref{font-size:13px;color:var(--text-secondary);font-weight:500;margin:0 0 24px;word-break:break-word;line-height:1.5}.delete-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.delete-modal-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,transform .1s ease,box-shadow .18s ease;line-height:1;white-space:nowrap}.delete-modal-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.delete-modal-btn:active{transform:scale(.97)}.delete-modal-btn-cancel{background:#7f7f7f2e;color:var(--text-primary);order:-1}.delete-modal-btn-cancel:hover{background:#7f7f7f47}.delete-modal-btn-delete{background:var(--danger);color:#fff}.delete-modal-btn-delete:hover{background:#dc2626;box-shadow:0 4px 14px #ef444459}.delete-modal-btn-delete svg{flex-shrink:0}@media(max-width:480px){.delete-modal-dialog{padding:22px 18px 18px}.delete-modal-body{font-size:14px}.delete-modal-actions{flex-direction:column-reverse;gap:10px}.delete-modal-btn{width:100%;flex:unset;padding:12px 20px}}@media(prefers-reduced-motion:reduce){.delete-modal-overlay,.delete-modal-dialog{animation:none}}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:max-content}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-light{color:#e4e4e7}.text-white{color:#fff}.bg-surface{background:var(--surface)}.bg-background{background:var(--background)}.bg-dark-alt{background:#0003}.bg-primary-subtle{background:var(--primary-subtle)}.border-default{border:1px solid var(--border)}.border-bottom-default{border-bottom:1px solid var(--border)}.text-status-verified{color:var(--success)}.text-status-pending{color:var(--warning)}.text-status-rejected{color:var(--danger)}.input-dark{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);outline:none}.input-dark::-moz-placeholder{color:var(--text-tertiary)}.input-dark::placeholder{color:var(--text-tertiary)}.input-dark:focus{border-color:var(--primary)}.card-dark{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a}.table-dark{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border)}.table-dark th{color:var(--text-primary);border-bottom:1px solid var(--border);padding:.75rem;text-align:left}.table-dark td{color:var(--text-primary);padding:.75rem}.table-dark tr{border-bottom:1px solid var(--border)}.table-dark tbody tr:nth-child(2n){background:#7f7f7f0f}.table-dark tbody tr:hover{background:var(--primary-subtle)}@media(max-width:768px){button,a,.clickable{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-overflow-scrolling:touch}.table-dark{font-size:14px}.table-dark th,.table-dark td{padding:.5rem}.input-dark{font-size:16px}}@media(max-width:480px){.table-dark{font-size:12px}.table-dark th,.table-dark td{padding:.4rem}}:root,:root[data-theme=dark]{--background: #05080d;--surface: #0b0f15;--surface-elevated: #12171f;--border: #1b222a;--primary: #4d9a2b;--primary-hover: #3f7e22;--primary-subtle: rgba(77, 154, 43, .14);--text-primary: #f5f5f5;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--success: #4d9a2b;--success-subtle: rgba(77, 154, 43, .1);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .1)}:root[data-theme=light]{--background: #f7f8fa;--surface: #ffffff;--surface-elevated: #ffffff;--border: #e5e7eb;--primary: #4d9a2b;--primary-hover: #3f7e22;--primary-subtle: rgba(77, 154, 43, .1);--text-primary: #111827;--text-secondary: #52525b;--text-tertiary: #9ca3af;--success: #16a34a;--success-subtle: rgba(22, 163, 74, .08);--warning: #d97706;--warning-subtle: rgba(217, 119, 6, .08);--danger: #dc2626;--danger-subtle: rgba(220, 38, 38, .08)}.react-tooltip{z-index:9999!important;opacity:1!important}.chat-title-tooltip{background:#7171e7!important;color:var(--text-primary)!important;font-size:12px!important;padding:6px 10px!important;box-shadow:0 6px 18px #0009!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--background);color:var(--text-primary);overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-container{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden;padding-top:env(safe-area-inset-top);background-color:var(--background)}.sidebar{width:256px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s ease;overflow:hidden}.sidebar.desktop.collapsed{width:64px}.sidebar.mobile.collapsed{width:0}.sidebar-header{padding:14px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);justify-content:flex-start;min-width:0}.sidebar.desktop.collapsed .sidebar-header{justify-content:center;padding:14px 8px}.logo{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.logo-text{font-weight:600;font-size:18px;color:var(--text-primary);letter-spacing:-.5px;white-space:nowrap;overflow:hidden;transition:opacity .2s}.sidebar.desktop.collapsed .logo-text{opacity:0;width:0}.sidebar-content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:4px}.sidebar-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;text-decoration:none;position:relative;justify-content:flex-start}.sidebar.desktop.collapsed .sidebar-item{justify-content:center;padding:8px}.sidebar-item-text{white-space:nowrap;overflow:hidden;transition:opacity .2s}.sidebar.desktop.collapsed .sidebar-item-text{opacity:0;width:0;position:absolute}.sidebar-item svg{flex-shrink:0}.sidebar.desktop.collapsed .sidebar-item:hover:after{content:attr(title);position:absolute;left:100%;margin-left:12px;padding:6px 12px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-weight:500;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0006}.sidebar-item:hover{background:#7f7f7f1a;color:var(--text-primary)}.sidebar-item.active{background:var(--primary-subtle);color:var(--primary)}.sidebar-footer{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;position:relative}.sidebar-footer-card{background:var(--surface-elevated);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}.user-account-card{padding:12px;cursor:pointer;transition:background .2s}.user-account-card:hover,.user-account-card.active{background:#7f7f7f1f}.user-account-content{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary);overflow:hidden;position:relative}.user-avatar svg{width:24px;height:24px;flex-shrink:0}.user-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-account-title{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.user-account-card:hover .dropdown-chevron{color:var(--text-primary)}.footer-item{padding:8px 12px;color:var(--text-secondary)}.footer-item:hover{background:#7f7f7f1a;color:var(--text-primary)}.logout-item{color:var(--danger)!important}.logout-item:hover{background:var(--danger-subtle)!important;color:var(--danger)!important}.logout-item svg{color:inherit}.user-menu-dropdown{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:8px;animation:slideUp .2s ease-out;z-index:100;box-shadow:0 -4px 12px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar.desktop.collapsed .sidebar-footer-card{align-items:center}.sidebar.desktop.collapsed .user-account-content{justify-content:center}.sidebar.desktop.collapsed .user-details,.sidebar.desktop.collapsed .dropdown-chevron{display:none}.chat-sessions-list{margin-top:8px;padding-top:0}.chat-sessions-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:12px 12px 8px;margin-top:8px}.chat-session-wrapper{position:relative;width:100%}.chat-session-item{padding:8px 12px;display:flex!important;align-items:center;gap:12px}.chat-session-actions{display:flex;align-items:center;margin-left:auto;opacity:0;transition:opacity .2s ease}.chat-session-item:hover .chat-session-actions,.chat-session-actions:has(.session-options-menu){opacity:1}.options-button{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;width:28px;height:28px;min-width:28px;min-height:28px;padding:0}.options-button:hover{background:#7f7f7f26;color:var(--text-primary)}.session-options-menu{position:absolute;top:100%;right:12px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:100;box-shadow:0 4px 12px #0006;min-width:110px}.menu-option{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;border-radius:4px;cursor:pointer;width:100%;text-align:left}.menu-option:hover{background:#7f7f7f1f;color:var(--text-primary)}.delete-option{color:var(--danger)!important}.delete-option:hover{background:var(--danger-subtle)!important}.rename-container{padding:6px 12px;background:var(--primary-subtle)!important;border:1px solid var(--primary)!important}.rename-input{width:100%;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;padding:0}.sidebar-item-text.chat-session-title{font-size:13px!important;flex:1;min-width:0;text-overflow:ellipsis}.chat-session-title:hover{color:var(--primary);text-decoration:underline}.sidebar.desktop.collapsed .chat-sessions-header{display:none}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--background);min-width:0}.top-nav{height:56px;display:flex;align-items:center;padding:0 16px;gap:16px;background:var(--background);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0}.menu-button{padding:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.menu-button:hover{background:#7f7f7f1f;color:var(--text-primary)}.theme-switcher,.language-switcher{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.theme-switcher{margin-left:auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.theme-switcher:hover,.language-switcher:hover{border-color:var(--text-secondary);color:var(--text-primary)}.back-to-home-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.back-to-home-button:hover{background:#7f7f7f1f;color:var(--text-primary);border-color:var(--text-tertiary)}.back-to-home-button svg{flex-shrink:0}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 24px 0}.page-content:has(.resizable-split-pane){padding:0;overflow:hidden}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;z-index:1001;height:100vh;width:256px;transform:translate(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform;padding-top:env(safe-area-inset-top)}.sidebar.collapsed{transform:translate(-100%)}.sidebar:not(.collapsed){transform:translate(0);box-shadow:2px 0 16px #0009}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;cursor:pointer;touch-action:none}.sidebar-backdrop:active{background:#0009}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.menu-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.menu-button:active{transform:scale(.95)}body:has(.sidebar:not(.collapsed)){overflow:hidden;position:fixed;width:100%}.page-content{padding:16px 12px}.top-nav{padding:0 12px}.back-to-home-button{font-size:13px;padding:6px 10px}.chat-sessions-header{font-size:10px}}@media(max-width:480px){.page-content{padding:12px 8px}.sidebar-item{font-size:13px;padding:6px 10px}.back-to-home-button span{display:none}}.boundary-map-canvas{width:100%;height:260px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.boundary-map-error{font-size:12px;color:var(--text-tertiary)}.boundary-map-recenter{margin:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#fff;color:#333;box-shadow:0 1px 4px #0000004d;cursor:pointer;padding:0}.boundary-map-recenter:hover{background:#f5f5f5}.boundary-map-plot-label{white-space:nowrap;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 4px #fff}.shield-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:16px;animation:shield-modal-fade-in .15s ease}@keyframes shield-modal-fade-in{0%{opacity:0}to{opacity:1}}.shield-modal-dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:640px;max-height:min(88vh,900px);display:flex;flex-direction:column;box-shadow:0 24px 64px #0000008c;animation:shield-modal-slide-up .18s ease;overflow:hidden}@keyframes shield-modal-slide-up{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.shield-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.shield-modal-title{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.shield-modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.shield-modal-close:hover{background:#7f7f7f26;color:var(--text-primary)}.shield-modal-body{overflow-y:auto;padding:20px 22px 24px;display:flex;flex-direction:column;gap:20px}.shield-decision-banner{border-radius:10px;padding:18px 20px;border:1px solid var(--border)}.shield-decision-status{font-size:20px;font-weight:800;letter-spacing:.02em}.shield-decision-summary{margin-top:6px;font-size:14px;color:var(--text-secondary);line-height:1.5}.shield-decision-banner--go{background:var(--success-subtle);border-color:var(--success)}.shield-decision-banner--go .shield-decision-status{color:var(--success)}.shield-decision-banner--caution{background:var(--warning-subtle);border-color:var(--warning)}.shield-decision-banner--caution .shield-decision-status{color:var(--warning)}.shield-decision-banner--do-not-proceed{background:var(--danger-subtle);border-color:var(--danger)}.shield-decision-banner--do-not-proceed .shield-decision-status{color:var(--danger)}.shield-expired-banner{background:var(--danger-subtle);border:1px solid var(--danger);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.shield-expired-title{color:var(--danger);font-weight:700;font-size:14px;letter-spacing:.02em}.shield-expired-message{color:var(--text-secondary);font-size:13px}.shield-section{display:flex;flex-direction:column;gap:10px}.shield-section-header-row{display:flex;align-items:center;justify-content:space-between}.shield-section-title{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.shield-empty{color:var(--text-secondary);font-size:13px;font-style:italic}.shield-boundary-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.shield-property-summary{display:flex;flex-direction:column;gap:6px}.shield-property-row{display:flex;gap:8px;font-size:13px;color:var(--text-primary)}.shield-property-label{color:var(--text-secondary);min-width:140px}.shield-risk-list{display:flex;flex-direction:column;gap:10px}.shield-risk-card{border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:12px 14px;background:var(--surface-elevated)}.shield-risk-card--critical,.shield-risk-card--high{border-left-color:var(--danger)}.shield-risk-card--medium{border-left-color:var(--warning)}.shield-risk-card--low,.shield-risk-card--info{border-left-color:var(--success)}.shield-risk-severity{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px}.shield-risk-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.shield-risk-description{font-size:13px;color:var(--text-secondary);line-height:1.5}.shield-risk-action{margin-top:8px;font-size:12px;color:var(--text-primary)}.shield-risk-evidence{margin-top:8px;font-size:12px}.shield-risk-evidence-label{color:var(--text-secondary);font-weight:600;margin-bottom:2px}.shield-risk-evidence ul{margin:0;padding-left:18px;color:var(--text-secondary)}.shield-missing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shield-missing-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface-elevated)}.shield-priority-pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;margin-right:8px}.shield-priority-pill--required{background:var(--danger-subtle);color:var(--danger)}.shield-priority-pill--recommended{background:var(--warning-subtle);color:var(--warning)}.shield-missing-type{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:capitalize}.shield-missing-reason{margin-top:4px;font-size:12px;color:var(--text-secondary)}.shield-questions-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-primary);line-height:1.5}.shield-validity{flex-direction:row;justify-content:space-between;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:12px}.shield-disclaimer{font-size:11px;color:var(--text-tertiary);line-height:1.5;margin:0}.shield-modal-footer{display:flex;justify-content:flex-end}.shield-btn{padding:9px 18px;border:1px solid var(--border);border-radius:8px;background:#7f7f7f1f;color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease}.shield-btn:hover:not(:disabled){background:#7f7f7f38}.shield-btn:disabled{opacity:.6;cursor:not-allowed}.shield-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.shield-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.shield-btn--small{padding:6px 12px;font-size:12px}.shield-passport-panel{display:flex;flex-direction:column;align-items:center;gap:14px}.shield-passport-qr{width:200px;height:200px;border-radius:8px;background:#fff;padding:10px;flex-shrink:0}.shield-passport-link-row{display:flex;align-items:center;gap:8px;width:100%;max-width:420px}.shield-passport-link-input{flex:1;padding:8px 10px;font-size:12px;color:var(--text-secondary);background:#7f7f7f14;border:1px solid var(--border);border-radius:6px}@media(max-width:480px){.shield-modal-dialog{max-height:92vh}.shield-modal-body{padding:16px 16px 20px}.shield-property-label{min-width:110px}}@media(prefers-reduced-motion:reduce){.shield-modal-overlay,.shield-modal-dialog{animation:none}}.property-detail-viewport{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:var(--background);width:100%}.property-detail-page{padding:20px 16px 40px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto}.property-detail-header{display:flex;flex-direction:column;gap:6px}.property-detail-back{align-self:flex-start;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:4px 0}.property-detail-back:hover{color:var(--primary)}.property-detail-title{margin:0;font-size:20px;color:var(--text-primary)}.property-detail-subtitle,.property-detail-status{color:var(--text-secondary);font-size:14px}.property-detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.property-detail-tab{padding:8px 16px;border:none;background:none;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.property-detail-tab:hover{color:var(--text-primary)}.property-detail-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.property-detail-error{background:var(--danger-subtle);border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:12px 14px;font-size:13px}.property-detail-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px}.property-detail-section-header-row{display:flex;align-items:center;justify-content:space-between}.property-detail-section-title{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.property-detail-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-primary)}.property-detail-label{color:var(--text-secondary)}.property-detail-empty{font-size:13px;color:var(--text-secondary);font-style:italic}.property-detail-empty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.boundary-map-canvas.property-detail-map-canvas{height:320px}.property-detail-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.property-detail-legend-item{display:inline-flex;align-items:center;gap:6px}.property-detail-legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.property-detail-legend-swatch--match{background:#4d9a2b}.property-detail-legend-swatch--other{background:#f59e0b}.property-detail-map-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-tertiary)}.property-detail-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:#7f7f7f1f;color:var(--text-primary);font-size:12px;font-weight:600;cursor:pointer}.property-detail-btn:hover:not(:disabled){background:#7f7f7f38}.property-detail-btn:disabled{opacity:.6;cursor:not-allowed}.property-detail-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.property-detail-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.property-detail-gov-record{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--border)}.property-detail-gov-record:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.property-detail-table-wrap{overflow-x:auto}.property-detail-table{width:100%;border-collapse:collapse;font-size:12px}.property-detail-table th,.property-detail-table td{border:1px solid var(--border);padding:6px 8px;text-align:left;white-space:nowrap}.property-detail-table th{color:var(--text-secondary);background:#7f7f7f14}.property-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.property-detail-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;padding:8px 0;border-bottom:1px solid var(--border)}.property-detail-list-item:last-child{border-bottom:none}.property-detail-doc-name{color:var(--text-primary);font-weight:500}.property-detail-doc-meta{color:var(--text-tertiary);font-size:12px}.property-detail-verification-badge{border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;background:#7f7f7f1f;color:var(--text-primary)}.property-detail-verification-badge--go{background:var(--success-subtle);border-color:var(--success);color:var(--success)}.property-detail-verification-badge--caution{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.property-detail-verification-badge--do-not-proceed{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger)}@media(max-width:480px){.boundary-map-canvas.property-detail-map-canvas{height:240px}}.property-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:16px;animation:property-modal-fade-in .15s ease}@keyframes property-modal-fade-in{0%{opacity:0}to{opacity:1}}.property-modal-dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:92vw;height:88vh;max-width:1400px;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000008c;animation:property-modal-slide-up .18s ease;overflow:hidden}@keyframes property-modal-slide-up{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.property-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.property-modal-title{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.property-modal-subtitle{margin-top:4px;font-size:13px;color:var(--text-secondary)}.property-modal-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.property-modal-full-page-link{text-decoration:none;display:inline-flex;align-items:center}.property-modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.property-modal-close:hover{background:#7f7f7f26;color:var(--text-primary)}.property-modal-body{overflow-y:auto;padding:20px 22px 24px;display:flex;flex-direction:column;gap:20px}.property-modal-nav-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid var(--border)}.property-modal-nav-btn{border:1px solid var(--border);background:transparent;color:var(--text-primary);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer}.property-modal-nav-btn:hover:not(:disabled){background:#7f7f7f26}.property-modal-nav-btn:disabled{opacity:.4;cursor:not-allowed}.property-modal-nav-count{font-size:12px;color:var(--text-tertiary)}@media(max-width:480px){.property-modal-overlay{padding:0}.property-modal-dialog{width:100vw;height:100vh;border-radius:0}}.dashboard-container{padding:24px;max-width:1400px;margin:0 auto;color:var(--text-primary)}@media(min-width:1800px){.dashboard-container{max-width:1800px;padding:32px 40px}}@media(min-width:2400px){.dashboard-container{max-width:2200px;padding:40px 56px}}.dashboard-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.dashboard-logo{display:flex;align-items:center}.logo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:32px;height:32px}.logo-square{background:var(--text-primary);border-radius:2px;position:relative;overflow:hidden}.logo-square:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,var(--text-primary) 3px,var(--text-primary) 6px),repeating-linear-gradient(90deg,transparent 0px,transparent 3px,var(--text-primary) 3px,var(--text-primary) 6px);opacity:.3}.dashboard-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s}.summary-card:hover{border-color:var(--text-tertiary);transform:translateY(-2px)}.summary-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-card-icon.blue{background:var(--primary-subtle);color:var(--primary)}.summary-card-icon.green{background:#10b98133;color:#34d399}.summary-card-icon.orange{background:#fb923c33;color:#fb923c}.summary-card-icon.purple{background:#9333ea33;color:#a78bfa}.summary-card-content{flex:1;min-width:0}.summary-card-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.summary-card-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.dashboard-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.dashboard-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);flex:1;min-width:0}.dashboard-tab{background:transparent;border:none;padding:12px 16px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .2s;white-space:nowrap}.dashboard-tab:hover{color:var(--text-primary)}.dashboard-tab.active{color:var(--primary)}.dashboard-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.dashboard-sort{display:flex;align-items:center;gap:8px}.sort-label{font-size:14px;color:var(--text-secondary)}.dashboard-sort-wrapper{position:relative;display:inline-block}.sort-select{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 32px 6px 12px;color:var(--text-primary);font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:150px}.sort-select:hover{border-color:var(--text-tertiary)}.sort-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}.activity-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.activity-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .2s;cursor:pointer}.activity-card:hover{border-color:var(--text-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.activity-card.selected{border-color:var(--primary);border-width:2px}.activity-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.activity-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.activity-icon.green{background:#10b9811a;color:#34d399}.activity-icon.blue{background:var(--primary-subtle);color:var(--primary)}.activity-icon.orange{background:#fb923c1a;color:#fb923c}.activity-icon.purple{background:#9333ea1a;color:#a78bfa}.activity-badge{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.activity-badge.green{background:#10b98133;color:#34d399}.activity-badge.blue{background:var(--primary-subtle);color:var(--primary)}.activity-badge.orange{background:#fb923c33;color:#fb923c}.activity-badge.purple{background:#9333ea33;color:#a78bfa}.activity-village{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.activity-time{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:16px}.activity-time svg{flex-shrink:0}.activity-details{display:flex;flex-direction:column;gap:12px}.activity-detail-row{display:flex;flex-direction:column;gap:4px}.activity-detail-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.activity-detail-value{font-size:14px;font-weight:600;color:var(--text-primary);word-break:break-word}@media(max-width:768px){.dashboard-container{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-title{font-size:20px}.summary-cards{grid-template-columns:repeat(2,1fr);gap:12px}.summary-card{padding:12px}.summary-card-value{font-size:20px}.dashboard-controls{flex-direction:column;align-items:stretch;gap:12px}.dashboard-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px}.dashboard-tab{flex-shrink:0;font-size:13px;padding:6px 12px}.dashboard-sort,.sort-select{width:100%}.activity-cards-grid{grid-template-columns:1fr;gap:16px}.activity-card{padding:16px}}@media(max-width:480px){.dashboard-container{padding:12px}.dashboard-title{font-size:18px}.summary-cards{grid-template-columns:1fr}.dashboard-tab{font-size:12px;padding:5px 10px}.activity-village{font-size:16px}.activity-badge{font-size:10px;padding:3px 8px}.properties-grid{grid-template-columns:1fr}}.properties-section{margin-bottom:32px}.properties-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.properties-section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.properties-section-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:0}.properties-section-link:hover{text-decoration:underline}.properties-empty{color:var(--text-tertiary);font-size:14px;padding:1.5rem;text-align:center;border:1px dashed var(--border);border-radius:12px}.properties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.property-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:12px;height:340px}.property-card-body{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:hidden}.property-card:hover,.property-card:focus-visible{border-color:var(--text-tertiary);transform:translateY(-2px);outline:none}.property-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.property-card-id{min-width:0}.property-card-survey{font-size:14px;font-weight:600;color:var(--text-primary)}.property-card-village{font-size:12px;color:var(--text-secondary);margin-top:2px}.shield-badge{flex-shrink:0;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.shield-badge--go{background:var(--success-subtle);color:var(--success)}.shield-badge--caution{background:var(--warning-subtle);color:var(--warning)}.shield-badge--do-not-proceed{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--danger)}.shield-badge--pending{background:#7f7f7f1f;color:var(--text-tertiary)}.property-card-checks{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.check-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--background);border:1px solid var(--border);color:var(--text-secondary);text-transform:capitalize}.check-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-tertiary)}.check-pill--match:before{background:var(--success)}.check-pill--partial-match:before{background:var(--warning)}.check-pill--mismatch:before{background:var(--danger)}.check-pill--more{background:transparent;border-style:dashed;color:var(--text-tertiary)}.check-pill--more:before{display:none}.property-card-summary{font-size:12px;color:var(--text-secondary)}.property-card-note{font-size:12px;color:var(--text-secondary);padding:6px 10px;border-radius:6px;border-left:3px solid var(--text-tertiary);background:#7f7f7f14;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-card-note--critical,.property-card-note--high{border-left-color:var(--danger);background:var(--danger-subtle)}.property-card-note--medium{border-left-color:var(--warning);background:var(--warning-subtle)}.property-card-issues{display:flex;flex-direction:column;gap:4px}.property-card-issues-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-tertiary)}.property-card-issues .property-card-note{white-space:normal;text-overflow:initial}.property-card-issues-more{font-size:11px;color:var(--text-tertiary);padding-left:10px}.unlinked-uploads-section{margin-bottom:24px}.unlinked-uploads-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.unlinked-upload-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.unlinked-upload-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:6px}.unlinked-upload-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.unlinked-upload-title{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unlinked-upload-time{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.property-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-tertiary);padding-top:4px}.properties-section-subtitle{font-size:13px;color:var(--text-secondary);margin:4px 0 0;max-width:56ch}.properties-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}.properties-stat{background:var(--surface);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.properties-stat-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.properties-stat-value{font-size:24px;font-weight:700;line-height:1;color:var(--text-primary);display:flex;align-items:baseline;gap:6px}.properties-stat-unit{font-size:12px;font-weight:500;color:var(--text-tertiary)}.properties-stat--attn .properties-stat-value{color:var(--danger)}.properties-stat-sub{font-size:11px;color:var(--text-tertiary)}@media(max-width:640px){.properties-stats{grid-template-columns:repeat(2,1fr)}}.properties-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.properties-filter-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.properties-filters{display:flex;gap:8px;flex-wrap:wrap}.properties-filters .properties-filter{border:1px solid var(--border);background:var(--background);color:var(--text-secondary);border-radius:999px;padding:5px 12px;font-size:12px;line-height:1.4;cursor:pointer;display:flex;gap:5px;align-items:center;min-height:0;min-width:0}.properties-filter-n{color:var(--text-tertiary);font-size:11px}.properties-filter.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary);font-weight:500}.properties-filter.active .properties-filter-n{color:var(--primary)}@media(max-width:768px){.properties-filter-row{flex-direction:column;align-items:flex-start}.properties-filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.properties-filters::-webkit-scrollbar{display:none}.properties-filter{flex:none;white-space:nowrap}}.properties-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px;border:1px dashed var(--border);border-radius:10px;margin-bottom:18px;font-size:12px;color:var(--text-tertiary)}.properties-legend-item{display:flex;align-items:center;gap:6px}.properties-dot{width:7px;height:7px;border-radius:50%;flex:none}.properties-dot--good{background:var(--success)}.properties-dot--warn{background:var(--warning)}.properties-dot--critical{background:var(--danger)}.properties-dot--pending{background:var(--text-tertiary)}.shield-badge--failed{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--danger);display:flex;align-items:center;gap:5px}.properties-pulse{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;animation:properties-pulse 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.properties-pulse{animation:none}}@keyframes properties-pulse{0%,to{opacity:1}50%{opacity:.35}}.property-card-note--pending{border-left-color:var(--text-tertiary);background:#7f7f7f14}.property-card-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--text-secondary)}.property-card-summary-flag{font-weight:600}.property-card-summary-flag--critical{color:var(--danger)}.property-card-summary-flag--warn{color:var(--warning)}.property-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0;padding-top:6px}.property-card-link{background:none;border:none;padding:0;font-size:12px;font-weight:500;color:var(--primary);cursor:pointer}.property-card-link:hover{text-decoration:underline}.property-card-action-btn{font-size:11px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:4px 10px}.mermaid-diagram-container{width:100%;margin:20px 0}.mermaid-diagram-title{margin:0 0 16px;color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.mermaid-diagram-wrapper{width:100%;min-height:300px;display:flex;justify-content:center;align-items:center;position:relative;background:var(--background);border-radius:8px;padding:16px;overflow-x:auto;overflow-y:visible;transition:all .2s}.mermaid-diagram-wrapper:hover{background:#18181bcc;transform:scale(1.01)}.mermaid-diagram-wrapper:after{content:"🔍 Click to view fullscreen";position:absolute;bottom:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;font-size:11px;opacity:0;transition:opacity .2s;pointer-events:none}.mermaid-diagram-wrapper:hover:after{opacity:1}.mermaid-diagram-wrapper.fullscreen-mode:after{display:none}.mermaid-diagram-wrapper.fullscreen-mode:hover{background:var(--background);transform:none}.mermaid-diagram-wrapper .mermaid{width:100%;display:flex;justify-content:center;align-items:center}.mermaid-diagram-wrapper svg{max-width:100%;height:auto;display:block}.mermaid-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--primary-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.mermaid-error{padding:20px;background:var(--danger-subtle);border:1px solid var(--danger-subtle);border-radius:8px;color:var(--danger);text-align:center}.mermaid-error .error-message{margin-top:8px;font-size:14px;color:var(--text-secondary)}.mermaid-diagram-container.fullscreen-diagram{width:100%;height:100%}.mermaid-diagram-container.fullscreen-diagram .mermaid-diagram-wrapper{min-height:100%;padding:30px}.mermaid-diagram-container.fullscreen-diagram svg{max-width:none!important;min-width:800px!important;width:auto!important;height:auto!important}.resizable-split-pane{display:flex;width:100%;height:100%;position:relative;overflow:hidden}.split-pane-left{flex-shrink:0;overflow-y:auto;overflow-x:hidden;height:100%}.split-pane-right{flex:1;overflow-y:auto;overflow-x:hidden;height:100%;min-width:0;display:flex;flex-direction:column}.split-pane-divider{width:8px;flex-shrink:0;background:var(--border);cursor:col-resize;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s}.split-pane-divider:hover{background:var(--primary)}.split-pane-divider:active{background:var(--primary-hover)}.split-pane-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:var(--text-tertiary);border-radius:2px;transition:background .2s}.split-pane-divider:hover .split-pane-handle,.split-pane-divider:active .split-pane-handle{background:#fff}.lightbox-overlay{position:fixed;inset:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-container{width:100%;max-width:1200px;height:90vh;max-height:900px;background:var(--surface);border-radius:12px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--background);border-bottom:1px solid var(--border);flex-shrink:0}.lightbox-title{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-size:15px;font-weight:500;flex:1;min-width:0}.lightbox-title svg{flex-shrink:0;stroke:var(--primary)}.lightbox-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-actions{display:flex;align-items:center;gap:8px}.lightbox-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.lightbox-button:hover{background:var(--border);color:var(--text-primary);border-color:var(--primary)}.lightbox-close{padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:var(--danger);border-color:var(--danger);color:#fff}.lightbox-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--background)}.lightbox-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.lightbox-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;display:block}.lightbox-iframe{width:100%;height:100%;border:none;background:#fff}.lightbox-video{max-width:100%;max-height:100%;outline:none}.lightbox-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--text-secondary)}.unsupported-icon{width:100px;height:100px;background:var(--surface);border:2px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.unsupported-icon svg{stroke:var(--primary)}.lightbox-unsupported h3{color:var(--text-primary);font-size:20px;margin-bottom:8px}.lightbox-unsupported p{font-size:14px;margin-bottom:8px}.file-info{color:var(--text-tertiary);font-size:13px;margin-bottom:24px!important;word-break:break-all;max-width:400px}.download-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.download-button:hover{background:var(--primary-hover)}@media(max-width:768px){.lightbox-overlay{padding:0}.lightbox-container{max-width:100%;height:100vh;max-height:100vh;border-radius:0}.lightbox-header{padding:12px 16px}.lightbox-title{font-size:14px}.lightbox-button span{display:none}.lightbox-button{padding:8px}.lightbox-unsupported{padding:24px 16px}.unsupported-icon{width:80px;height:80px}.lightbox-unsupported h3{font-size:18px}}@media(max-width:480px){.lightbox-title span{font-size:13px}.lightbox-actions{gap:4px}}.markdown-summary{margin-bottom:20px;padding:18px 22px;background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--surface-elevated) 100%);border:1px solid var(--primary-subtle);border-radius:12px;color:var(--text-primary);line-height:1.6}.markdown-summary *{margin:0;padding:0;box-sizing:border-box}.markdown-summary>*:first-child{margin-top:0}.markdown-summary>*:last-child{margin-bottom:0}.markdown-summary h1{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-top:.6rem;margin-bottom:.3rem;padding-bottom:.25rem;border-bottom:2px solid var(--primary);letter-spacing:-.01em}.markdown-summary h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-top:.55rem;margin-bottom:.2rem;padding-bottom:.18rem;border-bottom:1px solid var(--primary-subtle);letter-spacing:-.01em}.markdown-summary h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:.4rem;margin-bottom:.15rem}.markdown-summary h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-top:.35rem;margin-bottom:.12rem}.markdown-summary p{color:var(--text-primary);margin-top:.1rem;margin-bottom:.2rem;line-height:1.65}.markdown-summary ul,.markdown-summary ol{margin-left:0;margin-top:.1rem;margin-bottom:.2rem;padding-left:1.4rem;color:var(--text-primary)}.markdown-summary li{margin-top:.05rem;margin-bottom:.18rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.markdown-summary strong{font-weight:600;color:var(--text-primary)}.markdown-summary em{font-style:italic;color:var(--text-primary)}.markdown-summary table{width:100%;border-collapse:collapse;margin:.75rem 0;background:var(--surface);border-radius:8px;overflow:hidden;border:1px solid var(--primary-subtle)}.markdown-summary thead{background:var(--primary-subtle)}.markdown-summary th{padding:.65rem .75rem;text-align:left;font-weight:600;font-size:.9rem;color:var(--text-primary);border-bottom:2px solid var(--primary);letter-spacing:.02em;text-transform:uppercase}.markdown-summary td{padding:.6rem .75rem;border-bottom:1px solid var(--primary-subtle);color:var(--text-primary);font-size:.95rem}.markdown-summary tr:last-child td{border-bottom:none}.markdown-summary tr:hover{background:var(--primary-subtle)}.markdown-summary code{background:var(--surface);padding:.15rem .38rem;border-radius:4px;font-family:Courier New,monospace;font-size:.88em;color:var(--warning);border:1px solid var(--primary-subtle)}.markdown-summary pre{background:var(--surface);padding:.9rem 1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0;border:1px solid var(--primary-subtle);font-family:Courier New,monospace;font-size:.88em;line-height:1.55;color:var(--text-primary)}.markdown-summary pre code{background:transparent;padding:0;border:none;color:inherit}.markdown-summary a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;transition:color .18s ease}.markdown-summary a:hover{color:var(--primary)}.markdown-summary blockquote{border-left:3px solid var(--primary);margin:.75rem 0;padding:.6rem 1rem;color:var(--text-primary);font-style:italic;background:var(--primary-subtle);border-radius:0 6px 6px 0}.markdown-summary hr{border:none;border-top:1px solid var(--primary-subtle);margin:1rem 0}.translated-data-renderer{margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--surface-elevated) 100%);border:1px solid var(--primary-subtle);border-radius:12px;color:var(--text-primary);line-height:1.6}.translated-data-container{display:flex;flex-direction:column;gap:16px}.translated-field{display:flex;flex-direction:column;gap:8px;padding:12px;background:#7f7f7f14;border-radius:8px;border-left:3px solid var(--primary)}.translated-field-key{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.translated-field-key strong{color:var(--primary);font-weight:600}.translated-field-value{color:var(--text-primary)}.translated-markdown-content{width:100%}.translated-string{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.translated-number{color:var(--success);font-weight:500}.translated-boolean{color:var(--warning);font-weight:500}.translated-null{color:var(--text-secondary);font-style:italic}.translated-array{display:flex;flex-direction:column;gap:8px;margin-left:16px}.translated-array-item{display:flex;gap:8px;padding:8px;background:#7f7f7f0f;border-radius:6px}.translated-array-index{color:var(--text-secondary);font-size:.85rem;font-weight:600;min-width:40px}.translated-nested-object{margin-left:16px;margin-top:8px;padding:12px;background:#7f7f7f0f;border-radius:8px;border-left:2px solid var(--primary)}.translated-empty-object{color:var(--text-secondary);font-style:italic;padding:8px}.tables-wrapper{width:100%;margin:16px 0;display:flex;flex-direction:column;gap:24px}.table-container{width:100%;border-radius:8px;overflow:hidden;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e5e7eb);box-shadow:0 1px 3px #0000001a}.table-scroll-wrapper{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;min-width:100%}.data-table thead{background:var(--table-header-bg, #f9fafb);position:sticky;top:0;z-index:10}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary, #111827);border-bottom:2px solid var(--border-color, #e5e7eb);white-space:nowrap;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #4b5563);word-wrap:break-word;max-width:300px}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background-color:var(--table-row-hover, #f9fafb)}.data-table tbody tr:last-child td{border-bottom:none}.table-key-cell{background-color:var(--table-key-bg, #f3f4f6);font-weight:500;color:var(--text-primary, #111827);width:40%;min-width:150px}@media(max-width:768px){.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}.table-key-cell{width:35%;min-width:120px}}@media(prefers-color-scheme:dark){.table-container{background:var(--bg-secondary-dark, #1f2937);border-color:var(--border-color-dark, #374151)}.data-table thead{background:var(--table-header-bg-dark, #111827)}.data-table th{color:var(--text-primary-dark, #f9fafb);border-bottom-color:var(--border-color-dark, #374151)}.data-table td{color:var(--text-secondary-dark, #d1d5db);border-bottom-color:var(--border-color-dark, #374151)}.data-table tbody tr:hover{background-color:var(--table-row-hover-dark, #374151)}.table-key-cell{background-color:var(--table-key-bg-dark, #111827);color:var(--text-primary-dark, #f9fafb)}}.loc-selector{position:relative;align-self:flex-start;display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.loc-selector-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.loc-selector-badge:hover{background:var(--border);border-color:var(--primary);color:var(--text-primary)}.loc-selector-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.loc-selector-dot--set{background:var(--success)}.loc-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:280px;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;display:flex;flex-direction:column;gap:2px}.loc-selector-title{font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 10px 2px}.loc-selector-tabs{display:flex;gap:2px;padding:4px 6px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.loc-selector-tab{flex:1;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .2s,color .2s}.loc-selector-tab:hover{background:var(--border)}.loc-selector-tab--active{background:var(--border);color:var(--text-primary);font-weight:600}.loc-selector-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.loc-selector-item{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer}.loc-selector-item:hover:not(:disabled){background:var(--border)}.loc-selector-item:disabled{color:var(--text-tertiary);cursor:default}.loc-selector-item--verified{border-left:2px solid var(--success)}.loc-selector-verified-badge{color:var(--success);margin-right:4px;font-weight:700}.loc-selector-item-name{font-size:12px;color:var(--text-primary)}.loc-selector-item-count{font-size:10px;color:var(--text-tertiary)}.loc-selector-empty{padding:8px 10px;color:var(--text-tertiary);font-size:12px;cursor:default}.loc-selector-search{display:flex;flex-direction:column;gap:6px;padding:0 2px}.loc-selector-search-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:12px}.loc-selector-search-input:focus{outline:none;border-color:var(--primary)}.loc-selector-search-hint{font-size:10px;color:var(--text-tertiary);padding:0 2px}.loc-selector-error{color:var(--danger);font-size:11px;padding:6px 10px 2px}.loc-selector-correction{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 10px;background:var(--warning-subtle, rgba(234, 179, 8, .12));border:1px solid var(--warning, #eab308);border-radius:8px;font-size:11px;max-width:360px}.loc-selector-correction-text{color:var(--text-primary)}.loc-selector-correction-field{white-space:nowrap}.loc-selector-correction-apply{padding:3px 10px;border:1px solid var(--warning, #eab308);border-radius:999px;background:transparent;color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.loc-selector-correction-apply:hover:not(:disabled){background:var(--warning-subtle, rgba(234, 179, 8, .2))}.loc-selector-correction-apply:disabled{opacity:.6;cursor:default}.survey-editor{position:relative;align-self:flex-start;display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.survey-editor-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.survey-editor-badge:hover{background:var(--border);border-color:var(--primary);color:var(--text-primary)}.survey-editor-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.survey-editor-dot--set{background:var(--success)}.survey-editor-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:240px;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;display:flex;flex-direction:column;gap:2px}.survey-editor-title{font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 10px 2px}.survey-editor-tabs{display:flex;gap:2px;padding:4px 6px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.survey-editor-tab{flex:1;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .2s,color .2s}.survey-editor-tab:hover{background:var(--border)}.survey-editor-tab--active{background:var(--border);color:var(--text-primary);font-weight:600}.survey-editor-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.survey-editor-item{text-align:left;padding:8px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer}.survey-editor-item:hover:not(:disabled){background:var(--border)}.survey-editor-item:disabled{color:var(--text-tertiary);cursor:default}.survey-editor-item--active{border-left:2px solid var(--success);font-weight:600}.survey-editor-empty{padding:8px 10px;color:var(--text-tertiary);font-size:12px;cursor:default}.survey-editor-manual{display:flex;flex-direction:column;gap:6px;padding:2px}.survey-editor-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:12px}.survey-editor-input:focus{outline:none;border-color:var(--primary)}.survey-editor-extent-row{display:flex;gap:6px}.survey-editor-extent-value{flex:1 1 auto;min-width:0}.survey-editor-extent-unit-wrap{position:relative;flex:0 0 auto}.survey-editor-extent-unit-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;width:100%}.survey-editor-extent-unit-caret{font-size:10px;color:var(--text-secondary)}.survey-editor-extent-unit-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:21;min-width:110px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;display:flex;flex-direction:column;gap:2px}.survey-editor-extent-unit-option{text-align:left;padding:6px 8px;border:none;background:transparent;border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer}.survey-editor-extent-unit-option:hover{background:var(--border)}.survey-editor-extent-unit-option--active{color:var(--primary);font-weight:600}.survey-editor-update-btn{padding:6px 12px;border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:var(--text-on-primary, #fff);font-size:12px;font-weight:600;cursor:pointer}.survey-editor-update-btn:disabled{opacity:.6;cursor:default}.survey-editor-error{color:var(--danger);font-size:11px;padding:6px 10px 2px}.survey-editor-hint{color:var(--text-secondary);font-size:11px;padding:0 2px}.landing-view{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px 16px;scroll-behavior:smooth;width:100%}.landing-container{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:48px;width:100%;padding:0 16px}@media(min-width:1800px){.landing-container{max-width:1600px}}@media(min-width:2400px){.landing-container{max-width:1900px}}.hero-section{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:32px;width:100%}.hero-center{text-align:center}.hero-title{font-size:clamp(32px,5vw,48px);font-weight:400;text-align:center;background:linear-gradient(to right,white,var(--text-secondary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin:0}.hero-subtitle{font-size:20px;font-weight:300;color:var(--text-secondary);margin-bottom:16px}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;width:100%;align-items:stretch}.feature-card{padding:24px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .3s;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;position:relative;overflow:hidden;width:100%}.feature-card:hover{border-color:var(--text-tertiary);transform:translateY(-2px)}.feature-card.highlight{border-color:#9333ea80;box-shadow:0 0 30px -5px #9333ea26}.feature-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:var(--primary-subtle)}.feature-card.highlight .feature-icon{background:#9333ea33}.feature-title{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.feature-description{font-size:14px;color:var(--text-tertiary);line-height:1.6}.input-area{width:100%;max-width:900px;margin:0 auto;position:relative;border-radius:24px;background:var(--surface-elevated);border:1px solid rgba(127,127,127,.08);transition:all .3s;box-shadow:0 4px 12px #0003;min-height:auto;overflow:hidden}.input-area:focus-within{border-color:var(--primary-subtle);box-shadow:0 0 40px -10px var(--primary-subtle)}.input-textarea{width:100%;min-height:60px;max-height:200px;height:60px;padding:8px 16px 5px;background:transparent;border:none;color:var(--text-primary);font-size:15px;font-weight:300;resize:none;outline:none;line-height:1.6;font-family:inherit;overflow-y:auto;box-sizing:border-box}.input-textarea::-moz-placeholder{color:var(--text-tertiary)}.input-textarea::placeholder{color:var(--text-tertiary)}.input-toolbar{display:flex;align-items:center;justify-content:space-between;padding:3px 16px 6px}.input-actions{display:flex;align-items:center;gap:4px}.browse-button{padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;transition:background .2s,border-color .2s,color .2s}.browse-button:hover{background:#7f7f7f0f;border-color:var(--primary);color:var(--text-primary)}.u-hidden{display:none!important}.u-pre-line{white-space:pre-line}.message-text{white-space:pre-wrap}.file-message-stack{display:flex;flex-direction:column;gap:8px;max-width:400px}.file-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;text-align:left;width:100%}.file-card:hover{background:var(--border);border-color:var(--primary)}.file-card-icon{width:40px;height:40px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-card-details{flex:1;min-width:0}.file-card-title{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card-meta{display:flex;align-items:center;gap:8px}.file-meta-size,.file-meta-dot{color:var(--text-tertiary);font-size:12px}.file-status-pill{font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.file-status-pill--uploaded{color:var(--primary)}.file-status-pill--processing{color:var(--warning)}.file-status-pill--completed{color:var(--success)}.file-status-pill--failed{color:var(--danger)}.file-status-pill--duplicate-pending{color:var(--warning)}.doc-property-control{position:relative;align-self:flex-start;display:flex;align-items:center;gap:8px}.doc-property-map-link{font-size:11px;color:var(--text-secondary);text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:4px 10px;transition:background .2s,border-color .2s,color .2s}.doc-property-map-link:hover{background:var(--border);border-color:var(--primary);color:var(--text-primary)}.doc-property-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.doc-property-badge:hover{background:var(--border);border-color:var(--primary);color:var(--text-primary)}.doc-property-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.doc-property-dot--linked{background:var(--success)}.doc-property-cross-match{display:inline-flex;align-items:center;padding:4px 10px;margin-left:6px;background:var(--warning-subtle);border:1px solid var(--warning);border-radius:999px;color:var(--warning);font-size:11px;cursor:default}.doc-property-cross-match--review{font-weight:600}.doc-property-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:220px;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;display:flex;flex-direction:column;gap:2px}.doc-property-dropdown-item{text-align:left;padding:8px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer}.doc-property-dropdown-item:hover:not(:disabled){background:var(--border)}.doc-property-dropdown-item:disabled{color:var(--text-tertiary);cursor:default}.doc-property-dropdown-empty{color:var(--text-tertiary);cursor:default}.doc-property-dropdown-unlink{color:var(--danger);border-top:1px solid var(--border);margin-top:2px;padding-top:8px}.doc-property-dropdown-error{color:var(--danger);font-size:11px;padding:6px 10px 2px}.shield-control{align-self:flex-start;margin-top:4px}.shield-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s;color:var(--text-secondary)}.shield-badge--action{border-color:var(--primary);color:var(--primary)}.shield-badge--action:hover:not(:disabled){background:var(--primary-subtle)}.shield-badge--action:disabled{opacity:.6;cursor:not-allowed}.shield-badge--go{border-color:var(--success);color:var(--success);background:var(--success-subtle)}.shield-badge--caution{border-color:var(--warning);color:var(--warning);background:var(--warning-subtle)}.shield-badge--do-not-proceed{border-color:var(--danger);color:var(--danger);background:var(--danger-subtle)}.shield-control-error{color:var(--danger);font-size:11px;margin-top:4px}.property-location-prompt-actions{display:flex;gap:8px;margin-top:10px}.property-location-prompt-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.property-location-prompt-btn--yes{background:var(--primary);border:1px solid var(--primary);color:var(--text-primary)}.property-location-prompt-btn--yes:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.property-location-prompt-btn--no{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.property-location-prompt-btn--no:hover{background:var(--border);color:var(--text-primary)}.property-location-prompt-actions--multi{flex-direction:column;align-items:flex-start}.property-location-prompt-btn--option{background:transparent;border:1px solid var(--border);color:var(--text-primary);text-align:left;width:100%}.property-location-prompt-btn--option:hover{background:var(--border)}.property-location-prompt-btn--recommended{border-color:var(--primary)}.property-profile-cta{margin-top:10px}.property-profile-cta--multi{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.property-profile-cta--multi .property-location-prompt-btn--option{width:100%}.property-location-prompt-status{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px}.property-location-prompt-status--error{flex-wrap:wrap;color:var(--danger)}.what-next-panel{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface)}.what-next-loading,.what-next-empty{font-size:13px;color:var(--text-secondary)}.what-next-error{font-size:13px;color:var(--danger);margin-bottom:8px}.survey-groups-note{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.what-next-back{margin-top:8px}.survey-group-fetched{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border-color:var(--success, #2e7d32)}.survey-group-fetched-title{font-weight:500}.survey-group-fetched-meta{font-size:12px;color:var(--text-secondary)}.survey-group-fetched-meta:before{content:"✓ ";color:var(--success, #2e7d32)}.file-notice{padding:10px 12px;border-radius:6px;font-size:12px;border:1px solid transparent}.file-notice-row{display:flex;align-items:flex-start;gap:6px}.file-notice-row--spaced{margin-bottom:8px}.file-notice-icon{flex-shrink:0;margin-top:1px}.file-notice--offline,.file-notice--failed{background:#3f1d1d;border-color:#7f1d1d;color:var(--danger)}.file-notice--uploaded{background:#1e3a5f;border-color:var(--primary);color:var(--primary)}.file-notice--duplicate{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.file-delay-copy{color:var(--primary);font-size:12px;margin-top:8px}.file-retry-button{padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s}.file-retry-button:hover{background:var(--primary-hover)}.file-notice-actions{display:flex;gap:8px}.file-delete-button{padding:6px 12px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s}.file-delete-button:hover{background:var(--danger-subtle)}.selected-files-panel{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.selected-files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px}.selected-files-title{color:var(--text-primary);font-size:14px;font-weight:500}.selected-files-actions{display:flex;gap:8px;align-items:center}.selected-files-cancel{padding:6px 10px;background:var(--border);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer}.selected-files-upload{padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.selected-files-cancel:disabled,.selected-files-upload:disabled{cursor:not-allowed;opacity:.6}.selected-files-list{display:flex;flex-direction:column;gap:4px}.selected-file-row{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--background);border-radius:4px}.selected-file-name{color:var(--text-secondary);font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-size{color:var(--text-tertiary);font-size:11px}.processing-complete-message-card{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;background:transparent;border:1px solid rgba(16,185,129,.3);transition:border-color .2s ease,background .2s ease;max-width:-moz-fit-content;max-width:fit-content}.processing-complete-message-card--clickable{cursor:pointer}.processing-complete-message-card--clickable:hover{border-color:#10b9818c;background:#10b9810f}.processing-complete-message-card--selected{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.processing-complete-icon{flex-shrink:0}.processing-complete-filename{font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.processing-complete-status{font-size:16px;color:var(--text-secondary);flex-shrink:0}.processing-complete-action{font-size:16px;font-weight:500;color:var(--primary);flex-shrink:0;margin-left:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.input-button{padding:8px;width:36px;height:36px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.input-button:hover{background:#7f7f7f14;color:var(--text-primary)}.send-button{padding:10px;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.send-button:not(:disabled){background:#fff;color:#000}.send-button:not(:disabled):hover{transform:scale(1.05);box-shadow:0 0 20px -5px #7f7f7f4d}.chat-view{display:flex;flex-direction:column;overflow:hidden;position:relative;margin:-15px -24px -24px;padding:0;height:100%;min-height:0}.resizable-split-pane .chat-view{margin:0;height:100%}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 16px;--chat-composer-scroll-padding: 200px;padding-bottom:var(--chat-composer-scroll-padding);scroll-behavior:smooth;min-height:0}.chat-messages-loading-older{text-align:center;padding:8px 0 16px;font-size:13px;color:#9ca3af}.chat-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:24px;width:100%}.processing-complete-card--selected{outline:2px solid var(--primary);outline-offset:2px}.processing-complete-card{scroll-margin-top:10px;scroll-margin-bottom:var(--chat-composer-scroll-padding, 200px)}.message{display:flex;gap:12px;align-items:flex-start;animation:fadeIn .3s ease-in;width:100%;padding:8px 0}.message.user{flex-direction:row-reverse}.message.assistant{flex-direction:row;gap:0}.message.system{flex-direction:row;padding:16px 0}.system-message-content{background:linear-gradient(135deg,#141e3cd9,#181828f2);border:1px solid rgba(99,102,241,.35);border-radius:12px;padding:16px 20px;color:var(--primary-subtle);max-width:min(75%,680px);margin-right:auto;font-size:15px;line-height:1.6}.system-message-content p{margin:0 0 6px}.system-message-content p:last-child{margin-bottom:0}.system-message-content strong{color:var(--primary-subtle);font-weight:600}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.message-avatar.assistant{background:linear-gradient(135deg,var(--primary) 0%,#10b981 100%);box-shadow:0 2px 8px var(--primary-subtle);transition:transform .2s ease,box-shadow .2s ease}.message:hover .message-avatar.assistant{transform:scale(1.05);box-shadow:0 4px 12px var(--primary-subtle)}.message-avatar.user{background:var(--border)}.message-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.message-html-content{width:100%;font-size:16px}.message-doc-link{color:var(--primary);text-decoration:underline;cursor:pointer}.message-doc-link:hover{opacity:.8}.message-html-content .predefined-prompt-fields{display:block;margin:0}.message-html-content .predefined-prompt-copy{color:var(--text-secondary);font-weight:400}.message-html-content .predefined-prompt-field{display:inline;width:auto;max-width:none;padding:0;border:none;background:transparent;color:var(--border);font-weight:600;line-height:1.35;text-shadow:none}.predefined-prompt-field{font-weight:700}.message-content{max-width:min(75%,680px);padding:12px 16px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word;line-height:1.3;font-size:16px;position:relative;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.message.assistant .message-content:has(table),.message.assistant .message-content:has(.entities-table),.message.assistant .message-content:has(.relationships-table),.message.assistant .message-content.has-tables{max-width:min(90%,900px)}.message.user .message-content{background:transparent;color:var(--text-primary);border-bottom-right-radius:4px;margin-left:auto;border:none}.message.assistant .message-content{background:transparent;color:var(--text-primary);margin-right:auto;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-radius:0;padding:0;max-width:100%}.message.assistant .message-content:hover{border-color:transparent;box-shadow:none}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin-top:8px;margin-bottom:4px;font-weight:600;color:var(--text-primary);line-height:1.2}.message-content h1{font-size:24px;border-bottom:2px solid var(--primary-subtle);padding-bottom:8px}.message-content h2{font-size:20px;border-bottom:1px solid var(--primary-subtle);padding-bottom:6px}.message-content h3{font-size:18px}.message-content h4{font-size:16px}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child,.message-content h4:first-child{margin-top:0}.message-content p{margin:4px 0;line-height:1.3;color:var(--text-primary);font-size:16px}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:8px 0;padding-left:24px}.message-content ul{list-style-type:none;padding-left:24px}.message-content ul li{position:relative;padding-left:24px;margin:1px 0;line-height:1.3}.message-content ul li:before{content:"▸";position:absolute;left:0;color:var(--primary);font-weight:700}.message-content ol li{margin:1px 0;line-height:1.3;padding-left:4px}.message-content li{color:var(--text-primary);font-size:16px}.message-content code{background:#0006;padding:3px 8px;border-radius:6px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Courier New,monospace;font-size:.9em;color:var(--text-primary);border:1px solid var(--primary-subtle)}.message-content pre{background:linear-gradient(135deg,var(--background) 0%,var(--surface) 100%);color:var(--text-primary);padding:12px;border-radius:12px;overflow-x:auto;margin:10px 0;border:1px solid var(--primary-subtle);box-shadow:inset 0 2px 4px #0000004d;position:relative}.message-content pre code{background:transparent;padding:0;border:none;font-size:.9em;line-height:1.3}.message-content table{width:100%;min-width:600px;border-collapse:separate;border-spacing:0;margin:12px 0;font-size:14px;border-radius:10px;overflow:hidden;background:#7f7f7f00;box-shadow:0 2px 8px #00000026}.table-wrapper{overflow-x:auto;overflow-y:visible;margin:12px 0;border-radius:10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary-subtle) rgba(127,127,127,.06)}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:#7f7f7f0f;border-radius:10px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--primary-subtle);border-radius:10px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--primary)}.table-wrapper table{margin:0}.message-content th,.message-content td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--primary-subtle);border-right:1px solid var(--primary-subtle);border-left:1px solid var(--primary-subtle)}.message-content th:first-child,.message-content td:first-child{border-left:1px solid var(--primary-subtle)}.message-content th:last-child,.message-content td:last-child{border-right:1px solid var(--primary-subtle)}.message-content th{background:linear-gradient(135deg,#3b82f640,#10b98133);font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:12px;letter-spacing:.5px;border-bottom:2px solid var(--primary-subtle);position:sticky;top:0;z-index:1}.message-content td{color:var(--text-primary);transition:background .2s ease}.message-content tr:last-child td{border-bottom:none}.message-content tr:nth-child(odd) td{background:#7f7f7f05}.message-content tr:nth-child(2n) td{background:#7f7f7f1a}.message-content tr:hover td{background:var(--primary-subtle)}.manual-correction-message .table-wrapper{overflow:visible;border-radius:0;margin:10px 0 0}.chat-container .message-content .manual-correction-message table{width:auto;min-width:0;margin:10px 0 0;font-size:14px;box-shadow:none;border-radius:4px;overflow:hidden;border-collapse:separate;border-spacing:0;border:1px solid #9ca3af}.chat-container .message-content .manual-correction-message th,.chat-container .message-content .manual-correction-message td{padding:8px 14px;font-size:14px;border:none;border-bottom:1px solid #9ca3af;border-right:1px solid #9ca3af}.chat-container .message-content .manual-correction-message th:last-child,.chat-container .message-content .manual-correction-message td:last-child{border-right:none}.chat-container .message-content .manual-correction-message tr:last-child td{border-bottom:none}.chat-container .message-content .manual-correction-message th{background:#9ca3af47;color:var(--text-primary);text-transform:none;letter-spacing:normal;font-size:13px;font-weight:700}.manual-correction-message tr:nth-child(odd) td{background:transparent}.manual-correction-message tr:nth-child(2n) td{background:#9ca3af1f}.manual-correction-message tr:hover td{background:#7f7f7f14}.message-content blockquote{border-left:4px solid var(--primary);margin:10px 0;padding:10px 14px;background:var(--primary-subtle);border-radius:0 8px 8px 0;font-style:italic;color:var(--text-secondary);font-size:16px}.chat-container .message-content,.chat-container .message-html-content,.chat-container .message-content p,.chat-container .message-content li,.chat-container .message-content blockquote,.chat-container .message-content code,.chat-container .message-content pre code,.chat-container .message-content table,.chat-container .message-content th,.chat-container .message-content td{font-size:16px}.message-content a{color:var(--primary);text-decoration:none;border-bottom:1px solid var(--primary-subtle);transition:all .2s}.message-content a:hover{color:var(--primary);border-bottom-color:var(--primary)}.message-content hr{border:none;border-top:1px solid var(--primary-subtle);margin:12px 0}.message-content strong{color:var(--text-primary);font-weight:600}.message-content em{color:var(--text-secondary);font-style:italic}.message-content img{max-width:100%;height:auto;border-radius:8px;margin:10px 0;border:1px solid var(--primary-subtle)}.chat-input-container{position:absolute;bottom:0;left:0;right:0;z-index:10;background:linear-gradient(to top,var(--background) 0%,var(--background) 70%,transparent 100%);padding:14px 16px 0;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-input-wrapper{max-width:900px;margin:0 auto;width:100%}.chat-disclaimer{text-align:center;font-size:12px;color:var(--text-tertiary);margin-top:12px}.typing-indicator{display:flex;gap:6px;padding:12px 16px;align-items:center}.typing-dot{width:8px;height:8px;background:var(--text-tertiary);border-radius:50%;animation:bounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.streaming-status-indicator{display:flex;align-items:flex-end;gap:5px;margin-top:10px;padding-bottom:3px}.streaming-status-text{color:var(--primary);font-size:16px}.wave-dot{width:4px;height:4px;background:var(--primary);border-radius:50%;animation:waveBounce 1.4s ease-in-out infinite}.wave-dot:nth-child(2){animation-delay:.15s}.wave-dot:nth-child(3){animation-delay:.3s}.wave-dot:nth-child(4){animation-delay:.45s}@keyframes waveBounce{0%,60%,to{transform:translateY(0);opacity:1}30%{transform:translateY(-7px);opacity:.7}}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.chat-view{margin:0}.landing-view{padding:24px 12px;margin:0}.landing-container{gap:32px;padding:0 8px}.hero-section{gap:24px;margin-top:16px}.feature-cards{grid-template-columns:1fr}.chat-messages{padding:16px 12px;--chat-composer-scroll-padding: 220px;padding-bottom:var(--chat-composer-scroll-padding)}.chat-input-container{padding:16px 12px 32px}.chat-container{max-width:100%;gap:16px}.message-content{max-width:min(85%,100%);padding:12px 16px;font-size:16px;border-radius:12px}.message.assistant .message-content.has-tables,.message.assistant .message-content:has(table){max-width:min(95%,100%)}.message-content h1{font-size:20px}.message-content h2{font-size:18px}.message-content h3{font-size:16px}.message-content pre{padding:12px;font-size:12px}.message-content table{font-size:12px;border-radius:8px;min-width:0;width:100%;table-layout:fixed}.message-content th,.message-content td{padding:8px 12px;word-break:break-word}.message-content th{font-size:11px}.chat-input-container{padding:10px 12px 5px}.input-area{max-width:100%}.input-textarea{font-size:14px;padding:16px 16px 6px}}@media(max-width:480px){.chat-view,.landing-view{margin:0}.message-content{max-width:90%;padding:10px 14px;font-size:16px}.message-content h1{font-size:18px}.message-content h2{font-size:16px}.message-content h3{font-size:15px}.message-content pre{padding:10px;font-size:11px}.message-avatar{width:28px;height:28px}.hero-title{font-size:28px}.feature-card{padding:20px;min-height:160px}.hero-title{font-size:24px}.chat-session-header{padding:8px 12px}.chat-session-title{font-size:14px}.chat-title-input{font-size:13px;padding:5px 10px}.input-textarea{font-size:13px;padding:14px 14px 6px}.send-button{width:36px;height:36px}}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center;animation:fadeIn .3s}.modal-overlay.active{display:flex}.modal-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:90%;max-width:512px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s;transition:max-width .3s ease}.modal-container.expanded{max-width:900px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:500;margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--border);color:var(--text-primary)}.modal-content{padding:24px;overflow-y:auto;flex:1;min-height:0}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:256px;border:2px dashed var(--border);border-radius:12px;background:var(--background);cursor:pointer;transition:all .3s}.upload-dropzone:hover,.upload-dropzone.drag-active{border-color:var(--primary);background:var(--primary-subtle)}.upload-icon-large{padding:16px;background:var(--border);border-radius:50%;margin-bottom:16px;color:var(--text-secondary)}.upload-text{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.upload-hint{font-size:12px;color:var(--text-tertiary)}.file-list-container{max-height:300px;overflow-y:auto;margin-bottom:12px}.file-preview{display:flex;align-items:center;gap:16px;padding:12px;background:var(--background);border-radius:8px;border:1px solid var(--border);margin-bottom:8px}.file-preview:last-child{margin-bottom:0}.file-icon{padding:12px;background:var(--primary-subtle);color:var(--primary);border-radius:8px}.file-info{flex:1;overflow:hidden}.file-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:12px;color:var(--text-tertiary)}.file-remove-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.file-remove-btn:hover:not(:disabled){background:var(--danger-subtle);color:var(--danger)}.file-remove-btn:disabled{opacity:.5;cursor:not-allowed}.modal-button{width:100%;padding:12px;background:var(--primary-hover);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-button:hover:not(:disabled){background:var(--primary-hover)}.modal-button:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.form-row{margin-bottom:16px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary);font-size:14px}.form-input{width:100%;padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary)}.form-checkbox{display:flex;align-items:center;gap:8px}.form-checkbox input{width:18px;height:18px;cursor:pointer}.form-checkbox label{font-size:14px;color:var(--text-secondary);cursor:pointer}#uploadResult{margin-top:24px;padding:0;border-radius:12px;display:block;max-height:70vh;overflow-y:auto}#uploadResult.success,#uploadResult.error{background:transparent;border:none}.upload-success-header{background:linear-gradient(135deg,#10b98133,#05966933);border:1px solid rgba(16,185,129,.3);color:var(--text-primary);padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 4px 12px #10b98133}.upload-success-header h4{margin:0 0 16px;font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px}.upload-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.upload-stat-item{background:#7f7f7f24;padding:12px;border-radius:8px;border:1px solid rgba(127,127,127,.14)}.upload-stat-label{font-size:11px;opacity:.9;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.upload-stat-value{font-size:20px;font-weight:700}.document-section{margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 12px #0000001a}.document-section:first-child{margin-top:0}.document-section h3{color:var(--text-primary);margin:0 0 24px;font-size:20px;font-weight:600;display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--border)}.info-section{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:20px;margin:16px 0;transition:all .2s}.info-section:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px var(--primary-subtle)}.info-section h4{color:var(--text-primary);margin:0 0 16px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--primary-subtle)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.info-item{background:var(--surface);padding:14px 16px;border-radius:10px;border-left:3px solid var(--primary);transition:all .2s;box-shadow:0 1px 3px #0000001a}.info-item:hover{transform:translate(2px);border-left-color:var(--primary);box-shadow:0 2px 6px var(--primary-subtle)}.info-item strong{color:var(--text-secondary);display:block;margin-bottom:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-item span{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.5;word-break:break-word}.info-item .null-value{color:var(--text-tertiary);font-style:italic;font-weight:400}.diagrams-container{display:flex;flex-direction:column;gap:20px;margin:20px 0}.diagram-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-top:16px;transition:all .2s}.diagram-wrapper:hover{border-color:var(--primary-subtle);box-shadow:0 4px 12px var(--primary-subtle)}.diagram-wrapper h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px;display:flex;align-items:center;gap:8px}.lifecycle-issues-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-top:16px}.lifecycle-issues-section h4{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 10px}.lifecycle-issues-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lifecycle-issue{padding:8px 12px;border-radius:8px;font-size:14px;color:var(--text-primary);border-left:4px solid var(--border);background:var(--surface-secondary, var(--surface))}.lifecycle-issue-critical{border-left-color:#c62828;background:#c6282814}.lifecycle-issue-review_required{border-left-color:#f57f17;background:#f57f1714}.diagram-content{display:flex;justify-content:center;align-items:center;min-height:300px;overflow-x:auto;cursor:pointer;border-radius:8px;padding:16px;background:var(--background);position:relative;transition:all .2s}.diagram-content:hover{background:#18181bcc;transform:scale(1.01)}.diagram-content:after{content:"🔍 Click to view fullscreen";position:absolute;bottom:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;font-size:11px;opacity:0;transition:opacity .2s;pointer-events:none}.diagram-content:hover:after{opacity:1}.toggle-section{margin:20px 0}.toggle-button{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:14px 18px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:all .2s;position:relative}.toggle-button:hover{background:var(--primary-subtle);border-color:var(--primary-subtle);transform:translateY(-1px)}.toggle-button:after{content:"▼";font-size:12px;transition:transform .3s;color:var(--text-secondary)}.toggle-button.collapsed:after{transform:rotate(-90deg)}.toggle-content{display:none;margin-top:16px;animation:slideDown .3s ease}.toggle-content.show{display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.summary-box{background:linear-gradient(135deg,#3b82f61a,#10b9811a);border:1px solid var(--primary-subtle);border-radius:12px;padding:20px;margin:20px 0;position:relative;overflow:hidden}.summary-box:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,var(--primary-subtle) 0%,transparent 70%);border-radius:50%;transform:translate(30px,-30px)}.summary-box h4{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;position:relative;z-index:1}.summary-box p{color:var(--text-secondary);line-height:1.7;margin:0;font-size:14px;position:relative;z-index:1}.summary-box h1,.summary-box h2,.summary-box h3{color:var(--text-primary);margin:8px 0 6px;font-size:16px;font-weight:600;position:relative;z-index:1}.summary-box h2{font-size:15px}.summary-box h3{font-size:14px}.summary-box ul,.summary-box ol{color:var(--text-secondary);margin:6px 0;padding-left:24px;position:relative;z-index:1}.summary-box li{color:var(--text-secondary);line-height:1.7;margin:3px 0;font-size:14px}.summary-box strong{color:var(--text-primary);font-weight:600}.summary-box em{color:var(--text-secondary);font-style:italic}.party-card{background:var(--surface);padding:18px;margin:12px 0;border-radius:12px;border:1px solid var(--border);transition:all .2s;position:relative}.party-card:hover{transform:translateY(-2px);border-color:var(--primary-subtle);box-shadow:0 4px 12px var(--primary-subtle)}.party-card h5{margin:0 0 12px;color:var(--text-primary);font-size:15px;font-weight:600}.party-card p{margin:8px 0;color:var(--text-secondary);font-size:13px;line-height:1.6}.role-badge{display:inline-block;padding:4px 10px;background:var(--primary-subtle);color:var(--primary);border-radius:6px;font-size:11px;font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--primary-subtle)}.role-badge.authority{background:#9333ea33;color:#a78bfa;border-color:#9333ea4d}.role-badge.applicant{background:#10b98133;color:#34d399;border-color:#10b9814d}.role-badge.buyer{background:var(--primary-subtle);color:var(--primary);border-color:var(--primary-subtle)}.role-badge.seller{background:var(--danger-subtle);color:var(--danger);border-color:var(--danger-subtle)}.conditions-list,.risk-list,.missing-list{list-style:none;padding:0;margin:12px 0}.conditions-list li,.risk-list li,.missing-list li{background:var(--surface);padding:14px 16px;margin:10px 0;border-radius:10px;border-left:3px solid;transition:all .2s;position:relative}.conditions-list li{border-left-color:#10b981;background:linear-gradient(to right,rgba(16,185,129,.1) 0%,var(--surface) 10%)}.conditions-list li:hover{transform:translate(4px);border-left-color:#34d399}.risk-list li{border-left-color:var(--danger);background:linear-gradient(to right,var(--danger-subtle) 0%,var(--surface) 10%)}.risk-list li:hover{transform:translate(4px);border-left-color:var(--danger)}.missing-list li{border-left-color:#f59e0b;background:linear-gradient(to right,rgba(245,158,11,.1) 0%,var(--surface) 10%)}.missing-list li:hover{transform:translate(4px);border-left-color:#fbbf24}.entities-table,.relationships-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;margin:0;background:#7f7f7f14;border-radius:12px;overflow:hidden;border:2px solid var(--primary-subtle);box-shadow:0 2px 8px #00000026}.table-wrapper .entities-table,.table-wrapper .relationships-table{margin:0}.entities-table th,.relationships-table th{background:linear-gradient(135deg,#3b82f64d,#10b98140);color:var(--text-primary);padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--primary-subtle);border-right:1px solid var(--primary-subtle);border-left:1px solid var(--primary-subtle);position:sticky;top:0;z-index:1}.entities-table th:first-child,.relationships-table th:first-child{border-left:1px solid var(--primary-subtle)}.entities-table th:last-child,.relationships-table th:last-child{border-right:1px solid var(--primary-subtle)}.entities-table td,.relationships-table td{padding:12px 16px;border-bottom:1px solid var(--primary-subtle);border-right:1px solid var(--primary-subtle);border-left:1px solid var(--primary-subtle);font-size:13px;color:var(--text-primary);transition:background .2s ease,color .2s ease}.entities-table td:first-child,.relationships-table td:first-child{border-left:1px solid var(--primary-subtle)}.entities-table td:last-child,.relationships-table td:last-child{border-right:1px solid var(--primary-subtle)}.entities-table tr:last-child td,.relationships-table tr:last-child td{border-bottom:none}.entities-table tr:hover td,.relationships-table tr:hover td{background:var(--primary-subtle);color:var(--text-primary)}.entities-table tr:nth-child(odd) td,.relationships-table tr:nth-child(odd) td{background:#7f7f7f05}.entities-table tr:nth-child(2n) td,.relationships-table tr:nth-child(2n) td{background:#7f7f7f1a}.entities-table tr:nth-child(odd):hover td,.relationships-table tr:nth-child(odd):hover td,.entities-table tr:nth-child(2n):hover td,.relationships-table tr:nth-child(2n):hover td{background:var(--primary-subtle)}.table-empty-cell{display:inline-block;color:#94a3b899;font-style:normal;font-weight:300;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:20px;text-align:center;opacity:.6}.diagram-fullscreen-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:2000;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.diagram-fullscreen-overlay.active{display:flex}.diagram-fullscreen-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:95%;height:95%;max-width:1400px;display:flex;flex-direction:column;box-shadow:0 20px 60px #000c}.diagram-fullscreen-header{padding:20px 30px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:16px 16px 0 0}.diagram-fullscreen-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;flex:1}.diagram-fullscreen-controls{display:flex;gap:10px;align-items:center;margin-right:15px}.diagram-zoom-btn{background:transparent;border:1px solid var(--border);font-size:18px;cursor:pointer;color:var(--text-secondary);padding:6px 12px;min-width:40px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;font-weight:600}.diagram-zoom-btn:hover:not(:disabled){background:var(--background);color:var(--text-primary);border-color:var(--primary-subtle)}.diagram-zoom-btn:disabled{opacity:.5;cursor:not-allowed}.diagram-zoom-level{color:var(--text-secondary);font-size:14px;min-width:60px;text-align:center;padding:0 10px}.diagram-fullscreen-close{background:transparent;border:1px solid var(--border);font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.diagram-fullscreen-close:hover{background:var(--background);color:var(--text-primary);border-color:var(--primary-subtle)}.diagram-fullscreen-content{flex:1;overflow:auto;padding:30px;background:var(--background);position:relative;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.diagram-fullscreen-content-wrapper{width:100%;min-height:100%;display:flex;justify-content:center;align-items:flex-start;transform-origin:center top;transition:transform .2s ease;padding:20px;box-sizing:border-box;position:relative}.diagram-fullscreen-content-wrapper:empty{min-height:200px}.diagram-fullscreen-content .mermaid,.diagram-fullscreen-content-wrapper .mermaid{max-width:none!important;width:auto;height:auto;display:inline-block;min-width:800px}.diagram-fullscreen-content svg,.diagram-fullscreen-content-wrapper svg{max-width:none!important;min-width:800px!important;width:auto!important;height:auto!important;display:block!important;transform-origin:center center;transition:transform .2s ease}.diagram-zoom-btn:active{transform:scale(.95);transition:transform .1s}@media(max-width:768px){.modal-container{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.modal-header{padding:16px;flex-shrink:0}.modal-header h3{font-size:18px}.modal-content{padding:16px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.upload-success-header{padding:16px;margin-bottom:16px}.upload-success-header h4{font-size:18px;margin-bottom:12px}.upload-stats-grid{grid-template-columns:1fr;gap:8px;margin-top:12px}.upload-stat-item{padding:10px}.upload-stat-label{font-size:10px;margin-bottom:4px}.upload-stat-value{font-size:18px}.document-section{margin-top:20px;padding:16px;border-radius:12px}.document-section h3{font-size:18px;margin-bottom:16px;padding-bottom:12px}.summary-box{padding:16px;margin:16px 0}.summary-box h4{font-size:15px;margin-bottom:10px}.summary-box p{font-size:13px;line-height:1.6}.info-section{padding:16px;margin:12px 0}.info-section h4{font-size:15px;margin-bottom:12px;padding-bottom:10px}.info-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}.info-item{padding:12px}.info-item strong{font-size:10px;margin-bottom:4px}.info-item span{font-size:13px}.toggle-button{padding:12px 14px;font-size:13px}.toggle-content{margin-top:12px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px -16px;padding:0 16px}.entities-table,.relationships-table{min-width:420px}.entities-table th,.relationships-table th{padding:10px 12px;font-size:11px}.entities-table td,.relationships-table td{padding:10px 12px;font-size:12px}.party-card{padding:14px;margin:10px 0}.party-card h5{font-size:14px;margin-bottom:10px}.party-card p{font-size:12px;margin:6px 0}.conditions-list li,.risk-list li,.missing-list li{padding:12px;margin:8px 0}.diagram-wrapper{padding:16px;margin-top:12px}.diagram-wrapper h4{font-size:15px;margin-bottom:12px}.diagram-content{min-height:250px;padding:12px}.processing-complete-message-card{max-width:100%!important;padding:8px 10px!important}.processing-complete-filename{max-width:140px!important}.processing-complete-action:active{opacity:.7!important}.diagram-fullscreen-overlay{padding:0!important;align-items:flex-start!important;overflow:hidden!important}.diagram-fullscreen-container{width:100%!important;height:100vh!important;height:100dvh!important;max-width:100%!important;border-radius:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important}.diagram-fullscreen-header{padding:14px 16px!important;flex-shrink:0!important;flex-wrap:wrap!important;gap:8px!important;min-height:auto!important}.diagram-fullscreen-header h3{font-size:17px!important;width:100%!important;order:1!important;margin-bottom:0!important}.diagram-fullscreen-controls{order:2!important;margin-right:0!important;margin-left:auto!important;gap:8px!important;flex-wrap:wrap!important}.diagram-zoom-btn{min-width:44px!important;height:44px!important;padding:8px 12px!important;font-size:20px!important;-webkit-tap-highlight-color:var(--primary-subtle)!important}.diagram-zoom-level{font-size:13px!important;min-width:55px!important;padding:0 8px!important}.diagram-fullscreen-close{order:3!important;width:44px!important;height:44px!important;font-size:28px!important;-webkit-tap-highlight-color:var(--danger-subtle)!important}.diagram-fullscreen-close:active{background:var(--danger-subtle)!important;transform:scale(.95)!important}.diagram-fullscreen-content{padding:16px!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;flex:1!important;min-height:0!important;overscroll-behavior:contain!important}.diagram-fullscreen-content-wrapper{padding:12px!important;min-height:auto!important;transform-origin:center center!important}.diagram-fullscreen-content .mermaid,.diagram-fullscreen-content-wrapper .mermaid{min-width:auto!important;max-width:100%!important;width:100%!important;height:auto!important}.diagram-fullscreen-content svg,.diagram-fullscreen-content-wrapper svg{min-width:auto!important;max-width:100%!important;width:100%!important;height:auto!important}body:has(.diagram-fullscreen-overlay.active){overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}.diagram-fullscreen-overlay.active{overscroll-behavior:none!important}.diagram-fullscreen-content-wrapper svg{touch-action:pan-x pan-y!important}}@media(max-width:480px){.modal-header{padding:12px}.processing-complete-message-card{margin:6px 0!important;gap:6px!important}.processing-complete-filename{max-width:110px!important}.processing-complete-status,.processing-complete-action{font-size:12px!important}.modal-header h3{font-size:16px}.modal-content{padding:12px}.upload-success-header{padding:12px;margin-bottom:12px}.upload-success-header h4{font-size:16px;margin-bottom:10px}.document-section{padding:12px;margin-top:16px}.document-section h3{font-size:16px;margin-bottom:12px;padding-bottom:10px}.summary-box{padding:12px;margin:12px 0}.summary-box h4{font-size:14px;margin-bottom:8px}.summary-box p{font-size:12px;line-height:1.5}.info-section{padding:12px;margin:10px 0}.info-section h4{font-size:14px;margin-bottom:10px;padding-bottom:8px}.info-grid{gap:10px;margin-top:12px}.info-item{padding:10px}.info-item span{font-size:12px}.processing-complete-message-card{-webkit-tap-highlight-color:rgba(16,185,129,.2)!important;touch-action:manipulation!important}.processing-complete-message-card:active{transform:scale(.98)!important;box-shadow:0 2px 6px #10b98140!important}.entities-table,.relationships-table{min-width:340px}.entities-table th,.relationships-table th{padding:8px 10px;font-size:10px}.entities-table td,.relationships-table td{padding:8px 10px;font-size:11px}.diagram-fullscreen-header{padding:10px 12px!important}.diagram-fullscreen-header h3{font-size:15px!important}.diagram-zoom-btn{min-width:40px!important;height:40px!important;padding:6px 10px!important;font-size:18px!important}.diagram-zoom-level{font-size:11px!important;min-width:45px!important}.diagram-fullscreen-close{width:40px!important;height:40px!important;font-size:24px!important}.diagram-fullscreen-content{padding:12px!important}.diagram-fullscreen-content-wrapper{padding:8px!important}.diagram-fullscreen-controls{gap:4px!important}}.chats-container{max-width:1400px;margin:0 auto}@media(min-width:1800px){.chats-container{max-width:1800px}}@media(min-width:2400px){.chats-container{max-width:2200px}}.chats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.chats-header-content{display:flex;align-items:center;gap:16px}.chats-logo{width:48px;height:48px;background:var(--primary-subtle);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.chats-title{font-size:28px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.5px}.chats-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.create-new-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--primary);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.create-new-button svg{display:block!important;width:18px!important;height:18px!important;flex-shrink:0;margin:0!important;padding:0!important;align-items:unset!important;justify-content:unset!important;text-align:unset!important;vertical-align:baseline}.create-new-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.create-new-button:active{transform:translateY(0)}.chats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.chats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.chats-empty svg{color:var(--border);margin-bottom:24px}.chats-empty h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.chats-empty p{font-size:14px;color:var(--text-secondary);margin:0 0 24px}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.session-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.session-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.session-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.session-icon{width:40px;height:40px;background:var(--primary-subtle);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.session-actions{display:flex;gap:4px}.edit-button,.delete-button{padding:6px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-button:hover{background:var(--primary-subtle);color:var(--primary)}.delete-button:hover{background:var(--danger-subtle);color:var(--danger)}.session-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{display:flex;flex-direction:column;gap:8px}.session-meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.session-meta-item svg{flex-shrink:0;color:var(--text-tertiary)}.session-title-edit{display:flex;align-items:center;gap:8px;margin-bottom:16px}.session-title-input{flex:1;padding:8px 12px;background:var(--border);border:1px solid var(--primary);border-radius:6px;color:var(--text-primary);font-size:16px;font-weight:600;outline:none}.session-title-input:focus{border-color:var(--primary)}.session-title-actions{display:flex;gap:4px}.save-button,.cancel-button{padding:6px;background:transparent;border:none;cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.save-button{color:var(--success)}.save-button:hover{background:var(--success)}.cancel-button{color:var(--text-tertiary)}.cancel-button:hover{background:#7f7f7f1a}@media(max-width:768px){.chats-container{padding:0 12px}.chats-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.chats-header-content{flex-direction:column;align-items:flex-start;gap:12px}.chats-title{font-size:22px}.chats-subtitle{font-size:13px}.create-new-button{width:100%;justify-content:center}.sessions-grid{grid-template-columns:1fr;gap:16px}.session-card{padding:16px}.session-title{font-size:16px}.session-title-input{font-size:15px}.chats-loading,.chats-empty{padding:60px 20px}}@media(max-width:480px){.chats-container{padding:0 8px}.chats-title{font-size:20px}.chats-logo{width:40px;height:40px}.chats-logo svg{width:28px;height:28px}.session-card{padding:14px}.session-title{font-size:15px}.session-meta-item{font-size:12px}.create-new-button{font-size:13px;padding:8px 14px}}.passport-page{height:100vh;height:100dvh;overflow-y:auto;background:var(--background);display:flex;justify-content:center;padding:24px 16px 48px;box-sizing:border-box}.passport-loading{color:var(--text-secondary);padding-top:40px;font-size:15px}.passport-card{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px 20px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.passport-brand{font-weight:700;font-size:18px;color:var(--primary);letter-spacing:.02em}.passport-status-banner{border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.passport-status-label{font-weight:700;font-size:17px}.passport-status-banner--go{background:var(--success-subtle);border-color:var(--success)}.passport-status-banner--go .passport-status-label{color:var(--success)}.passport-status-banner--caution{background:var(--warning-subtle);border-color:var(--warning)}.passport-status-banner--caution .passport-status-label{color:var(--warning)}.passport-status-banner--do-not-proceed{background:var(--danger-subtle);border-color:var(--danger)}.passport-status-banner--do-not-proceed .passport-status-label{color:var(--danger)}.passport-section{display:flex;flex-direction:column;gap:8px}.passport-section-title{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.passport-property-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-primary)}.passport-property-label{color:var(--text-secondary)}.passport-empty{font-size:14px;color:var(--text-secondary)}.passport-severity-pills{display:flex;flex-wrap:wrap;gap:8px}.passport-severity-pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.passport-severity-pill--critical,.passport-severity-pill--high{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger)}.passport-severity-pill--medium{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.passport-severity-pill--low,.passport-severity-pill--info{background:var(--surface-elevated);color:var(--text-secondary)}.passport-qr-section{align-items:center;text-align:center}.passport-qr-image{width:100%;max-width:280px;height:auto;aspect-ratio:1 / 1;border-radius:10px;background:#fff;padding:12px}.passport-share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.passport-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-decoration:none}.passport-btn:hover{border-color:var(--primary);color:var(--primary)}.passport-partner{font-size:13px;color:var(--text-secondary);text-align:center}.passport-disclaimer{margin:0;font-size:12px;line-height:1.5;color:var(--text-tertiary)}.passport-id-footer{font-size:11px;color:var(--text-tertiary);text-align:center;letter-spacing:.03em}.passport-invalid{align-items:center;text-align:center;padding-top:40px;padding-bottom:40px}.passport-invalid-title{margin:0;font-size:20px;color:var(--text-primary)}.passport-invalid-message{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}@media(max-width:400px){.passport-card{padding:18px 14px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-4{right:1rem}.top-4{top:1rem}.z-10{z-index:10}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pr-10{padding-right:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tracking-widest{letter-spacing:.1em}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.hover\:underline:hover{text-decoration-line:underline}@media(min-width:768px){.md\:right-6{right:1.5rem}.md\:top-6{top:1.5rem}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:p-10{padding:2.5rem}.md\:text-left{text-align:left}}
