:root { color: #183047; background: #f3f6f8; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #f3f6f8; }
.purchase-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.purchase-heading p { margin-bottom: 0; }.purchase-heading > b { padding: 9px 11px; color: #fff; background: #173b60; border-radius: 8px; font-size: 15px; white-space: nowrap; }.purchase-summary { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.purchase-summary article { padding: 13px; background: #fff; border: 1px solid #dce4ea; border-radius: 9px; }.purchase-summary article span { display: block; color: #718294; font-size: 10px; font-weight: 850; text-transform: uppercase; }.purchase-summary article b { display: block; overflow: hidden; margin-top: 5px; color: #173b60; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }.purchase-summary .is-total { background: #173b60; border-color: #173b60; }.purchase-summary .is-total span, .purchase-summary .is-total b { color: #fff; }.purchase-form { margin-top: 18px; padding: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }.purchase-form label { display: grid; gap: 5px; color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .2px; }.purchase-form input, .purchase-form textarea { width: 100%; padding: 9px 10px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }.purchase-form textarea { min-height: 70px; resize: vertical; }.purchase-wide { grid-column: span 3; }.purchase-actions { grid-column: span 3; display: flex; justify-content: flex-end; }.purchase-actions button { padding: 10px 14px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.sale-finance { margin-bottom: 28px; }.sale-tax-note { margin: 12px 0 -6px; padding: 10px 12px; color: #526f89; background: #f7fafc; border-left: 3px solid #d2a537; border-radius: 5px; font-size: 12px; line-height: 1.45; }
.sale-deduction-block, .monthly-expenses-block { margin-top: 18px; padding: 16px; background: #f8fbfd; border: 1px solid #dce6ed; border-radius: 10px; }.sale-deduction-head span, .monthly-expenses-head span { color: #8a6a20; font-size: 10px; font-weight: 900; letter-spacing: .6px; }.sale-deduction-head h3, .monthly-expenses-head h3 { margin: 4px 0; color: #173b60; font-size: 16px; }.sale-deduction-head p, .monthly-expenses-head p { margin: 0; color: #61778a; font-size: 12px; line-height: 1.45; }.sale-deduction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }.sale-deduction-grid article { padding: 12px; background: #fff; border: 1px solid #dce4ea; border-radius: 8px; }.sale-deduction-grid span, .sale-deduction-grid small { display: block; color: #718294; font-size: 10px; font-weight: 800; }.sale-deduction-grid b { display: block; margin: 5px 0; color: #173b60; font-size: 18px; }.sale-topic-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }.sale-topic-list > div { padding: 8px 10px; display: grid; grid-template-columns: auto auto; gap: 2px 10px; align-items: center; background: #fff; border: 1px solid #e0e7ec; border-radius: 7px; }.sale-topic-list span { color: #526f89; font-size: 11px; font-weight: 800; }.sale-topic-list b { color: #173b60; font-size: 12px; }.sale-topic-list small { grid-column: span 2; color: #8796a3; font-size: 10px; }.sale-topic-list > p { margin: 0; color: #718294; font-size: 12px; }.monthly-expenses-block { margin-top: 14px; background: #fffdf7; border-color: #eadfbc; }.monthly-expense-form { margin-top: 14px; display: grid; grid-template-columns: 120px minmax(180px, 1.5fr) minmax(120px, .8fr) minmax(150px, 1fr) 105px auto; gap: 9px; align-items: end; }.monthly-expense-form label { display: grid; gap: 4px; color: #63798c; font-size: 10px; font-weight: 850; }.monthly-expense-form input, .monthly-expense-form select { width: 100%; min-height: 35px; padding: 7px 8px; color: #173b60; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; }.monthly-expense-form .monthly-check { min-height: 35px; padding: 8px; display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; white-space: nowrap; }.monthly-expense-form .monthly-check input { width: auto; min-height: auto; }.monthly-expense-form .monthly-notes { grid-column: span 4; }.monthly-expense-form button { min-height: 35px; padding: 8px 11px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }.monthly-expense-list { margin-top: 12px; display: grid; gap: 7px; }.monthly-expense-row { padding: 10px 11px; display: grid; grid-template-columns: minmax(220px, 1fr) 110px 145px auto; align-items: center; gap: 10px; background: #fff; border: 1px solid #e2e8ed; border-radius: 7px; }.monthly-expense-row > div:first-child { min-width: 0; }.monthly-expense-row b { color: #173b60; font-size: 13px; }.monthly-expense-row span { display: block; overflow: hidden; margin-top: 2px; color: #718294; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.monthly-expense-row label { display: flex; align-items: center; gap: 5px; color: #65798b; font-size: 11px; white-space: nowrap; }.monthly-expense-row > div:last-child { display: flex; gap: 5px; }.monthly-expense-row button { padding: 6px 8px; color: #315573; background: #f2f6f8; border: 1px solid #cfdae2; border-radius: 5px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }.monthly-expense-row .monthly-delete { color: #a94843; }.monthly-empty { padding: 12px; color: #718294; background: #fff; border: 1px dashed #d5dde3; border-radius: 7px; font-size: 12px; }
.properties-topbar { min-height: 70px; padding: 10px max(24px, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #173b60; }
.properties-brand { width: 94px; height: 48px; padding: 5px 7px; display: grid; place-items: center; background: #fff; border-radius: 7px; }
.properties-brand img { width: 100%; height: 100%; object-fit: contain; }
.properties-topbar nav { display: flex; gap: 9px; }
.properties-topbar nav a { padding: 9px 12px; color: #fff; border-radius: 8px; font-size: 14px; font-weight: 750; text-decoration: none; }
.properties-topbar nav a:hover { background: rgba(255,255,255,.14); }
.properties-shell { width: min(1100px, calc(100% - 40px)); margin: 34px auto 60px; }
.properties-heading p, .property-detail header p { margin: 0 0 6px; color: #718294; font-size: 11px; font-weight: 850; letter-spacing: 1.1px; }
.properties-heading h1 { margin: 0; color: #173b60; font-size: 32px; }
.properties-heading span { display: block; margin-top: 6px; color: #6c7b89; }
.property-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.property-card.property-card-model { min-height: 210px; background: linear-gradient(110deg, #ffffff 0%, #f4f8fb 100%); }
.property-model-note { display: inline-block !important; margin: 0 !important; padding: 7px 11px; border-radius: 999px; background: #e5f4eb; color: #28734f !important; font-size: 11px !important; font-weight: 850; letter-spacing: .15px; white-space: nowrap; }
.property-card { min-height: 210px; padding: 22px; display: flex; flex-direction: column; color: #183047; background: #fff; border: 1px solid #dce4ea; border-radius: 14px; box-shadow: 0 3px 13px rgba(25,48,71,.05); text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.property-card:hover, .property-card.is-selected { border-color: #7898b4; transform: translateY(-2px); }
.property-label { color: #718294; font-size: 10px; font-weight: 850; letter-spacing: .75px; }
.property-card h2 { margin: 9px 0 4px; color: #173b60; font-size: 21px; }
.property-card p { margin: 0; color: #6c7b89; font-size: 13px; }
.property-card footer { margin-top: auto; padding-top: 22px; color: #6c7b89; font-size: 13px; }
.property-card footer strong { color: #2f9366; font-size: 22px; }
.property-card footer b { float: right; color: #526f89; }
.property-detail { margin-top: 22px; overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 14px; box-shadow: 0 3px 13px rgba(25,48,71,.05); }
.property-detail > header { padding: 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; background: #f8fafb; border-bottom: 1px solid #dce4ea; }
.property-detail h2 { margin: 0; color: #173b60; font-size: 24px; }
.property-detail header span { display: block; margin-top: 5px; color: #6c7b89; font-size: 13px; }
.property-detail header a { padding: 9px 11px; color: #526f89; background: #fff; border: 1px solid #dce4ea; border-radius: 7px; font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.property-tools { width: 100%; padding: 18px 22px 0; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
.property-tools button { padding: 10px 14px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.property-tools button.is-active, .property-tools button:hover { color: #fff; background: #173b60; border-color: #173b60; }
.property-tool-content { min-height: 130px; margin: 18px 22px 22px; padding: 22px; background: #f6f9fb; border: 1px solid #dce4ea; border-radius: 10px; }
.model-guide > header span { color: #6b8297; font-size: 10px; font-weight: 850; letter-spacing: .9px; }
.model-guide > header h3 { margin: 6px 0; color: #173b60; font-size: 22px; }
.model-guide > header p { max-width: 680px; margin: 0 0 20px; color: #65778a; font-size: 14px; line-height: 1.5; }
.model-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.model-guide-step { display: grid; grid-template-columns: 34px minmax(0, 1fr) 16px; align-items: center; gap: 11px; min-height: 102px; padding: 15px; color: #193b5e; background: #fff; border: 1px solid #d9e4ec; border-radius: 10px; font: inherit; text-align: left; cursor: pointer; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.model-guide-step:hover { border-color: #7d9bb6; box-shadow: 0 6px 16px rgba(23,59,96,.08); transform: translateY(-1px); }
.model-guide-step > span { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: #597b98; border-radius: 50%; font-size: 11px; font-weight: 850; }
.model-guide-step b { display: block; font-size: 14px; }
.model-guide-step p { margin: 4px 0 0; color: #6b7c8c; font-size: 12px; line-height: 1.35; }
.model-guide-step em { color: #7891a8; font-size: 25px; font-style: normal; font-weight: 400; }
.property-tool-content strong { color: #173b60; font-size: 17px; }
.property-tool-content p { max-width: 600px; margin: 8px 0 0; color: #6c7b89; line-height: 1.5; }
.reform-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.reform-heading p { margin: 6px 0 0; }
.expense-kpis { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.expense-kpis article { min-width: 0; padding: 13px; background: #fff; border: 1px solid #dce4ea; border-radius: 9px; }
.expense-kpis span { display: block; color: #718294; font-size: 10px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.expense-kpis b { display: block; overflow: hidden; margin-top: 5px; color: #173b60; font-size: 20px; text-overflow: ellipsis; white-space: nowrap; }
.expense-kpis small { display: block; overflow: hidden; margin-top: 4px; color: #718294; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.expense-category-summary { margin-top: 15px; padding: 13px; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.expense-category-summary > span { display: block; margin-bottom: 9px; color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.expense-category-summary > div { display: flex; flex-wrap: wrap; gap: 7px; }
.expense-category-summary button { padding: 7px 9px; color: #526f89; background: #f7fafc; border: 1px solid #d5e0e8; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.expense-category-summary button:hover, .expense-category-summary button.is-active { color: #fff; background: #173b60; border-color: #173b60; }
.expense-category-summary button b { margin-left: 4px; font-weight: 850; }.expense-category-summary button small { margin-left: 4px; opacity: .8; }
.expense-quick-actions { margin-top: 16px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.expense-search { flex: 1; min-width: 0; }.expense-search > label { display: block; margin-bottom: 5px; color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }.expense-search > div { display: flex; gap: 7px; }.expense-search input { min-width: 0; flex: 1; padding: 10px 11px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }.expense-search button, .albano-open { padding: 10px 13px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }.expense-search button[type="button"] { color: #526f89; background: #e7eef3; }.albano-open { background: #28734f; }.albano-open:hover, .albano-open.is-open { background: #1f5d40; }.expense-search-result { margin: 10px 0 0 !important; color: #526f89 !important; font-size: 12px !important; }
.albano-purchase { margin-top: 15px; overflow: hidden; background: #f3fbf6; border: 1px solid #b8dcc5; border-radius: 10px; }.albano-purchase > header { padding: 14px 16px; display: flex; justify-content: space-between; gap: 16px; background: #e5f4eb; border-bottom: 1px solid #cce7d5; }.albano-purchase header span, .expense-documents-panel header span { color: #28734f; font-size: 10px; font-weight: 900; letter-spacing: .8px; }.albano-purchase h3, .expense-documents-panel h3 { margin: 3px 0 0; color: #173b60; font-size: 17px; }.albano-purchase header p { margin: 4px 0 0; color: #5e7682; font-size: 12px; }.albano-purchase > header button, .expense-documents-panel > header button { width: 30px; height: 30px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 50%; font: inherit; font-size: 18px; cursor: pointer; }.albano-form { margin: 0; border: 0; border-radius: 0; }.invoice-upload small { color: #718294; font-size: 10px; font-weight: 650; line-height: 1.35; }.invoice-upload input[type="file"] { padding: 7px; }
.expense-documents-panel { margin-top: 15px; padding: 14px; background: #fff; border: 1px solid #d2e0e9; border-radius: 10px; }.expense-documents-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.expense-document-list { margin-top: 12px; overflow: hidden; border: 1px solid #e0e8ee; border-radius: 8px; }.expense-document-list > div { padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto auto; align-items: center; gap: 8px; border-bottom: 1px solid #e5ebef; }.expense-document-list > div:last-child { border-bottom: 0; }.expense-document-list b { overflow: hidden; color: #183047; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.expense-document-list span { color: #718294; font-size: 11px; }.expense-document-list a, .expense-document-list button, .expense-document-upload button { padding: 7px 8px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 11px; font-weight: 750; text-decoration: none; cursor: pointer; }.expense-document-list button { color: #b35353; }.expense-document-upload { margin-top: 12px; display: flex; align-items: end; gap: 10px; }.expense-document-upload label { flex: 1; display: grid; gap: 5px; color: #526f89; font-size: 11px; font-weight: 850; }.expense-document-upload input { padding: 7px; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; }
.expense-view-tools { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.expense-view-tools > span { color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.expense-view-tools > div { display: flex; align-items: center; gap: 7px; }.expense-view-tools button, .expense-view-tools select { padding: 8px 10px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }.expense-view-tools button.is-active { color: #fff; background: #173b60; border-color: #173b60; }
.reform-total { min-width: 145px; padding: 10px 12px; text-align: right; background: #fff; border: 1px solid #dce4ea; border-radius: 9px; }
.reform-total span { display: block; color: #718294; font-size: 11px; font-weight: 800; }
.reform-total b { display: block; margin-top: 3px; color: #173b60; font-size: 20px; }
.expense-form { margin-top: 20px; padding: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.expense-form label { display: grid; gap: 5px; color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .2px; }
.expense-form input, .expense-form textarea, .expense-form select { width: 100%; padding: 9px 10px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }
.expense-form textarea { min-height: 62px; resize: vertical; }
.expense-description { grid-column: span 2; }.expense-notes { grid-column: span 3; }.expense-actions { align-self: end; display: flex; gap: 8px; }
.expense-save, .expense-cancel { padding: 10px 13px; border: 0; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.expense-save { color: #fff; background: #173b60; }.expense-cancel { color: #526f89; background: #e7eef3; }
.expense-list { margin-top: 16px; display: grid; gap: 14px; }
.expense-category-group { overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.expense-category-group > header { padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #edf3f7; border-bottom: 1px solid #dce4ea; }
.expense-category-group > header span { display: block; color: #718294; font-size: 9px; font-weight: 850; letter-spacing: .7px; }
.expense-category-group > header b { display: block; margin-top: 2px; color: #173b60; font-size: 15px; }
.expense-category-group > header strong { color: #52708a; font-size: 12px; white-space: nowrap; }
.expense-row { padding: 12px 14px; display: grid; grid-template-columns: minmax(0, 1fr) 130px auto auto auto; align-items: center; gap: 8px; border-bottom: 1px solid #e5ebef; }
.expense-row:last-child { border-bottom: 0; }.expense-row b { display: block; color: #183047; font-size: 14px; }.expense-row span { display: block; margin-top: 3px; color: #718294; font-size: 12px; }
.expense-value { text-align: right; }.expense-value b { color: #173b60; }.expense-value small { display: block; margin-top: 3px; color: #718294; font-size: 11px; }
.expense-category { padding: 2px 5px; color: #466d90; background: #e7f0f8; border-radius: 4px; font: inherit; font-size: 11px; }
.expense-status { font-weight: 800; }.expense-status.is-paid { color: #24714f; }.expense-status.is-budget { color: #9a6a09; }
.expense-row button { padding: 7px 9px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }.expense-row button:last-child { color: #b35353; }
.expense-details { margin-top: 6px; color: #607789; font-size: 11px; }.expense-details summary { width: max-content; color: #456d90; font-weight: 800; cursor: pointer; }.expense-details p { margin: 5px 0 0; line-height: 1.45; }
.empty-expenses { padding: 20px; color: #718294; font-size: 13px; }
.registry-heading { padding-bottom: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border-bottom: 1px solid #dce4ea; }.registry-heading p { margin-bottom: 0; }.registry-heading > b { padding: 7px 10px; color: #a06b08; background: #fff4cf; border-radius: 7px; font-size: 12px; white-space: nowrap; }
.registry-list { margin-top: 16px; overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }.registry-row { padding: 14px; display: flex; align-items: flex-start; gap: 12px; border-bottom: 1px solid #e5ebef; }.registry-row:last-child { border-bottom: 0; }.registry-row > div { min-width: 0; }.registry-row b { display: block; color: #183047; font-size: 14px; }.registry-row p { margin: 4px 0; color: #5f7181; font-size: 13px; line-height: 1.4; }.registry-row small { color: #7c8c99; font-size: 11px; }.registry-status { flex: 0 0 auto; padding: 5px 7px; color: #8c5f09; background: #fff4cf; border-radius: 6px; font-size: 10px; font-weight: 850; }.registry-status.is-done { color: #24714f; background: #dff3e8; }.registry-status.is-review { color: #466d90; background: #e4eff9; }
.labor-add { padding: 9px 12px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.labor-list { margin-top: 16px; display: grid; gap: 10px; }
.labor-card { padding: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: start; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.labor-avatar { width: 42px; height: 42px; display: grid; place-items: center; color: #173b60; background: #e7f0f8; border-radius: 50%; font-size: 16px; font-weight: 850; }
.labor-card b, .labor-card span, .labor-card small { display: block; }.labor-card b { color: #183047; font-size: 14px; }.labor-card span { margin-top: 2px; color: #526f89; font-size: 13px; }.labor-card small { margin-top: 4px; color: #718294; font-size: 11px; }.labor-card p { margin: 6px 0 0; color: #5f7181; font-size: 12px; }
.labor-actions { display: flex; align-items: center; gap: 6px; }.labor-actions button { padding: 7px 9px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }.labor-actions button:last-child { color: #b35353; }.labor-status { padding: 5px 7px; color: #8c5f09; background: #fff4cf; border-radius: 6px; font-size: 10px; font-style: normal; font-weight: 850; }.labor-status.is-active { color: #24714f; background: #dff3e8; }
.insurance-list { margin-top: 16px; display: grid; gap: 14px; }.insurance-card { overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }.insurance-top { padding: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; border-bottom: 1px solid #e5ebef; }.insurance-company { color: #526f89; font-size: 11px; font-weight: 850; letter-spacing: .6px; }.insurance-top h3 { margin: 4px 0 5px; color: #173b60; font-size: 18px; }.insurance-status { display: inline-block; padding: 4px 7px; color: #8c5f09; background: #fff4cf; border-radius: 5px; font-size: 10px; font-style: normal; font-weight: 850; }.insurance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }.insurance-actions a, .insurance-actions button { padding: 7px 9px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
.insurance-metrics { padding: 13px 15px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; background: #f8fafb; border-bottom: 1px solid #e5ebef; }.insurance-metrics div { min-width: 0; }.insurance-metrics span { display: block; color: #718294; font-size: 10px; font-weight: 850; text-transform: uppercase; }.insurance-metrics b { display: block; overflow: hidden; margin-top: 4px; color: #183047; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.insurance-detail { padding: 14px 15px; }.insurance-detail p { margin: 5px 0; color: #5f7181; font-size: 12px; line-height: 1.45; }.insurance-detail a { color: #2c688f; }.insurance-detail .insurance-note { margin-top: 10px; padding: 9px 10px; color: #835f12; background: #fff8dc; border-radius: 7px; }
.sales-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.sales-heading p { margin-bottom: 0; }.sales-add-agency, .sales-upload button { padding: 10px 13px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }.sales-upload { margin-top: 20px; padding: 14px; display: grid; grid-template-columns: 1.1fr 1.25fr 1.25fr 1.5fr auto; align-items: end; gap: 12px; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }.sales-upload label { display: grid; gap: 5px; color: #526f89; font-size: 11px; font-weight: 850; }.sales-upload select, .sales-upload input { width: 100%; padding: 9px 10px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }.sales-upload input[type="file"] { padding: 7px; }.sales-upload-help, .archive-upload-help { grid-column: 1 / -1; color: #718294; font-size: 11px; line-height: 1.35; }.sales-agencies { margin-top: 16px; display: grid; gap: 14px; }.sales-agency { overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }.sales-agency > header { padding: 13px 14px; display: flex; justify-content: space-between; align-items: center; background: #f8fafb; border-bottom: 1px solid #dce4ea; }.sales-agency header span { color: #718294; font-size: 10px; font-weight: 850; letter-spacing: .7px; }.sales-agency h3 { margin: 3px 0; color: #173b60; font-size: 17px; }.sales-agency small { color: #718294; font-size: 12px; }.sales-agency header button, .sales-document-actions button, .sales-document-actions a { padding: 7px 9px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }.sales-document-list { padding: 0 14px; }.sales-document { padding: 12px 0; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #e5ebef; }.sales-document:last-child { border: 0; }.sales-file-icon { padding: 8px 2px; color: #b35353; background: #fde9e9; border-radius: 6px; text-align: center; font-size: 10px; font-weight: 900; }.sales-document b { display: block; color: #183047; font-size: 14px; }.sales-document span { display: block; margin-top: 3px; color: #718294; font-size: 12px; }.sales-document-actions { display: flex; gap: 6px; }.sales-document-actions button:last-child { color: #b35353; }.sales-empty { padding: 14px; color: #718294; font-size: 13px; }
.sales-agency-actions { display: flex; gap: 6px; }.sales-agency header .sales-agency-delete { color: #b35353; border-color: #e9c7c7; }
.archive-host { margin-top: 22px; }
.archive-section { padding-top: 22px; border-top: 1px solid #dce4ea; }
.archive-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.archive-heading > div > span, .archive-folder header span { display: block; color: #718294; font-size: 10px; font-weight: 850; letter-spacing: .7px; }
.archive-heading h3 { margin: 3px 0 0; color: #173b60; font-size: 18px; }
.archive-heading p { margin: 5px 0 0; font-size: 12px; }
.archive-add-folder, .archive-upload button { padding: 10px 13px; color: #fff; background: #173b60; border: 0; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.archive-upload { margin-top: 16px; padding: 14px; display: grid; grid-template-columns: 1.1fr 1.2fr 1.2fr 1.5fr auto; align-items: end; gap: 12px; background: #f8fafb; border: 1px solid #dce4ea; border-radius: 10px; }
.archive-upload label { display: grid; gap: 5px; color: #526f89; font-size: 11px; font-weight: 850; }
.archive-upload select, .archive-upload input { width: 100%; padding: 9px 10px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }
.archive-upload input[type="file"] { padding: 7px; }
.archive-folders { margin-top: 15px; display: grid; gap: 12px; }
.archive-folder { overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.archive-folder > header { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #f8fafb; border-bottom: 1px solid #dce4ea; }
.archive-folder h3 { margin: 3px 0; color: #173b60; font-size: 16px; }
.archive-folder small { color: #718294; font-size: 12px; }
.archive-folder-actions, .archive-document-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.archive-folder-actions button, .archive-document-actions button, .archive-document-actions a { padding: 7px 9px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
.archive-folder-actions .archive-folder-delete, .archive-document-actions button:last-child { color: #b35353; border-color: #e9c7c7; }
.archive-document-list { padding: 0 14px; }
.archive-document { padding: 12px 0; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #e5ebef; }
.archive-document:last-child { border-bottom: 0; }
.archive-file-icon { padding: 8px 2px; color: #466d90; background: #e7f0f8; border-radius: 6px; text-align: center; font-size: 10px; font-weight: 900; }
.archive-document b { display: block; overflow: hidden; color: #183047; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.archive-document span { display: block; overflow: hidden; margin-top: 3px; color: #718294; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.archive-empty, .archive-loading { margin-top: 15px; padding: 14px; color: #718294; background: #f8fafb; border: 1px dashed #cbd8e2; border-radius: 9px; font-size: 13px; }
@media (max-width: 700px) { .purchase-heading { display: block; } .purchase-heading > b { display: inline-block; margin-top: 12px; } .purchase-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .purchase-form { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 13px; } .purchase-wide, .purchase-actions { grid-column: span 2; } .archive-heading { display: block; } .archive-add-folder { width: 100%; margin-top: 12px; } .archive-upload { grid-template-columns: 1fr; } .archive-document { grid-template-columns: 36px minmax(0, 1fr); } .archive-document-actions { grid-column: 1 / -1; } .archive-document-actions a, .archive-document-actions button { flex: 1; text-align: center; } .archive-folder > header { display: block; } .archive-folder-actions { margin-top: 10px; } }
@media (max-width: 700px) { .properties-topbar { padding: 10px 16px; } .properties-shell { width: min(100% - 28px, 620px); margin-top: 24px; } .properties-heading h1 { font-size: 27px; } .property-grid { grid-template-columns: 1fr; } .property-card { min-height: 165px; } .property-detail > header { padding: 18px; } .property-detail h2 { font-size: 21px; } .property-detail header a { font-size: 11px; } .property-tools { padding: 15px 16px 0; } .property-tool-content { margin: 15px 16px 16px; } .model-guide-grid { grid-template-columns: 1fr; }.reform-heading { display: block; }.reform-total { margin-top: 14px; text-align: left; }.expense-kpis { grid-template-columns: 1fr 1fr; }.expense-quick-actions { align-items: stretch; flex-direction: column; }.expense-search > div { flex-wrap: wrap; }.expense-search input { flex-basis: 100%; }.albano-open { width: 100%; }.expense-category-summary { overflow-x: auto; }.expense-category-summary > div { flex-wrap: nowrap; width: max-content; }.expense-view-tools { align-items: flex-start; flex-direction: column; }.expense-view-tools > div { flex-wrap: wrap; }.expense-form { grid-template-columns: 1fr 1fr; padding: 13px; }.expense-description, .expense-notes { grid-column: span 2; }.expense-actions { grid-column: span 2; }.expense-category-group > header { align-items: flex-start; }.expense-category-group > header strong { font-size: 11px; text-align: right; }.expense-row { grid-template-columns: minmax(0, 1fr) auto auto; }.expense-value { grid-column: 1; grid-row: 2; text-align: left; }.expense-row > button { grid-row: 1; }.expense-row > button:last-child { grid-column: 3; }.expense-document-list > div { grid-template-columns: minmax(0, 1fr) auto auto; }.expense-document-list b { grid-column: 1 / -1; }.expense-document-upload { align-items: stretch; flex-direction: column; }.labor-card { grid-template-columns: 38px minmax(0, 1fr); }.labor-actions { grid-column: 1 / -1; }.insurance-top { display: block; }.insurance-actions { margin-top: 12px; justify-content: flex-start; }.insurance-metrics { grid-template-columns: 1fr 1fr; }.sales-heading { display: block; }.sales-add-agency { margin-top: 13px; }.sales-upload { grid-template-columns: 1fr; }.sales-document { grid-template-columns: 36px minmax(0, 1fr); }.sales-document-actions { grid-column: 1 / -1; }.sales-document-actions a, .sales-document-actions button { flex: 1; text-align: center; } }

/* Hoja de control de obra: edición directa y rápida */
.work-sheet-heading { padding-bottom: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid #dce4ea; }
.work-sheet-heading strong { color: #173b60; font-size: 22px; }
.work-sheet-heading p { margin: 5px 0 0; color: #718294; font-size: 13px; }
.work-sheet-heading > b { padding: 9px 12px; color: #173b60; background: #e7f0f8; border-radius: 9px; font-size: 19px; white-space: nowrap; }
.work-expense-kpis { margin: 15px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; background: #fff; border: 1px solid #dce4ea; border-radius: 10px; }
.work-expense-kpis article { min-width: 0; padding: 12px 14px; border-right: 1px solid #e2e9ee; }.work-expense-kpis article:last-child { border-right: 0; }
.work-expense-kpis b { display: block; color: #173b60; font-size: 20px; }.work-expense-kpis span { display: block; margin-top: 3px; color: #718294; font-size: 11px; font-weight: 800; }
.work-expense-toolbar { margin: 14px 0 10px; display: flex; align-items: center; gap: 10px; }.work-expense-toolbar strong { color: #173b60; font-size: 14px; white-space: nowrap; }
.work-expense-toolbar input { width: min(370px, 100%); margin-left: auto; padding: 9px 11px; color: #183047; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 13px; }
.work-expense-help { display: flex; align-items: center; gap: 9px; margin-top: 15px; padding: 10px 12px; color: #536d82; background: #f4f8fb; border: 1px solid #d8e6ef; border-radius: 9px; font-size: 12px; }.work-expense-help b { color: #173b60; white-space: nowrap; }.work-expense-help strong { color: #28734f; }
.work-focus-add { padding: 8px 11px; color: #fff; background: #28734f; border: 0; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; white-space: nowrap; }
.work-column-reset { padding: 8px 10px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.work-column-reset:hover { color: #173b60; background: #f5f9fc; border-color: #9fb8ca; }
.work-display-controls { display: inline-flex; align-items: center; gap: 4px; padding: 3px; background: #edf3f7; border: 1px solid #d3e0e9; border-radius: 8px; }
.work-display-controls button { min-height: 29px; padding: 4px 8px; color: #365a77; background: #fff; border: 1px solid #c8d8e4; border-radius: 5px; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; white-space: nowrap; }
.work-display-controls button:hover { color: #173b60; background: #f6fafc; border-color: #94b0c5; }
.work-display-controls > button[data-work-zoom-out], .work-display-controls > button[data-work-zoom-in] { min-width: 29px; padding: 3px 7px; font-size: 18px; line-height: 1; }
.work-display-controls span { min-width: 38px; color: #587187; font-size: 11px; font-weight: 850; text-align: center; }
.work-fit-screen { color: #24714f !important; }.work-fullscreen { color: #173b60 !important; }
.work-expense-status { min-width: 78px; color: #718294; font-size: 12px; font-weight: 750; }.work-expense-status.success { color: #24714f; }.work-expense-status.error { color: #b35353; }
.work-mobile-note { display: none; }
.work-expense-scroll { --work-date-width: 84px; --work-concept-width: 220px; --work-destination-width: 118px; --work-category-width: 137px; --work-supplier-width: 125px; --work-responsible-width: 122px; --work-amount-width: 88px; --work-priority-width: 88px; --work-ordered-width: 76px; --work-delivered-width: 84px; --work-installed-width: 84px; --work-invoice-width: 94px; --work-actions-width: 42px; --work-zoom: 1; overflow: auto; border: 1px solid #d4e0e8; border-radius: 10px; background: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.work-expense-table { width: max(100%, 1360px); min-width: 1360px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 12px; zoom: var(--work-zoom); }
.property-tool-content:fullscreen { box-sizing: border-box; width: 100%; height: 100%; max-width: none; padding: 18px; overflow: auto; background: #f4f7fa; }
.property-tool-content:fullscreen .work-expense-scroll { max-height: calc(100vh - 250px); }
.work-expense-table .work-col-date { width: var(--work-date-width); }.work-expense-table .work-col-concept { width: var(--work-concept-width); }.work-expense-table .work-col-destination { width: var(--work-destination-width); }.work-expense-table .work-col-category { width: var(--work-category-width); }.work-expense-table .work-col-supplier { width: var(--work-supplier-width); }.work-expense-table .work-col-responsible { width: var(--work-responsible-width); }.work-expense-table .work-col-amount { width: var(--work-amount-width); }.work-expense-table .work-col-priority { width: var(--work-priority-width); }.work-expense-table .work-col-ordered { width: var(--work-ordered-width); }.work-expense-table .work-col-delivered { width: var(--work-delivered-width); }.work-expense-table .work-col-installed { width: var(--work-installed-width); }.work-expense-table .work-col-invoice { width: var(--work-invoice-width); }.work-expense-table .work-col-actions { width: var(--work-actions-width); }
.work-expense-table th { position: sticky; top: 0; z-index: 5; padding: 11px 10px; color: #526f89; background: #edf3f7; border-bottom: 1px solid #d4e0e8; border-right: 1px solid #dce4ea; font-size: 10px; font-weight: 900; letter-spacing: .25px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.work-expense-table thead th:not(.work-heading-actions) { position: sticky; }
.work-expense-table thead th span { display: inline-block; overflow: hidden; max-width: calc(100% - 8px); text-overflow: ellipsis; vertical-align: middle; }
.work-column-resizer { position: absolute; top: 0; right: -4px; z-index: 15; width: 8px; height: 100%; cursor: col-resize; touch-action: none; }
.work-column-resizer:hover, .work-resizing .work-column-resizer { background: rgba(46, 115, 162, .38); }
.work-expense-table td { height: 52px; padding: 6px 7px; background: #fff; border-bottom: 1px solid #e4ebf0; border-right: 1px solid #eef2f5; vertical-align: middle; }.work-expense-table tbody tr:last-child td { border-bottom: 0; }
.work-expense-table .work-category-divider th { position: relative !important; left: auto !important; z-index: 7 !important; display: table-cell !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: 42px; padding: 0 16px; color: #173b60; background: #edf3f7; border-top: 1px solid #cfdee8; border-bottom: 1px solid #cfdee8; font-size: 12px; text-align: left; vertical-align: middle; }.work-category-divider span { display: inline-block; font-size: 12px; font-weight: 950; letter-spacing: 1px; line-height: 42px; text-transform: uppercase; }.work-category-divider b { float: right; color: #52708a; font-size: 11px; font-weight: 800; line-height: 42px; text-transform: none; letter-spacing: .1px; }
.work-expense-table th:first-child, .work-expense-table td:first-child { position: sticky; left: 0; width: var(--work-date-width); min-width: var(--work-date-width); max-width: var(--work-date-width); z-index: 3; }.work-expense-table th:first-child { z-index: 7; background: #edf3f7; }.work-expense-table td:first-child { background: #fff; }
.work-expense-table th:nth-child(2), .work-expense-table td:nth-child(2) { position: sticky; left: var(--work-date-width); width: var(--work-concept-width); min-width: var(--work-concept-width); max-width: var(--work-concept-width); z-index: 3; box-shadow: 6px 0 8px -8px #405d75; }.work-expense-table th:nth-child(2) { z-index: 7; background: #edf3f7; }.work-expense-table td:nth-child(2) { background: #fff; }
.work-expense-table input:not([type="checkbox"]), .work-expense-table select { box-sizing: border-box; width: 100%; min-width: 0; padding: 8px 7px; color: #183047; background: transparent; border: 1px solid transparent; border-radius: 6px; font: inherit; font-size: 12px; outline: none; }
.work-expense-table .work-date-input { font-variant-numeric: tabular-nums; letter-spacing: -.15px; white-space: nowrap; }
.work-expense-table input:focus, .work-expense-table select:focus { background: #f8fbfd; border-color: #7098b9; box-shadow: 0 0 0 2px rgba(80,136,180,.16); }.work-expense-table tr.saving td { opacity: .65; }
.work-expense-table td:nth-child(7) { min-width: 0; }.work-amount input { min-width: 0 !important; text-align: right; font-weight: 850; }.work-priority select { min-width: 0 !important; font-weight: 800; }
.work-expense-table tr[data-priority="Urgente"] .work-priority select { color: #ad3c3c; background: #fff0f0; }.work-expense-table tr[data-priority="Baja"] .work-priority select { color: #567185; background: #f3f6f8; }
.work-check { display: inline-flex; align-items: center; gap: 5px; color: #607789; font-size: 11px; font-weight: 750; cursor: pointer; user-select: none; white-space: nowrap; }.work-check input { width: 16px; height: 16px; margin: 0; accent-color: #28734f; cursor: pointer; }
.work-invoice { min-width: 0; white-space: nowrap; }.work-invoice button, .work-invoice label { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 6px; color: #526f89; background: #fff; border: 1px solid #cbd8e2; border-radius: 6px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }.work-invoice label { margin-left: 3px; color: #24714f; }.work-invoice input { display: none; }
.work-delete { width: 28px; height: 28px; color: #b35353; background: #fff; border: 1px solid #e9c7c7; border-radius: 6px; font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.work-expense-new td { background: #f3fbf6 !important; border-bottom: 2px solid #b8dcc5; }.work-expense-new td:first-child, .work-expense-new td:nth-child(2) { background: #f3fbf6 !important; }.work-add { padding: 8px 10px; color: #fff; background: #28734f; border: 0; border-radius: 6px; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; white-space: nowrap; }.work-add:disabled { opacity: .6; cursor: wait; }.work-empty td { padding: 18px; color: #718294; text-align: center; }
@media (max-width: 760px) { .sale-deduction-grid { grid-template-columns: 1fr; }.monthly-expense-form { grid-template-columns: 1fr 1fr; }.monthly-expense-form .monthly-notes { grid-column: span 2; }.monthly-expense-form button { grid-column: span 2; }.monthly-expense-row { grid-template-columns: 1fr auto; }.monthly-expense-row label, .monthly-expense-row > div:last-child { grid-column: span 2; }.monthly-expense-row > div:last-child { justify-content: flex-start; } }
@media (max-width: 700px) { .work-sheet-heading { display: block; }.work-sheet-heading > b { display: inline-block; margin-top: 12px; }.work-expense-kpis { grid-template-columns: 1fr 1fr; }.work-expense-kpis article:nth-child(2) { border-right: 0; }.work-expense-kpis article:nth-child(-n+2) { border-bottom: 1px solid #e2e9ee; }.work-expense-help { display: block; line-height: 1.45; }.work-expense-help b { display: block; margin-bottom: 3px; }.work-expense-toolbar { align-items: stretch; flex-wrap: wrap; }.work-expense-toolbar strong { flex: 1 1 100%; }.work-focus-add, .work-column-reset { flex: 1 1 auto; }.work-display-controls { flex: 1 1 100%; justify-content: space-between; order: 2; }.work-fit-screen, .work-fullscreen { flex: 1 1 auto; }.work-expense-toolbar input { flex: 1 1 100%; order: 3; margin-left: 0; }.work-expense-status { margin-left: auto; }.work-mobile-note { display: block; margin: 0 0 8px; padding: 9px 10px; color: #587187; background: #f4f8fb; border: 1px solid #d8e6ef; border-radius: 8px; font-size: 11px; line-height: 1.35; }.work-expense-scroll { --work-date-width: 76px; --work-concept-width: 174px; --work-destination-width: 110px; --work-category-width: 126px; margin-left: -2px; margin-right: -2px; }.work-expense-table { width: max(100%, 1260px); min-width: 1260px; font-size: 11px; }.work-expense-table th { padding: 10px 7px; }.work-expense-table td { height: 49px; padding: 5px 6px; }.work-expense-table input:not([type="checkbox"]), .work-expense-table select { padding: 7px 5px; font-size: 11px; }.work-category-divider th { height: 39px !important; padding: 0 11px !important; }.work-category-divider span, .work-category-divider b { line-height: 39px; }.work-category-divider b { font-size: 10px; }.work-column-resizer { width: 12px; right: -6px; } }
