:root{color-scheme:light;font-family:DM Sans,Segoe UI,sans-serif;line-height:1.5;color:#13233a;background:#f4f5f7;--vx-charcoal: #15171c;--vx-charcoal-2: #0e1014;--vx-gold: #c99a2e;--vx-gold-bright: #e8b93a;--vx-gold-deep: #8a6a1e;--vx-ink: #1a1305}*{box-sizing:border-box}body{margin:0}a{color:var(--vx-gold-deep)}.shell{max-width:100%;margin:0 auto;padding:2rem 1.5rem 3rem}h1{margin-bottom:.25rem}.dashboard-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.kpi-card{background:#fff;border:1px solid #e6dcc2;border-top:3px solid var(--vx-gold);border-radius:12px;padding:1rem;box-shadow:0 8px 20px #15171c0f}.kpi-label{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--vx-gold-deep)}.error{color:#b42318;font-weight:600}.dossier-panel{margin-top:2rem;background:#fff;border:1px solid #e6dcc2;border-radius:12px;padding:1rem;box-shadow:0 8px 20px #15171c0f}.dossier-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.dossier-selector-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.dossier-toolbar h2{margin:0;font-size:1.1rem}.property-select{min-width:320px;max-width:100%;padding:.5rem .75rem;border-radius:8px;border:1px solid #d2c4a4;background:#faf8f2}.attachment-list{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem}.attachment-item{border:1px solid #e6dcc2;border-radius:10px;padding:.75rem;display:flex;gap:1rem;justify-content:space-between;align-items:center}.attachment-item p{margin:.2rem 0 0;color:#6b6457;font-size:.9rem}.attachment-actions{display:flex;gap:.75rem}.attachment-actions a{color:var(--vx-gold-deep);text-decoration:none;font-weight:600}.upload-form{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.upload-input{padding:.55rem .7rem;border:1px solid #d2c4a4;border-radius:8px;background:#faf8f2}.upload-button{border:1px solid var(--vx-gold);background:var(--vx-gold);color:var(--vx-ink);border-radius:8px;padding:.55rem .8rem;font-weight:600;cursor:pointer}.upload-button:hover{background:var(--vx-gold-bright);border-color:var(--vx-gold-bright)}.upload-button:disabled{opacity:.7;cursor:not-allowed}.filter-row{margin-top:.75rem;display:grid;grid-template-columns:180px minmax(220px,1fr);gap:.75rem}.memo-panel{margin-top:1rem;border:1px solid #e6dcc2;border-left:3px solid var(--vx-gold);border-radius:10px;padding:.85rem;background:#faf7ef}.memo-panel h3{margin:0 0 .5rem}.memo-panel p{margin:.4rem 0}.shortlist-panel{margin-top:1rem;border:1px solid #e6dcc2;border-radius:12px;padding:1rem;background:#fbf9f3}.shortlist-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.shortlist-toolbar h2{margin:0;font-size:1rem}.shortlist-actions{display:flex;gap:.5rem;flex-wrap:wrap}.shortlist-filters{margin-top:.9rem;grid-template-columns:repeat(4,minmax(180px,1fr))}.checkbox-inline{display:flex;align-items:center;gap:.5rem}.shortlist-kpis{margin-top:.9rem}.committee-table-wrap{margin-top:1rem;overflow-x:auto}.committee-table{width:100%;border-collapse:collapse;font-size:.82rem}.committee-table th,.committee-table td{border-bottom:1px solid #e6dcc2;padding:.55rem .6rem;text-align:left;vertical-align:top}.committee-table th{background:var(--vx-charcoal);color:#ecdcb6;font-weight:700;position:sticky;top:0}.committee-table tr:nth-child(2n){background:#f3eee2}.committee-links{margin:0;padding-left:1rem}.committee-links li{margin:.12rem 0}.committee-links a{color:var(--vx-gold-deep);text-decoration:none}.committee-links a:hover{text-decoration:underline}.app-header-bar{display:flex;align-items:center;gap:1.25rem;background:var(--vx-charcoal);border-bottom:3px solid var(--vx-gold);border-radius:10px 10px 0 0;padding:1.1rem 1.5rem}.app-logo{height:92px;width:auto;display:block}.app-header-tag{color:#d7dbe3;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;border-left:1px solid #3a3d44;padding-left:1rem}.app-tabs{display:flex;gap:.5rem;margin-top:.9rem}.app-tab{padding:.45rem 1.2rem;border:1.5px solid #d8c7a6;border-radius:6px 6px 0 0;background:#efe9da;color:#6a5a32;font-size:.88rem;cursor:pointer;font-weight:500;transition:background .15s,color .15s}.app-tab:hover{background:#f6f1e4}.app-tab--active{background:var(--vx-charcoal);border-color:var(--vx-charcoal);color:var(--vx-gold-bright);font-weight:700}.assets-desk{margin-top:1.25rem;position:relative}.desk-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.desk-title{margin:0;font-size:1.1rem}.desk-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.desk-search{padding:.35rem .7rem;border:1.5px solid #c0cfdf;border-radius:6px;font-size:.85rem;min-width:200px}.desk-filter{padding:.35rem .6rem;border:1.5px solid #c0cfdf;border-radius:6px;font-size:.82rem;background:#f8fbff;min-width:150px;color:#14304f}.desk-btn{padding:.35rem .8rem;border-radius:6px;border:none;cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap}.desk-btn-primary{background:var(--vx-gold);color:var(--vx-ink)}.desk-btn-primary:hover{background:var(--vx-gold-bright)}.desk-btn-secondary{background:var(--vx-charcoal);color:#ecdcb6}.desk-btn-secondary:hover{background:#262932}.desk-btn-save{background:#27ae60;color:#fff;padding:.25rem .6rem}.desk-btn-save:hover{background:#229954}.desk-btn-danger{background:#e60000;color:#fff;padding:.25rem .6rem}.desk-btn-danger:hover{background:#c40000}.desk-btn-attach{background:#f1eee7;color:#3c3a33;padding:.25rem .7rem;border:1px solid #d2c4a4}.desk-btn-attach:hover{background:#e8e2d4}.desk-btn-inline{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;flex:0 0 auto}.risk-sort-btn{border:1px solid #5a4d2e;border-radius:6px;background:#2a2d35;color:var(--vx-gold-bright);font-size:.75rem;padding:.2rem .45rem;cursor:pointer}.risk-sort-btn:hover{background:#353942}.desk-err{background:#fde8e8;border:1px solid #e74c3c;color:#a91b0d;padding:.5rem .8rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.desk-ok{background:#e9f9ee;border:1px solid #27ae60;color:#1a7a44;padding:.5rem .8rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.desk-table-wrapper{overflow-x:auto;border:1px solid #d1dcec;border-radius:8px;max-height:70vh;overflow-y:auto}.desk-hscroll-top{height:16px;overflow-x:auto;overflow-y:hidden;margin-bottom:4px;border:1px solid #d4bf00;border-radius:8px;background:#ffe600}.desk-hscroll-spacer{height:1px}.desk-table-wrapper,.desk-hscroll-top{scrollbar-width:auto;scrollbar-color:#e60000 #ffe600}.desk-table-wrapper::-webkit-scrollbar,.desk-hscroll-top::-webkit-scrollbar{height:16px;width:16px}.desk-table-wrapper::-webkit-scrollbar-track,.desk-hscroll-top::-webkit-scrollbar-track{background:#ffe600;border:1px solid #d4bf00;border-radius:8px}.desk-table-wrapper::-webkit-scrollbar-thumb,.desk-hscroll-top::-webkit-scrollbar-thumb{background:#e60000;border:3px solid #ffe600;border-radius:8px}.desk-table-wrapper::-webkit-scrollbar-thumb:hover,.desk-hscroll-top::-webkit-scrollbar-thumb:hover{background:#c40000}.desk-table{border-collapse:collapse;font-size:.78rem;width:max-content;min-width:100%}.desk-table thead th{background:var(--vx-charcoal);color:#ecdcb6;padding:.5rem .6rem;text-align:left;font-weight:600;position:sticky;top:0;z-index:3;white-space:nowrap}.desk-table thead th.col-risk{position:sticky;left:0;z-index:4}.desk-table thead th.sticky-col{position:sticky;z-index:4}.desk-table td.col-risk{position:sticky;left:0;z-index:2}.desk-table td.sticky-col{position:sticky;z-index:2}.desk-table .sticky-col-edge{box-shadow:2px 0 #9bb6d2}.desk-table tbody tr:nth-child(odd) td.col-risk,.desk-table tbody tr:nth-child(odd) td.sticky-col{background:#fff}.desk-table tbody tr:nth-child(2n) td.col-risk,.desk-table tbody tr:nth-child(2n) td.sticky-col{background:#e9e1cd}.desk-table tbody tr:hover td.col-risk,.desk-table tbody tr:hover td.sticky-col{background:#d9c9a0}.desk-table tbody tr.row-dirty td.col-risk,.desk-table tbody tr.row-dirty td.sticky-col{background:#fff3c4}.desk-table tbody tr.row-dirty:hover td.col-risk,.desk-table tbody tr.row-dirty:hover td.sticky-col{background:#ffe9a3}.desk-table tbody tr:nth-child(odd){background:#fff}.desk-table tbody tr:nth-child(2n){background:#e9e1cd}.desk-table tbody tr:hover{background:#d9c9a0}.desk-table tbody tr.row-dirty{background:#fff3c4}.desk-table tbody tr.row-dirty:hover{background:#ffe9a3}.desk-table td{padding:.3rem .4rem;border-bottom:1px solid #dde6f0;vertical-align:top}.desk-cell{max-width:300px}.desk-cell-input{width:100%;padding:.2rem .35rem;border:1px solid #c0cfdf;border-radius:4px;font-size:.78rem;background:transparent;color:#13233a}.desk-cell-textarea{width:100%;padding:.2rem .35rem;border:1px solid #c0cfdf;border-radius:4px;font-size:.75rem;background:transparent;color:#13233a;resize:vertical;min-height:40px}.desk-cell-input:focus,.desk-cell-textarea:focus{outline:2px solid var(--vx-gold);border-color:var(--vx-gold);background:#fff}.pid-badge{font-size:.72rem;color:#667;font-family:monospace}.status-select{border:none;border-radius:12px;color:#fff;font-weight:700;font-size:.72rem;padding:.18rem .5rem;cursor:pointer;width:100%;text-align:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.status-option{background:#fff;color:#222;font-weight:600}.pid-open{border:1px solid #d2c4a4;background:#f4efe2;color:var(--vx-charcoal);border-radius:5px;padding:.15rem .4rem;cursor:pointer;font-weight:600}.pid-open:hover{background:var(--vx-gold);border-color:var(--vx-gold);color:var(--vx-ink)}.review-hint{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fbf3d6;border:1px solid var(--vx-gold);border-left:4px solid var(--vx-gold);border-radius:8px;padding:.6rem .85rem;margin-bottom:.65rem;font-size:.9rem;color:#5a4a1e}.review-hint-close{flex:0 0 auto;border:none;background:transparent;color:#5a4a1e;font-size:1rem;cursor:pointer;padding:.1rem .35rem;border-radius:4px}.review-hint-close:hover{background:#00000014}.url-cell{display:flex;align-items:center;gap:.3rem}.url-open{font-size:.9rem;color:var(--vx-gold-deep);text-decoration:none;white-space:nowrap}.col-risk{width:90px;text-align:center}.col-actions{width:120px;text-align:center;white-space:nowrap}.risk-cell-stack{display:flex;align-items:center;justify-content:center;gap:.35rem}.risk-head-stack{display:flex;align-items:center;justify-content:center;gap:.3rem}.nota-check{width:15px;height:15px;margin:0;accent-color:var(--vx-gold);cursor:pointer;flex:0 0 auto}.row-view-btn{border:1px solid #d2c4a4;background:#f4efe2;color:#5a4a28;border-radius:4px;padding:.05rem .28rem;font-size:.75rem;cursor:pointer}.row-view-btn:hover{background:#e9e1cd}.risk-dot{display:inline-block;width:15px;height:15px;border-radius:50%;border:1px solid rgba(20,20,20,.45);box-shadow:inset 0 0 0 1px #ffffff59}.desk-empty{text-align:center;padding:2rem;color:#889}.desk-row-actions{display:flex;gap:.25rem;align-items:center;justify-content:center}.individual-view{border:1px solid #d1dcec;border-radius:10px;background:#fff;padding:1rem}.individual-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.individual-header h3{margin:0;font-size:1.05rem}.individual-header p{margin:.2rem 0 0;color:#6b6457}.individual-actions{display:flex;gap:.4rem;flex-wrap:wrap}.individual-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:.75rem}.review-counter{font-weight:700;color:var(--vx-charcoal);padding:0 .35rem;min-width:58px;text-align:center;align-self:center}.review-decision-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .1rem .7rem}.review-decision-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--vx-gold-deep);margin-right:.25rem}.review-decision-pill{border:1.5px solid;background:#fff;border-radius:16px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .08s ease}.review-decision-pill:hover{filter:brightness(.97)}.review-decision-pill:active{transform:scale(.96)}.review-decision-pill.active{box-shadow:0 0 0 2px #fff9,0 1px 4px #0003}.individual-view.review-fullscreen .review-decision-bar{position:sticky;top:3.4rem;z-index:5;background:#f4f5f7}.review-stage{position:relative;perspective:1800px}.review-page{position:relative;transform-origin:right center;animation:page-turn-next .55s cubic-bezier(.22,.61,.36,1);backface-visibility:hidden}.review-page[data-dir=prev]{transform-origin:left center;animation:page-turn-prev .55s cubic-bezier(.22,.61,.36,1)}.review-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(to left,rgba(18,18,20,.28),rgba(18,18,20,.06) 24%,transparent 48%);opacity:0;animation:page-curl-shade .55s ease}.review-page[data-dir=prev]:after{background:linear-gradient(to right,rgba(18,18,20,.28),rgba(18,18,20,.06) 24%,transparent 48%)}@keyframes page-turn-next{0%{transform:rotateY(-100deg) scale(.98);opacity:.2;box-shadow:-30px 0 52px #0000004d}55%{box-shadow:-16px 0 36px #0003}to{transform:rotateY(0) scale(1);opacity:1;box-shadow:0 0 #0000}}@keyframes page-turn-prev{0%{transform:rotateY(100deg) scale(.98);opacity:.2;box-shadow:30px 0 52px #0000004d}55%{box-shadow:16px 0 36px #0003}to{transform:rotateY(0) scale(1);opacity:1;box-shadow:0 0 #0000}}@keyframes page-curl-shade{0%{opacity:1}70%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion: reduce){.review-page,.review-page[data-dir=prev]{animation:none}.review-page:after{animation:none;opacity:0}}.review-nav{position:absolute;top:45%;transform:translateY(-50%);z-index:5;width:46px;height:76px;border:1px solid #d2c4a4;background:#ffffffe6;color:var(--vx-charcoal);font-size:2rem;line-height:1;border-radius:10px;cursor:pointer}.review-nav-prev{left:-10px}.review-nav-next{right:-10px}.review-nav:hover:not(:disabled){background:#fff;border-color:var(--vx-gold)}.review-nav:disabled{opacity:.28;cursor:default}.individual-view.review-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;margin:0;border:none;border-radius:0;background:#f4f5f7;overflow:auto;padding:.85rem 1.1rem 2.5rem}.individual-view.review-fullscreen .individual-header{position:sticky;top:0;z-index:6;background:#f4f5f7;padding:.35rem 0 .5rem;border-bottom:2px solid var(--vx-gold)}.individual-view.review-fullscreen .review-nav{position:fixed}.individual-view.review-fullscreen .review-nav-prev{left:14px}.individual-view.review-fullscreen .review-nav-next{right:14px}.individual-view.review-fullscreen .individual-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:1200px;margin:0 auto}.individual-card{border:1px solid #dbe8fa;border-radius:8px;padding:.75rem;background:#f9fcff}.individual-card-wide{grid-column:1 / -1}.individual-card h4{margin:0 0 .55rem}.individual-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem}.individual-card-head h4{margin:0}.individual-card-actions{display:flex;gap:.35rem;flex-wrap:wrap}.catastro-mini-map{height:220px;width:100%;border:1px solid #dbe8fa;border-radius:8px;margin:.5rem 0;z-index:0}.portfolio-map-panel{border:1px solid #e6dcc2;border-radius:10px;background:#fff;padding:.65rem .75rem .75rem;margin-bottom:.75rem}.portfolio-map-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;margin-bottom:.5rem}.portfolio-map-meta{font-size:.82rem;color:#6b6457}.portfolio-map-legend{display:flex;flex-wrap:wrap;gap:.3rem .7rem;margin-left:auto}.portfolio-legend-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;color:#4b4b46}.portfolio-legend-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(20,20,20,.35)}.portfolio-map{height:460px;width:100%;border:1px solid #d1dcec;border-radius:8px;z-index:0}.portfolio-popup-open{margin-top:4px;border:1px solid var(--vx-gold);background:var(--vx-gold);color:var(--vx-ink);border-radius:5px;padding:.2rem .55rem;font-weight:600;cursor:pointer}.individual-card p{margin:.2rem 0;font-size:.84rem}.individual-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:.6rem .75rem}.individual-sections{display:flex;flex-direction:column;gap:.85rem}.individual-editor-section{border:1px solid #dbe8fa;border-radius:8px;background:#f8fbff;padding:.75rem}.individual-editor-section h5{margin:0 0 .65rem;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:#35506f}.individual-editor-field{display:flex;flex-direction:column;gap:.28rem}.individual-editor-field>span{font-size:.76rem;color:#436081}.individual-kpis{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.3rem .8rem;margin-bottom:.6rem}.individual-comps-table-wrap{overflow-x:auto}.individual-comps-table{width:100%;border-collapse:collapse;font-size:.8rem}.individual-comps-table th,.individual-comps-table td{border-bottom:1px solid #dbe8fa;text-align:left;padding:.35rem .4rem}.individual-comps-table a{color:var(--vx-gold-deep);text-decoration:none}.individual-comps-table a:hover{text-decoration:underline}.add-row-panel{background:#faf7ef;border:1.5px solid var(--vx-gold);border-radius:8px;padding:1rem;margin-bottom:1rem}.add-row-panel h3{margin:0 0 .75rem;font-size:.95rem}.add-row-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;margin-bottom:.75rem}.add-row-field{display:flex;flex-direction:column;font-size:.78rem;color:#445;gap:.2rem}.attachment-drawer{position:fixed;right:0;top:0;bottom:0;width:380px;background:#fff;border-left:2px solid #c0cfdf;box-shadow:-4px 0 20px #0000001f;z-index:100;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.attachment-drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#667}.attachment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.attachment-item{background:#f5f8fc;border:1px solid #d1dcec;border-radius:6px;padding:.5rem .7rem;font-size:.82rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.attach-meta{color:#889}.no-attach{color:#aaa;font-size:.82rem}.attachment-actions{display:flex;gap:.5rem}.attachment-actions a{font-size:.78rem;color:var(--vx-gold-deep);text-decoration:none}.attachment-actions a:hover{text-decoration:underline}.attach-upload-form{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid #d1dcec;padding-top:.75rem}.upload-input{padding:.3rem .5rem;border:1px solid #c0cfdf;border-radius:5px;font-size:.8rem}.upload-button{padding:.35rem .7rem;background:var(--vx-gold);color:var(--vx-ink);border:none;border-radius:5px;cursor:pointer;font-size:.82rem;font-weight:600;align-self:flex-start}.comparable-drawer{position:fixed;right:390px;top:0;bottom:0;width:480px;background:#fff;border-left:2px solid #c0cfdf;box-shadow:-4px 0 20px #0000001f;z-index:101;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.valuation-panel{border:1px solid #e6dcc2;border-radius:8px;background:#faf7ef;padding:.7rem}.valuation-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.5rem}.valuation-grid div{display:flex;flex-direction:column;gap:.15rem}.valuation-grid span{font-size:.72rem;color:#59708d}.valuation-grid strong{font-size:.84rem}.valuation-subline{margin:.65rem 0 0;font-size:.76rem;color:#3f5876}.comparable-form{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;border-top:1px solid #d1dcec;padding-top:.75rem}.comparable-form .upload-button{grid-column:1 / -1}.comparable-list{display:flex;flex-direction:column;gap:.5rem}.comparable-card{border:1px solid #d1dcec;border-radius:10px;padding:.7rem;background:#f9fcff;display:flex;flex-direction:column;gap:.45rem}.comparable-photo{width:88px;height:66px;object-fit:cover;border-radius:6px;border:1px solid #d1dcec}.comparable-meta p{margin:.18rem 0;font-size:.76rem;color:#486280}@media (max-width: 1200px){.individual-grid{grid-template-columns:1fr}.individual-editor-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.comparable-drawer{right:0;width:100%;max-width:560px}.attachment-drawer{right:0;width:100%;max-width:420px;z-index:102}}@media (max-width: 760px){.individual-header{flex-direction:column}.individual-editor-grid,.individual-kpis{grid-template-columns:1fr}}@media print{@page{size:A3 landscape;margin:10mm 12mm}html,body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}*{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}.shell{padding:0!important;max-width:none!important}.shell>header,.app-tabs,.desk-toolbar,.desk-actions,.desk-btn,.risk-sort-btn,.attachment-drawer,.comparable-drawer,.drawer-close,.add-row-panel,.desk-err,.desk-ok,.url-open,.row-view-btn{display:none!important}.assets-desk{margin-top:0!important}.assets-desk.list-print .desk-table-wrapper,.assets-desk.detail-print .individual-view{border:none!important;border-radius:0!important;overflow:visible!important;max-height:none!important}.assets-desk.list-print .desk-table-wrapper{width:100%!important}.assets-desk.list-print .desk-table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:6.8pt}.assets-desk.list-print .desk-table thead th{position:static!important;background:#000!important;color:#fff!important;padding:3px 4px!important;font-size:7pt}.assets-desk.list-print .desk-table td{padding:2px 3px!important;border-bottom:1px solid #000!important;vertical-align:top;white-space:normal;word-break:break-word}.assets-desk.list-print .desk-table thead th:nth-child(1),.assets-desk.list-print .desk-table tbody td:nth-child(1){width:3.5%}.assets-desk.list-print .desk-table thead th:nth-child(2),.assets-desk.list-print .desk-table tbody td:nth-child(2){width:3.5%}.assets-desk.list-print .desk-table thead th:nth-child(3),.assets-desk.list-print .desk-table tbody td:nth-child(3){width:5.5%}.assets-desk.list-print .desk-table thead th:nth-child(4),.assets-desk.list-print .desk-table tbody td:nth-child(4){width:11%}.assets-desk.list-print .desk-table thead th:nth-child(5),.assets-desk.list-print .desk-table tbody td:nth-child(5){width:7%}.assets-desk.list-print .desk-table thead th:nth-child(6),.assets-desk.list-print .desk-table tbody td:nth-child(6){width:6%}.assets-desk.list-print .desk-table thead th:nth-child(7),.assets-desk.list-print .desk-table tbody td:nth-child(7){width:4%}.assets-desk.list-print .desk-table thead th:nth-child(8),.assets-desk.list-print .desk-table tbody td:nth-child(8){width:7.5%}.assets-desk.list-print .desk-table thead th:nth-child(9),.assets-desk.list-print .desk-table tbody td:nth-child(9){width:4%}.assets-desk.list-print .desk-table thead th:nth-child(10),.assets-desk.list-print .desk-table tbody td:nth-child(10){width:4.25%}.assets-desk.list-print .desk-table thead th:nth-child(11),.assets-desk.list-print .desk-table tbody td:nth-child(11){display:none!important}.assets-desk.list-print .desk-table thead th:nth-child(12),.assets-desk.list-print .desk-table tbody td:nth-child(12){width:4.75%}.assets-desk.list-print .desk-table thead th:nth-child(13),.assets-desk.list-print .desk-table tbody td:nth-child(13){width:4.75%}.assets-desk.list-print .desk-table thead th:nth-child(14),.assets-desk.list-print .desk-table tbody td:nth-child(14){width:4.75%}.assets-desk.list-print .desk-table thead th:nth-child(15),.assets-desk.list-print .desk-table tbody td:nth-child(15){width:4%}.assets-desk.list-print .desk-table thead th:nth-child(16),.assets-desk.list-print .desk-table tbody td:nth-child(16){width:4%}.assets-desk.list-print .desk-table thead th:nth-child(17),.assets-desk.list-print .desk-table tbody td:nth-child(17){width:6%}.assets-desk.list-print .desk-table thead th:nth-child(18),.assets-desk.list-print .desk-table tbody td:nth-child(18){width:3%}.assets-desk.list-print .desk-table thead th:nth-child(19),.assets-desk.list-print .desk-table tbody td:nth-child(19){width:20%}.assets-desk.list-print .desk-table thead th:nth-child(20),.assets-desk.list-print .desk-table tbody td:nth-child(20){width:11%}.assets-desk.list-print .desk-table thead th:nth-child(21),.assets-desk.list-print .desk-table tbody td:nth-child(21){width:16%}.assets-desk.list-print .desk-table thead th:nth-child(22),.assets-desk.list-print .desk-table tbody td:nth-child(22),.assets-desk.list-print .desk-table thead th:nth-child(23),.assets-desk.list-print .desk-table tbody td:nth-child(23){display:none!important}.assets-desk.list-print .desk-table thead th:nth-child(19),.assets-desk.list-print .desk-table tbody td:nth-child(19),.assets-desk.list-print .desk-table thead th:nth-child(20),.assets-desk.list-print .desk-table tbody td:nth-child(20),.assets-desk.list-print .desk-table thead th:nth-child(21),.assets-desk.list-print .desk-table tbody td:nth-child(21){white-space:normal;line-height:1.18}.assets-desk.list-print .desk-table tbody tr{break-inside:avoid;page-break-inside:avoid}.assets-desk.list-print .col-actions{display:none!important}.assets-desk.list-print .col-risk{width:22px!important}.assets-desk.list-print .risk-cell-stack{gap:.15rem}.assets-desk.list-print .risk-dot{border:1px solid #000}.assets-desk.list-print .desk-cell-input,.assets-desk.list-print .desk-cell-textarea,.assets-desk.list-print select,.assets-desk.list-print input,.assets-desk.list-print textarea{border:none!important;background:transparent!important;color:#000!important;padding:0!important;font:inherit!important;min-height:0!important;resize:none!important}.assets-desk.list-print .desk-cell-input:focus,.assets-desk.list-print .desk-cell-textarea:focus{outline:none!important}.assets-desk.list-print .pid-badge{color:#000!important;font-weight:700}.assets-desk.detail-print .individual-view{padding:0!important;page-break-after:always;break-after:page}.assets-desk.detail-print .individual-header{margin-bottom:.4rem;padding-bottom:.3rem;border-bottom:1px solid #000}.assets-desk.detail-print .individual-header h3{font-size:14pt}.assets-desk.detail-print .individual-header p{color:#000!important;font-size:9pt}.assets-desk.detail-print .individual-actions{display:none!important}.assets-desk.detail-print .individual-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8px}.assets-desk.detail-print .individual-card{background:#fff!important;border:1px solid #000!important;border-radius:0!important;padding:8px 10px!important;break-inside:avoid;page-break-inside:avoid}.assets-desk.detail-print .individual-card h4,.assets-desk.detail-print .individual-editor-section h5{color:#000!important}.assets-desk.detail-print .individual-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}.assets-desk.detail-print .individual-editor-section{border:1px solid #000!important;background:#fff!important;padding:8px 9px!important;break-inside:avoid;page-break-inside:avoid}.assets-desk.detail-print .individual-sections{gap:6px}.assets-desk.detail-print .individual-editor-field>span,.assets-desk.detail-print .individual-card p,.assets-desk.detail-print .individual-kpis,.assets-desk.detail-print .individual-comps-table{color:#000!important;font-size:9pt}.assets-desk.detail-print .individual-editor-field .desk-cell-input,.assets-desk.detail-print .individual-editor-field .desk-cell-textarea,.assets-desk.detail-print .individual-editor-field select,.assets-desk.detail-print .individual-editor-field input,.assets-desk.detail-print .individual-editor-field textarea{border:none!important;border-bottom:1px solid #000!important;border-radius:0!important;background:transparent!important;color:#000!important;padding:0!important;font-size:9pt!important;line-height:1.25!important;width:100%!important}.assets-desk.detail-print .individual-comps-table-wrap{overflow:visible!important}.assets-desk.detail-print .individual-comps-table{width:100%!important;font-size:8pt}.assets-desk.detail-print .individual-comps-table th,.assets-desk.detail-print .individual-comps-table td{border-bottom:1px solid #000!important;padding:3px 4px!important}.assets-desk.detail-print .individual-comps-table a{color:#000!important;text-decoration:none!important}.assets-desk.detail-print .individual-comps-table tr{break-inside:avoid;page-break-inside:avoid}.assets-desk.detail-print .desk-cell-input:focus,.assets-desk.detail-print .desk-cell-textarea:focus{outline:none!important}.assets-desk.detail-print .desk-empty{padding:.5rem 0;color:#000!important}.assets-desk.detail-print .desk-table-wrapper,.assets-desk.detail-print .desk-table{display:none!important}}.comparable-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 .3rem}.comparable-source-tag{font-size:.74rem;color:#486280;font-weight:600}.comparable-refresh-msg{font-size:.76rem;color:#2c5d8f;background:#eef6ff;border:1px solid #cfe2f7;border-radius:6px;padding:.4rem .55rem;margin:.2rem 0 .6rem}.comparable-map-panel{margin:.6rem 0}.comparable-map-panel h4{margin:0 0 .4rem;display:flex;align-items:baseline;gap:.5rem}.comparable-map-panel .map-count{font-size:.72rem;font-weight:500;color:#6b809c}.comparable-leaflet{width:100%;height:280px;border-radius:10px;border:1px solid #d1dcec;overflow:hidden;z-index:0}.comparable-map-note{font-size:.74rem;color:#6b809c;margin:.35rem 0 0}.comparable-card-head{display:flex;align-items:center;gap:.5rem}.comparable-title{font-size:.86rem;color:#13233a;text-decoration:none;flex:1;min-width:0}.comparable-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-del{flex:0 0 auto;padding:.1rem .4rem}.match-badge{flex:0 0 auto;font-size:.68rem;font-weight:700;padding:.12rem .42rem;border-radius:999px;color:#fff;white-space:nowrap}.match-badge.high{background:#1f9d57}.match-badge.mid{background:#d99514}.match-badge.low{background:#9aa7b8}.comparable-price{margin:0;font-size:.92rem;font-weight:700;color:#13233a}.comparable-price .comparable-source{font-size:.72rem;font-weight:500;color:#6b809c}.comparable-loc{margin:0;font-size:.76rem;color:#486280}.comparable-desc{margin:.1rem 0 0;font-size:.74rem;color:#5a6f8c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.comparable-note{margin:0;font-size:.73rem;color:#6b809c}.comparable-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.3rem .5rem;margin:.25rem 0}.comparable-specs>div{background:#eef4fc;border-radius:6px;padding:.28rem .4rem}.comparable-specs dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:#7787a0;margin:0}.comparable-specs dd{margin:0;font-size:.78rem;font-weight:600;color:#1d345a}.comp-gallery{display:flex;flex-direction:column;gap:.3rem}.comp-gallery-main{position:relative;width:100%;aspect-ratio:16 / 10;background:#e7eef7;border-radius:8px;overflow:hidden}.comp-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.comp-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;border-radius:50%;background:#13233a8c;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}.comp-gallery-nav.prev{left:6px}.comp-gallery-nav.next{right:6px}.comp-gallery-nav:hover{background:#13233acc}.comp-gallery-count{position:absolute;bottom:6px;right:8px;font-size:.66rem;color:#fff;background:#13233a99;padding:.05rem .35rem;border-radius:999px}.comp-gallery-thumbs{display:flex;gap:.25rem;overflow-x:auto}.comp-gallery-thumbs img{width:46px;height:34px;object-fit:cover;border-radius:4px;border:2px solid transparent;cursor:pointer;opacity:.75;flex:0 0 auto}.comp-gallery-thumbs img.active{border-color:#2c7be5;opacity:1}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--vx-charcoal-2) 0%,var(--vx-charcoal) 60%,#1e1a0e 100%)}.login-card{background:#fff;border-radius:16px;padding:2.5rem 2.25rem 2rem;width:100%;max-width:400px;box-shadow:0 24px 64px #00000073;display:flex;flex-direction:column;align-items:center}.login-logo{height:56px;margin-bottom:1.25rem}.login-title{margin:0 0 .2rem;font-size:1.25rem;font-weight:700;color:var(--vx-charcoal);text-align:center}.login-subtitle{margin:0 0 1.75rem;font-size:.9rem;color:#6b7280;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.35rem}.login-field label{font-size:.82rem;font-weight:600;color:var(--vx-charcoal);text-transform:uppercase;letter-spacing:.05em}.login-field input{padding:.6rem .85rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .15s}.login-field input:focus{border-color:var(--vx-gold);box-shadow:0 0 0 3px #c99a2e26}.login-error{margin:0;font-size:.85rem;color:#b42318;font-weight:500}.login-btn{margin-top:.5rem;padding:.7rem 1rem;background:var(--vx-gold);color:var(--vx-charcoal);font-weight:700;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--vx-gold-bright)}.login-btn:disabled{opacity:.6;cursor:default}.app-header-user{margin-left:auto;display:flex;align-items:center;gap:.75rem}.app-user-name{font-size:.85rem;color:#888;font-weight:500}.btn-logout{padding:.3rem .8rem;border:1.5px solid #d1d5db;border-radius:6px;background:transparent;font-size:.82rem;font-weight:600;cursor:pointer;color:#555;transition:border-color .15s,color .15s}.btn-logout:hover{border-color:#b42318;color:#b42318}.admin-page{padding:1.5rem 0}.admin-header{display:flex;align-items:center;gap:2rem;margin-bottom:1.5rem}.admin-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--vx-charcoal)}.admin-tabs{display:flex;gap:.5rem}.admin-toolbar{margin-bottom:1rem}.admin-loading{color:#888;font-size:.9rem}.admin-form{background:#f9f7f2;border:1px solid #e6dcc2;border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.admin-form h3{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--vx-charcoal)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem}.admin-checkbox{justify-content:flex-end;padding-top:.5rem}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;padding:.5rem .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--vx-gold-deep);border-bottom:2px solid #e6dcc2;background:#faf8f3}.admin-table td{padding:.55rem .75rem;border-bottom:1px solid #f0ebe0;vertical-align:middle}.admin-table tr:hover td{background:#fdf9f0}.admin-inline-input{width:100%;padding:.3rem .5rem;border:1.5px solid #d1d5db;border-radius:6px;font-size:.85rem}.admin-inline-check{font-size:.85rem;display:flex;align-items:center;gap:.3rem}.admin-detail{font-size:.78rem;color:#666;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-gold{padding:.45rem 1rem;background:var(--vx-gold);color:var(--vx-charcoal);font-weight:700;font-size:.85rem;border:none;border-radius:7px;cursor:pointer;transition:background .15s}.btn-gold:hover{background:var(--vx-gold-bright)}.btn-sm{padding:.25rem .65rem;font-size:.8rem;font-weight:600;border:1.5px solid #d1d5db;border-radius:5px;background:#fff;cursor:pointer;transition:border-color .15s}.btn-sm:hover{border-color:var(--vx-gold)}.btn-danger{border-color:#f0c0bb;color:#b42318}.btn-danger:hover{border-color:#b42318;background:#fff5f5}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-admin{background:#fef3c7;color:#92400e}.badge-user{background:#e0f2fe;color:#0369a1}.badge-active{background:#d1fae5;color:#065f46}.badge-inactive{background:#fee2e2;color:#991b1b}.action-login{background:#d1fae5;color:#065f46}.action-logout{background:#e0f2fe;color:#0369a1}.action-create{background:#fef3c7;color:#92400e}.action-update{background:#ede9fe;color:#5b21b6}.action-delete{background:#fee2e2;color:#991b1b}
