/* Compatibility styles, below the new CP6 design. Do not load alongside the old CSS. */

@layer legacy {
/* Functional compatibility: styles.css */
:root{color-scheme:light;--navy:#123e5a;--navy-strong:#0d3047;--ink:#1e303b;--muted:#667783;--line:#dce5ea;--canvas:#f4f7f9;--surface:#fff;--green:#167a5c;--green-soft:#e7f4ee;--amber:#a66a10;--amber-soft:#fff3de;--red:#b42318;--red-soft:#fde9e7}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{margin:0 auto;max-width:1280px;padding:48px 32px 64px}.hero{align-items:flex-start;display:flex;gap:28px;justify-content:space-between}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.eyebrow,.section-kicker{color:#6c8290;font-size:.73rem;font-weight:800;letter-spacing:.12em;margin:0}h1{color:var(--navy);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;line-height:1.06;margin:7px 0 9px}.hero-copy{color:var(--muted);font-size:1rem;font-weight:650;line-height:1.55;margin:0}.primary-button,.secondary-button,.filter-button,.icon-button,.record-action,.text-button,.receipt-button{border:0;border-radius:10px;font-weight:750;transition:transform 150ms ease,opacity 150ms ease,background-color 150ms ease}.primary-button{background:var(--navy);color:#fff;padding:12px 17px}.primary-button:hover{background:var(--navy-strong);transform:translateY(-1px)}.secondary-button{background:#eaf0f3;color:#3a5362;padding:12px 17px}.text-button{background:transparent;color:var(--green);padding:7px 0}.receipt-button{background:#e7f4ee;color:var(--green);padding:10px 13px}.metrics{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:38px 0 24px}.metric{border-radius:18px;min-height:145px;padding:20px}.metric span,.metric small{color:#5d7280;display:block;font-weight:650}.metric strong{color:var(--navy);display:block;font-size:2.15rem;letter-spacing:-.05em;line-height:1.1;margin:12px 0 6px}.metric small{font-size:.82rem;font-weight:500}.metric-pending{background:var(--amber-soft)}.metric-paid{background:var(--green-soft)}.metric-amount{background:var(--navy)}.metric-amount span,.metric-amount small{color:#c9dbe4}.metric-amount strong{color:#fff}.search-panel,.expiry-section{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.search-topline{align-items:center;display:flex;justify-content:space-between}.search-panel label{color:#3c5260;display:block;font-size:.87rem;font-weight:750;margin-bottom:9px}.filtered-count{color:#6d7e88;font-size:.82rem;font-weight:650}.search-row{align-items:center;display:flex;gap:16px}.search-row input,.period-row input,.period-row select,.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{border:1px solid #cbd8df;border-radius:11px;color:var(--ink);outline-color:var(--navy)}.search-row input{flex:1;min-height:48px;padding:0 14px}.filters{display:flex;gap:7px}.filter-button{background:#edf2f4;color:#556c79;padding:10px 13px}.filter-button.is-active{background:var(--navy);color:#fff}.period-row{align-items:end;border-top:1px solid #e5ecef;display:flex;gap:12px;margin-top:17px;padding-top:16px}.period-row>div:not(.period-help){min-width:160px}.period-row input,.period-row select{min-height:42px;padding:0 10px;width:100%}.period-help{color:var(--muted);display:flex;flex:1;flex-direction:column;font-size:.81rem;line-height:1.45;padding-bottom:5px}.period-help small{color:#8a98a1}.text-button{font-size:.82rem;white-space:nowrap}.records-layout{display:grid;gap:20px;grid-template-columns:1.05fr .95fr;margin-top:24px}.record-section{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.record-section-pending{border-color:#efce8a}.section-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:20px}.section-heading h2,.expiry-header h2{color:var(--navy);font-size:1.13rem;letter-spacing:-.02em;margin:5px 0 0}.section-count{align-items:center;background:#eaf0f3;border-radius:999px;color:#48616f;display:flex;font-size:.78rem;font-weight:800;height:28px;justify-content:center;min-width:28px;padding:0 9px}.record-list{padding:12px}.record-card{border:1px solid #e3eaee;border-radius:13px;margin-bottom:10px;padding:14px}.record-card:last-child{margin-bottom:0}.record-card-top,.record-card-footer{align-items:center;display:flex;gap:10px;justify-content:space-between}.record-number{color:var(--navy);font-size:.96rem;font-weight:800}.payment-badge{border-radius:999px;font-size:.72rem;font-weight:800;padding:5px 8px}.payment-badge.pending{background:var(--amber-soft);color:var(--amber)}.payment-badge.paid{background:var(--green-soft);color:var(--green)}.record-requester{color:#354d5c;font-weight:700;margin:13px 0 3px}.record-detail,.record-date,.record-delivery{color:var(--muted);font-size:.82rem;line-height:1.4;margin:2px 0 0}.record-card-footer{margin-top:13px}.record-amount{font-size:.88rem;font-weight:800}.record-amount.pending{color:var(--amber)}.record-amount.paid{color:var(--green)}.record-actions{display:flex;gap:8px;margin-top:14px}.record-action{background:#edf2f4;color:#3f5967;flex:1;font-size:.8rem;padding:8px}.record-action.delete{background:#fce9e7;color:var(--red)}.record-action.receipt{background:#e7f4ee;color:var(--green)}.empty-state{color:var(--muted);font-size:.89rem;line-height:1.5;padding:22px 12px;text-align:center}.expiry-section{border-color:#efb5ae;margin-top:24px}.expiry-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.expiry-header p{color:var(--muted);font-size:.86rem;margin:7px 0 0}.expired-count{background:var(--red-soft);border-radius:999px;color:var(--red);font-size:.78rem;font-weight:800;padding:7px 10px;white-space:nowrap}.expiry-table-wrap{overflow-x:auto}.expiry-table-wrap table{border-collapse:collapse;margin-top:18px;min-width:650px;width:100%}.expiry-table-wrap th{color:#657985;font-size:.74rem;letter-spacing:.03em;text-align:left}.expiry-table-wrap th,.expiry-table-wrap td{border-bottom:1px solid #f0d2cf;padding:12px 10px}.expiry-table-wrap td{color:#5d2723;font-size:.87rem}.expiry-table-wrap tr:last-child td{border-bottom:0}.expiry-empty{text-align:center}.record-dialog{border:0;border-radius:18px;box-shadow:0 24px 60px rgb(13 38 52 /.28);max-width:760px;padding:0;width:calc(100% - 32px)}.record-dialog::backdrop{background:rgb(14 36 48 /.48)}.record-dialog form{padding:26px}.dialog-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dialog-heading h2{color:var(--navy);font-size:1.45rem;letter-spacing:-.03em;margin:6px 0 0}.icon-button{background:#edf2f4;color:#48616f;font-size:1.5rem;height:34px;line-height:1;width:34px}.form-grid{display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.form-grid label{color:#3b5361;display:flex;flex-direction:column;font-size:.84rem;font-weight:750;gap:7px}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{padding:10px 11px}.form-grid textarea{resize:vertical}.form-grid .full-width{grid-column:1 / -1}.checkbox-label{align-items:center;flex-direction:row;padding-top:27px}.checkbox-label input{accent-color:var(--green);height:17px;width:17px}.payment-details{align-items:end;display:grid;gap:15px;grid-column:1 / -1;grid-template-columns:repeat(4,1fr)}.payment-details .receipt-button{height:42px}.is-hidden{display:none}.form-message{color:var(--red);font-size:.85rem;min-height:20px;margin:16px 0 0}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}@media(max-width:960px){.payment-details{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app-shell{padding:28px 18px 44px}.hero,.search-row,.period-row{align-items:stretch;flex-direction:column}.hero-actions{justify-content:stretch}.hero-actions button{flex:1}.metrics,.records-layout{grid-template-columns:1fr}.metrics{margin-top:27px}.filters{overflow-x:auto}.filter-button{white-space:nowrap}.period-row>div:not(.period-help){min-width:0}.form-grid,.payment-details{grid-template-columns:1fr}.checkbox-label{padding-top:0}.expiry-header{flex-direction:column}}


/* Glassmorphism foundation — overridden by modern-ui.css when loaded. */
:root { --navy: #0f172a; --navy-strong: #0e7490; --ink: #e8f8fc; --muted: #b8d7df; --line: rgba(186, 239, 249, .28); --canvas: #0f172a; --surface: rgba(255, 255, 255, .08); }

/* Functional compatibility: dashboard.css */
.operational-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.operational-metrics .metric-amount { grid-column: auto; }
.metric-pending { background: #fff1c9; }.metric-pending strong { color: #a66a10; }.metric-delivered { background: #edf0f2; }.metric-expired { background: #fce9e7; }.metric-delivered strong { color: #55656f; }.metric-paid { background: #e4f5ec; }.metric-paid strong { color: #167a5c; }.metric-expired strong { color: #b42318; }.payment-badge.expired { background: #fde9e7; color: #b42318; }

#recordDialog form { background: linear-gradient(150deg, #e7f4f9 0%, #f7fbfd 64%, #eaf4f7 100%); }#recordDialog .dialog-heading { border-bottom: 1px solid #cfe0e7; padding-bottom: 16px; }#recordDialog .form-grid input:not([type=checkbox]),#recordDialog .form-grid select,#recordDialog .form-grid textarea { background: #fff; border-color: #b8d1dd; box-shadow: 0 1px 0 rgb(18 62 90 / .03); }#recordDialog .payment-details { background: rgb(255 255 255 / .62); border: 1px solid #c9e0e8; border-radius: 14px; padding: 14px; }#recordDialog .form-grid label { color: #244e64; }.form-receipt-button { margin-right: auto; }

.login-screen { background: #fbfcfd; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); min-height: 100vh; }.login-visual { background: linear-gradient(135deg, #050d2a 0%, #0b1a52 56%, #123d78 100%); color: #fff; display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; padding: 56px clamp(40px, 8vw, 120px); }.login-wordmark { font-size: 1rem; font-style: italic; font-weight: 900; letter-spacing: .18em; }.login-wordmark span { color: #61c3ee; }.login-visual-copy { margin: auto 0; max-width: 520px; }.login-visual-copy p { color: #83d4f2; font-size: .75rem; font-weight: 800; letter-spacing: .16em; }.login-visual-copy h2 { font-size: clamp(2.8rem, 5vw, 5.5rem); font-style: italic; letter-spacing: -.06em; line-height: .98; margin: 16px 0; }.login-visual-copy span { color: #d8e6ff; display: block; font-size: 1.06rem; line-height: 1.6; max-width: 360px; }.login-visual-footer { color: #9cb9dc; font-size: .78rem; }.login-card { align-content: center; background: #fff; display: grid; gap: 15px; justify-self: stretch; margin: 0; max-width: 510px; padding: 64px clamp(34px, 6vw, 78px); width: 100%; }.login-card h1 { color: #132044; font-size: 2rem; letter-spacing: -.04em; margin: -4px 0 0; }.login-copy { color: #65728d; font-weight: 600; margin: -10px 0 10px; }.login-card label { color: #244e64; display: grid; font-size: .86rem; font-weight: 800; gap: 7px; }.login-card input,.login-card select { background: #fbfcff; border: 1px solid #d9e1ee; border-radius: 8px; color: #172342; font: inherit; min-height: 48px; padding: 10px 12px; }.login-card input:focus,.login-card select:focus { border-color: #208ce8; box-shadow: 0 0 0 3px rgb(32 140 232 / .13); outline: 0; }.login-button { justify-content: center; margin-top: 8px; min-height: 47px; }.login-message { color: #b42318; font-size: .84rem; font-weight: 700; margin: 0; min-height: 18px; }.login-hint { color: #758995; font-size: .76rem; margin: 0; text-align: center; }.credential-setup-button { background: transparent; border: 0; color: #147bd1; cursor: pointer; font-size: .8rem; font-weight: 800; padding: 2px; text-align: center; }.login-screen.is-hidden,.app-shell.is-hidden { display: none ; }

.control-shell { background: #edf2f7; display: grid; grid-template-columns: 270px minmax(0, 1fr); margin: 0; max-width: none; min-height: 100vh; padding: 0; }.app-sidebar { background: linear-gradient(165deg, #050d2a 0%, #0a1948 57%, #123d78 100%); box-shadow: 10px 0 34px rgb(4 19 58 / .15); color: #fff; display: flex; flex-direction: column; min-height: 100vh; padding: 29px 18px 24px; position: sticky; top: 0; }.sidebar-brand { align-items: flex-start; display: flex; gap: 12px; padding: 6px 12px 35px; }.sidebar-mark { align-items: center; background: linear-gradient(145deg, #3cafe8, #177ac9); border-radius: 12px; box-shadow: 0 8px 18px rgb(0 0 0 / .18); display: flex; font-size: 1rem; font-weight: 900; height: 42px; justify-content: center; letter-spacing: -.05em; width: 42px; }.sidebar-mark span { color: #d6f4ff; }.sidebar-brand p { color: #7cccf2; font-size: .61rem; font-weight: 800; letter-spacing: .11em; margin: 0 0 5px; }.sidebar-brand strong { font-size: 1rem; letter-spacing: -.02em; line-height: 1.06; }.sidebar-nav { display: grid; gap: 7px; }.sidebar-link { align-items: center; background: transparent; border: 0; border-radius: 10px; color: #c4d4f3; display: flex; font-size: .9rem; font-weight: 750; gap: 12px; padding: 13px 14px; text-align: left; transition: background 150ms ease, color 150ms ease, transform 150ms ease; width: 100%; }.sidebar-link:hover { background: rgb(255 255 255 / .09); color: #fff; }.sidebar-link.is-active { background: linear-gradient(105deg, #2e9ddd, #2579c8); box-shadow: 0 8px 16px rgb(1 10 36 / .2); color: #fff; }.nav-icon { align-items: center; background: rgb(255 255 255 / .12); border-radius: 7px; display: flex; font-size: 1.05rem; height: 26px; justify-content: center; line-height: 1; width: 26px; }.sidebar-link.is-active .nav-icon { background: rgb(255 255 255 / .2); }.sidebar-footer { align-items: center; border-top: 1px solid rgb(154 195 240 / .18); color: #aabfe2; display: flex; font-size: .72rem; gap: 9px; line-height: 1.4; margin-top: auto; padding: 19px 13px 3px; }.sidebar-status-dot { background: #61d4ae; border-radius: 50%; box-shadow: 0 0 0 4px rgb(97 212 174 / .13); display: block; height: 7px; width: 7px; }

.app-workspace { min-width: 0; padding: 32px clamp(24px, 4vw, 60px) 54px; }.workspace-header { align-items: flex-start; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 26px; }.workspace-header h1 { color: #112c4d; font-size: clamp(2rem, 3vw, 2.65rem); margin-bottom: 7px; }.workspace-description { color: #657b8d; font-size: .97rem; font-weight: 600; margin: 0; }.workspace-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }.active-user { color: #e5f1ff; font-size: .73rem; font-weight: 800; line-height: 1.35; }.workspace-actions .primary-button { background: linear-gradient(120deg, #167ccc, #0d4e85); box-shadow: 0 8px 18px rgb(10 60 108 / .17); }.legacy-toolbar { display: none; }.app-view[hidden] { display: none ; }

.app-workspace .search-panel { background: linear-gradient(125deg, #06143f 0%, #0b2c65 58%, #125485 100%); border-color: #164d7f; box-shadow: 0 12px 22px rgb(8 31 75 / .17); }.app-workspace .search-panel label,.app-workspace .search-panel .filtered-count { color: #e8f5ff; }.app-workspace .search-panel .search-row input { background: #fff; border-color: #cde7f7; }.app-workspace .search-panel .period-row { border-color: rgb(183 219 246 / .28); }.app-workspace .search-panel .period-row input,.app-workspace .search-panel .period-row select { background: #f9fcff; border-color: #8fc8e7; }.app-workspace .search-panel .period-help { color: #d5eaff; }.app-workspace .search-panel .period-help small { color: #a8d5f1; }.app-workspace .search-panel .text-button { color: #aee4ff; }.app-workspace .dashboard-tabs { background: #fff; border: 1px solid #cfdeea; border-radius: 18px; box-shadow: 0 8px 18px rgb(28 68 103 / .05); margin-top: 24px; padding: 20px; }.dashboard-tab-buttons { border-bottom: 1px solid #dfe9ed; display: flex; gap: 18px; margin: -2px 0 18px; overflow-x: auto; scrollbar-width: thin; }.dashboard-tab-button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: #71808a; cursor: pointer; flex: 0 0 auto; font-size: .92rem; font-weight: 800; padding: 8px 2px 11px; }.dashboard-tab-button.is-active { border-bottom-color: #123e5a; color: #123e5a; }.status-list-heading { margin: 2px 0 14px; }.status-list-heading h2 { color: #173f56; font-size: 1.15rem; margin: 0; }.operational-record-list { display: grid; gap: 9px; grid-template-columns: 1fr; max-height: 720px; overflow-y: auto; padding-right: 4px; }.avaluo-list-row { align-items: center; background: #f7fafb; border: 1px solid #e1eaee; border-radius: 13px; display: grid; gap: 14px; grid-template-columns: minmax(120px, .8fr) minmax(160px, 1.3fr) minmax(150px, 1fr) auto; padding: 12px 14px; }.avaluo-list-main strong,.avaluo-list-main span { display: block; }.avaluo-list-number { color: #123e5a; font-family: Arial,sans-serif; font-size: 1rem; font-weight: 800; }.avaluo-list-meta,.avaluo-list-date { color: #71808a; font-size: .78rem; margin-top: 3px; }.avaluo-list-requester { color: #294a5b; font-size: .92rem; font-weight: 800; }.avaluo-list-requester span { color: #71808a; display: block; font-size: .78rem; font-weight: 500; margin-top: 3px; }.avaluo-list-status { align-items: flex-start; display: flex; flex-direction: column; gap: 4px; }.avaluo-list-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }.avaluo-list-actions .record-action { margin: 0; }.app-shell[data-role="viewer"] .record-dialog form { background: #f8fbfd; }.app-shell[data-role="viewer"] .record-dialog input:disabled,.app-shell[data-role="viewer"] .record-dialog select:disabled,.app-shell[data-role="viewer"] .record-dialog textarea:disabled { background: #edf2f5; color: #526674; }

.sidebar-footer { align-items: stretch; display: grid; gap: 12px; }.sidebar-account { align-items: flex-start; display: flex; gap: 9px; }.sidebar-logout { background: rgb(255 255 255 / .1); border: 1px solid rgb(181 215 255 / .25); border-radius: 9px; color: #e9f4ff; font-size: .78rem; font-weight: 800; padding: 9px 10px; text-align: center; }.sidebar-logout:hover { background: rgb(255 255 255 / .18); }.admin-intro { margin: 4px 0 20px; max-width: 760px; }.admin-intro h2 { color: #123e5a; font-size: 1.55rem; letter-spacing: -.03em; margin: 7px 0; }.admin-intro p { color: #647a8a; line-height: 1.55; margin: 0; }.inline-panel { background: #fff; border: 1px solid #d1e0eb; border-radius: 17px; box-shadow: 0 9px 22px rgb(27 62 93 / .05); padding: 21px; }.inline-panel-heading { align-items: flex-start; border-bottom: 1px solid #e6eef2; display: flex; justify-content: space-between; margin-bottom: 18px; padding-bottom: 15px; }.inline-panel h3 { color: #173f56; font-size: 1.04rem; margin: 0; }.inline-panel-heading p,.setting-card p { color: #71808a; font-size: .84rem; line-height: 1.45; margin: 5px 0 0; }.inline-form-row { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(145px, .8fr) minmax(145px, .8fr) auto auto; }.inline-form-row label,.inline-credential-form label,.export-date-controls label { color: #3b5361; display: grid; font-size: .82rem; font-weight: 750; gap: 7px; }.inline-form-row input,.inline-credential-form input,.inline-credential-form select,.import-controls input,.import-controls select,.export-date-controls input,.role-select { background: #fbfdff; border: 1px solid #cbd8df; border-radius: 9px; color: #1e303b; min-height: 42px; padding: 8px 10px; }.report-preview { margin-top: 21px; }.report-empty { align-items: center; background: linear-gradient(135deg, #eff6fa, #f9fcfd); border: 1px dashed #c3d8e6; border-radius: 16px; color: #5d7484; display: flex; flex-direction: column; gap: 5px; min-height: 175px; justify-content: center; text-align: center; }.report-empty strong { color: #244e64; }.print-report { background: #fff; border: 1px solid #d4e1e8; border-radius: 18px; box-shadow: 0 10px 25px rgb(26 64 90 / .06); padding: clamp(22px, 4vw, 38px); }.report-header { border-bottom: 3px solid #123e5a; padding-bottom: 15px; }.report-header h2 { color: #123e5a; font-size: 1.65rem; margin: 5px 0; }.report-header p:not(.eyebrow) { color: #607580; font-size: .82rem; margin: 0; }.report-period { background: #edf5f8; border-left: 4px solid #123e5a; color: #345665; font-size: .86rem; margin-top: 18px; padding: 11px 13px; }.report-metrics { display: grid; gap: 11px; grid-template-columns: repeat(4, 1fr); margin: 18px 0; }.report-metrics article { background: #f4f8fa; border: 1px solid #dce7ed; border-radius: 11px; padding: 12px; }.report-metrics span { color: #637782; display: block; font-size: .72rem; font-weight: 750; }.report-metrics strong { color: #123e5a; display: block; font-size: 1.33rem; margin-top: 5px; }.report-metrics .report-amount { background: #123e5a; border-color: #123e5a; }.report-metrics .report-amount span,.report-metrics .report-amount strong { color: #fff; }.report-table-section { margin-top: 25px; }.report-table-section h3 { color: #123e5a; font-size: 1rem; margin: 0 0 10px; }.report-table-wrap { overflow-x: auto; }.print-report table { border-collapse: collapse; min-width: 620px; width: 100%; }.print-report th { background: #123e5a; color: #fff; font-size: .72rem; letter-spacing: .02em; padding: 9px; text-align: left; }.print-report td { border-bottom: 1px solid #dfe8eb; color: #405866; font-size: .78rem; padding: 9px; }.print-report tfoot td { background: #eef5f7; color: #123e5a; font-weight: 800; }.print-report .empty { color: #71808a; text-align: center; }.admin-grid { display: grid; gap: 20px; grid-template-columns: 1.1fr .9fr; }.user-permissions-list { display: grid; gap: 9px; }.user-permission-row { align-items: center; background: #f8fbfc; border: 1px solid #e0eaee; border-radius: 12px; display: grid; gap: 11px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 10px; }.user-initial { align-items: center; background: #dcecf5; border-radius: 50%; color: #123e5a; display: flex; font-size: .72rem; font-weight: 900; height: 34px; justify-content: center; width: 34px; }.user-permission-row strong,.user-permission-row span { display: block; }.user-permission-row strong { color: #294a5b; font-size: .83rem; }.user-permission-row div:nth-child(2) span { color: #71808a; font-size: .71rem; margin-top: 2px; }.user-permission-status { min-width: 126px; text-align: right; }.role-select-label { color: #67808e; display: grid; font-size: .65rem; font-weight: 800; gap: 3px; text-align: left; }.role-select { font-size: .75rem; min-height: 32px; padding: 5px 7px; }.user-permission-status small { color: #71808a; display: block; font-size: .68rem; margin-top: 5px; }.inline-credential-form { display: grid; gap: 12px; }.inline-credential-form .primary-button { justify-self: start; margin-top: 2px; }.settings-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }.setting-card { display: flex; flex-direction: column; min-height: 235px; }.setting-icon { align-items: center; background: #e2f1fa; border-radius: 11px; color: #1367a5; display: flex; font-size: 1.25rem; height: 42px; justify-content: center; margin-bottom: 15px; width: 42px; }.setting-card h3 { margin: 0; }.setting-card p { margin-bottom: 19px; }.setting-card button { margin-top: auto; }.export-date-controls { display: grid; gap: 8px; margin: 0 0 10px; }.export-card { min-height: 286px; }.setting-import { grid-column: span 1; }.import-controls { display: grid; gap: 8px; margin-top: auto; }.import-controls input { font-size: .74rem; padding: 8px; }.form-message { color: #b42318; font-size: .82rem; min-height: 18px; margin: 12px 0 0; }.form-message.is-success { color: #167a5c; }
.logout-link { color: #e4f1ff; margin-top: 8px; }.logout-link .nav-icon { background: rgb(255 255 255 / .09); }.sidebar-footer { display: flex; margin-top: auto; padding-bottom: 3px; }.inline-record-editor { background: linear-gradient(145deg, #e8f4f9 0%, #f9fcfd 64%, #edf7f3 100%); border: 1px solid #bfd8e5; border-radius: 18px; box-shadow: 0 12px 24px rgb(14 59 87 / .09); margin-top: 22px; overflow: hidden; }.inline-record-editor form { padding: clamp(20px, 3vw, 30px); }.inline-record-editor .dialog-heading { border-bottom: 1px solid #cfe0e7; margin-bottom: 20px; padding-bottom: 16px; }.inline-record-editor .dialog-heading h2 { color: #123e5a; margin: 4px 0 0; }.inline-record-editor .form-grid input:not([type=checkbox]),.inline-record-editor .form-grid select,.inline-record-editor .form-grid textarea { background: #fff; border-color: #b8d1dd; box-shadow: 0 1px 0 rgb(18 62 90 / .03); }.inline-record-editor .form-grid label { color: #244e64; }.inline-record-editor .payment-details { background: rgb(255 255 255 / .62); border: 1px solid #c9e0e8; border-radius: 14px; padding: 14px; }.inline-record-editor .dialog-actions { margin-top: 20px; }.inline-record-editor .icon-button { background: #fff; border-color: #c6d9e4; color: #244e64; }
.login-wordmark { color: #9ccae8; font-size: .74rem; font-style: normal; letter-spacing: .08em; text-transform: none; }.login-visual-copy h2 { font-style: normal; letter-spacing: -.045em; }.new-user-panel { margin-bottom: 20px; }.add-user-form { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(240px, 1fr) minmax(150px, .5fr) auto; }.add-user-form label { color: #3b5361; display: grid; font-size: .82rem; font-weight: 750; gap: 7px; }.add-user-form input,.add-user-form select { background: #fbfdff; border: 1px solid #cbd8df; border-radius: 9px; color: #1e303b; min-height: 42px; padding: 8px 10px; }.add-user-form .primary-button { min-height: 42px; }.app-workspace { min-height: 100vh; }
@media (min-width: 801px) { .control-shell { display: block; }.app-sidebar { bottom: 0; box-sizing: border-box; left: 0; min-height: 0; position: fixed; top: 0; width: 270px; z-index: 20; }.app-workspace { margin-left: 270px; }.sidebar-nav { overflow-y: auto; } }
@media (min-width: 801px) and (max-width: 1120px) { .app-sidebar { width: 230px; }.app-workspace { margin-left: 230px; } }
@media (max-width: 800px) { .app-workspace { margin-left: 0; }.add-user-form { grid-template-columns: 1fr; }.add-user-form .primary-button { width: 100%; } }
.app-view.is-registering .dashboard-tabs { display: none; }.app-workspace .dashboard-tabs { background: #fff; border: 1px solid #d4e1e8; border-radius: 18px; box-shadow: 0 10px 25px rgb(26 64 90 / .06); overflow: hidden; padding: 0; }.dashboard-tab-buttons { background: linear-gradient(135deg, #eff6fa, #f9fcfd); border-bottom: 1px solid #dce7ed; gap: 20px; margin: 0; padding: 13px 20px 0; }.dashboard-tab-button { color: #637782; font-size: .8rem; padding: 9px 3px 12px; }.dashboard-tab-button.is-active { border-bottom-color: #123e5a; color: #123e5a; }.status-list-heading { align-items: center; background: #fff; border-bottom: 1px solid #e2ebef; display: flex; justify-content: space-between; margin: 0; padding: 16px 20px; }.status-list-heading h2 { color: #123e5a; font-size: 1.05rem; }.section-count { align-items: center; background: #eaf2f5; border-radius: 50%; color: #123e5a; display: inline-flex; font-size: .75rem; font-weight: 900; height: 28px; justify-content: center; width: 28px; }.operational-record-list { display: block; max-height: none; overflow: visible; padding: 0; }.operational-table-wrap { overflow-x: auto; }.operational-table { border-collapse: collapse; min-width: 720px; width: 100%; }.operational-table th { background: #123e5a; color: #fff; font-size: .72rem; letter-spacing: .02em; padding: 10px 14px; text-align: left; }.operational-table td { border-bottom: 1px solid #dfe8eb; color: #405866; font-size: .8rem; padding: 13px 14px; vertical-align: middle; }.operational-table tbody tr:last-child td { border-bottom: 0; }.operational-table tbody tr:hover { background: #f6fafc; }.operational-table .empty { color: #71808a; padding: 26px; text-align: center; }.operational-table .avaluo-list-number,.operational-table .avaluo-list-meta,.operational-table .avaluo-list-requester span,.operational-table .avaluo-list-date { display: block; }.operational-table .avaluo-list-number { color: #123e5a; font-size: .95rem; }.operational-table .avaluo-list-meta,.operational-table .avaluo-list-requester span,.operational-table .avaluo-list-date { color: #71808a; font-size: .73rem; margin-top: 4px; }.operational-table .avaluo-list-requester { color: #294a5b; font-size: .87rem; font-weight: 800; }.operational-table .avaluo-list-status { align-items: flex-start; display: flex; flex-direction: column; gap: 5px; }.operational-table .avaluo-list-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-start; min-width: 170px; }.operational-table .record-action { margin: 0; }.operational-table .payment-badge { font-size: .68rem; }
@media (min-width: 801px) { .app-workspace:has(#avaluosView.is-active) .workspace-header { background: #edf2f7; margin: 0; padding: 32px 0 17px; position: sticky; top: 0; z-index: 16; }.app-workspace #avaluosView.is-active .search-panel { margin-top: 0; position: sticky; top: 142px; z-index: 15; }.app-workspace #avaluosView.is-active .inline-record-editor { position: relative; z-index: 14; } }

@media (max-width: 1120px) { .control-shell { grid-template-columns: 230px minmax(0, 1fr); }.app-workspace { padding: 28px; }.operational-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }.avaluo-list-row { grid-template-columns: minmax(120px, .8fr) minmax(150px, 1.2fr) auto; }.avaluo-list-status { display: none; }.settings-grid { grid-template-columns: repeat(2, 1fr); }.setting-import { grid-column: span 2; }.admin-grid { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .login-screen { grid-template-columns: 1fr; }.login-visual { min-height: 240px; padding: 34px; }.login-visual-copy { margin: 34px 0 0; }.login-visual-copy h2 { font-size: 2.5rem; }.login-visual-footer { display: none; }.login-card { max-width: none; min-height: calc(100vh - 240px); padding: 38px 30px; }.control-shell { display: block; }.app-sidebar { min-height: auto; padding: 16px; position: static; }.sidebar-brand { padding: 3px 7px 14px; }.sidebar-brand br { display: none; }.sidebar-nav { display: flex; gap: 6px; overflow-x: auto; }.sidebar-link { flex: 0 0 auto; padding: 10px 11px; }.sidebar-footer { display: flex; margin-top: 15px; padding: 15px 7px 0; }.app-workspace { padding: 25px 18px 42px; }.workspace-header { flex-direction: column; gap: 15px; }.workspace-actions { justify-content: flex-start; }.avaluo-list-row { align-items: flex-start; grid-template-columns: 1fr; }.avaluo-list-actions { justify-content: flex-start; }.inline-form-row { grid-template-columns: 1fr 1fr; }.inline-form-row button { width: 100%; }.report-metrics { grid-template-columns: repeat(2, 1fr); }.settings-grid { grid-template-columns: 1fr; }.setting-import { grid-column: span 1; } }
@media (max-width: 520px) { .sidebar-brand { padding-left: 2px; }.sidebar-brand strong { font-size: .88rem; }.sidebar-link span:last-child { font-size: .78rem; }.active-user { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }.workspace-actions .secondary-button,.workspace-actions .primary-button { padding: 10px 12px; }.operational-metrics { grid-template-columns: 1fr; }.metric { min-height: 105px; }.inline-form-row { grid-template-columns: 1fr; }.report-metrics { grid-template-columns: 1fr; }.user-permission-row { align-items: flex-start; grid-template-columns: auto minmax(0, 1fr); }.user-permission-status { grid-column: 2; text-align: left; }.form-grid,.payment-details { grid-template-columns: 1fr; } }
@media print { body { background: #fff; }.app-sidebar,.workspace-header,.admin-intro,.report-controls { display: none ; }.control-shell { display: block; background: #fff; }.app-workspace { padding: 0; }.app-view:not(#resumenView) { display: none ; }.report-preview { margin: 0; }.print-report { border: 0; border-radius: 0; box-shadow: none; padding: 0; }.print-report th { print-color-adjust: exact; -webkit-print-color-adjust: exact; }.report-metrics .report-amount { print-color-adjust: exact; -webkit-print-color-adjust: exact; } }

/* Identidad editorial: azul petróleo, marfil cálido y acentos oro. */
:root { --editorial-ink: #17292a; --editorial-teal: #063c40; --editorial-deep: #052a2e; --editorial-paper: #f3f0e8; --editorial-card: #fbfaf6; --editorial-gold: #c4933f; --editorial-rust: #9a6942; --editorial-line: #d9d1c1; --editorial-muted: #677474; }
body,.app-workspace button,.app-workspace input,.app-workspace select,.app-workspace textarea,.login-screen button,.login-screen input,.login-screen select { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
.login-visual-copy h2,.workspace-header h1,.report-header h2,.admin-intro h2,.inline-record-editor .dialog-heading h2,.login-card h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.control-shell { background: var(--editorial-paper); }.app-workspace { background: var(--editorial-paper); }.app-sidebar { background: linear-gradient(165deg, #073d41 0%, #052d31 58%, #041f23 100%); box-shadow: 10px 0 34px rgb(3 33 36 / .18); }.sidebar-brand { border-bottom: 1px solid rgb(235 220 181 / .16); padding-bottom: 28px; }.sidebar-mark { background: #e8e3d3; border: 1px solid #c4933f; border-radius: 4px; box-shadow: none; color: #063c40; font-family: Georgia, "Times New Roman", serif; }.sidebar-mark span { color: #063c40; }.sidebar-brand p { color: #d2a758; letter-spacing: .17em; }.sidebar-brand strong { color: #fbfaf4; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-weight: 500; letter-spacing: 0; }.sidebar-link { border-left: 2px solid transparent; border-radius: 4px; color: #c7d3cd; font-weight: 650; padding: 12px 13px; }.sidebar-link:hover { background: rgb(255 255 255 / .06); color: #fff; }.sidebar-link.is-active { background: rgb(255 255 255 / .08); border-left-color: var(--editorial-gold); box-shadow: none; color: #fff8e9; }.nav-icon { background: rgb(255 255 255 / .07); border-radius: 3px; color: #dfbb71; }.sidebar-link.is-active .nav-icon { background: rgb(196 147 63 / .2); }.sidebar-footer { border-top-color: rgb(235 220 181 / .17); color: #c7d3cd; }.sidebar-status-dot { background: #d3a94f; box-shadow: 0 0 0 4px rgb(211 169 79 / .14); }.logout-link { color: #e6d8bb; }.logout-link .nav-icon { color: #d3a94f; }
.workspace-header h1 { color: var(--editorial-ink); font-size: clamp(2.25rem, 3.2vw, 3.2rem); letter-spacing: -.04em; }.workspace-description { color: #687372; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 400; }.workspace-actions .primary-button,.primary-button,.login-button { background: var(--editorial-teal); border: 1px solid var(--editorial-gold); box-shadow: none; color: #fffaf0; }.workspace-actions .primary-button:hover,.primary-button:hover,.login-button:hover { background: #0b5054; }.active-user { color: #e9e0cb; }.app-workspace:has(#avaluosView.is-active) .workspace-header { background: var(--editorial-paper); }
.app-workspace .search-panel { background: linear-gradient(120deg, #073b3e, #0a4c50); border-color: #0e5a5e; box-shadow: none; }.app-workspace .search-panel label,.app-workspace .search-panel .filtered-count { color: #f7f0df; }.app-workspace .search-panel .search-row input { background: #fbfaf6; border-color: #d7c8a6; color: var(--editorial-ink); }.app-workspace .search-panel .period-row { border-color: rgb(231 211 167 / .3); }.app-workspace .search-panel .period-row input,.app-workspace .search-panel .period-row select { background: #faf8f1; border-color: #d4bd89; }.app-workspace .search-panel .text-button { color: #e4bd6b; }
.app-workspace .dashboard-tabs,.inline-panel,.print-report { background: var(--editorial-card); border-color: var(--editorial-line); border-radius: 4px; box-shadow: none; }.dashboard-tab-buttons { background: #ece6d9; border-bottom-color: var(--editorial-line); }.dashboard-tab-button { color: #6d7672; font-weight: 700; }.dashboard-tab-button.is-active { border-bottom-color: var(--editorial-gold); color: var(--editorial-teal); }.status-list-heading { background: var(--editorial-card); border-bottom-color: var(--editorial-line); }.status-list-heading h2,.admin-intro h2,.inline-panel h3 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }.section-count { background: #e9dfca; color: var(--editorial-teal); }
.operational-table th,.print-report th { background: var(--editorial-teal); color: #fff8eb; }.operational-table td,.print-report td { border-bottom-color: #e1d9ca; color: #435251; }.operational-table tbody tr:hover { background: #f5f0e4; }.operational-table .avaluo-list-number,.operational-table .avaluo-list-requester,.report-header h2,.report-table-section h3 { color: var(--editorial-ink); }.operational-table .avaluo-list-meta,.operational-table .avaluo-list-requester span,.operational-table .avaluo-list-date { color: #707b76; }.record-action { border-color: #cfc3a7; color: var(--editorial-teal); }.record-action:hover { background: #efe7d5; border-color: var(--editorial-gold); }.payment-badge.paid { background: #e0ece3; color: #245e46; }.payment-badge.pending { background: #f5ead2; color: #8d5d1d; }.payment-badge.expired { background: #f5e2d9; color: #934d35; }
.inline-record-editor { background: linear-gradient(145deg, #f5f0e4, #fcfaf5 65%, #eee7d7); border-color: #d9cba9; border-radius: 4px; box-shadow: none; }.inline-record-editor .dialog-heading { border-bottom-color: #ded3bf; }.inline-record-editor .dialog-heading h2 { color: var(--editorial-ink); }.inline-record-editor .form-grid label,.inline-record-editor .dialog-heading p { color: #405553; }.inline-record-editor .form-grid input:not([type=checkbox]),.inline-record-editor .form-grid select,.inline-record-editor .form-grid textarea,.login-card input,.login-card select { background: #fffdf8; border-color: #cfc3ad; color: var(--editorial-ink); box-shadow: none; }.inline-record-editor .payment-details { background: rgb(255 253 248 / .72); border-color: #d9cdb9; border-radius: 4px; }.inline-record-editor .icon-button { background: #fffdf8; border-color: #cfc3ad; color: var(--editorial-teal); }
.report-header { border-bottom-color: var(--editorial-gold); }.report-header .eyebrow,.sidebar-brand p { color: var(--editorial-rust); }.report-header p:not(.eyebrow),.admin-intro p,.inline-panel-heading p,.setting-card p { color: #6c7772; }.report-period { background: #eee7d8; border-left-color: var(--editorial-gold); color: #455553; }.report-metrics article { background: #f6f1e7; border-color: #dfd5c3; border-radius: 3px; }.report-metrics strong { color: var(--editorial-ink); }.report-metrics .report-amount { background: var(--editorial-teal); border-color: var(--editorial-teal); }.print-report tfoot td { background: #efe8da; color: var(--editorial-ink); }
.login-screen { background: var(--editorial-paper); }.login-visual { background: linear-gradient(145deg, #073d41 0%, #052e32 64%, #031f23 100%); border-right: 5px solid var(--editorial-gold); }.login-wordmark { color: #e7d7b8; letter-spacing: .12em; }.login-wordmark span,.login-visual-copy p { color: #d3a94f; }.login-visual-copy h2 { color: #fffaf0; font-size: clamp(3.2rem, 5.4vw, 5.7rem); letter-spacing: -.055em; }.login-visual-copy span { color: #d7ddd3; }.login-visual-footer { color: #c0d0c8; }.login-card { background: #fbfaf6; }.login-card h1 { color: var(--editorial-ink); font-size: 2.35rem; }.login-copy { color: #6c7772; font-family: Georgia, "Times New Roman", serif; font-weight: 400; }.login-card label { color: #435451; }.login-card input:focus,.login-card select:focus { border-color: var(--editorial-gold); box-shadow: 0 0 0 3px rgb(196 147 63 / .16); }.login-hint { color: #6f7974; }.credential-setup-button { color: var(--editorial-teal); }

/* Acceso claro a la izquierda y vistas iniciales más elegantes. */
.login-screen { grid-template-columns: minmax(520px, 1.05fr) minmax(380px, .95fr); }.login-card { align-content: center; background: #fbfaf6; grid-column: 1; grid-row: 1; justify-self: stretch; max-width: none; padding: 58px clamp(56px, 9vw, 150px); }.login-visual { border-left: 5px solid var(--editorial-gold); border-right: 0; grid-column: 2; grid-row: 1; padding: 56px clamp(40px, 6vw, 95px); }.login-card .eyebrow { color: var(--editorial-rust); }.login-card label { font-weight: 700; letter-spacing: .01em; }.login-card input,.login-card select { border-radius: 3px; min-height: 52px; }.login-card #loginUser { color: var(--editorial-teal); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; letter-spacing: .01em; }.login-card #loginUser option { font-family: Georgia, "Times New Roman", serif; }.login-button { border-radius: 3px; letter-spacing: .02em; }.welcome-view { align-items: center; display: grid; gap: clamp(28px, 5vw, 82px); grid-template-columns: minmax(320px, .95fr) minmax(270px, .8fr); max-width: 1050px; min-height: min(68vh, 580px); padding: clamp(22px, 5vw, 58px) 0; }.welcome-card { background: #fbfaf6; border: 1px solid var(--editorial-line); border-top: 4px solid var(--editorial-gold); box-shadow: 0 16px 30px rgb(23 41 42 / .06); padding: clamp(28px, 5vw, 58px); }.welcome-monogram { align-items: center; background: var(--editorial-teal); border: 1px solid var(--editorial-gold); color: #fff8eb; display: inline-flex; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; height: 42px; justify-content: center; margin: 20px 0 18px; width: 42px; }.welcome-card h2 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.05em; line-height: .98; margin: 0; }.welcome-card h2 span { color: var(--editorial-rust); display: block; }.welcome-copy { color: #65716e; font-family: Georgia, "Times New Roman", serif; font-size: 1.02rem; line-height: 1.6; margin: 20px 0 28px; max-width: 450px; }.welcome-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; }.welcome-link { background: transparent; border: 0; color: var(--editorial-teal); cursor: pointer; font: inherit; font-weight: 800; padding: 10px 2px; }.welcome-link:hover { color: var(--editorial-rust); text-decoration: underline; }.welcome-guide { border-left: 1px solid var(--editorial-gold); padding: 13px 0 13px 28px; }.welcome-guide .section-kicker { color: var(--editorial-rust); font-size: .68rem; font-weight: 900; letter-spacing: .17em; }.welcome-guide h3 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 2.6vw, 2.35rem); font-weight: 500; line-height: 1.06; margin: 12px 0; }.welcome-guide p { color: #6c7772; line-height: 1.65; max-width: 360px; }.app-workspace .search-panel { background: transparent; border: 0; box-shadow: none; margin: 0 0 22px; padding: 0; }.app-workspace .search-panel .search-topline { display: none; }.app-workspace .search-panel .search-row { display: block; }.app-workspace .search-panel .search-row input { background: #fffdf8; border: 1px solid #cfc3ad; border-radius: 3px; box-sizing: border-box; color: var(--editorial-ink); font-size: .95rem; min-height: 52px; padding: 13px 15px; width: 100%; }.app-workspace .search-panel .search-row input:focus { border-color: var(--editorial-gold); box-shadow: 0 0 0 3px rgb(196 147 63 / .14); outline: 0; }.inline-record-editor .form-grid input:not([type=checkbox]),.inline-record-editor .form-grid select { border-radius: 3px; min-height: 52px; padding: 13px 14px; }.inline-record-editor .form-grid textarea { border-radius: 3px; min-height: 108px; padding: 13px 14px; }.operational-table { min-width: 1180px; }.operational-table th { font-size: .68rem; padding: 11px 12px; text-transform: uppercase; }.operational-table td { font-size: .77rem; padding: 12px; white-space: nowrap; }.operational-table .avaluo-list-type,.operational-table .avaluo-list-meta { display: block; }.operational-table .avaluo-list-type { color: var(--editorial-ink); font-weight: 750; }.operational-table .avaluo-list-meta { margin-top: 2px; }.operational-table .avaluo-list-actions { flex-wrap: nowrap; gap: 4px; min-width: 205px; }.operational-table .record-action { font-size: .7rem; padding: 7px 8px; }
@media (max-width: 800px) { .login-screen { grid-template-columns: 1fr; }.login-card { grid-column: 1; grid-row: 2; padding: 38px 30px; }.login-visual { border-left: 0; border-top: 4px solid var(--editorial-gold); grid-column: 1; grid-row: 1; }.welcome-view { grid-template-columns: 1fr; min-height: auto; }.welcome-guide { margin-bottom: 22px; } }

/* Bienvenida despejada, acceso institucional y Avalúos en gris editorial. */
.login-visual { position: relative; }.login-visual-copy p { display: none; }.login-visual-copy span { color: #dbc58f; font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }.login-wordmark { bottom: 30px; color: #d8ddcf; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .68rem; font-weight: 650; letter-spacing: .13em; position: absolute; right: 34px; }.login-visual-footer { left: clamp(40px, 6vw, 95px); position: absolute; bottom: 30px; }.login-card,.login-visual-copy,.login-wordmark,.login-visual-footer { animation: login-reveal 560ms cubic-bezier(.22,.7,.25,1) both; }.login-visual-copy { animation-delay: 80ms; }.login-wordmark { animation-delay: 170ms; }.login-visual-footer { animation-delay: 210ms; }@keyframes login-reveal { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.sidebar-brand { align-items: flex-start; border-bottom: 1px solid rgb(235 220 181 / .16); display: flex; padding: 7px 12px 25px; }.sidebar-brand strong { color: #fbfaf4; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 500; line-height: .95; }.sidebar-brand p,.sidebar-mark { display: none; }.welcome-view { grid-template-columns: minmax(340px, .78fr) minmax(290px, .82fr); }.welcome-card { border-top-width: 2px; min-height: 270px; padding: clamp(36px, 6vw, 74px); }.welcome-card h2 { margin: 0; }.welcome-card h2 span { margin-top: 7px; }.welcome-copy { margin: 26px 0 0; }.welcome-actions,.welcome-monogram,.welcome-card .eyebrow { display: none; }.welcome-guide { padding-left: 30px; }.development-view { align-items: center; display: flex; min-height: min(58vh, 470px); }.development-card { background: #fbfaf6; border: 1px solid var(--editorial-line); border-left: 4px solid var(--editorial-gold); max-width: 630px; padding: clamp(30px, 5vw, 58px); }.development-card h2 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 500; margin: 12px 0; }.development-card p { color: #687370; font-family: Georgia, "Times New Roman", serif; line-height: 1.65; max-width: 500px; }.development-card .section-kicker { color: var(--editorial-rust); font-size: .68rem; font-weight: 900; letter-spacing: .16em; }
.app-workspace:has(#avaluosView.is-active) .workspace-header { z-index: 40; }.app-workspace #avaluosView.is-active .search-panel { top: 142px; z-index: 39; }.app-workspace #avaluosView.is-active .inline-record-editor { margin-top: 22px; z-index: 20; }.app-workspace .dashboard-tabs { background: #f6f6f4; border-color: #dddeda; box-shadow: none; }.dashboard-tab-buttons { background: #eceeec; border-bottom-color: #d8dbd8; }.dashboard-tab-button { color: #68716f; font-family: Georgia, "Times New Roman", serif; font-size: .88rem; font-weight: 500; }.dashboard-tab-button.is-active { border-bottom-color: #9aa4a1; color: #283736; }.status-list-heading { background: #f7f7f5; border-bottom-color: #dedfdb; }.status-list-heading h2,.section-count { color: #3c4a49; font-family: Georgia, "Times New Roman", serif; font-weight: 500; }.section-count { background: #e5e7e4; }.operational-table { font-family: Georgia, "Times New Roman", serif; }.operational-table th { background: #e7e9e6; color: #4c5755; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .66rem; font-weight: 800; }.operational-table td { border-bottom-color: #e0e2df; color: #4c5755; }.operational-table tbody tr:hover { background: #eff1ee; }.operational-table .avaluo-list-number,.operational-table .avaluo-list-requester,.operational-table .avaluo-list-type { color: #354442; }.operational-table .avaluo-list-meta,.operational-table .avaluo-list-date { color: #7b8581; }.payment-badge { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
@media (max-width: 800px) { .login-wordmark { bottom: 18px; right: 20px; }.login-visual-footer { bottom: 18px; left: 30px; }.welcome-view { grid-template-columns: 1fr; }.development-view { min-height: 360px; } }

/* Listado de Avalúos: datos continuos, compactos y estados sin etiqueta de fondo. */
.operational-table-compact { min-width: 970px; }.operational-table-compact th { padding: 8px 10px; white-space: nowrap; }.operational-table-compact td { font-family: Georgia, "Times New Roman", serif; font-size: .78rem; padding: 8px 10px; white-space: nowrap; }.operational-table-compact .avaluo-list-number { color: #354442; font-family: inherit; font-size: .8rem; font-weight: 800; }.operational-table-compact .avaluo-list-requester { color: #354442; font-size: .78rem; font-weight: 500; }.operational-table-compact .avaluo-status { background: transparent; display: inline; font-family: inherit; font-size: .78rem; font-weight: 700; padding: 0; }.operational-table-compact .avaluo-status.paid { color: #347556; }.operational-table-compact .avaluo-status.pending { color: #9a7022; }.operational-table-compact .avaluo-status.expired { color: #a6503c; }.operational-table-compact .table-action-cell { padding: 6px 5px; text-align: center; }.operational-table-compact .record-action { font-size: .67rem; min-width: 54px; padding: 5px 7px; }.operational-table-compact .table-action-cell:empty::before { color: #a8aeab; content: "—"; }.operational-table-compact tbody tr { height: 37px; }

/* Sesión visible y transiciones del panel. */
.sidebar-account-copy { display: grid; gap: 3px; min-width: 0; }.active-user { color: #f7f1e2; display: block; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .74rem; font-weight: 750; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.active-user-role { color: #d8c08b; display: block; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .68rem; font-weight: 650; }.sidebar-online { align-items: center; color: #b9d5c6; display: inline-flex; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .67rem; gap: 7px; margin-top: 3px; }.sidebar-online .sidebar-status-dot { flex: 0 0 auto; height: 6px; width: 6px; }
.inline-record-editor, .inline-record-editor label, .inline-record-editor input, .inline-record-editor select, .inline-record-editor textarea { font-family: Georgia, "Times New Roman", serif; }.inline-record-editor .dialog-actions button { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
.app-view.is-active { animation: panel-view-reveal 260ms cubic-bezier(.22,.7,.25,1) both; }@keyframes panel-view-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }@media (prefers-reduced-motion: reduce) { .app-view.is-active, .login-card, .login-visual-copy, .login-wordmark, .login-visual-footer { animation: none; } }
@media (max-width: 800px) { .active-user { max-width: 100%; }.active-user-role { font-size: .66rem; } }

/* Bienvenida: pendientes a la izquierda y alta de tareas a la derecha. */
.welcome-view { align-items: stretch; display: grid; gap: 22px; grid-template-columns: 1fr; max-width: 1100px; min-height: auto; padding: 18px 0 30px; }
.welcome-card,.welcome-guide,.welcome-tasks { grid-column: 1; }
.welcome-guide { border-bottom: 1px solid var(--editorial-gold); border-left: 0; padding: 0 0 15px; }
.welcome-guide h3 { font-size: clamp(1.65rem, 2.6vw, 2.2rem); margin: 8px 0 0; }
.welcome-tasks { background: #fbfaf6; border: 1px solid var(--editorial-line); box-shadow: 0 12px 25px rgb(23 41 42 / .05); padding: clamp(20px, 3vw, 30px); }
.welcome-tasks-header { align-items: flex-start; border-bottom: 1px solid #dedbcf; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 20px; padding-bottom: 14px; }
.welcome-tasks-header h3 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; font-weight: 500; margin: 7px 0 0; }
.task-count { color: var(--editorial-rust); font-size: .9em; }
.task-sync-label { color: #75807b; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .7rem; font-weight: 750; letter-spacing: .04em; padding-top: 8px; text-align: right; }
.welcome-tasks-layout { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(285px, .82fr); }
.task-list-column { border-right: 1px solid #dedbcf; min-width: 0; padding-right: 24px; }
.task-column-label { color: var(--editorial-rust); display: block; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .67rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 11px; text-transform: uppercase; }
.task-list { display: grid; gap: 9px; }
.task-empty { color: #6c7772; font-family: Georgia, "Times New Roman", serif; line-height: 1.55; margin: 5px 0; }
.task-item { align-items: flex-start; background: #fffdf8; border: 1px solid #dedbcf; display: flex; gap: 10px; justify-content: space-between; padding: 12px 13px; }
.task-item label { align-items: flex-start; color: var(--editorial-ink); display: flex; flex: 1; font-family: Georgia, "Times New Roman", serif; gap: 9px; min-width: 0; }
.task-item input[type="checkbox"] { accent-color: var(--editorial-teal); flex: 0 0 auto; margin-top: 3px; }
.task-item label span { display: grid; gap: 4px; min-width: 0; }
.task-item strong { font-size: .96rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.task-item small,.task-item em { color: #6c7772; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .72rem; font-style: normal; line-height: 1.4; }
.task-item.is-complete strong { color: #7f8985; text-decoration: line-through; }
.task-remove { background: transparent; border: 0; color: var(--editorial-rust); cursor: pointer; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .7rem; font-weight: 800; padding: 3px 0; }
.task-form { align-content: start; background: #f4f1e8; border: 1px solid #dedbcf; display: grid; gap: 8px; padding: 16px; }
.task-form label { color: #455651; display: grid; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .77rem; font-weight: 750; gap: 6px; margin-top: 3px; }
.task-form label span { color: #89918b; font-weight: 500; }
.task-form input,.task-form select,.task-form textarea { background: #fffdf8; border: 1px solid #cfc7b6; border-radius: 3px; box-sizing: border-box; color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: .92rem; min-height: 43px; padding: 10px 11px; width: 100%; }
.task-form textarea { min-height: 76px; resize: vertical; }
.task-form input:focus,.task-form select:focus,.task-form textarea:focus { border-color: var(--editorial-gold); box-shadow: 0 0 0 3px rgb(196 147 63 / .12); outline: 0; }
.task-form-footer { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-top: 7px; }
.task-form-footer small { color: #75807b; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .7rem; }
.task-form .subtle-action-button { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .74rem; }
.task-form[hidden] { display: none; }
@media (max-width: 800px) { .welcome-tasks-layout { grid-template-columns: 1fr; }.task-list-column { border-bottom: 1px solid #dedbcf; border-right: 0; padding: 0 0 20px; }.task-sync-label { text-align: left; }.welcome-tasks-header { display: grid; gap: 4px; } }

/* Herramientas globales de trabajo: nota independiente y chat compartido */
.floating-task-button{position:fixed;right:24px;bottom:24px;z-index:40;display:inline-flex;align-items:center;gap:8px;border:1px solid #b7c7c8;border-radius:999px;background:#f4efe5;color:#123e5a;box-shadow:0 12px 30px rgba(18,62,90,.16);cursor:pointer;font-family:var(--ui-font,Arial,sans-serif);font-size:13px;font-weight:700;padding:11px 16px;transition:transform .18s ease,box-shadow .18s ease}
.floating-task-button:hover{box-shadow:0 14px 34px rgba(18,62,90,.22);transform:translateY(-2px)}
.floating-task-button span:first-child{font-size:20px;font-weight:400;line-height:1}
.quick-task-dialog{max-width:620px;width:calc(100% - 32px)}
.quick-task-dialog form{min-width:0}
.chat-widget{position:fixed;right:24px;bottom:24px;z-index:39;display:flex;align-items:flex-end;flex-direction:column;gap:10px}
.chat-panel{width:min(380px,calc(100vw - 32px));border:1px solid #c7d4d4;border-radius:18px;background:#fffdf8;box-shadow:0 18px 46px rgba(18,62,90,.2);overflow:hidden}
.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #dbe5e9;background:#f4efe5;padding:15px 16px 12px}
.chat-heading h2{margin:4px 0 0;color:#123e5a;font-family:Georgia,serif;font-size:18px}
.chat-messages{display:flex;flex-direction:column;gap:9px;max-height:300px;overflow-y:auto;padding:13px 14px;background:#fbfaf6}
.chat-message{align-self:flex-start;max-width:88%;border:1px solid #dbe5e9;border-radius:12px 12px 12px 4px;background:#fff;padding:9px 11px}
.chat-message.is-mine{align-self:flex-end;border-color:#c7d8d3;background:#edf4ef;border-radius:12px 12px 4px 12px}
.chat-message-meta{display:flex;gap:8px;align-items:center;color:#5b6f77;font-size:10px}
.chat-message-meta strong{color:#123e5a;font-size:11px}
.chat-message-meta time{white-space:nowrap}
.chat-message p{margin:5px 0 0;color:#243b42;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.chat-form{display:flex;gap:8px;border-top:1px solid #dbe5e9;background:#fff;padding:11px}
.chat-form input{min-width:0;flex:1}
.chat-toggle-button{border:1px solid #b7c7c8;border-radius:999px;background:#123e5a;color:#fff;box-shadow:0 12px 30px rgba(18,62,90,.18);cursor:pointer;font-family:var(--ui-font,Arial,sans-serif);font-size:12px;font-weight:700;padding:10px 15px}
.chat-toggle-button:hover{background:#1b506d}
#chatPanel[hidden]{display:none}
#chatWidget[hidden],#quickTaskButton[hidden]{display:none}
@media(max-width:760px){.floating-task-button{right:16px;bottom:16px;padding:10px 13px}.floating-task-button span:last-child{display:none}.chat-widget{right:16px;bottom:16px}.chat-panel{width:calc(100vw - 32px)}.chat-widget:has(.chat-panel:not([hidden]))~.floating-task-button{display:none}}

/* Separación entre acciones globales */
.floating-task-button{bottom:82px}
@media(max-width:760px){.floating-task-button{bottom:76px}.chat-widget{bottom:16px}}

/* Home: separar claramente las tareas recibidas de las asignadas por mí */
.task-created-label{border-top:1px solid #dedbcf;margin-top:22px;padding-top:18px}
/* Cuando el chat se abre, la nota se desplaza al lado contrario y permanece accesible */
.chat-widget:has(.chat-panel:not([hidden]))~.floating-task-button{left:24px;right:auto;bottom:24px}
@media(max-width:760px){.chat-widget:has(.chat-panel:not([hidden]))~.floating-task-button{display:inline-flex;left:16px;right:auto;bottom:16px}.floating-task-button span:last-child{display:none}}

/* Modal Nota y/o tarea: referencia editorial proporcionada */
.quick-task-dialog { background: transparent; border: 0; border-radius: 18px; max-height: min(92vh, 620px); padding: 0; width: min(620px, calc(100% - 32px)); }
.quick-task-dialog::backdrop { background: rgb(10 32 39 / .42); }
.quick-task-dialog form { background: #fff; border: 1px solid #d9e0dc; border-radius: 18px; box-shadow: 0 24px 60px rgb(9 39 46 / .25); color: #263f48; padding: 28px 27px 23px; }
.quick-task-dialog .dialog-heading { align-items: flex-start; border-bottom: 0; display: flex; gap: 18px; justify-content: space-between; margin: 0 0 25px; padding: 0; }
.quick-task-dialog .eyebrow { color: #6e7772; font-size: .68rem; font-weight: 900; letter-spacing: .18em; margin: 0 0 8px; }
.quick-task-dialog .dialog-heading h2 { color: #123e5a; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; font-weight: 600; letter-spacing: -.025em; margin: 0; }
.quick-task-dialog .credential-copy { color: #1e292d; font-family: Georgia, "Times New Roman", serif; font-size: .95rem; line-height: 1.5; margin: 0 0 20px; }
.quick-task-dialog .form-grid { display: grid; gap: 15px; }
.quick-task-dialog .form-grid label { color: #405861; display: grid; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .78rem; font-weight: 800; gap: 7px; }
.quick-task-dialog .form-grid label span { display: block; font-size: .76rem; margin-top: 1px; }
.quick-task-dialog .form-grid input:not([type=checkbox]), .quick-task-dialog .form-grid select, .quick-task-dialog .form-grid textarea { background: #fff; border: 1.5px solid #cfd5d1; border-radius: 10px; box-sizing: border-box; color: #243942; font-family: Georgia, "Times New Roman", serif; font-size: .9rem; min-height: 43px; padding: 10px 11px; width: 100%; }
.quick-task-dialog .form-grid textarea { min-height: 76px; resize: vertical; }
.quick-task-dialog .form-grid input:focus, .quick-task-dialog .form-grid select:focus, .quick-task-dialog .form-grid textarea:focus { border-color: #123e5a; box-shadow: 0 0 0 3px rgb(18 62 90 / .12); outline: 0; }
.quick-task-dialog .dialog-actions { align-items: center; display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; }
.quick-task-dialog .secondary-button { background: #edf4f2; border: 0; border-radius: 10px; color: #365360; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .82rem; font-weight: 800; min-height: 45px; padding: 10px 18px; }
.quick-task-dialog .primary-button { background: #063f43; border: 1px solid #c4933f; border-radius: 10px; box-shadow: none; color: #fff; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .82rem; font-weight: 800; min-height: 45px; padding: 10px 18px; }
.quick-task-dialog .secondary-button:hover, .quick-task-dialog .secondary-button:focus-visible { background: #e1eeeb; outline: 0; }
.quick-task-dialog .primary-button:hover, .quick-task-dialog .primary-button:focus-visible { background: #07575b; outline: 0; }
@media(max-width:560px){.quick-task-dialog form{padding:23px 18px 18px}.quick-task-dialog .dialog-heading h2{font-size:1.3rem}.quick-task-dialog .dialog-actions{flex-wrap:wrap}.quick-task-dialog .dialog-actions button{flex:1 1 130px}}

/* Fechas y estados de tareas asignadas por el usuario */
.task-status-group{display:grid;gap:8px}.task-status-label{color:#71808a;display:block;font-size:.68rem;font-weight:900;letter-spacing:.08em;margin:4px 0 1px;text-transform:uppercase}.task-status-label-complete{border-top:1px solid #e1e6e2;margin-top:12px;padding-top:13px}.task-dates{color:#7b8784;font-size:.7rem;font-style:normal;line-height:1.45;margin-top:5px}

/* Home compacto: bienvenida y contexto del usuario en columnas */
.welcome-card{align-items:center;display:flex;gap:24px;justify-content:space-between;padding:24px 30px}.welcome-card-main{flex:0 1 auto}.welcome-card .welcome-copy{flex:1 1 360px;margin:0;max-width:520px}.welcome-card h2{font-size:clamp(1.85rem,3.2vw,2.7rem)}
@media(max-width:800px){.welcome-card{align-items:flex-start;display:flex;flex-direction:column;gap:12px;padding:24px}.welcome-card .welcome-copy{max-width:none}}

/* Asistente de elaboración técnica por pasos */
.technical-stepper{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 18px;padding:0 2px}.technical-step{align-items:flex-start;background:#f8faf9;border:1px solid #dce5e1;border-radius:12px;color:#5c6d68;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:82px;padding:11px 12px;text-align:left;transition:background .18s,border-color .18s,color .18s}.technical-step span{align-items:center;background:#e8efec;border-radius:50%;color:#315d5b;display:flex;font-size:.74rem;font-weight:800;height:24px;justify-content:center;width:24px}.technical-step strong{font-size:.78rem;line-height:1.2}.technical-step small{font-size:.68rem;color:#8a9691}.technical-step.is-current{background:#edf7f2;border-color:#167a5c;color:#164f4b}.technical-step.is-current span{background:#167a5c;color:#fff}.technical-step.is-complete{background:#f1f7ed;border-color:#9bbd9a}.technical-step.is-complete span{background:#4e8d5a;color:#fff}.technical-step.is-complete small{color:#397042;font-weight:700}.technical-step-actions{align-items:center;border-top:1px solid #e5ebe8;display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:16px}.technical-step-actions .technical-step-back{margin-right:auto}.appraisal-type-panel.is-hidden{display:none}.technical-form-section[hidden]{display:none}
@media(max-width:760px){.technical-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-step:last-child{grid-column:1/-1}.technical-step{min-height:70px}.technical-step-actions{flex-wrap:wrap}.technical-step-actions .technical-step-back{margin-right:0}}

/* Functional compatibility: override.css */
.search-panel {
  background: linear-gradient(135deg, #123e5a 0%, #1b5878 100%);
  border-color: #123e5a;
  box-shadow: 0 10px 24px rgba(18, 62, 90, 0.14);
}

.search-panel label,
.search-panel .filtered-count,
.search-panel .period-help,
.search-panel .period-help small {
  color: #edf7fb;
}

.search-panel .period-row {
  border-top-color: rgba(235, 247, 252, 0.25);
}

.search-panel .search-row input,
.search-panel .period-row input,
.search-panel .period-row select {
  background: #ffffff;
  border-color: #d7e8f0;
}

.search-panel .filter-button {
  background: rgba(255, 255, 255, 0.16);
  color: #eef8fc;
}

.search-panel .filter-button.is-active {
  background: #ffffff;
  color: #123e5a;
}

.search-panel .text-button {
  color: #ffffff;
  text-decoration: underline;
}

.priority-scroll {
  max-height: 632px;
  overflow-y: auto;
  scrollbar-color: #b9872d #fff8e8;
  scrollbar-width: thin;
}

.priority-scroll::-webkit-scrollbar { width: 8px; }
.priority-scroll::-webkit-scrollbar-track { background: #fff8e8; }
.priority-scroll::-webkit-scrollbar-thumb { background: #c99332; border-radius: 999px; }

.delivered-section {
  background: #ffffff;
  border: 1px solid #b8d6e5;
  border-radius: 18px;
  margin-top: 24px;
  padding: 20px;
}

.delivered-header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.delivered-header h2 { color: #123e5a; font-size: 1.13rem; letter-spacing: -.02em; margin: 5px 0 0; }
.delivered-header p { color: #667783; font-size: .86rem; margin: 7px 0 0; }
.delivered-count { background: #e4f0f6; border-radius: 999px; color: #205775; font-size: .78rem; font-weight: 800; padding: 7px 10px; white-space: nowrap; }
.delivered-table-wrap { overflow-x: auto; }
.delivered-table-wrap table { border-collapse: collapse; margin-top: 18px; min-width: 680px; width: 100%; }
.delivered-table-wrap th { color: #56717f; font-size: .74rem; letter-spacing: .03em; text-align: left; }
.delivered-table-wrap th, .delivered-table-wrap td { border-bottom: 1px solid #dceaf0; padding: 12px 10px; }
.delivered-table-wrap td { color: #294a5b; font-size: .87rem; }
.delivered-table-wrap tr:last-child td { border-bottom: 0; }

.payment-details { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 1120px) { .payment-details { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .delivered-header { flex-direction: column; } .payment-details { grid-template-columns: 1fr; } }

.avaluos-subnav { align-items: stretch; background: #edf4f6; border: 1px solid #d8e5ea; border-radius: 16px; display: flex; gap: 6px; margin-bottom: 22px; padding: 6px; }
.avaluos-subnav-button { background: transparent; border: 0; border-radius: 11px; color: #57717f; cursor: pointer; flex: 1; font: inherit; padding: 12px 15px; text-align: left; transition: background .18s ease, color .18s ease, box-shadow .18s ease; }
.avaluos-subnav-button span { display: block; font-size: .93rem; font-weight: 800; }
.avaluos-subnav-button small { display: block; font-size: .75rem; margin-top: 3px; opacity: .86; }
.avaluos-subnav-button.is-active { background: #fff; box-shadow: 0 3px 10px rgba(18, 62, 90, .12); color: #123e5a; }
.technical-appraisal-section { animation: technicalFade .22s ease-out both; }
@keyframes technicalFade { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.technical-intro { align-items: flex-start; background: linear-gradient(136deg, #123e5a, #205f7d); border-radius: 18px; color: #fff; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 20px; padding: 24px 26px; }
.technical-intro .eyebrow { color: #bcd7e3; }
.technical-intro h2 { color: #fff; font-size: 1.45rem; margin: 5px 0 4px; }
.technical-intro p { color: #d7e7ed; line-height: 1.55; margin: 0; max-width: 680px; }
.technical-status { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: .76rem; font-weight: 800; padding: 8px 11px; white-space: nowrap; }
.appraisal-type-panel { margin-bottom: 16px; }
.technical-type-label { display: block; max-width: 360px; }
.technical-type-label select { margin-top: 7px; width: 100%; }
.technical-type-hint { background: #fffdf7; border: 1px dashed #d7bc83; border-radius: 15px; color: #5f5138; display: flex; flex-direction: column; gap: 4px; padding: 20px 22px; }
.technical-type-hint[hidden] { display: none; }
.technical-type-hint span { color: #85775e; font-size: .88rem; }
.automotriz-editor { margin-top: 18px; }
.technical-form-section { background: #fff; border: 1px solid #dbe6ea; border-radius: 18px; margin-top: 18px; padding: 24px; }
.technical-section-heading { align-items: flex-start; border-bottom: 1px solid #e6eef1; display: flex; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; }
.technical-section-heading > span { align-items: center; background: #123e5a; border-radius: 8px; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 900; height: 28px; justify-content: center; width: 28px; }
.technical-section-heading h3 { color: #193c51; font-size: 1.05rem; margin: 0; }
.technical-section-heading p { color: #6b7b84; font-size: .85rem; margin: 4px 0 0; }
.technical-grid { gap: 15px 16px; }
.automotriz-vehicles { display: grid; gap: 18px; }
.vehicle-card { background: #f8fbfc; border: 1px solid #d7e5ea; border-radius: 16px; overflow: hidden; padding: 20px; }
.vehicle-card-header { align-items: flex-start; border-bottom: 1px solid #dfeaec; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 18px; padding-bottom: 16px; }
.vehicle-index { color: #b58229; display: block; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vehicle-card-header h4 { color: #163f56; font-size: 1rem; margin: 4px 0 0; }
.remove-vehicle-button { background: transparent; border: 0; color: #9a433c; cursor: pointer; font: inherit; font-size: .81rem; font-weight: 800; padding: 4px; }
.vehicle-photos, .obsolescence-panel { border-top: 1px solid #dfeaec; margin-top: 21px; padding-top: 19px; }
.subsection-heading { align-items: flex-start; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 15px; }
.subsection-heading h5 { color: #27495b; font-size: .92rem; margin: 0; }
.subsection-heading p { color: #71818a; font-size: .78rem; line-height: 1.45; margin: 4px 0 0; max-width: 560px; }
.photo-upload-button { background: #e3eef2; border: 1px solid #c8dde5; border-radius: 9px; color: #20536d; cursor: pointer; font-size: .77rem; font-weight: 800; padding: 8px 10px; white-space: nowrap; }
.photo-upload-button input { display: none; }
.photo-preview-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.photo-preview { background: #eef3f5; border-radius: 10px; margin: 0; min-height: 90px; overflow: hidden; position: relative; }
.photo-preview img { display: block; height: 118px; object-fit: cover; width: 100%; }
.photo-empty { align-items: center; background: #f3f7f8; border: 1px dashed #c8d8de; border-radius: 10px; color: #7b8e96; display: flex; font-size: .8rem; grid-column: 1 / -1; justify-content: center; margin: 0; min-height: 72px; }
.remove-photo-button { align-items: center; background: rgba(79, 47, 42, .82); border: 0; border-radius: 999px; color: #fff; cursor: pointer; display: flex; font-size: 1rem; height: 23px; justify-content: center; line-height: 1; padding: 0; position: absolute; right: 6px; top: 6px; width: 23px; }
.obsolescence-groups { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.factor-group { background: #fff; border: 1px solid #dce7ea; border-radius: 12px; padding: 15px; }
.factor-group h6 { color: #405b69; font-size: .81rem; margin: 0 0 12px; }
.factor-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.factor-grid label { color: #607680; font-size: .75rem; font-weight: 700; }
.factor-grid input { font-size: .78rem; margin-top: 5px; width: 100%; }
.factor-result { color: #5b7480; font-size: .79rem; margin: 14px 0 0; text-align: right; }
.factor-result strong { color: #123e5a; }
.economic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.obsolescence-summary { align-items: center; border-radius: 10px; display: flex; justify-content: space-between; margin-top: 14px; padding: 11px 13px; }
.obsolescence-summary span { font-size: .8rem; font-weight: 800; }
.obsolescence-summary strong { font-size: 1.05rem; }
.functional-summary { background: #e7f2f5; color: #20536d; }
.economic-summary { background: #f7efdc; color: #73591d; }
.demerit-summary { background: #123e5a; border-radius: 12px; color: #fff; display: grid; gap: 1px; grid-template-columns: 1fr 1fr; margin-top: 20px; overflow: hidden; }
.demerit-summary > div { padding: 16px 18px; }
.demerit-summary > div + div { background: #1c5875; }
.demerit-summary span, .demerit-summary small { color: #c6dce6; display: block; font-size: .75rem; }
.demerit-summary strong { display: block; font-size: 1.35rem; margin: 3px 0 4px; }
.add-vehicle-button { margin-top: 17px; }
.technical-actions { margin-top: 20px; }

@media (max-width: 820px) {
  .avaluos-subnav, .technical-intro, .subsection-heading, .vehicle-card-header { flex-direction: column; }
  .technical-status { white-space: normal; }
  .obsolescence-groups, .demerit-summary { grid-template-columns: 1fr; }
  .economic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .technical-form-section, .vehicle-card { padding: 16px; }
  .factor-grid, .economic-grid, .photo-preview-grid { grid-template-columns: 1fr 1fr; }
}

.avaluos-menu { animation: technicalFade .22s ease-out both; margin: 8px 0 22px; }
.avaluos-menu-intro { margin-bottom: 19px; max-width: 630px; }
.avaluos-menu-intro h2 { color: #173e55; font-size: 1.42rem; margin: 5px 0 6px; }
.avaluos-menu-intro p:not(.eyebrow) { color: #6b7b84; line-height: 1.5; margin: 0; }
.avaluos-choice-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.avaluos-choice-card { align-items: flex-start; background: #fff; border: 1px solid #d8e4e9; border-radius: 17px; color: #1f465c; cursor: pointer; display: flex; font: inherit; gap: 13px; min-height: 168px; padding: 22px 18px; position: relative; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.avaluos-choice-card:hover, .avaluos-choice-card:focus-visible { border-color: #8fbdcf; box-shadow: 0 12px 24px rgba(23, 67, 88, .12); outline: none; transform: translateY(-2px); }
.avaluos-choice-card.recepcion-choice { border-top: 4px solid #2f8194; }
.avaluos-choice-card.crear-choice { border-top: 4px solid #c78e30; }
.avaluos-choice-card.precalculos-choice { border-top: 4px solid #547b96; }
.avaluos-choice-icon { align-items: center; background: #e8f3f6; border-radius: 11px; color: #1d637d; display: inline-flex; flex: 0 0 38px; font-family: Georgia, serif; font-size: 1.24rem; height: 38px; justify-content: center; }
.crear-choice .avaluos-choice-icon { background: #f8efdc; color: #9b6a20; }
.precalculos-choice .avaluos-choice-icon { background: #e9eef4; color: #43677f; }
.avaluos-choice-copy { display: flex; flex-direction: column; gap: 7px; padding-right: 12px; }
.avaluos-choice-copy strong { color: #183d53; font-size: 1rem; }
.avaluos-choice-copy small { color: #6c7e87; font-size: .82rem; line-height: 1.45; }
.avaluos-choice-arrow { bottom: 15px; color: #4b7282; font-size: 1.2rem; position: absolute; right: 17px; }
.subtopic-header { align-items: center; display: flex; gap: 13px; margin: 3px 0 18px; }
.subtopic-header h2 { color: #173e55; font-size: 1.32rem; margin: 3px 0 0; }
.subtopic-header .eyebrow { margin: 0; }
.back-to-avaluos { background: transparent; border: 1px solid #cbdce2; border-radius: 9px; color: #426a7b; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; padding: 8px 10px; }
.back-to-avaluos:hover { background: #f0f7f9; }
.technical-subtopic-header { border-bottom: 1px solid #dbe6ea; padding-bottom: 15px; }
.technical-grid label, .vehicle-basics label, .factor-grid label { color: #46606d; font-family: "Segoe UI", Aptos, Arial, sans-serif; font-weight: 700; letter-spacing: .01em; }
.technical-grid input, .technical-grid textarea, .technical-grid select, .vehicle-basics input, .vehicle-basics textarea, .factor-grid input { background: #fff; border-color: #c7d9e0; color: #173e55; font-family: "Segoe UI", Aptos, Arial, sans-serif; font-size: .91rem; line-height: 1.35; margin-top: 7px; padding: 10px 11px; }
.technical-grid input:focus, .technical-grid textarea:focus, .technical-grid select:focus, .vehicle-basics input:focus, .vehicle-basics textarea:focus, .factor-grid input:focus { border-color: #2f8194; box-shadow: 0 0 0 3px rgba(47, 129, 148, .14); outline: none; }
.technical-folio-field input { background: #eaf3f6; border-color: #a9c8d3; color: #174c64; font-family: "Segoe UI Mono", Consolas, monospace; font-size: 1rem; font-weight: 800; letter-spacing: .06em; }
.technical-folio-help { align-self: end; color: #6d8089; font-family: "Segoe UI", Aptos, Arial, sans-serif; font-size: .75rem; grid-column: span 1; line-height: 1.35; padding: 0 0 11px; }
.demerit-summary > div { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; min-height: 72px; }
.precalculos-empty { align-items: center; background: linear-gradient(145deg, #f7fafb, #eef4f6); border: 1px dashed #b5cbd4; border-radius: 17px; color: #617782; display: flex; flex-direction: column; margin-top: 12px; padding: 48px 26px; text-align: center; }
.precalculos-symbol { align-items: center; background: #dfeef3; border-radius: 50%; color: #2f7189; display: flex; font-family: Georgia, serif; font-size: 1.6rem; height: 52px; justify-content: center; width: 52px; }
.precalculos-empty h3 { color: #244b61; margin: 14px 0 7px; }
.precalculos-empty p { margin: 0; max-width: 520px; }
.precalculos-empty > span:last-child { color: #7b8e96; font-size: .82rem; margin-top: 8px; }

@media (max-width: 900px) { .avaluos-choice-grid { grid-template-columns: 1fr; } .avaluos-choice-card { min-height: 126px; } }
@media (max-width: 640px) { .subtopic-header { align-items: flex-start; flex-direction: column; } .technical-folio-help { grid-column: auto; padding: 0; } }

.workspace-actions { align-items: center; display: flex; gap: 8px; }
.subtle-action-button { background: #f7fafb; border: 1px solid #c8d9df; border-radius: 9px; color: #315b6e; cursor: pointer; font: 700 .82rem "Segoe UI", Aptos, Arial, sans-serif; letter-spacing: .01em; padding: 9px 12px; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.subtle-action-button:hover, .subtle-action-button:focus-visible { background: #eaf3f6; border-color: #89acb9; color: #153f54; outline: none; }
.subtle-action-button#newTechnicalAppraisalButton { background: #f6f2e9; border-color: #d9c9a8; color: #765b2d; }
.subtle-action-button#newTechnicalAppraisalButton:hover, .subtle-action-button#newTechnicalAppraisalButton:focus-visible { background: #f0e7d4; border-color: #baa26f; color: #5e461f; }
.technical-list-panel { animation: technicalFade .2s ease-out both; }
.technical-search-panel { margin-bottom: 16px; }
.technical-list-panel .dashboard-tabs { background: #fff; border: 1px solid #d9e5e9; border-radius: 14px; padding: 6px 0 0; }
.technical-list-panel .status-list-heading { margin: 0; padding: 0 18px 12px; }
.technical-list-panel .operational-table-wrap { border-radius: 0 0 14px 14px; }
@media (max-width: 640px) { .workspace-actions { flex-wrap: wrap; justify-content: flex-end; } .subtle-action-button { font-size: .77rem; padding: 8px 10px; } }

#automotrizEditor, #automotrizEditor input, #automotrizEditor textarea, #automotrizEditor select, #automotrizEditor button { font-family: inherit; }
.factor-grid select { background: #fff; border: 1px solid #c7d9e0; border-radius: 7px; color: #173e55; font-size: .83rem; margin-top: 5px; min-height: 35px; padding: 6px 8px; width: 100%; }
.factor-grid select:focus { border-color: #2f8194; box-shadow: 0 0 0 3px rgba(47, 129, 148, .14); outline: none; }
.consideration-composer { align-items: end; display: grid; gap: 13px; grid-template-columns: minmax(0, 1fr) auto; }
.consideration-composer label { color: #46606d; font-size: .86rem; font-weight: 700; }
.consideration-composer textarea { background: #fff; border: 1px solid #c7d9e0; border-radius: 8px; color: #173e55; display: block; margin-top: 7px; padding: 10px 11px; resize: vertical; width: 100%; }
.consideration-composer textarea:focus { border-color: #2f8194; box-shadow: 0 0 0 3px rgba(47, 129, 148, .14); outline: none; }
.technical-inline-button { background: #f1f7f8; border: 1px solid #b9d2da; border-radius: 8px; color: #315b6e; cursor: pointer; font-size: .82rem; font-weight: 800; padding: 10px 12px; white-space: nowrap; }
.technical-inline-button:hover { background: #e3f0f3; border-color: #8fb7c4; }
.consideration-list { display: grid; gap: 9px; margin-top: 14px; }
.consideration-empty { background: #f8fbfc; border: 1px dashed #cedee4; border-radius: 10px; color: #71828a; font-size: .86rem; margin: 0; padding: 14px; text-align: center; }
.consideration-item { align-items: flex-start; background: #f9fbfc; border: 1px solid #dce7ea; border-left: 3px solid #b78a34; border-radius: 10px; display: flex; gap: 16px; justify-content: space-between; padding: 12px 13px; }
.consideration-item span { color: #a0701e; display: block; font-size: .7rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.consideration-item p { color: #36525e; line-height: 1.45; margin: 5px 0 0; white-space: pre-wrap; }
.consideration-actions { display: flex; flex: 0 0 auto; gap: 7px; }
.text-action-button { background: transparent; border: 0; color: #356b82; cursor: pointer; font-size: .78rem; font-weight: 800; padding: 3px; }
.text-action-button:hover { color: #153f54; text-decoration: underline; }
.text-action-button.is-danger { color: #a7493f; }
.market-research-container { display: grid; gap: 14px; }
.market-research-card { background: #f8fbfc; border: 1px solid #d7e5ea; border-radius: 13px; overflow: hidden; padding: 16px; }
.market-research-card > header { align-items: baseline; display: flex; gap: 8px; margin-bottom: 13px; }
.market-research-card > header span { color: #a0701e; font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.market-research-card > header strong { color: #22485d; font-size: .94rem; }
.market-research-grid { gap: 12px; }
.market-conversion { align-items: center; background: #e8f3f4; border-radius: 9px; color: #3c6672; display: flex; justify-content: space-between; margin-top: 13px; padding: 11px 13px; }
.market-conversion span { font-size: .79rem; font-weight: 700; }
.market-conversion strong { color: #18536a; font-size: 1.03rem; }
@media (max-width: 640px) { .consideration-composer { grid-template-columns: 1fr; } .consideration-item { flex-direction: column; } .market-research-grid { grid-template-columns: 1fr; } .market-conversion { align-items: flex-start; flex-direction: column; gap: 5px; } }

#automotrizEditor, #automotrizEditor label, #automotrizEditor input, #automotrizEditor textarea, #automotrizEditor select, #automotrizEditor button, #automotrizEditor h3, #automotrizEditor h4, #automotrizEditor h5, #automotrizEditor h6, #automotrizEditor p, #automotrizEditor span, #automotrizEditor strong { font-family: inherit; }
.technical-section-heading { align-items: center; border-bottom: 0; flex-direction: column; gap: 8px; margin-bottom: 22px; padding-bottom: 0; text-align: center; }
.technical-section-heading::after { background: linear-gradient(90deg, transparent, #aac4ce 18%, #aac4ce 82%, transparent); content: ""; height: 1px; margin-top: 7px; max-width: 620px; width: 100%; }
.technical-section-heading > span { background: #e9f3f6; border: 1px solid #b7d1db; border-radius: 50%; color: #215872; font-size: .82rem; height: 32px; width: 32px; }
.technical-section-heading h3 { color: #173e55; font-size: 1.3rem; font-weight: 800; letter-spacing: .01em; }
.technical-section-heading p { font-size: .88rem; margin-top: 6px; max-width: 720px; }
.vehicle-add-action { align-items: center; background: #f7fafb; border: 1px dashed #b7cfd8; border-radius: 11px; display: flex; gap: 13px; justify-content: space-between; margin-top: 18px; padding: 12px 13px; }
.vehicle-add-action > span { color: #657b85; font-size: .79rem; line-height: 1.4; }
.technical-add-vehicle-button, .technical-save-button { background: #f6f2e9; border: 1px solid #d9c9a8; border-radius: 9px; color: #765b2d; cursor: pointer; font-size: .84rem; font-weight: 800; letter-spacing: .01em; padding: 10px 13px; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.technical-add-vehicle-button:hover, .technical-add-vehicle-button:focus-visible, .technical-save-button:hover, .technical-save-button:focus-visible { background: #f0e7d4; border-color: #baa26f; color: #5e461f; outline: none; }
.technical-save-button { min-width: 210px; }
.technical-actions { justify-content: flex-end; }
.demerit-summary { background: #fff; border: 1px solid #d7e4e8; border-radius: 12px; color: #315967; gap: 0; overflow: hidden; }
.demerit-summary > div, .demerit-summary > div + div { background: transparent; border: 0; padding: 16px 18px; }
.demerit-summary > div + div { border-left: 1px solid #dce7ea; }
.demerit-summary span, .demerit-summary small { color: #6d8189; }
.demerit-summary strong { color: #1e566d; }
@media (max-width: 820px) { .demerit-summary > div + div { border-left: 0; border-top: 1px solid #dce7ea; } }
@media (max-width: 640px) { .vehicle-add-action { align-items: flex-start; flex-direction: column; } .technical-add-vehicle-button, .technical-save-button { width: 100%; } }

/* Ficha Automotriz: misma lectura editorial y controles de Gestión de Avalúos. */
#automotrizEditor .technical-section-heading { align-items: flex-start; border-bottom: 0; flex-direction: row; flex-wrap: wrap; gap: 9px; margin-bottom: 20px; padding-bottom: 0; text-align: left; }
#automotrizEditor .technical-section-heading::after { background: #d9d1c1; flex-basis: 100%; margin-top: 9px; max-width: none; }
#automotrizEditor .technical-section-heading > span { background: transparent; border: 0; border-radius: 0; color: var(--editorial-ink); flex: 0 0 auto; font-family: Georgia, "Times New Roman", serif; font-size: 1.38rem; font-weight: 500; height: auto; line-height: 1.04; padding-top: 1px; width: auto; }
#automotrizEditor .technical-section-heading > div { min-width: 0; }
#automotrizEditor .technical-section-heading h3 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.38rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.05; margin: 0; }
#automotrizEditor .technical-section-heading p { color: #6c7772; font-family: Georgia, "Times New Roman", serif; font-size: .91rem; line-height: 1.45; margin: 5px 0 0; max-width: 760px; }
#automotrizEditor label { color: #435451; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .82rem; font-weight: 700; letter-spacing: .01em; }
#automotrizEditor input, #automotrizEditor textarea, #automotrizEditor select { background: #fffdf8; border: 1px solid #cfc3ad; border-radius: 3px; box-shadow: none; box-sizing: border-box; color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: .98rem; line-height: 1.35; min-height: 52px; padding: 13px 14px; }
#automotrizEditor textarea { min-height: 108px; }
#automotrizEditor input::placeholder, #automotrizEditor textarea::placeholder { color: #8b918b; font-family: Georgia, "Times New Roman", serif; opacity: 1; }
#automotrizEditor input:focus, #automotrizEditor textarea:focus, #automotrizEditor select:focus { border-color: var(--editorial-gold); box-shadow: 0 0 0 3px rgb(196 147 63 / .14); outline: 0; }
#automotrizEditor .technical-folio-field input { background: #f3eee2; border-color: #cfc3ad; color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 500; letter-spacing: .02em; }
#automotrizEditor .technical-folio-help { color: #6c7772; font-family: Georgia, "Times New Roman", serif; }
#automotrizEditor .factor-grid label { font-size: .78rem; }
#automotrizEditor .factor-grid select { font-size: .9rem; min-height: 46px; padding: 9px 11px; }
#automotrizEditor .subsection-heading h5, #automotrizEditor .market-research-card > header strong, #automotrizEditor .vehicle-card-header h4 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
#automotrizEditor .subsection-heading p, #automotrizEditor .vehicle-add-action > span { color: #6c7772; font-family: Georgia, "Times New Roman", serif; }
@media (max-width: 640px) { #automotrizEditor .technical-section-heading h3, #automotrizEditor .technical-section-heading > span { font-size: 1.22rem; } }

/* Jerarquía de campos y resultados técnicos. */
#automotrizEditor label { color: #405553; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .82rem; font-weight: 700; }
#automotrizEditor .technical-section-heading h3 { font-size: 1.5rem; font-weight: 700; }
#automotrizEditor .subsection-heading h5, #automotrizEditor .vehicle-card-header h4, #automotrizEditor .factor-group h6 { font-size: 1.05rem; font-weight: 700; }
#automotrizEditor .subsection-heading p { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .78rem; max-width: none; }
#automotrizEditor .factor-scale { display: inline; font-weight: 600; white-space: nowrap; }
#automotrizEditor .obsolescence-summary { background: transparent; border: 0; color: #707b76; margin-top: 10px; min-height: 0; padding: 0; }
#automotrizEditor .obsolescence-summary span, #automotrizEditor .obsolescence-summary strong { color: #707b76; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .73rem; font-weight: 600; }
#automotrizEditor .factor-result { color: #707b76; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .73rem; }
#automotrizEditor .factor-result strong { color: inherit; font-size: inherit; }
@media (max-width: 720px) { #automotrizEditor .factor-scale { white-space: normal; } }

/* Valores: tablas de licitación por unidad. */
#automotrizEditor .values-section { overflow: hidden; }
.values-table-block + .values-table-block { border-top: 1px solid #d9d1c1; margin-top: 28px; padding-top: 26px; }
.values-table-heading { margin-bottom: 14px; }
.values-table-heading h4 { color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.17rem; font-weight: 700; margin: 0; }
.values-table-heading h4 span { color: #66716d; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .76rem; font-weight: 700; }
.values-table-heading p { color: #6c7772; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .015em; line-height: 1.45; margin: 5px 0 0; text-transform: uppercase; }
.values-table-wrap { border: 1px solid #d9d1c1; overflow-x: auto; }
.values-table { border-collapse: collapse; min-width: 1170px; width: 100%; }
.values-table th { background: #ece7dc; border-bottom: 1px solid #d2c8b4; color: #43514e; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .68rem; font-weight: 800; letter-spacing: .025em; padding: 10px 11px; text-align: left; text-transform: uppercase; }
.values-table td { border-bottom: 1px solid #e2ddd1; color: #43514e; font-family: Georgia, "Times New Roman", serif; font-size: .83rem; padding: 9px 11px; vertical-align: middle; }
.values-table tbody tr:last-child td { border-bottom: 1px solid #d2c8b4; }
.values-table .value-unit-name { color: var(--editorial-ink); font-weight: 700; min-width: 180px; }
#automotrizEditor .values-table input { background: #fffdf8; border-color: #cfc3ad; border-radius: 2px; font-family: Georgia, "Times New Roman", serif; font-size: .85rem; min-height: 38px; padding: 7px 8px; width: 100%; }
.values-table td:nth-child(2) { min-width: 86px; }.values-table td:nth-child(6) { min-width: 230px; }
.values-table tfoot th,.values-table tfoot td { background: #f5f0e5; border-bottom: 0; color: var(--editorial-ink); font-family: Georgia, "Times New Roman", serif; font-size: .9rem; font-weight: 700; padding: 11px; }
.values-table .value-words-row td { background: #fbfaf6; color: #69726e; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .75rem; font-weight: 700; letter-spacing: .01em; padding: 10px 11px; }
.values-empty { color: #77817d; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .82rem; padding: 19px ; text-align: center; }

/* Gestión y localización del bien. */
.technical-row-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 175px; }
.technical-row-actions .text-action-button { font-size: .72rem; }
.location-upload-field { background: #fbf9f2; border: 1px dashed #cfc3ad; padding: 14px; }
.location-upload-field > label { display: block; }
#automotrizEditor .location-upload-field input[type="file"] { background: transparent; border: 0; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .8rem; min-height: auto; padding: 8px 0 0; }
.location-upload-field > p { color: #6c7772; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: .75rem; margin: 7px 0 0; }
.location-image-preview { align-items: flex-start; display: flex; gap: 10px; margin-top: 12px; }
.location-image-preview img { border: 1px solid #cfc3ad; max-height: 220px; max-width: min(100%, 440px); object-fit: contain; }

/* Investigación de mercado: comparables múltiples por vehículo */
.market-comparables-list { display: grid; gap: 14px; }
.market-comparable-row { background: #fffdf8; border: 1px solid #d7cdb9; padding: 14px; }
.market-comparable-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.market-comparable-heading strong { color: #263d3a; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.market-comparable-row .market-conversion { margin-top: 10px; }
.market-card-actions { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin-top: 16px; }
.market-average { align-items: flex-end; display: flex; flex-direction: column; gap: 3px; text-align: right; }
.market-average span { color: #66736e; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.market-average strong { color: #123e5a; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
@media (max-width: 700px) { .market-card-actions { align-items: stretch; flex-direction: column; } .market-average { align-items: flex-start; text-align: left; } }

/* Unificación visual de Avalúos y navegación */
.avaluos-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.avaluos-choice-card{min-height:142px;padding:20px 18px;border-radius:17px}.avaluos-choice-copy strong{font-size:1.05rem;letter-spacing:-.01em}.avaluos-choice-copy small{font-size:.84rem}.avaluos-choice-card.recepcion-choice{border-top-width:3px}.avaluos-choice-card.crear-choice{border-top-width:3px}.sidebar-link,.sidebar-brand,.sidebar-footer{font-family:"Segoe UI",Aptos,Arial,sans-serif}.sidebar-link{font-size:.92rem;letter-spacing:-.01em}.sidebar-brand strong{font-size:1rem}.sidebar-link .nav-icon{font-family:Georgia,"Times New Roman",serif}
@media(max-width:900px){.avaluos-choice-grid{grid-template-columns:1fr}}

/* Tarjetas de Avalúos con el lenguaje editorial de Fe Pública */
.avaluos-menu{animation:technicalFade .35s ease-out both;margin:0 0 24px}.avaluos-choice-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.avaluos-choice-card{align-items:flex-start;background:#fbfaf6;border:1px solid var(--editorial-line);border-left:4px solid var(--editorial-gold);border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:0;min-height:238px;padding:clamp(30px,5vw,58px);position:relative;transform:none;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.avaluos-choice-card:hover,.avaluos-choice-card:focus-visible{background:#fffdf8;border-color:var(--editorial-gold);box-shadow:0 12px 28px rgb(45 56 48 / .08);outline:none;transform:translateY(-3px)}.avaluos-choice-card.recepcion-choice,.avaluos-choice-card.crear-choice{border-top:1px solid var(--editorial-line);border-left:4px solid var(--editorial-gold)}.avaluos-choice-icon{display:none}.avaluos-choice-copy{display:flex;flex-direction:column;gap:14px;padding:0}.avaluos-choice-copy strong{color:var(--editorial-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.05rem,3.3vw,3.15rem);font-weight:500;letter-spacing:-.045em;line-height:1.08}.avaluos-choice-copy small{color:#687370;font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:400;line-height:1.65;max-width:500px}.avaluos-choice-arrow{bottom:24px;color:var(--editorial-gold);font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;right:28px}.app-workspace .avaluos-choice-card:nth-child(1){animation:technicalFade .35s ease-out both}.app-workspace .avaluos-choice-card:nth-child(2){animation:technicalFade .45s ease-out both}@media(max-width:900px){.avaluos-choice-grid{grid-template-columns:1fr}.avaluos-choice-card{min-height:190px}}

/* Recepción, transiciones y barra lateral dinámica */
.record-form-grid{display:block}.record-primary-fields{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.record-secondary-fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.record-primary-fields label,.record-secondary-fields label{min-width:0}.app-view.is-active{animation:viewSweep .34s ease-out both}@keyframes viewSweep{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}.sidebar-brand{align-items:center;display:flex;justify-content:space-between}.sidebar-toggle-button{align-items:center;background:rgb(255 255 255 / .08);border:1px solid rgb(235 220 181 / .22);border-radius:4px;color:#f6e8c8;cursor:pointer;display:inline-flex;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;height:34px;justify-content:center;line-height:1;padding:0;width:34px}.sidebar-toggle-button:hover{background:rgb(255 255 255 / .16)}.control-shell{grid-template-columns:270px minmax(0,1fr);transition:grid-template-columns .25s ease}.control-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-collapsed .app-sidebar{padding-left:12px;padding-right:12px}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-brand strong,.sidebar-collapsed .sidebar-link>span:last-child,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .sidebar-link{justify-content:center;padding-left:8px;padding-right:8px}.sidebar-collapsed .nav-icon{margin:0}.sidebar-collapsed .sidebar-toggle-button{font-size:1.45rem}.sidebar-collapsed .sidebar-nav{gap:10px}@media(max-width:800px){.record-primary-fields,.record-secondary-fields{grid-template-columns:1fr}.control-shell,.control-shell.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{min-height:auto;position:relative}.sidebar-collapsed .app-sidebar{min-height:72px}.sidebar-collapsed .sidebar-nav,.sidebar-collapsed .sidebar-brand{display:flex}.sidebar-collapsed .sidebar-nav{flex-direction:row;overflow:auto}.sidebar-collapsed .sidebar-link{flex:0 0 auto}.sidebar-collapsed .sidebar-link>span:last-child{display:none}.sidebar-collapsed .sidebar-brand strong{display:none}}

/* Identidad grafito y comboboxes personalizados */
.login-visual,.app-sidebar{background:#25282c;color:#fff}.login-visual{border-color:#c4933f}.login-wordmark,.login-visual-copy span,.login-visual-copy h2,.login-visual-footer{color:#fff}.login-wordmark span,.login-visual-copy p{color:#e0b764}.sidebar-link,.sidebar-footer,.active-user{color:#fff}.sidebar-link:hover,.sidebar-link.is-active{background:#34383e;color:#fff}.sidebar-link.is-active{border-left-color:#d3a94f}.nav-icon{background:#3b4046;color:#fff}.sidebar-brand strong{color:#fff}.sidebar-footer{border-top-color:#555b61}.custom-select{position:relative;width:100%}.custom-select-native{height:1px;opacity:0;position:absolute;width:1px;z-index:-1}.custom-select-trigger{align-items:center;background:#fffdf8;border:1px solid #cfc3ad;border-radius:3px;color:var(--editorial-ink);cursor:pointer;display:flex;font:inherit;justify-content:space-between;min-height:48px;padding:10px 12px;text-align:left;width:100%}.custom-select-trigger::after{content:"⌄";font-size:1.1rem;margin-left:12px}.custom-select-trigger:focus{border-color:var(--editorial-gold);box-shadow:0 0 0 3px rgb(196 147 63 / .16);outline:0}.custom-select-menu{background:#fffdf8;border:1px solid #cfc3ad;border-radius:3px;box-shadow:0 14px 30px rgb(25 39 39 / .16);left:0;max-height:260px;opacity:0;overflow:auto;padding:5px;pointer-events:none;position:absolute;right:0;top:calc(100% + 5px);transform:scaleY(0);transform-origin:top;transition:opacity .16s ease,transform .18s ease;z-index:50}.custom-select.is-open .custom-select-menu{opacity:1;pointer-events:auto;transform:scaleY(1)}.custom-select-option{background:transparent;border:0;border-radius:2px;color:var(--editorial-ink);cursor:pointer;display:block;font:inherit;padding:10px 12px;text-align:left;width:100%}.custom-select-option:hover,.custom-select-option.is-selected{background:#eee7d8}.custom-select-option.is-selected{font-weight:700}.login-card .custom-select-trigger{background:#fff;color:var(--editorial-ink)}

/* Animaciones editoriales de navegación y ajuste visual de comboboxes */
.login-screen{position:relative;z-index:2}.login-screen.is-exiting{animation:loginSweepLeft .52s cubic-bezier(.22,.61,.36,1) both;pointer-events:none}.app-shell.is-entering{animation:dashboardReveal .62s cubic-bezier(.22,.61,.36,1) both}.welcome-view.is-active .welcome-card,.welcome-view.is-active .welcome-guide,.welcome-view.is-active .welcome-tasks{animation:contentRise .48s ease-out both}.welcome-view.is-active .welcome-guide{animation-delay:.08s}.welcome-view.is-active .welcome-tasks{animation-delay:.14s}.app-view.is-active{animation:sectionSweep .42s cubic-bezier(.22,.61,.36,1) both}.technical-type-label,.technical-type-label select,.record-form-grid label,.record-form-grid .custom-select-trigger{font-family:Georgia,"Times New Roman",serif}@keyframes loginSweepLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@keyframes dashboardReveal{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:translateX(0)}}@keyframes contentRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionSweep{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.login-screen.is-exiting,.app-shell.is-entering,.welcome-view.is-active .welcome-card,.welcome-view.is-active .welcome-guide,.welcome-view.is-active .welcome-tasks,.app-view.is-active{animation:none}}

/* Correcciones finales solicitadas */
.login-visual,.app-sidebar{background:#16181b;color:#fff}.sidebar-link,.sidebar-link span,.sidebar-brand strong,.sidebar-footer,.active-user{color:#fff}.sidebar-link:hover,.sidebar-link.is-active{background:#25292e;color:#fff}.nav-icon{background:#2c3136;color:#fff}.custom-select-trigger,.custom-select-option{font-family:Georgia,"Times New Roman",serif;font-size:.94rem;font-weight:400;letter-spacing:0}.custom-select-option.is-selected{font-weight:400}.login-card .custom-select-trigger{font-weight:400}.login-screen.is-exiting{animation:none;transform:none;opacity:1}.app-shell.is-entering{animation:none}.app-view#recepcionView.is-active{animation:viewSweep .42s cubic-bezier(.22,.61,.36,1) both}.sidebar-toggle-button{display:none}

/* Ajuste definitivo solicitado por el usuario */
.login-visual,.app-sidebar{background:#0d0f11}.sidebar-link,.sidebar-link span,.sidebar-brand strong,.sidebar-footer,.active-user{color:#fff}.sidebar-link:hover,.sidebar-link.is-active{background:#1a1d21;color:#fff}.nav-icon{background:#24282d;color:#fff}.login-screen.is-exiting{animation:none;opacity:1;transform:none}.app-shell.is-entering{animation:none}.custom-select-trigger,.custom-select-option,.custom-select-trigger *,.custom-select-option *{font-family:Georgia,"Times New Roman",serif;font-size:.94rem;font-weight:400;letter-spacing:0}.custom-select-option.is-selected{font-weight:400}.app-view#recepcionView.is-active{animation:viewSweep .42s cubic-bezier(.22,.61,.36,1) both}.sidebar-toggle-button{display:none}

/* Branding PWA y composición final */
.login-screen{grid-template-columns:minmax(0,3fr) minmax(280px,1fr)}.login-visual,.app-sidebar{background-color:#0d0f11;background-image:linear-gradient(rgb(13 15 17 / .58),rgb(13 15 17 / .72)),url('./assets/fondo.jpg');background-position:center;background-repeat:no-repeat;background-size:cover}.login-visual{padding:56px clamp(36px,7vw,120px)}.login-card{max-width:none;padding:48px clamp(24px,4vw,54px)}.login-button,.primary-button{background:#252a2f;border-color:#3d444b;color:#fff;min-height:38px;padding:8px 14px}.secondary-button,.credential-setup-button{min-height:38px;padding:8px 14px}.dialog-actions .primary-button,.dialog-actions .secondary-button,.inline-form-row .primary-button,.inline-form-row .secondary-button,.add-user-form .primary-button,.inline-credential-form .primary-button{min-height:36px;padding:7px 13px}.sidebar-link{background:transparent;color:#fff}.sidebar-link:hover,.sidebar-link.is-active{background:#252a2f}.sidebar-brand{background:transparent}
@media(max-width:800px){.login-screen{grid-template-columns:1fr}.login-visual{min-height:42vh}.login-card{min-height:58vh}}

/* Proporción corregida del login: acceso pequeño, imagen institucional amplia */
.login-screen{grid-template-columns:minmax(280px,1fr) minmax(0,3fr)}.login-card{grid-column:1;grid-row:1}.login-visual{grid-column:2;grid-row:1}.login-card{padding:40px clamp(20px,3vw,42px)}.login-visual{padding:56px clamp(36px,6vw,96px)}@media(max-width:800px){.login-screen{grid-template-columns:1fr}.login-card,.login-visual{grid-column:1;grid-row:auto}}

/* Mobiliario y Bienes Diversos */
.mobiliario-editor{animation:sectionSweep .42s ease both}.mobiliario-item-card{background:#fff;border:1px solid #d7d0c5;border-left:3px solid #b18a43;border-radius:8px;margin:14px 0;padding:18px}.mobiliario-item-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.mobiliario-item-heading h4{color:#20302f;font-family:Georgia,'Times New Roman',serif;font-size:16px;margin:0}.mobiliario-location-preview{margin-top:8px}.mobiliario-location-preview img{border:1px solid #c8c0b2;display:block;max-height:220px;max-width:100%;object-fit:contain}.mobiliario-replacement-summary{margin-top:20px}.mobiliario-replacement-summary input{background:#fff;border:1px solid #c8c0b2;border-radius:4px;box-sizing:border-box;font:inherit;max-width:130px;padding:6px;width:100%}.mobiliario-editor .technical-stepper{margin-bottom:18px}.mobiliario-editor .technical-section-heading h3{font-family:Georgia,'Times New Roman',serif}.mobiliario-editor .values-table{min-width:940px}

/* Igualación con Automotriz: controles normales y características en dos filas */
.mobiliario-editor label,.mobiliario-editor input,.mobiliario-editor select,.mobiliario-editor textarea{font-family:inherit;font-weight:400}.mobiliario-editor .mobiliario-item-card .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mobiliario-editor .mobiliario-item-card label:nth-child(4),.mobiliario-editor .mobiliario-item-card label:nth-child(5){grid-column:span 1}.mobiliario-editor .mobiliario-item-card label input,.mobiliario-editor .mobiliario-item-card label select,.mobiliario-editor .mobiliario-item-card label textarea{font-weight:400}.mobiliario-editor .values-table input{font:inherit;font-weight:400;min-width:84px;padding:6px}.mobiliario-editor .technical-grid>label{font-weight:400}@media(max-width:860px){.mobiliario-editor .mobiliario-item-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.mobiliario-editor .mobiliario-item-card .form-grid{grid-template-columns:1fr}}

/* Mobiliario replica la ficha editorial de Automotriz. */
#mobiliarioEditor,#mobiliarioEditor label,#mobiliarioEditor input,#mobiliarioEditor textarea,#mobiliarioEditor select,#mobiliarioEditor button,#mobiliarioEditor h3,#mobiliarioEditor h4,#mobiliarioEditor p,#mobiliarioEditor span,#mobiliarioEditor strong{font-family:inherit}
#mobiliarioEditor .technical-section-heading{align-items:flex-start;border-bottom:0;flex-direction:row;flex-wrap:wrap;gap:9px;margin-bottom:20px;padding-bottom:0;text-align:left}
#mobiliarioEditor .technical-section-heading::after{background:#d9d1c1;flex-basis:100%;margin-top:9px;max-width:none}
#mobiliarioEditor .technical-section-heading>span{background:transparent;border:0;border-radius:0;color:var(--editorial-ink);flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:1.38rem;font-weight:500;height:auto;line-height:1.04;padding-top:1px;width:auto}
#mobiliarioEditor .technical-section-heading>div{min-width:0}
#mobiliarioEditor .technical-section-heading h3{color:var(--editorial-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0}
#mobiliarioEditor .technical-section-heading p{color:#6c7772;font-family:Georgia,"Times New Roman",serif;font-size:.91rem;line-height:1.45;margin:5px 0 0;max-width:760px}
#mobiliarioEditor label{color:#405553;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.01em}
#mobiliarioEditor input,#mobiliarioEditor textarea,#mobiliarioEditor select,#mobiliarioEditor .custom-select-trigger{background:#fffdf8;border:1px solid #cfc3ad;border-radius:3px;box-shadow:none;box-sizing:border-box;color:var(--editorial-ink);font-family:Georgia,"Times New Roman",serif;font-size:.98rem;font-weight:400;line-height:1.35;min-height:52px;padding:13px 14px;width:100%}
#mobiliarioEditor textarea{min-height:108px}
#mobiliarioEditor input::placeholder,#mobiliarioEditor textarea::placeholder{color:#8b918b;font-family:Georgia,"Times New Roman",serif;opacity:1}
#mobiliarioEditor input:focus,#mobiliarioEditor textarea:focus,#mobiliarioEditor select:focus,#mobiliarioEditor .custom-select-trigger:focus{border-color:var(--editorial-gold);box-shadow:0 0 0 3px rgb(196 147 63 / .14);outline:0}
#mobiliarioEditor .technical-folio-field input{background:#f3eee2;border-color:#cfc3ad;color:var(--editorial-ink);font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:500;letter-spacing:.02em}
#mobiliarioEditor .technical-folio-help{color:#6c7772;font-family:Georgia,"Times New Roman",serif}
#mobiliarioEditor .mobiliario-location-field input[type=file]{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:.8rem;font-weight:400;padding:10px 12px}
.automotriz-location-field input[type=file]{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:.8rem;font-weight:400;padding:10px 12px}.automotriz-location-preview{margin-top:8px}.automotriz-location-figure{display:inline-block;margin:0;max-width:520px;position:relative}.automotriz-location-figure img{border:1px solid #c8c0b2;display:block;max-height:240px;max-width:100%;object-fit:contain}
.technical-record-status{color:#9a7022;display:block;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:.66rem;font-weight:700;margin-top:3px}
.mobiliario-item-editor{background:#f8fbfc;border:1px solid #d7e5ea;border-radius:12px;padding:16px}
.mobiliario-capture-grid{align-items:end;display:grid;gap:12px;grid-template-columns:78px minmax(190px,1.35fr) minmax(120px,.8fr) minmax(145px,.9fr) minmax(180px,1.2fr)}
#mobiliarioEditor .mobiliario-capture-grid input{min-height:46px;padding:10px 11px}
.mobiliario-quantity-field input{max-width:78px;text-align:center}
.mobiliario-series-field input{max-width:190px}
.mobiliario-item-editor-actions{align-items:center;display:flex;gap:9px;justify-content:flex-end;margin-top:14px}
.mobiliario-items-list{margin-top:16px}
.mobiliario-list-heading{align-items:center;color:#435451;display:flex;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;justify-content:space-between;margin:0 2px 9px}
.mobiliario-list-heading strong{font-size:.82rem}.mobiliario-list-heading span{color:#6c7772;font-size:.76rem}
.mobiliario-items-empty{background:#fbfaf6;border:1px dashed #cfc3ad;color:#6c7772;font-family:Georgia,"Times New Roman",serif;margin:0;padding:16px;text-align:center}
.mobiliario-items-table{min-width:850px}.mobiliario-items-table th:nth-child(1),.mobiliario-items-table td:nth-child(1){width:82px;text-align:center}.mobiliario-items-table th:last-child,.mobiliario-items-table td:last-child{width:130px}
#mobiliarioEditor .values-table input{background:#fffdf8;border:1px solid #cfc3ad;border-radius:2px;font-family:Georgia,"Times New Roman",serif;font-size:.85rem;font-weight:400;min-height:38px;padding:7px 8px;width:100%}
@media(max-width:1050px){.mobiliario-capture-grid{grid-template-columns:78px repeat(2,minmax(170px,1fr))}.mobiliario-capture-grid label:nth-child(4),.mobiliario-capture-grid label:nth-child(5){grid-column:auto}}
@media(max-width:700px){.mobiliario-capture-grid{grid-template-columns:78px minmax(0,1fr)}.mobiliario-capture-grid label:not(.mobiliario-quantity-field){grid-column:2}.mobiliario-item-editor-actions{align-items:stretch;flex-direction:column}.mobiliario-item-editor-actions button{width:100%}}
@media(max-width:480px){.mobiliario-capture-grid{grid-template-columns:1fr}.mobiliario-capture-grid label:not(.mobiliario-quantity-field){grid-column:auto}.mobiliario-quantity-field input,.mobiliario-series-field input{max-width:none}}

/* Estado real del servidor de Recepción. */
body[data-server-status="checking"] .sidebar-online{color:#d7c58e}
body[data-server-status="checking"] .sidebar-status-dot{background:#c6a64c;box-shadow:0 0 0 4px rgb(198 166 76 / .14)}
body[data-server-status="online"] .sidebar-online{color:#86e0a5}
body[data-server-status="online"] .sidebar-status-dot{background:#3fd477;box-shadow:0 0 0 4px rgb(63 212 119 / .17)}
body[data-server-status="offline"] .sidebar-online{color:#efaaa2}
body[data-server-status="offline"] .sidebar-status-dot{background:#d65d52;box-shadow:0 0 0 4px rgb(214 93 82 / .16)}

/* Solicitudes de servicio: lenguaje visual compartido con Automotriz */
.public-request-dialog, .applicant-register-dialog, .applicant-login-dialog { width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
.public-request-dialog input, .public-request-dialog select, .public-request-dialog textarea, .applicant-register-dialog input, .applicant-register-dialog select, .applicant-register-dialog textarea, .applicant-login-dialog input, .applicant-login-dialog select, .applicant-login-dialog textarea, .solicitudes-view input, .solicitudes-view select, .solicitudes-view textarea { width: 100%; border: 1px solid rgba(29,61,77,.22); border-radius: 10px; background: #fff; color: #24343c; font: 400 15px Georgia, 'Times New Roman', serif; padding: 11px 13px; box-sizing: border-box; }
.public-request-dialog label, .applicant-register-dialog label, .applicant-login-dialog label, .solicitudes-view label { color: #30444d; font: 400 14px Georgia, 'Times New Roman', serif; }
.request-dynamic-fields { margin-top: 4px; }
.request-subgrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 15px; border: 1px solid rgba(29,61,77,.12); border-radius: 12px; background: rgba(241,246,247,.6); }
.public-request-actions { display: grid; gap: 8px; margin-top: 12px; }
.public-request-actions .text-button { border: 0; background: transparent; color: #1b536d; cursor: pointer; font: 400 13px Georgia, 'Times New Roman', serif; padding: 5px; }
.solicitudes-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 22px; }
.solicitudes-heading h2 { margin: 5px 0 4px; font: 700 29px Georgia, 'Times New Roman', serif; color: #1e3d4d; }
.solicitudes-heading p { color: #6b7b83; margin: 0; }
.request-filter-row { display: grid; grid-template-columns: 1fr 220px; gap: 12px; margin-bottom: 18px; }
.request-table-wrap { overflow-x: auto; border: 1px solid rgba(29,61,77,.14); border-radius: 14px; background: #fff; }
.request-table { width: 100%; border-collapse: collapse; min-width: 760px; font: 400 14px Georgia, 'Times New Roman', serif; }
.request-table th, .request-table td { padding: 13px 12px; text-align: left; border-bottom: 1px solid rgba(29,61,77,.1); vertical-align: middle; }
.request-table th { color: #1f536c; background: #edf4f5; font-weight: 700; }
.request-table td select { min-width: 150px; padding: 7px 9px; }
.request-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #edf1f2; color: #41545d; text-transform: capitalize; white-space: nowrap; }
.request-status-recibida { background: #fff0cf; color: #815a18; }
.request-status-asignada, .request-status-en-visita { background: #e4f0f7; color: #1d5874; }
.request-status-en-elaboración { background: #e9e4f7; color: #5c4383; }
.request-status-concluida { background: #e2f3e9; color: #267042; }
.request-status-cancelada { background: #f8e2e2; color: #9b3f3f; }
.request-empty { padding: 28px; text-align: center; color: #76848a; }
.welcome-requests-panel { margin: 20px 0; padding: 20px; border: 1px solid rgba(29,61,77,.13); border-radius: 16px; background: rgba(255,255,255,.82); }
.welcome-requests-panel h3 { margin: 4px 0 0; font: 700 21px Georgia, 'Times New Roman', serif; color: #244858; }
.welcome-requests-panel .request-table { min-width: 620px; }
@media (max-width:720px) { .request-subgrid, .request-filter-row { grid-template-columns: 1fr; } .solicitudes-heading { flex-direction: column; } .public-request-dialog, .applicant-register-dialog, .applicant-login-dialog { width: calc(100vw - 18px); } }

/* Pantalla inicial pública: CTA principal y acceso interno discreto */
.public-entry-panel { align-content: space-between; background: #fbfaf6; display: flex; flex-direction: column; grid-column: 1; grid-row: 1; justify-content: space-between; min-height: 100%; padding: clamp(42px, 7vw, 92px) clamp(34px, 7vw, 104px) 28px; }
.public-entry-content { max-width: 560px; }
.public-entry-panel .eyebrow { color: var(--editorial-rust); font-weight: 800; letter-spacing: .15em; }
.public-entry-panel h1 { color: var(--editorial-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.65rem, 5vw, 4.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .98; margin: 14px 0 20px; max-width: 560px; }
.public-entry-copy { color: #65716e; font-family: Georgia, 'Times New Roman', serif; font-size: 1.08rem; line-height: 1.65; margin: 0; max-width: 500px; }
.public-entry-actions { display: grid; gap: 12px; margin-top: 32px; max-width: 360px; }
.public-main-cta { border-radius: 3px; box-shadow: 0 12px 20px rgb(7 61 65 / .15); font-size: 1rem; min-height: 54px; }
.public-secondary-cta { background: transparent; border: 1px solid #bdc9c0; border-radius: 3px; color: var(--editorial-teal); min-height: 48px; }
.public-secondary-cta:hover { background: #eef3ed; border-color: var(--editorial-gold); }
.public-entry-note { color: #7a8580; font-size: .78rem; line-height: 1.45; margin: 18px 0 0; max-width: 380px; }
.public-entry-internal { align-items: center; border-top: 1px solid #e1ddd2; color: #77807b; display: flex; font-size: .75rem; gap: 12px; justify-content: flex-end; padding-top: 16px; }
.internal-access-button { background: transparent; border: 0; color: #55716f; cursor: pointer; font: 700 .74rem 'Segoe UI', Aptos, Arial, sans-serif; letter-spacing: .04em; padding: 7px 0; text-transform: uppercase; }
.internal-access-button:hover { color: var(--editorial-rust); text-decoration: underline; }
.admin-access-dialog { border: 0; border-radius: 12px; box-shadow: 0 24px 80px rgb(9 30 32 / .32); max-width: min(500px, calc(100vw - 30px)); padding: 0; width: 500px; }
.admin-access-dialog::backdrop { background: rgb(5 28 31 / .58); backdrop-filter: blur(3px); }
.admin-login-card { align-content: initial; background: #fbfaf6; display: flex; flex-direction: column; gap: 12px; max-width: none; padding: 34px 38px 28px; width: auto; }
.admin-login-card .dialog-heading { margin-bottom: 4px; }
.admin-login-card h2 { color: var(--editorial-ink); font: 500 2rem Georgia, 'Times New Roman', serif; margin: 0; }
.admin-login-card label { display: grid; gap: 7px; }
.admin-login-card input, .admin-login-card select { min-height: 48px; }
.admin-login-card .dialog-actions { justify-content: flex-end; margin-top: 0; }
@media (max-width: 800px) { .public-entry-panel { grid-column: 1; grid-row: 2; min-height: auto; padding: 38px 30px 22px; } .public-entry-panel h1 { font-size: clamp(2.45rem, 12vw, 3.7rem); } .public-entry-internal { margin-top: 45px; } .admin-login-card { padding: 28px 24px 22px; } }

/* Corrección final de proporción: el público ocupa el panel principal */
.login-screen { grid-template-columns: minmax(500px, 1.12fr) minmax(390px, .88fr) ; }
@media (max-width: 800px) { .login-screen { grid-template-columns: 1fr ; } }

/* Acabado editorial solicitado para la portada pública */
.public-entry-panel { background: #f8f7f2 ; padding: clamp(52px, 8vw, 104px) clamp(44px, 8vw, 112px) 30px ; }
.public-entry-content { max-width: 620px ; }
.public-entry-panel .eyebrow { color: #a49a78 ; font: 500 .92rem Georgia, 'Times New Roman', serif ; letter-spacing: .04em ; }
.public-entry-panel h1 { color: #111 ; font: 500 clamp(3rem, 5.2vw, 5.4rem)/.98 Georgia, 'Times New Roman', serif ; letter-spacing: -.04em ; margin: 18px 0 28px ; text-transform: uppercase ; max-width: 680px ; }
.public-entry-actions { gap: 14px ; margin-top: 0 ; max-width: 420px ; }
.public-entry-actions button { border-radius: 5px ; font: 500 1.06rem Georgia, 'Times New Roman', serif ; letter-spacing: 0 ; min-height: 54px ; text-transform: none ; }
.public-main-cta { background: #050505 ; border: 1px solid #050505 ; color: #fff ; box-shadow: 0 9px 18px rgb(0 0 0 / .18) ; }
.public-secondary-cta { background: transparent ; border: 1px solid #161616 ; color: #111 ; }
.public-secondary-cta:hover { background: #fff ; border-color: #8c7f5d ; }
.public-entry-internal { border-top: 0 ; color: #171717 ; font: 500 .92rem Georgia, 'Times New Roman', serif ; justify-content: flex-start ; padding-top: 28px ; text-transform: uppercase ; }
.internal-access-button { color: #171717 ; font: 500 .92rem Georgia, 'Times New Roman', serif ; letter-spacing: 0 ; text-transform: uppercase ; }
.login-visual { background-image: linear-gradient(135deg, rgb(8 8 8 / .1), rgb(0 0 0 / .62)), url('assets/fondo.jpg') ; background-position: center ; background-size: cover ; }
.login-visual-copy h2 { color: #fff ; font: 500 clamp(3.2rem, 5vw, 5.8rem)/.94 Georgia, 'Times New Roman', serif ; letter-spacing: -.035em ; text-transform: uppercase ; }
.login-visual-copy span { color: #b5a77f ; font: 500 clamp(1.45rem, 2.3vw, 2.5rem) Georgia, 'Times New Roman', serif ; letter-spacing: .04em ; text-transform: uppercase ; }
.login-visual-footer, .login-wordmark { color: #fff ; font-family: Georgia, 'Times New Roman', serif ; text-transform: uppercase ; }
.form-message[data-tone="success"] { color: #237243 ; background: #e9f5eb ; border-color: #a8d5b1 ; }
.public-request-dialog button:disabled, .applicant-register-dialog button:disabled, .applicant-login-dialog button:disabled { cursor: wait; opacity: .62; }
@media (max-width: 800px) { .public-entry-panel { padding: 42px 28px 24px ; } .public-entry-panel h1 { font-size: clamp(2.65rem, 12vw, 4.1rem) ; } }

/* Fondo claro del login público y composición centrada de la marca */
.public-entry-panel {
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(248,248,247,.84)),
    url('assets/login-light.jpg') center / cover no-repeat ;
  justify-content: center ;
  position: relative;
  overflow: hidden;
}

.public-entry-content {
  position: relative;
  z-index: 1;
  width: min(100%, 620px);
}

.public-entry-panel h1 {
  color: #111 ;
  font-size: clamp(3rem, 5.2vw, 5.4rem) ;
  line-height: .98 ;
  margin: 0 0 28px ;
  text-transform: uppercase ;
}

.public-entry-internal {
  bottom: 30px;
  left: clamp(44px, 8vw, 112px);
  position: absolute;
  right: clamp(44px, 8vw, 112px);
  z-index: 1;
  justify-content: flex-start ;
  padding: 0 ;
}

.internal-access-button {
  color: #171717 ;
  font-size: .86rem ;
  letter-spacing: .09em ;
  text-transform: uppercase ;
}

.login-visual {
  align-items: center;
  display: flex ;
  justify-content: center;
}

.login-visual-copy {
  left: 50%;
  right: auto;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92%, 900px);
}

.login-visual-copy h2 {
  font-size: clamp(2rem, 3.45vw, 4.6rem) ;
  line-height: 1 ;
  margin: 0 ;
  white-space: nowrap;
}

.login-visual-copy span {
  display: block;
  font-size: clamp(1.2rem, 2.1vw, 2.35rem) ;
  margin-top: 18px;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .public-entry-internal {
    bottom: 22px;
    left: 28px;
    right: 28px;
  }
  .login-visual-copy h2 {
    font-size: clamp(1.7rem, 8vw, 3.2rem) ;
  }
  .login-visual-copy span {
    font-size: clamp(1rem, 5vw, 1.6rem) ;
  }
}

/* Refinamiento del acceso público y formularios de solicitante */
.login-screen {
  grid-template-columns: minmax(340px, .78fr) minmax(520px, 1.22fr) ;
}

.public-entry-internal {
  bottom: auto ;
  left: auto ;
  right: clamp(22px, 3vw, 52px) ;
  top: 22px ;
  justify-content: flex-end ;
}

.internal-access-button {
  font-size: .72rem ;
  letter-spacing: .08em ;
  opacity: .82;
  padding: 5px 0 ;
}

.login-visual-copy h2 {
  white-space: normal ;
}

.login-visual-copy span {
  display: block ;
  white-space: nowrap ;
}

.login-visual-copy small {
  color: rgba(255,255,255,.78);
  display: block;
  font: 500 clamp(.78rem, 1.1vw, 1rem) "Segoe UI", Aptos, Arial, sans-serif;
  letter-spacing: .02em;
  margin-top: 18px;
  white-space: nowrap;
}

.applicant-register-dialog {
  width: min(560px, calc(100vw - 34px)) ;
}

.applicant-register-dialog > form,
.applicant-login-dialog > form {
  background: #f8f7f2;
  color: #173e55;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  padding: 34px 38px 30px;
}

.applicant-register-dialog .dialog-heading h2,
.applicant-login-dialog .dialog-heading h2 {
  color: #111 ;
  font: 500 2rem/1.05 Georgia, "Times New Roman", serif ;
  margin: 0;
}

.applicant-register-dialog label,
.applicant-login-dialog label,
.public-request-dialog label {
  color: #46606d;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  font-size: .83rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.applicant-register-dialog input,
.applicant-register-dialog select,
.applicant-login-dialog input,
.applicant-login-dialog select,
.public-request-dialog input,
.public-request-dialog select,
.public-request-dialog textarea {
  background: #fff;
  border: 1px solid #c7d9e0;
  border-radius: 8px;
  color: #173e55;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  font-size: .91rem;
  line-height: 1.35;
  margin-top: 7px;
  min-height: 44px;
  padding: 10px 11px;
}

.applicant-register-dialog input:focus,
.applicant-register-dialog select:focus,
.applicant-login-dialog input:focus,
.applicant-login-dialog select:focus,
.public-request-dialog input:focus,
.public-request-dialog select:focus,
.public-request-dialog textarea:focus {
  border-color: #2f8194;
  box-shadow: 0 0 0 3px rgba(47,129,148,.14);
  outline: none;
}

.public-request-dialog {
  align-items: stretch;
  border: 0 ;
  border-radius: 0 ;
  height: 100vh ;
  left: 0;
  margin: 0 ;
  max-height: none ;
  max-width: none ;
  padding: 0 ;
  top: 0;
  width: 100vw ;
}

.public-request-dialog::backdrop {
  background: #f5f7f6;
}

.public-request-dialog > form {
  background: #f8faf9;
  min-height: 100%;
  padding: clamp(28px, 4vw, 52px) clamp(24px, 7vw, 112px) 38px;
}

.public-request-dialog .dialog-heading,
.public-request-dialog .request-form-grid,
.public-request-dialog .dialog-copy,
.public-request-dialog .form-message,
.public-request-dialog .dialog-actions {
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
}

.public-request-dialog .dialog-heading {
  border-bottom: 1px solid #dbe6ea;
  margin-bottom: 22px;
  padding-bottom: 18px;
}

.public-request-dialog .dialog-heading h2 {
  color: #173e55;
  font: 500 clamp(1.7rem, 3vw, 2.5rem)/1.05 Georgia, "Times New Roman", serif;
  margin: 0;
}

.public-request-dialog .dialog-copy {
  color: #6b7b84;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  line-height: 1.5;
}

.public-request-dialog .request-form-grid {
  gap: 15px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-request-dialog .request-subgrid {
  display: grid;
  gap: 15px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.public-request-dialog .request-subgrid label,
.public-request-dialog .request-subgrid > div {
  min-width: 0;
}

.public-request-dialog .request-subgrid > label:first-child,
.public-request-dialog .request-subgrid > div:first-child {
  min-width: 0;
}

.public-request-dialog .dialog-actions {
  justify-content: flex-end;
  padding-top: 12px;
}

.solicitudes-choice { border-top: 4px solid #6b7b84; }
.solicitudes-choice .avaluos-choice-icon { background: #edf0f1; color: #46606d; }

@media (max-width: 800px) {
  .login-screen { grid-template-columns: 1fr ; }
  .public-entry-internal { right: 28px ; top: 18px ; }
  .login-visual-copy small { white-space: normal; }
  .applicant-register-dialog > form,
  .applicant-login-dialog > form { padding: 28px 24px 22px; }
  .public-request-dialog .request-form-grid,
  .public-request-dialog .request-subgrid { grid-template-columns: 1fr; }
}

/* Refinamiento de sesión pública, detalle de solicitudes y acciones de tabla */
.applicant-home-panel { background: rgba(255,255,255,.76); border: 1px solid rgba(29,61,77,.16); border-radius: 16px; box-shadow: 0 18px 45px rgba(20,35,40,.08); margin: auto 0; max-width: 760px; padding: clamp(24px, 4vw, 44px); position: relative; z-index: 1; }
.applicant-home-panel h2 { color: #111; font: 500 clamp(2rem, 4vw, 3.6rem)/1 Georgia, 'Times New Roman', serif; margin: 8px 0 6px; }
.applicant-home-contact { color: #65716e; font: 400 15px Georgia, 'Times New Roman', serif; margin: 0 0 20px; }
.applicant-home-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.applicant-home-actions button { min-width: 180px; }
.solicitudes-heading-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.request-action-cell { min-width: 250px; overflow: visible ; white-space: normal; }
.request-action-cell .request-detail-button { background: #f4f7f7; border: 1px solid #b9cbd0; border-radius: 7px; color: #24566d; cursor: pointer; font: 600 12px Georgia, 'Times New Roman', serif; margin: 3px 6px 3px 0; padding: 8px 10px; }
.request-action-cell .request-detail-button:hover { background: #eaf2f3; border-color: #7b9ba6; }
.request-action-cell .request-status-select { display: inline-block; min-width: 170px; width: auto; }
.request-table-wrap { overflow-x: auto; overflow-y: visible; }
.request-table { overflow: visible; }
.request-table td, .request-table th { white-space: nowrap; }
.request-detail-dialog { max-height: min(88vh, 920px); width: min(980px, calc(100vw - 32px)); }
.request-detail-dialog > form { max-height: min(88vh, 920px); overflow: auto; }
.request-detail-content { color: #30444d; font: 400 14px Georgia, 'Times New Roman', serif; }
.request-detail-summary { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; }
.request-detail-summary > div { background: #f1f6f7; border: 1px solid #d9e5e8; border-radius: 10px; padding: 12px; }
.request-detail-summary span, .request-detail-summary strong { display: block; }
.request-detail-summary span { color: #6a7d84; font-size: 11px; margin-bottom: 5px; text-transform: uppercase; }
.request-detail-summary strong { color: #1e536a; font-size: 14px; overflow-wrap: anywhere; }
.request-detail-section { border-top: 1px solid #dbe6ea; margin-top: 18px; padding-top: 16px; }
.request-detail-section h3 { color: #1e536a; font: 700 18px Georgia, 'Times New Roman', serif; margin: 0 0 12px; }
.request-detail-section dl { display: grid; gap: 8px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.request-detail-section dl > div { border-bottom: 1px solid #edf1f2; padding: 6px 0; }
.request-detail-section dt { color: #6a7d84; font-size: 11px; text-transform: uppercase; }
.request-detail-section dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.request-files-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); list-style: none; margin: 0; padding: 0; }
.request-file-card { background: #fff; border: 1px solid #d9e5e8; border-radius: 10px; display: flex; flex-direction: column; gap: 8px; min-height: 80px; overflow: hidden; padding: 10px; }
.request-file-card img { background: #f3f6f6; display: block; height: 150px; object-fit: contain; width: 100%; }
.request-file-card iframe { border: 0; height: 180px; width: 100%; }
.request-file-card a { color: #1e647d; font-weight: 600; overflow-wrap: anywhere; }
.request-file-empty { color: #718188; grid-column: 1 / -1; }
@media (max-width: 800px) { .applicant-home-panel { margin: 36px 0; } .request-detail-summary, .request-detail-section dl { grid-template-columns: 1fr 1fr; } .solicitudes-heading-actions { justify-content: flex-start; } }
@media (max-width: 540px) { .request-detail-summary, .request-detail-section dl { grid-template-columns: 1fr; } .request-action-cell { min-width: 220px; } }

/* Mobiliario: títulos en mayúsculas y fotografía individual por bien */
#mobiliarioEditor .technical-section-heading h3,
#mobiliarioEditor .technical-step strong { text-transform: uppercase; }
#mobiliarioEditor .mobiliario-capture-grid { align-items: end; }
#mobiliarioEditor .mobiliario-item-photo-field { grid-column: span 2; }
#mobiliarioEditor .mobiliario-item-photo-preview:empty { display: none; }
#mobiliarioEditor .mobiliario-item-photo-preview img { display: block; width: min(180px, 100%); height: 110px; object-fit: cover; border: 1px solid #cfc2a7; border-radius: 8px; margin-top: 4px; }
@media (max-width: 760px) { #mobiliarioEditor .mobiliario-item-photo-field { grid-column: 1 / -1; } }

/* Ajustes operativos finales */
:root { --system-control-font: Arial, Helvetica, sans-serif; --system-control-border: #b8b9bc; }
.app-shell, .app-shell *, .record-dialog, .record-dialog * { font-family: var(--system-control-font); }
.app-sidebar, .app-sidebar * { font-family: Arial, Helvetica, sans-serif ; }
.app-shell input:not([type="checkbox"]):not([type="file"]), .app-shell select, .app-shell textarea, .record-dialog input:not([type="checkbox"]):not([type="file"]), .record-dialog select, .record-dialog textarea { font-family: var(--system-control-font); font-size: .94rem; font-weight: 400; color: #202124; background: #fff; border: 1px solid var(--system-control-border); border-radius: 7px; box-shadow: none; }
.app-shell input:not([type="checkbox"]):not([type="file"]):focus, .app-shell select:focus, .app-shell textarea:focus, .record-dialog input:not([type="checkbox"]):not([type="file"]):focus, .record-dialog select:focus, .record-dialog textarea:focus { border-color: #6d7178; outline: 2px solid rgba(109,113,120,.16); }
.mobiliario-item-photo-field input[type="file"], .mobiliario-location-field input[type="file"], .automotriz-location-field input[type="file"] { width: min(100%, 250px); max-width: 250px; padding: 7px 8px; font: 400 .78rem/1.2 var(--system-control-font); border: 1px solid var(--system-control-border); border-radius: 7px; background: #fff; color: #202124; }
.dashboard-tab-buttons { justify-content: flex-start ; overflow: visible ; position: relative; z-index: 8; }
.status-filter-select-label { margin-right: auto; }
.dashboard-tab-buttons .custom-select, .dashboard-tab-buttons .custom-select-menu { z-index: 50; }
.dashboard-tab-buttons .custom-select-menu { min-width: 240px; }
.request-action-cell { min-width: 260px; overflow: visible ; white-space: nowrap; }
.request-action-cell .request-status-select { min-width: 175px; }
.request-table-wrap, .request-table-wrap table { overflow: visible; }
.applicant-visual-panel { animation: technicalFade .2s ease-out both; color: #fff; margin: auto 0; max-width: 470px; padding: 28px; }
.applicant-visual-panel h2 { color: #fff; font-size: 1.5rem; margin: 7px 0 14px; }
.applicant-visual-panel .request-table-wrap { max-height: 340px; overflow: auto; }
.applicant-visual-panel .request-table { background: rgba(0,0,0,.18); color: #fff; font-size: .76rem; }
.applicant-visual-panel .request-table th, .applicant-visual-panel .request-table td { color: #fff; border-color: rgba(255,255,255,.18); }
.applicant-visual-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.request-detail-button.is-danger { color: #9a433c; }

.notary-card .compact-settings-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.notary-card .compact-settings-form label:nth-of-type(3), .notary-card .compact-settings-form label:nth-of-type(4), .notary-card .compact-settings-form label:nth-of-type(5), .notary-card .compact-settings-form .dialog-actions { grid-column: 1 / -1; }
.notary-card .compact-settings-form .dialog-actions { display: flex; gap: 8px; justify-content: flex-start; }
.authorized-folio-card, #avaluosAuthorizedFoliosPanel { overflow: visible; }
#avaluosAuthorizedFoliosPanel { margin-top: 18px; }
@media (max-width: 700px) { .notary-card .compact-settings-form { grid-template-columns: 1fr; } .notary-card .compact-settings-form label, .notary-card .compact-settings-form .dialog-actions { grid-column: auto; } }

/* Unificación editorial de campos */
.control-shell input:not([type="checkbox"]):not([type="radio"]),
.control-shell select,
.control-shell textarea,
.record-dialog input:not([type="checkbox"]):not([type="radio"]),
.record-dialog select,
.record-dialog textarea,
.login-card input:not([type="checkbox"]):not([type="radio"]),
.login-card select {
  border: 1px solid #1f2428;
  border-radius: 8px;
  color: #182127;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  font-size: .91rem;
  font-weight: 400;
  min-height: 42px;
}
.control-shell textarea,
.record-dialog textarea { min-height: 86px; resize: vertical; }
.control-shell input:focus,
.control-shell select:focus,
.control-shell textarea:focus,
.record-dialog input:focus,
.record-dialog select:focus,
.record-dialog textarea:focus,
.login-card input:focus,
.login-card select:focus { border-color: #080b0d; box-shadow: 0 0 0 2px rgba(31,36,40,.12); outline: none; }
.control-shell input::placeholder,
.control-shell textarea::placeholder,
.record-dialog input::placeholder,
.record-dialog textarea::placeholder { color: #7b858b; font-weight: 400; }
.control-shell label,
.record-dialog label,
.login-card label { font-weight: 600; }
.folio-validation-status { display: inline-block; font-size: .78rem; margin-top: 4px; }
.folio-validation-status.is-registered { color: #167a5c; }
.folio-validation-status.is-pending { color: #9a6b20; }
.validation-choice { border-top: 4px solid #4c5f6b; }
.validation-choice .avaluos-choice-icon { background: #eef1f2; color: #344650; }
.notary-records-toggle { margin-top: 8px; }
.notaries-records-list { max-height: 360px; overflow-y: auto; padding-right: 4px; }
.notary-card .compact-settings-form { display: grid; gap: 10px; }
.notary-card .dialog-actions { margin-top: 2px; }
@media (max-width: 900px) { .notaries-records-list { max-height: 280px; } }


/* Unificación editorial de comboboxes y controles de búsqueda */
select,
.custom-select-trigger,
.custom-select-option,
.notary-search-field input,
.notary-search-field select {
  border: 1px solid #111827 ;
  border-radius: 9px;
  color: #17212b;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  font-size: .9rem;
  font-weight: 500;
}

select:focus,
.custom-select-trigger:focus-visible,
.notary-search-field input:focus,
.notary-search-field select:focus {
  border-color: #111827 ;
  box-shadow: 0 0 0 3px rgba(132, 201, 238, .62) ;
  outline: none;
}

.custom-select { min-width: 0; position: relative; width: 100%; }
.custom-select-trigger { align-items: center; background: #fff; cursor: pointer; display: flex; justify-content: space-between; min-height: 42px; padding: 9px 12px; text-align: left; width: 100%; }
.custom-select-trigger::after { border-bottom: 2px solid #173e55; border-right: 2px solid #173e55; content: ""; height: 7px; margin-left: 12px; transform: rotate(45deg) translateY(-2px); width: 7px; }
.custom-select-menu { background: #fff; border: 1px solid #111827; border-radius: 10px; box-shadow: 0 8px 0 rgba(132, 201, 238, .45), 0 15px 25px rgba(14, 47, 73, .16); left: 0; max-height: 250px; opacity: 0; overflow-y: auto; padding: 5px; pointer-events: none; position: absolute; right: 0; top: calc(100% + 6px); transform: scaleY(.96); transform-origin: top; transition: opacity .18s ease, transform .18s ease; z-index: 80; }
.custom-select.is-open .custom-select-menu { opacity: 1; pointer-events: auto; transform: scaleY(1); }
.custom-select-option { background: #fff; border: 0 ; border-radius: 7px; cursor: pointer; display: block; padding: 9px 10px; text-align: left; width: 100%; }
.custom-select-option:hover, .custom-select-option.is-selected { background: #eaf6ff; color: #0f4b70; }
.custom-select-native { height: 1px; opacity: 0; overflow: hidden; pointer-events: none; position: absolute; width: 1px; }

.notary-search-field { background: linear-gradient(145deg, #f7fbfd, #edf7fc); border: 1px solid #c4dbe8; border-radius: 13px; display: grid; gap: 12px; grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.2fr); padding: 14px; }
.notary-search-field label { color: #315466; display: grid; font-size: .8rem; font-weight: 750; gap: 6px; }
.notary-search-field input, .notary-search-field select { background: #fff; min-height: 42px; padding: 9px 11px; width: 100%; }
.notary-search-results { display: grid; gap: 6px; grid-column: 1 / -1; max-height: 230px; overflow-y: auto; }
.notary-search-result { background: #fff; border: 1px solid #c1d9e6; border-radius: 9px; cursor: pointer; display: flex; flex-direction: column; gap: 3px; padding: 9px 11px; text-align: left; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.notary-search-result:hover, .notary-search-result.is-selected { background: #eaf6ff; border-color: #111827; box-shadow: 0 0 0 2px rgba(132, 201, 238, .45); transform: translateY(-1px); }
.notary-search-result strong { color: #173e55; font-size: .84rem; }
.notary-search-result span, .notary-search-empty, .field-help { color: #6b7f89; font-size: .75rem; margin: 0; }
.notary-search-empty { background: #fff; border: 1px dashed #b8d3e1; border-radius: 9px; padding: 11px; }
.field-help { grid-column: 1 / -1; }

.validation-pending-section { border-top: 1px solid #dbe8ee; margin-top: 22px; padding-top: 20px; }
.validation-pending-section h4 { color: #173e55; font-size: .98rem; margin: 0; }
.validation-pending-section .inline-panel-heading { margin-bottom: 12px; }
.notaries-records-list { display: grid; gap: 8px; margin-top: 15px; }
.settings-data-row { align-items: center; background: #f7fbfd; border: 1px solid #c7dbe5; border-radius: 10px; display: flex; gap: 12px; justify-content: space-between; padding: 10px 12px; }
.settings-data-row strong { color: #173e55; font-size: .84rem; }
.settings-data-row span { color: #6b7f89; display: block; font-size: .75rem; margin-top: 3px; }

@media (max-width: 640px) { .notary-search-field { grid-template-columns: 1fr; } .notary-search-results, .field-help { grid-column: auto; } }


/* Regla global final solicitada: todos los campos del sistema */
input[type="text"],
input[type="date"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input:not([type]),
select,
textarea,
.form-control,
.jotform-input,
.custom-select-trigger {
  background-color: #FDFBF7 ;
  border: 1px solid #C5BCAD ;
  border-radius: 4px ;
  padding: 10px 14px ;
  font-family: 'Courier New', Courier, serif ;
  font-size: 15px ;
  color: #333333 ;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08) ;
  outline: none ;
  width: 100% ;
  box-sizing: border-box ;
}

input[type="password"] {
  background-color: #FDFBF7 ;
  border: 1px solid #C5BCAD ;
  border-radius: 4px ;
  padding: 10px 14px ;
  font-family: 'Courier New', Courier, serif ;
  font-size: 15px ;
  color: #333333 ;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08) ;
  outline: none ;
  width: 100% ;
  box-sizing: border-box ;
}

input:disabled,
input[readonly],
select:disabled,
textarea:disabled,
.custom-select-trigger:disabled {
  background-color: #F2EDE4 ;
  color: #555555 ;
}

input::placeholder,
textarea::placeholder,
.custom-select-trigger::placeholder,
::placeholder {
  color: #8C857B ;
  font-family: 'Courier New', Courier, serif ;
  opacity: 1 ;
}

label,
.form-label {
  font-family: system-ui, -apple-system, sans-serif ;
  font-weight: bold ;
  color: #1F2937 ;
  margin-bottom: 6px ;
  display: block ;
}

/* Validación: el formulario permanece visible al entrar como Administrador o Auditor */
#avaluosAuthorizedFoliosPanel:not(.is-hidden) #authorizedFolioFormAvaluos,
#authorizedFolioFormAvaluos {
  align-items: end;
  display: grid ;
  gap: 12px;
  grid-template-columns: minmax(180px, 320px) auto;
  margin: 0 0 12px;
  opacity: 1 ;
  visibility: visible ;
}

#authorizedFolioFormAvaluos label {
  display: grid ;
  gap: 6px;
  margin: 0 ;
}

#authorizedFolioInputAvaluos {
  display: block ;
  min-height: 44px;
  opacity: 1 ;
  visibility: visible ;
}

#authorizedFolioFormAvaluos button[type="submit"] {
  display: inline-flex ;
  min-height: 44px;
  opacity: 1 ;
  visibility: visible ;
  width: auto ;
}

.validation-pending-section {
  background: #FDFBF7;
  border: 1px solid #C5BCAD;
  border-radius: 4px;
  padding: 16px;
}

@media (max-width: 640px) {
  #authorizedFolioFormAvaluos { grid-template-columns: 1fr; }
  #authorizedFolioFormAvaluos button[type="submit"] { width: 100% ; }
}

/* Organización editorial de Usuarios */
.users-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr);
  gap: 20px;
  align-items: start;
}
.users-settings-grid > .setting-card {
  min-width: 0;
}
.users-admin-card > .new-user-panel,
.users-admin-card > .admin-grid,
.users-external-card > .registered-applicants-panel {
  margin-top: 18px;
}
.users-admin-card > .new-user-panel,
.users-admin-card > .admin-grid,
.users-external-card > .registered-applicants-panel {
  border: 1px solid var(--editorial-line, #d9e1df);
  border-radius: 12px;
  padding: 18px;
}
.users-admin-card > .admin-grid {
  padding: 0;
  border: 0;
}
@media (max-width: 900px) {
  .users-settings-grid { grid-template-columns: 1fr; }
}

/* Tarjetas de Usuarios con la misma jerarquía visual de Avalúos */
.usuarios-menu { animation: technicalFade .22s ease-out both; margin: 8px 0 22px; }
.usuarios-choice-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.usuarios-choice-card { align-items: flex-start; background: #fff; border: 1px solid #d8e4e9; border-radius: 17px; color: #1f465c; cursor: pointer; display: flex; font: inherit; gap: 13px; min-height: 168px; padding: 22px 18px; position: relative; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.usuarios-choice-card:hover, .usuarios-choice-card:focus-visible { border-color: #8fbdcf; box-shadow: 0 12px 24px rgba(23, 67, 88, .12); outline: none; transform: translateY(-2px); }
.usuarios-choice-card:first-child { border-top: 4px solid #2f8194; }
.usuarios-choice-card:last-child { border-top: 4px solid #c78e30; }
.usuarios-choice-icon { align-items: center; background: #e8f3f6; border-radius: 11px; color: #1d637d; display: inline-flex; flex: 0 0 38px; font-family: Georgia, serif; font-size: 1.24rem; height: 38px; justify-content: center; }
.usuarios-choice-card:last-child .usuarios-choice-icon { background: #f8efdc; color: #9b6a20; }
.usuarios-choice-copy { display: flex; flex-direction: column; gap: 7px; padding-right: 12px; }
.usuarios-choice-copy strong { color: #183d53; font-size: 1rem; }
.usuarios-choice-copy small { color: #6c7e87; font-size: .82rem; line-height: 1.45; }
.usuarios-choice-arrow { bottom: 15px; color: #4b7282; font-size: 1.2rem; position: absolute; right: 17px; }
.users-subview { animation: technicalFade .22s ease-out both; }
.back-to-users { background: transparent; border: 1px solid #cbdce2; border-radius: 9px; color: #426a7b; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; margin-bottom: 14px; padding: 8px 10px; }
.back-to-users:hover { background: #f0f7f9; }
@media (max-width: 700px) { .usuarios-choice-grid { grid-template-columns: 1fr; } }

/* Aplicar estilo Serif a todos los labels y encabezados del formulario */
label,
.form-label,
.control-label,
fieldset legend,
.jotform-label,
h1, h2, h3, h4, .form-header {
  font-family: 'Courier New', Courier, Georgia, 'Times New Roman', serif ;
  font-weight: bold ;
  color: #1F2937 ;
  letter-spacing: -0.2px ;
}

/* Restaurar tipografía editorial anterior en títulos principales de navegación */
.workspace-header h1,
#welcomeTitle,
.welcome-card h2,
.admin-intro h2,
.development-card h2,
.app-view > .admin-intro h2 {
  font-family: Georgia, "Times New Roman", serif ;
  font-weight: 500 ;
  letter-spacing: -.05em ;
}

/* Acciones de visualización y descarga de adjuntos */
.request-file-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.request-file-actions .request-detail-button { background: #f4f7f7; border: 1px solid #b9cbd0; border-radius: 7px; color: #24566d; cursor: pointer; font: 600 12px Georgia, 'Times New Roman', serif; padding: 7px 9px; }
.request-file-actions .request-detail-button:hover { background: #eaf2f3; border-color: #7b9ba6; }
.request-file-icon { align-items: center; background: #f3f6f6; color: #24566d; display: flex; font: 700 18px Georgia, 'Times New Roman', serif; height: 150px; justify-content: center; letter-spacing: .08em; }
.request-file-unavailable { color: #718188; }
.request-file-unavailable small { color: #9a433c; }

/* Branding institucional final: nuevo logo */
.login-visual-logo {
  align-items: flex-start ;
  display: flex ;
  justify-content: flex-start ;
  min-height: 92px ;
}
.login-visual-logo img {
  display: block ;
  height: 92px ;
  object-fit: contain ;
  object-position: left center ;
  width: 112px ;
}
.login-wordmark { display: none ; }
.public-entry-internal {
  margin: 10px auto 0 ;
  text-align: center ;
}
.internal-access-button {
  background: transparent ;
  border: 0 ;
  color: #68727b ;
  font-size: .72rem ;
  font-weight: 600 ;
  padding: 5px 8px ;
  text-decoration: underline ;
  text-underline-offset: 3px ;
}
.internal-access-button:hover,
.internal-access-button:focus-visible {
  color: #1f2937 ;
  outline: none ;
}
.workspace-header {
  align-items: flex-start ;
  position: relative ;
}
.workspace-header-logo {
  align-items: flex-start ;
  display: flex ;
  justify-content: flex-end ;
  margin-left: auto ;
  min-width: 76px ;
  position: sticky ;
  right: 0 ;
  top: 0 ;
  z-index: 4 ;
}
.workspace-header-logo img {
  display: block ;
  height: 62px ;
  object-fit: contain ;
  object-position: right top ;
  width: 76px ;
}
.sidebar-brand strong { white-space: normal ; }
@media (max-width: 760px) {
  .login-visual-logo img { height: 72px ; width: 88px ; }
  .workspace-header-logo { min-width: 54px ; }
  .workspace-header-logo img { height: 46px ; width: 54px ; }
}

/* Home: acciones directas por rol */
.home-actions-section { margin: 24px 0 22px; }
.home-actions-heading { margin-bottom: 14px; }
.home-actions-heading h3 { color: #173e55; font-size: 1.38rem; margin: 5px 0 4px; }
.home-actions-heading p { color: #6b7b84; margin: 0; }
.home-action-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-action-card { align-items: flex-start; background: #fff; border: 1px solid #d8e4e9; border-radius: 15px; color: #1f465c; cursor: pointer; display: grid; font: inherit; gap: 12px; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 126px; padding: 18px 16px; position: relative; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-action-card:hover, .home-action-card:focus-visible { border-color: #8fbdcf; box-shadow: 0 10px 22px rgba(23, 67, 88, .12); outline: none; transform: translateY(-2px); }
.home-action-card:active { transform: scale(.98); }
.home-action-card.is-hidden { display: none ; }
.home-action-card > span:nth-child(2) { display: flex; flex-direction: column; gap: 7px; padding-right: 4px; }
.home-action-card strong { color: #183d53; font-size: .97rem; }
.home-action-card small { color: #6c7e87; font-size: .79rem; line-height: 1.4; }
.home-action-card b { align-self: end; color: #4b7282; font-size: 1.1rem; font-weight: 500; }
.home-action-icon { align-items: center; background: #e8f3f6; border-radius: 10px; color: #1d637d; display: inline-flex; flex: 0 0 36px; font-family: Georgia, serif; font-size: 1.2rem; height: 36px; justify-content: center; }
.home-action-gestion .home-action-icon, .home-action-validacion .home-action-icon { background: #f8efdc; color: #9b6a20; }
.home-action-solicitudes .home-action-icon, .home-action-buscar .home-action-icon { background: #e9eef4; color: #43677f; }
.home-action-crear { border-top: 3px solid #c78e30; }
.home-action-validacion { border-top: 3px solid #2f8194; }
.home-action-buscar { border-top: 3px solid #547b96; }
@media (max-width: 900px) { .home-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .home-action-grid { grid-template-columns: 1fr; } .home-action-card { min-height: 104px; } }


/* Glassmorphism integration layer. The detailed visual system lives in modern-ui.css. */
.glass-card, .glass-panel { -webkit-backdrop-filter: blur(16px) saturate(125%); backdrop-filter: blur(16px) saturate(125%); }
body[data-server-status="online"] .sidebar-status-dot { box-shadow: 0 0 12px rgba(34, 211, 238, .85); }


/* Solicitudes: datos legibles sobre tarjeta clara */
#solicitudesView .request-table-wrap,
#registeredApplicantsTable .request-table-wrap,
.welcome-requests-panel .request-table-wrap {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 12px ;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08) ;
}
#solicitudesView .request-table,
#registeredApplicantsTable .request-table,
.welcome-requests-panel .request-table {
  background: #ffffff ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", sans-serif ;
}
#solicitudesView .request-table th,
#registeredApplicantsTable .request-table th,
.welcome-requests-panel .request-table th {
  background: #f1f5f9 ;
  border-bottom: 1px solid #e2e8f0 ;
  color: #475569 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .72rem ;
  font-weight: 800 ;
  letter-spacing: .04em ;
  text-transform: uppercase ;
}
#solicitudesView .request-table td,
#registeredApplicantsTable .request-table td,
.welcome-requests-panel .request-table td {
  background: #ffffff ;
  border-bottom: 1px solid #f1f5f9 ;
  color: #334155 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .84rem ;
}
#solicitudesView .request-table tbody tr:hover td,
#registeredApplicantsTable .request-table tbody tr:hover td,
.welcome-requests-panel .request-table tbody tr:hover td { background: #f8fafc ; }
#solicitudesView .request-table strong,
#registeredApplicantsTable .request-table strong,
.welcome-requests-panel .request-table strong { color: #0f172a ; }
#solicitudesView .request-table select,
#registeredApplicantsTable .request-table select,
.welcome-requests-panel .request-table select {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  color: #0f172a ;
}


/* Logo institucional al doble de su tamaño anterior */
.login-visual-logo {
  min-height: 184px ;
}
.login-visual-logo img {
  height: 184px ;
  width: 176px ;
}
.workspace-header-logo {
  min-width: 152px ;
}
.workspace-header-logo img {
  height: 124px ;
  width: 152px ;
}
@media (max-width: 760px) {
  .login-visual-logo { min-height: 144px ; }
  .login-visual-logo img { height: 144px ; width: 176px ; }
  .workspace-header-logo { min-width: 108px ; }
  .workspace-header-logo img { height: 92px ; width: 108px ; }
}


/* Administración: editor de correo del usuario */
.user-email-editor { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.user-email-editor input { flex: 1 1 230px; min-width: 180px; }
.user-email-editor button { flex: 0 0 auto; }


/* Solicitudes: archivos acumulados desde varias carpetas */
.request-attachments-list { margin-top: 8px; }
.request-attachments-list ul { background: #f7faf9; border: 1px solid #d9e5e8; border-radius: 8px; display: grid; gap: 6px; list-style: none; margin: 0; padding: 8px; }
.request-attachments-list li { align-items: center; display: flex; gap: 8px; min-width: 0; }
.request-attachments-list li span { color: #244b5b; flex: 1; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-attachments-list li small { color: #718188; white-space: nowrap; }
.request-attachments-list li button { background: #fff; border: 1px solid #c8d8de; border-radius: 6px; color: #9a433c; cursor: pointer; font: 600 12px Georgia, 'Times New Roman', serif; padding: 4px 8px; }
.request-attachments-list li button:hover { background: #fff1ef; border-color: #b8736c; }


/* Portal del cliente — dashboard corporativo responsive */
#loginScreen.applicant-dashboard-active { background: #f5f6f8; display: block; min-height: 100vh; }
#loginScreen.applicant-dashboard-active .public-entry-panel { background: #f5f6f8; display: block; min-height: 100vh; padding: 0; }
#loginScreen.applicant-dashboard-active .login-visual { display: none; }
#loginScreen.applicant-dashboard-active .applicant-home-panel { background: #f5f6f8; border: 0; border-radius: 0; box-shadow: none; color: #1f2933; display: block; margin: 0; max-width: none; min-height: 100vh; padding: 0 clamp(18px, 4vw, 64px) 56px; }
.client-dashboard-header { align-items: center; background: #fff; border-bottom: 1px solid #e4e7eb; display: flex; justify-content: space-between; margin: 0 calc(clamp(18px, 4vw, 64px) * -1); padding: 18px clamp(18px, 4vw, 64px); }
.client-brand, .client-header-actions, .client-brand > div { align-items: center; display: flex; }
.client-brand { gap: 12px; }
.client-brand img { height: 42px; object-fit: contain; width: 52px; }
.client-brand span, .client-header-actions small { color: #7b8490; display: block; font: 700 10px/1.2 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.client-brand strong { color: #18212b; display: block; font: 700 15px/1.25 Arial, sans-serif; }
.client-header-actions { gap: 22px; }
.client-header-actions > div { text-align: right; }
.client-header-actions strong { color: #1f2933; display: block; font: 700 14px/1.35 Arial, sans-serif; margin-top: 4px; }
.client-logout-button, .client-primary-button, .client-outline-button { border-radius: 8px; cursor: pointer; font: 700 13px/1 Arial, sans-serif; padding: 11px 15px; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.client-logout-button { background: #fff; border: 1px solid #cbd1d8; color: #374151; }
.client-logout-button:hover, .client-outline-button:hover { background: #f1f3f5; border-color: #9da7b2; transform: translateY(-1px); }
.client-dashboard-intro { align-items: end; display: flex; gap: 22px; justify-content: space-between; margin: 42px auto 24px; max-width: 1240px; }
.client-dashboard-intro h2 { color: #151b22; font: 700 clamp(1.7rem, 3vw, 2.45rem)/1.1 Arial, sans-serif; margin: 7px 0 8px; }
.client-dashboard-intro .applicant-home-contact { color: #6b7280; font: 400 14px/1.5 Arial, sans-serif; margin: 0; }
.client-primary-button { background: #1d2732; border: 1px solid #1d2732; color: #fff; white-space: nowrap; }
.client-primary-button:hover { background: #b78935; border-color: #b78935; transform: translateY(-1px); }
.client-dashboard-stats { display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto 30px; max-width: 1240px; }
.client-dashboard-stats article { background: #fff; border: 1px solid #e3e6ea; border-radius: 12px; box-shadow: 0 6px 18px rgba(20,27,36,.04); padding: 18px 20px; }
.client-dashboard-stats span, .client-request-meta small, .client-detail-grid small { color: #7a8490; display: block; font: 700 10px/1.3 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.client-dashboard-stats strong { color: #18212b; display: block; font: 700 2rem/1 Arial, sans-serif; margin-top: 10px; }
.client-history-section { background: #fff; border: 1px solid #e1e5e9; border-radius: 14px; box-shadow: 0 10px 28px rgba(20,27,36,.05); margin: 0 auto; max-width: 1240px; padding: clamp(20px, 3vw, 30px); }
.client-section-heading, .client-detail-section-heading { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.client-section-heading h3, .client-detail-section-heading h3 { color: #1d2732; font: 700 1.2rem/1.2 Arial, sans-serif; margin: 6px 0 5px; }
.client-section-heading p, .client-detail-section-heading p { color: #7a8490; font: 400 13px/1.5 Arial, sans-serif; margin: 0; }
.client-section-badge { background: #f5f0e5; border-radius: 999px; color: #8e6829; font: 700 11px/1 Arial, sans-serif; padding: 9px 12px; white-space: nowrap; }
.client-request-grid { margin-top: 22px; }
.client-request-cards { display: grid; gap: 15px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.client-request-card { background: #fbfcfd; border: 1px solid #e1e6eb; border-radius: 11px; cursor: pointer; padding: 18px; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.client-request-card:hover, .client-request-card:focus-visible { border-color: #b78935; box-shadow: 0 10px 24px rgba(20,27,36,.09); outline: none; transform: translateY(-2px); }
.client-request-card-top { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.client-folio { color: #697586; font: 700 11px/1 Arial, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.client-status-badge { border-radius: 999px; display: inline-block; font: 700 10px/1 Arial, sans-serif; padding: 7px 9px; text-transform: capitalize; }
.client-status-recibida, .client-status-en-revision, .client-status-asignada { background: #fff5d9; color: #916d23; }
.client-status-en-visita, .client-status-en-elaboracion, .client-status-en-firma { background: #e8f0f8; color: #315a7b; }
.client-status-concluida { background: #e5f4eb; color: #2f7048; }
.client-status-cancelada { background: #fbe9e9; color: #a04444; }
.client-request-card h4 { color: #202b36; font: 700 16px/1.3 Arial, sans-serif; margin: 17px 0; }
.client-request-meta { border-top: 1px solid #e7ebef; display: grid; gap: 12px; grid-template-columns: 1fr 1fr; padding-top: 14px; }
.client-request-meta span { color: #384454; font: 600 12px/1.4 Arial, sans-serif; }
.client-request-meta small { font-size: 9px; margin-bottom: 4px; }
.client-card-link { background: transparent; border: 0; color: #986e24; cursor: pointer; font: 700 12px/1 Arial, sans-serif; margin-top: 18px; padding: 0; }
.client-card-link span { font-size: 15px; margin-left: 5px; }
.client-empty-state { border: 1px dashed #d3d9df; border-radius: 10px; padding: 42px 18px; text-align: center; }
.client-empty-icon { color: #b78935; font-size: 2rem; }
.client-empty-state h4 { color: #27313d; font: 700 17px/1.3 Arial, sans-serif; margin: 10px 0 5px; }
.client-empty-state p { color: #7a8490; font: 400 13px/1.5 Arial, sans-serif; margin: 0 0 18px; }
.client-empty-state .client-primary-button { display: inline-block; }
.client-detail-hero { align-items: start; background: #f6f7f8; border: 1px solid #e4e7eb; border-radius: 11px; display: flex; gap: 14px; justify-content: space-between; padding: 18px; }
.client-detail-hero h3 { color: #1d2732; font: 700 20px/1.25 Arial, sans-serif; margin: 9px 0 4px; }
.client-detail-hero p { color: #7a8490; font: 400 12px/1.4 Arial, sans-serif; margin: 0; }
.client-detail-section { border-top: 1px solid #e5e8ec; margin-top: 24px; padding-top: 22px; }
.client-detail-section-heading strong { color: #657180; font: 700 12px/1 Arial, sans-serif; text-transform: capitalize; }
.client-outline-button { background: #fff; border: 1px solid #cfd5dc; color: #44515e; font-size: 12px; }
.client-timeline { align-items: start; display: grid; grid-template-columns: repeat(5, 1fr); margin: 25px 5px 6px; position: relative; }
.client-timeline::before { background: #dce1e6; content: ""; height: 2px; left: 10%; position: absolute; right: 10%; top: 14px; }
.client-timeline-step { color: #9aa3ad; position: relative; text-align: center; z-index: 1; }
.client-timeline-step span { align-items: center; background: #eef0f2; border: 3px solid #fff; border-radius: 50%; color: #7c8792; display: inline-flex; font: 700 11px/1 Arial, sans-serif; height: 28px; justify-content: center; width: 28px; }
.client-timeline-step.is-complete span { background: #1d2732; color: #fff; }
.client-timeline-step.is-current span { background: #b78935; box-shadow: 0 0 0 4px #f5ecd9; }
.client-timeline-step small { display: block; font: 700 10px/1.3 Arial, sans-serif; margin: 9px auto 0; max-width: 100px; text-transform: capitalize; }
.client-timeline-step.is-complete small { color: #374151; }
.client-detail-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; }
.client-detail-grid > div { background: #f8f9fa; border-radius: 8px; padding: 13px; }
.client-detail-grid strong { color: #334155; display: block; font: 600 13px/1.4 Arial, sans-serif; margin-top: 5px; }
.client-detail-download { background: #f7f2e7; border: 1px solid #eadbb8; border-radius: 10px; margin-top: 24px; padding: 18px; }
.client-detail-download h3 { color: #5f481c; font: 700 17px/1.3 Arial, sans-serif; margin: 6px 0 4px; }
.client-detail-download p { color: #796638; font: 400 13px/1.4 Arial, sans-serif; margin: 0 0 14px; }
.client-download-button { background: #1d2732; border: 1px solid #1d2732; border-radius: 7px; color: #fff; display: inline-block; font: 700 12px/1 Arial, sans-serif; padding: 11px 14px; text-decoration: none; }
.client-download-button:hover { background: #b78935; border-color: #b78935; }
.client-download-button.is-disabled { background: #aaa; border-color: #aaa; cursor: not-allowed; }
.client-detail-legacy { color: #657180; }
@media (max-width: 700px) { .client-dashboard-header, .client-dashboard-intro, .client-section-heading, .client-detail-section-heading { align-items: flex-start; flex-direction: column; } .client-header-actions { justify-content: space-between; width: 100%; } .client-header-actions > div { text-align: left; } .client-dashboard-stats { grid-template-columns: 1fr; } .client-timeline { gap: 16px; grid-template-columns: 1fr; margin-left: 0; } .client-timeline::before { bottom: 14px; height: auto; left: 13px; right: auto; top: 14px; width: 2px; } .client-timeline-step { align-items: center; display: flex; gap: 10px; text-align: left; } .client-timeline-step small { margin: 0; max-width: none; } .client-detail-grid { grid-template-columns: 1fr; } .client-outline-button { width: 100%; } }


/* MI PORTAL — identidad Dark Luxury / Ejecutivo */
#loginScreen.applicant-dashboard-active { background: #121212 ; color: #f4f1ea ; }
#loginScreen.applicant-dashboard-active .public-entry-panel { background: #121212 ; color: #f4f1ea ; }
#loginScreen.applicant-dashboard-active .applicant-home-panel { background: radial-gradient(circle at 80% 0%, rgba(197,160,89,.08), transparent 34%), #121212 ; color: #f4f1ea ; }
#loginScreen.applicant-dashboard-active .client-dashboard-header { background: #1e1e1e ; border-bottom: 1px solid #c5a059 ; box-shadow: 0 8px 24px rgba(0,0,0,.28); }
#loginScreen.applicant-dashboard-active .client-brand strong { color: #fffdf8 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; font-size: 18px; letter-spacing: .015em; }
#loginScreen.applicant-dashboard-active .client-brand span { color: #d4af37 ; font-family: Arial, sans-serif ; font-size: 10px; letter-spacing: .22em; margin-top: 5px; }
#loginScreen.applicant-dashboard-active .client-header-actions small { color: #c5a059 ; }
#loginScreen.applicant-dashboard-active .client-header-actions strong { color: #f4f1ea ; }
#loginScreen.applicant-dashboard-active .client-logout-button { background: transparent ; border: 1px solid rgba(197,160,89,.78) ; color: #f5f1e8 ; }
#loginScreen.applicant-dashboard-active .client-logout-button:hover { background: #c5a059 ; border-color: #d4af37 ; color: #17130d ; box-shadow: 0 0 18px rgba(197,160,89,.25); }
#loginScreen.applicant-dashboard-active .client-dashboard-intro h2 { color: #fffdf8 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; letter-spacing: .01em; }
#loginScreen.applicant-dashboard-active .client-dashboard-intro .applicant-home-contact { color: #c4c0b8 ; }
#loginScreen.applicant-dashboard-active .client-primary-button { background: linear-gradient(135deg, #d4af37 0%, #c5a059 48%, #a77c32 100%) ; border: 1px solid #e1c36a ; box-shadow: 0 8px 20px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.3); color: #17130d ; font-weight: 800; }
#loginScreen.applicant-dashboard-active .client-primary-button:hover { background: linear-gradient(135deg, #e4c55b, #d4af37) ; box-shadow: 0 0 22px rgba(212,175,55,.3); color: #111 ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article,
#loginScreen.applicant-dashboard-active .client-history-section { background: rgba(255,255,255,.05) ; border: 1px solid rgba(197,160,89,.62) ; box-shadow: 0 12px 32px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.05); }
#loginScreen.applicant-dashboard-active .client-dashboard-stats span,
#loginScreen.applicant-dashboard-active .client-request-meta small,
#loginScreen.applicant-dashboard-active .client-section-heading p { color: #bdb8ad ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats strong { color: #f5f0e7 ; font-family: Arial, sans-serif ; }
#loginScreen.applicant-dashboard-active .client-section-heading h3 { color: #fffdf8 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; font-size: 1.55rem; }
#loginScreen.applicant-dashboard-active .client-section-badge { background: rgba(197,160,89,.15) ; border: 1px solid rgba(197,160,89,.5); color: #d4af37 ; }
#loginScreen.applicant-dashboard-active .client-request-card { background: rgba(255,255,255,.045) ; border: 1px solid rgba(197,160,89,.38) ; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
#loginScreen.applicant-dashboard-active .client-request-card:hover,
#loginScreen.applicant-dashboard-active .client-request-card:focus-visible { border-color: #d4af37 ; box-shadow: 0 0 20px rgba(197,160,89,.18), 0 12px 26px rgba(0,0,0,.3); }
#loginScreen.applicant-dashboard-active .client-request-card h4 { color: #f4f1ea ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; }
#loginScreen.applicant-dashboard-active .client-folio { color: #d4af37 ; }
#loginScreen.applicant-dashboard-active .client-request-meta { border-top-color: rgba(197,160,89,.22) ; }
#loginScreen.applicant-dashboard-active .client-request-meta span { color: #e0dcd3 ; }
#loginScreen.applicant-dashboard-active .client-card-link { color: #d4af37 ; }
#loginScreen.applicant-dashboard-active .client-empty-state { border-color: rgba(197,160,89,.55) ; }
#loginScreen.applicant-dashboard-active .client-empty-state h4 { color: #fffdf8 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; }
#loginScreen.applicant-dashboard-active .client-empty-state p { color: #c4c0b8 ; }
#loginScreen.applicant-dashboard-active .client-empty-icon { color: #d4af37 ; }
/* El modal de detalle conserva el mismo lenguaje visual cuando se abre desde MI PORTAL. */
#loginScreen.applicant-dashboard-active ~ dialog#requestDetailDialog,
#requestDetailDialog.client-luxury-detail { background: #1e1e1e; border: 1px solid #c5a059; color: #f4f1ea; }


/* Dark Luxury — textura institucional, microanimaciones y modal de detalle */
#loginScreen.applicant-dashboard-active .applicant-home-panel::before { background-image: linear-gradient(115deg, rgba(255,255,255,.018) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.012) 50%, rgba(255,255,255,.012) 75%, transparent 75%); background-size: 7px 7px; content: ""; inset: 0; opacity: .32; pointer-events: none; position: absolute; }
#loginScreen.applicant-dashboard-active .applicant-home-panel { overflow: hidden; position: relative; }
#loginScreen.applicant-dashboard-active .applicant-home-panel > * { position: relative; z-index: 1; }
#loginScreen.applicant-dashboard-active .client-request-card,
#loginScreen.applicant-dashboard-active .client-dashboard-stats article,
#loginScreen.applicant-dashboard-active .client-history-section { animation: clientLuxuryRise .42s ease both; }
#loginScreen.applicant-dashboard-active .client-request-card:nth-child(2) { animation-delay: .04s; }
#loginScreen.applicant-dashboard-active .client-request-card:nth-child(3) { animation-delay: .08s; }
#loginScreen.applicant-dashboard-active .client-request-card:nth-child(4) { animation-delay: .12s; }
#loginScreen.applicant-dashboard-active .client-request-card:nth-child(5) { animation-delay: .16s; }
#loginScreen.applicant-dashboard-active .client-request-card:nth-child(6) { animation-delay: .2s; }
@keyframes clientLuxuryRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes clientGoldShimmer { 0%, 100% { box-shadow: 0 0 0 rgba(212,175,55,0); } 50% { box-shadow: 0 0 18px rgba(212,175,55,.22); } }
#loginScreen.applicant-dashboard-active .client-primary-button { animation: clientGoldShimmer 3.8s ease-in-out infinite; }
#loginScreen.applicant-dashboard-active .client-primary-button:hover { animation: none; }
#requestDetailDialog.client-luxury-detail { background: #1e1e1e ; border: 1px solid #c5a059 ; border-radius: 14px ; box-shadow: 0 24px 80px rgba(0,0,0,.62), 0 0 0 1px rgba(212,175,55,.12) inset ; color: #f4f1ea ; max-width: min(920px, calc(100vw - 28px)); }
#requestDetailDialog.client-luxury-detail::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(4px); }
#requestDetailDialog.client-luxury-detail[open] { animation: clientLuxuryModal .26s ease both; }
@keyframes clientLuxuryModal { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
#requestDetailDialog.client-luxury-detail #requestDetailTitle { color: #d4af37 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; letter-spacing: .01em; }
#requestDetailDialog.client-luxury-detail #requestDetailContent { color: #f4f1ea ; }
#requestDetailDialog.client-luxury-detail .client-detail-hero,
#requestDetailDialog.client-luxury-detail .client-detail-grid > div,
#requestDetailDialog.client-luxury-detail .request-file-card { background: rgba(255,255,255,.055) ; border-color: rgba(197,160,89,.42) ; }
#requestDetailDialog.client-luxury-detail .client-detail-hero h3,
#requestDetailDialog.client-luxury-detail .client-detail-section-heading h3,
#requestDetailDialog.client-luxury-detail .client-detail-download h3 { color: #fffdf8 ; font-family: "Playfair Display", "Cinzel", Georgia, serif ; }
#requestDetailDialog.client-luxury-detail .client-detail-hero p,
#requestDetailDialog.client-luxury-detail .client-detail-section-heading p,
#requestDetailDialog.client-luxury-detail .client-detail-grid small,
#requestDetailDialog.client-luxury-detail .request-file-card span,
#requestDetailDialog.client-luxury-detail .request-file-card small { color: #c4c0b8 ; }
#requestDetailDialog.client-luxury-detail .client-detail-section { border-top-color: rgba(197,160,89,.3) ; }
#requestDetailDialog.client-luxury-detail .client-timeline::before { background: rgba(197,160,89,.4); }
#requestDetailDialog.client-luxury-detail .client-timeline-step span { background: #292929; border-color: #1e1e1e; color: #aaa39a; }
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete span { background: #c5a059; color: #17130d; }
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-current span { background: #d4af37; box-shadow: 0 0 0 4px rgba(212,175,55,.15); }
#requestDetailDialog.client-luxury-detail .client-timeline-step small { color: #d8d2c7; }
#requestDetailDialog.client-luxury-detail .client-outline-button,
#requestDetailDialog.client-luxury-detail .request-detail-button { background: transparent ; border-color: rgba(197,160,89,.7) ; color: #e1c36a ; }
#requestDetailDialog.client-luxury-detail .client-outline-button:hover,
#requestDetailDialog.client-luxury-detail .request-detail-button:hover { background: #c5a059 ; color: #17130d ; }
#requestDetailDialog.client-luxury-detail .client-download-button { background: linear-gradient(135deg, #d4af37, #a77c32) ; border-color: #e1c36a ; color: #17130d ; }
#requestDetailDialog.client-luxury-detail .request-file-card img,
#requestDetailDialog.client-luxury-detail .request-file-card iframe { border-color: rgba(197,160,89,.35); }
@media (prefers-reduced-motion: reduce) { #loginScreen.applicant-dashboard-active .client-request-card, #loginScreen.applicant-dashboard-active .client-dashboard-stats article, #loginScreen.applicant-dashboard-active .client-history-section, #loginScreen.applicant-dashboard-active .client-primary-button, #requestDetailDialog.client-luxury-detail[open] { animation: none ; } }


/* Portal cliente: carga inicial rápida y discreta */
.client-loading-state {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #64748b;
  font-family: Inter, "Segoe UI", sans-serif;
}
.client-loading-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(197, 160, 89, 0.25);
  border-top-color: #c5a059;
  border-radius: 50%;
  animation: client-loading-spin 0.75s linear infinite;
}
@keyframes client-loading-spin { to { transform: rotate(360deg); } }
.admin-final-upload-section { border-color: rgba(197, 160, 89, 0.55) ; }


/* Bandeja de solicitudes — tabla cliente con filtros en tiempo real */
#loginScreen.applicant-dashboard-active .client-dashboard-intro { margin-bottom: 26px; }
#loginScreen.applicant-dashboard-active .client-dashboard-intro h2 { margin-bottom: 0; }
#loginScreen.applicant-dashboard-active .client-history-section { border: 1px solid #d4af37 ; background: #ffffff ; }
.client-request-toolbar { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin: 20px 0 16px; }
.client-request-search { flex: 1 1 420px; margin: 0; }
.client-request-filter { flex: 0 0 210px; margin: 0; }
.client-request-toolbar input,
.client-request-toolbar select { background: #f8fafc ; border: 1px solid #d4af37 ; border-radius: 8px ; box-sizing: border-box; color: #1f2937 ; font: 500 13px/1.2 Inter, "Segoe UI", sans-serif ; min-height: 42px; padding: 10px 12px ; width: 100% ; }
.client-request-toolbar input:focus,
.client-request-toolbar select:focus { box-shadow: 0 0 0 3px rgba(212,175,55,.18) ; outline: none ; }
.client-request-table-wrap { border: 1px solid #e5e7eb; border-radius: 10px; overflow-x: auto; }
.client-request-table { border-collapse: collapse; min-width: 920px; width: 100%; }
.client-request-table th { background: #f8fafc; border-bottom: 1px solid #d4af37; color: #475569; font: 800 10px/1.2 Inter, "Segoe UI", sans-serif; letter-spacing: .07em; padding: 13px 12px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.client-request-table td { background: #fff; border-bottom: 1px solid #eef0f2; color: #334155; font: 500 13px/1.35 Inter, "Segoe UI", sans-serif; padding: 14px 12px; vertical-align: middle; }
.client-request-table tbody tr:hover td { background: #fffdf5; }
.client-request-table td strong { color: #0f172a; font-weight: 800; }
.client-request-table tbody tr:last-child td { border-bottom: 0; }
.client-table-view-button { background: transparent; border: 0; color: #8a6823; cursor: pointer; font: 800 12px/1.2 Inter, "Segoe UI", sans-serif; padding: 5px 0; white-space: nowrap; }
.client-table-view-button:hover { color: #5f4616; text-decoration: underline; }
.client-table-view-button span { font-size: 15px; margin-left: 3px; }
.client-pdf-cell { text-align: center ; width: 54px; }
.client-pdf-link { align-items: center; background: #c5a059; border-radius: 6px; color: #171717 ; display: inline-flex; font: 900 17px/1 Arial, sans-serif; height: 28px; justify-content: center; text-decoration: none; width: 30px; }
.client-pdf-link:hover { background: #d4af37; transform: translateY(-1px); }
.client-pdf-disabled { color: #94a3b8; font-size: 18px; }
.client-request-table .client-status-badge { display: inline-block; font-size: 10px; padding: 7px 9px; white-space: nowrap; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }
@media (max-width: 720px) { .client-request-toolbar { align-items: stretch; flex-direction: column; } .client-request-filter { flex-basis: auto; } }


/* MI PORTAL — fondo claro y tarjetas de indicadores */
#loginScreen.applicant-dashboard-active,
#loginScreen.applicant-dashboard-active .public-entry-panel,
#loginScreen.applicant-dashboard-active .applicant-home-panel {
  background: #f8fafc ;
  color: #1e293b ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-intro h2,
#loginScreen.applicant-dashboard-active .client-dashboard-intro h2#applicantWelcomeTitle {
  color: #1e293b ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article {
  background: #ffffff ;
  border: 1px solid #d4af37 ;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .06) ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats span,
#loginScreen.applicant-dashboard-active .client-dashboard-stats strong {
  color: #1e293b ;
}
#loginScreen.applicant-dashboard-active .client-history-section {
  background: #ffffff ;
  border: 1px solid #d4af37 ;
  margin-top: 20px ;
}


/* Unificación ejecutiva: portal cliente y acceso administrativo */
.control-shell {
  background: #f8fafc ;
  display: block ;
  min-height: 100vh ;
}
.control-shell .app-sidebar {
  align-items: stretch ;
  background: #1e1e1e ;
  border-bottom: 1px solid #c5a059 ;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) ;
  display: block ;
  min-height: 0 ;
  padding: 14px 28px 12px ;
  position: relative ;
  width: 100% ;
  z-index: 10;
}
.control-shell .sidebar-brand {
  align-items: center ;
  display: flex ;
  gap: 10px ;
  padding: 0 0 12px ;
}
.control-shell .sidebar-brand img { height: 34px ; max-width: 34px ; object-fit: contain; width: 34px ; }
.control-shell .sidebar-brand strong { color: #fffdf8 ; font-family: Georgia, "Times New Roman", serif ; font-size: 1rem ; line-height: 1 ; }
.control-shell .sidebar-nav {
  align-items: center ;
  display: flex ;
  flex-wrap: wrap ;
  gap: 6px ;
  padding-right: 360px;
}
.control-shell .sidebar-link {
  background: transparent ;
  border: 1px solid transparent ;
  border-radius: 7px ;
  color: #f4f1ea ;
  font-size: .78rem ;
  gap: 7px ;
  padding: 8px 11px ;
  width: auto ;
}
.control-shell .sidebar-link:hover,
.control-shell .sidebar-link.is-active { background: rgba(212,175,55,.16) ; border-color: #c5a059 ; color: #d4af37 ; transform: translateY(-1px); }
.control-shell .sidebar-link .nav-icon { background: transparent ; color: inherit ; font-size: .92rem ; height: auto ; width: auto ; }
.control-shell .sidebar-footer {
  align-items: center ;
  background: transparent ;
  border-top: 0 ;
  display: flex ;
  gap: 18px ;
  margin: 0 ;
  padding: 0 ;
  position: absolute ;
  right: 28px ;
  top: 18px ;
}
.control-shell .sidebar-account { align-items: center ; gap: 8px ; }
.control-shell .sidebar-account-copy { align-items: flex-end; display: flex; flex-direction: column; }
.control-shell .active-user { color: #fffdf8 ; font-size: .78rem ; }
.control-shell .active-user-role { color: #d4af37 ; font-size: .66rem ; }
.control-shell .sidebar-online { color: #d6d1c7 ; font-size: .67rem ; }
.control-shell .sidebar-status-dot { background: #53c878 ; box-shadow: 0 0 0 3px rgba(83,200,120,.16) ; height: 6px ; width: 6px ; }
.control-shell .admin-header-actions { display: flex; gap: 7px; }
.control-shell .client-logout-button,
.control-shell .admin-header-actions button {
  background: transparent ;
  border: 1px solid rgba(197,160,89,.78) ;
  border-radius: 7px ;
  color: #f5f1e8 ;
  cursor: pointer;
  font: 700 .7rem/1.1 Inter, "Segoe UI", sans-serif ;
  padding: 8px 10px ;
  white-space: nowrap;
}
.control-shell .client-logout-button:hover,
.control-shell .admin-header-actions button:hover { background: #c5a059 ; border-color: #d4af37 ; color: #17130d ; }
.control-shell .app-workspace { background: #f8fafc ; min-height: calc(100vh - 108px); padding: 28px clamp(20px, 4vw, 60px) 54px ; }
.control-shell .workspace-header { border-bottom: 1px solid #e5e7eb; padding-bottom: 18px; }
.control-shell .workspace-header h1 { color: #1e293b ; font-family: Inter, "Segoe UI", sans-serif ; font-size: clamp(1.7rem, 3vw, 2.25rem) ; }
.control-shell .workspace-description { color: #64748b ; }
.control-shell .workspace-header-logo { display: none; }

/* Portal: marca apilada y encabezado a todo lo ancho */
#loginScreen.applicant-dashboard-active { background: #f8fafc ; }
#loginScreen.applicant-dashboard-active .public-entry-panel { background: #f8fafc ; margin: 0 ; padding: 0 ; width: 100vw ; }
#loginScreen.applicant-dashboard-active .applicant-home-panel { background: #f8fafc ; margin: 0 ; min-height: 100vh; padding: 0 5vw 48px ; width: 100vw ; }
#loginScreen.applicant-dashboard-active .client-dashboard-header { border-radius: 0 ; margin: 0 -5vw 28px ; padding: 18px 5vw ; width: 100vw ; }
#loginScreen.applicant-dashboard-active .client-brand { align-items: flex-start ; flex-direction: column ; gap: 2px ; }
#loginScreen.applicant-dashboard-active .client-brand img { height: 38px ; margin-bottom: 3px ; width: 38px ; }
#loginScreen.applicant-dashboard-active .client-brand div { display: flex; flex-direction: column; }
#loginScreen.applicant-dashboard-active .client-brand strong { font-size: 18px ; line-height: 1.1 ; }
#loginScreen.applicant-dashboard-active .client-brand span { font-size: 10px ; letter-spacing: .16em ; margin-left: 0 ; margin-top: 4px ; }
#loginScreen.applicant-dashboard-active .client-dashboard-intro h2 { color: #1e293b ; font-size: 2rem ; }

/* Botones: secundarios oscuros con borde dorado y primarios dorados */
.secondary-button,
.subtle-action-button,
.control-shell .record-action,
.control-shell .text-button,
.control-shell .receipt-button,
.control-shell .back-to-users,
.control-shell .back-to-avaluos,
.control-shell .icon-button {
  background: #1e1e1e ;
  border: 1px solid #d4af37 ;
  border-radius: 7px ;
  color: #f5f1e8 ;
}
.secondary-button:hover,
.subtle-action-button:hover,
.control-shell .record-action:hover,
.control-shell .text-button:hover,
.control-shell .receipt-button:hover,
.control-shell .back-to-users:hover,
.control-shell .back-to-avaluos:hover,
.control-shell .icon-button:hover { background: #c5a059 ; border-color: #d4af37 ; color: #17130d ; }
.primary-button,
.login-button,
.client-primary-button { background: linear-gradient(135deg, #d4af37 0%, #c5a059 48%, #a77c32 100%) ; border: 1px solid #e1c36a ; color: #17130d ; font-weight: 800 ; }
.primary-button:hover,
.login-button:hover,
.client-primary-button:hover { background: linear-gradient(135deg, #e4c55b, #d4af37) ; color: #111 ; }
@media (max-width: 900px) {
  .control-shell .sidebar-nav { padding-right: 0 ; }
  .control-shell .sidebar-footer { align-items: flex-start ; flex-direction: column ; gap: 8px ; position: static ; }
  .control-shell .sidebar-account-copy { align-items: flex-start; }
  .control-shell .app-sidebar { padding: 14px 18px ; }
  .control-shell .app-workspace { padding: 22px 18px 42px ; }
  #loginScreen.applicant-dashboard-active .client-dashboard-header { margin-left: -5vw ; margin-right: -5vw ; }
}


/* Aislamiento estricto de autenticación: nunca mostrar el dashboard sin sesión */
html body #appShell.is-hidden,
html body #appShell[hidden],
html body .app-shell.is-hidden,
html body .app-shell[hidden] { display: none ; visibility: hidden ; opacity: 0 ; pointer-events: none ; }
html body #loginScreen.is-hidden,
html body #loginScreen[hidden] { display: none ; visibility: hidden ; opacity: 0 ; pointer-events: none ; }
html body #loginScreen:not(.is-hidden):not([hidden]) { display: grid ; visibility: visible ; opacity: 1 ; }
html body [hidden] { display: none ; }
/* El contenedor administrativo conserva el layout horizontal únicamente después de autenticarse. */
html body #appShell:not(.is-hidden):not([hidden]) { display: block ; visibility: visible ; opacity: 1 ; pointer-events: auto ; }

/* En login, ningún módulo administrativo puede ocupar espacio visual o interactivo. */
#loginScreen:not(.is-hidden) ~ #appShell,
#loginScreen:not(.is-hidden) ~ #appShell * { visibility: hidden; }


/* Separación definitiva entre Login y aplicación: regla global de máxima prioridad. */
.is-hidden,
[hidden],
#appShell.is-hidden {
  display: none ;
  visibility: hidden ;
  opacity: 0 ;
  height: 0 ;
  overflow: hidden ;
}

/* El Login es hermano independiente de #appShell y ocupa la pantalla solo sin sesión. */
body > #loginScreen:not(.is-hidden):not([hidden]) {
  display: grid ;
  visibility: visible ;
  opacity: 1 ;
  height: auto ;
  overflow: visible ;
}
body > #appShell:not(.is-hidden):not([hidden]) {
  display: block ;
  visibility: visible ;
  opacity: 1 ;
  height: auto ;
  overflow: visible ;
}


/* Header administrativo y navegación en cápsula — ajuste de maquetación */
.control-shell .app-sidebar {
  align-items: stretch ;
  display: grid ;
  grid-template-columns: minmax(250px, 1fr) auto minmax(430px, 1fr) ;
  min-height: 92px ;
  padding: 14px 28px ;
  position: relative ;
  width: 100% ;
}
.control-shell .sidebar-brand {
  align-self: center ;
  justify-self: start ;
  padding: 0 ;
  position: static ;
  text-align: left ;
}
.control-shell .sidebar-brand-copy {
  display: flex ;
  flex-direction: column ;
  gap: 2px ;
}
.control-shell .sidebar-brand strong {
  color: #fffdf8 ;
  font-family: Georgia, "Times New Roman", serif ;
  font-size: 1rem ;
  line-height: 1.05 ;
}
.control-shell .sidebar-brand strong small {
  font-size: .86em ;
}
.control-shell .sidebar-brand-copy > span {
  color: #d4af37 ;
  font: 700 .58rem/1.1 Inter, "Segoe UI", sans-serif ;
  letter-spacing: .18em ;
}
.control-shell .sidebar-nav {
  align-items: center ;
  background: #fff ;
  border: 1px solid #d4af37 ;
  border-radius: 50px ;
  box-shadow: 0 7px 18px rgba(15, 23, 42, .12) ;
  display: flex ;
  flex-wrap: nowrap ;
  gap: 3px ;
  justify-content: center ;
  margin: 0 auto ;
  padding: 4px 8px ;
  width: max-content ;
}
.control-shell .sidebar-nav .nav-capsule-leading {
  color: #8a6823 ;
  display: inline-flex ;
  font: 700 1.35rem/1 Inter, "Segoe UI", sans-serif ;
  margin: 0 3px 0 2px ;
  padding: 0 4px ;
}
.control-shell .sidebar-link {
  border: 1px solid transparent ;
  border-radius: 999px ;
  color: #334155 ;
  font-size: .75rem ;
  font-weight: 750 ;
  padding: 8px 11px ;
  white-space: nowrap ;
}
.control-shell .sidebar-link:hover,
.control-shell .sidebar-link.is-active {
  background: #fff7dc ;
  border-color: #d4af37 ;
  color: #8a6823 ;
  transform: none ;
}
.control-shell .sidebar-link .nav-icon {
  color: inherit ;
  font-size: .85rem ;
}
.control-shell .sidebar-footer {
  align-self: center ;
  justify-self: end ;
  margin: 0 ;
  padding: 0 ;
  position: static ;
}
.control-shell .sidebar-account-copy {
  align-items: flex-end ;
}
.control-shell .app-workspace {
  padding-left: 20px ;
  padding-right: 20px ;
}
.control-shell .workspace-header {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
.control-shell .workspace-header-logo {
  display: none ;
}
.control-shell .app-workspace > .app-view {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
.control-shell .app-workspace > .chat-widget {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
}
@media (max-width: 1180px) {
  .control-shell .app-sidebar {
    grid-template-columns: minmax(210px, 1fr) auto minmax(300px, 1fr) ;
    padding-left: 18px ;
    padding-right: 18px ;
  }
  .control-shell .sidebar-link { padding-left: 8px ; padding-right: 8px ; }
}
@media (max-width: 920px) {
  .control-shell .app-sidebar {
    display: flex ;
    flex-direction: column ;
    gap: 12px ;
    min-height: 0 ;
  }
  .control-shell .sidebar-brand { align-self: flex-start ; }
  .control-shell .sidebar-nav { align-self: center ; max-width: 100%; overflow-x: auto; }
  .control-shell .sidebar-footer { align-self: stretch ; justify-self: auto ; }
  .control-shell .sidebar-account-copy { align-items: flex-start ; }
}


/* Cápsula fuera del header y cuerpo administrativo perfectamente centrado */
.control-shell {
  align-items: center ;
  display: flex ;
  flex-direction: column ;
  width: 100% ;
}
.control-shell .app-sidebar {
  grid-template-columns: minmax(0, 1fr) minmax(430px, auto) ;
  width: 100% ;
}
.control-shell .sidebar-footer {
  grid-column: 2 ;
}
.control-shell > .floating-nav-capsule {
  align-items: center ;
  background: #ffffff ;
  border: 1px solid #d4af37 ;
  border-radius: 50px ;
  box-shadow: 0 4px 12px rgba(0,0,0,.08) ;
  display: flex ;
  flex: 0 0 auto ;
  flex-wrap: nowrap ;
  gap: 3px ;
  justify-content: center ;
  margin: 15px auto ;
  max-width: calc(100% - 32px) ;
  overflow-x: auto ;
  padding: 4px 8px ;
  width: max-content ;
}
.control-shell > .floating-nav-capsule .sidebar-link {
  background: transparent ;
  color: #1e293b ;
  flex: 0 0 auto ;
}
.control-shell > .floating-nav-capsule .sidebar-link.is-active,
.control-shell > .floating-nav-capsule .sidebar-link:hover {
  background: #c5a059 ;
  border-color: #d4af37 ;
  color: #17130d ;
}
.control-shell > .floating-nav-capsule .nav-capsule-leading {
  color: #8a6823 ;
  flex: 0 0 auto ;
}
.control-shell .app-workspace {
  align-items: center ;
  display: flex ;
  flex-direction: column ;
  margin: 0 auto ;
  padding-left: 20px ;
  padding-right: 20px ;
  width: 100% ;
}
.control-shell .app-workspace > .workspace-header,
.control-shell .app-workspace > .app-view,
.control-shell .app-workspace > .chat-widget {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
.control-shell #avaluosView,
.control-shell #inicioView,
.control-shell #solicitudesView,
.control-shell #fe-publicaView,
.control-shell #resumenView,
.control-shell #usuariosView,
.control-shell #configuracionView {
  align-items: center ;
  display: flex;
  flex-direction: column ;
}
.control-shell #avaluosView > *,
.control-shell #inicioView > *,
.control-shell #solicitudesView > *,
.control-shell #fe-publicaView > *,
.control-shell #resumenView > *,
.control-shell #usuariosView > *,
.control-shell #configuracionView > * {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
.control-shell .avaluos-choice-grid,
.control-shell .home-action-grid {
  align-items: stretch ;
  justify-content: center ;
  margin-left: auto ;
  margin-right: auto ;
  width: 100% ;
}
@media (max-width: 920px) {
  .control-shell .app-sidebar {
    display: flex ;
    flex-direction: column ;
  }
  .control-shell .sidebar-footer { grid-column: auto ; }
  .control-shell > .floating-nav-capsule { margin-top: 12px ; }
}

/* Las vistas no activas deben conservar el ocultamiento nativo. */
.control-shell .app-view[hidden] {
  display: none ;
}


/* Ajuste final del header: institución a la izquierda y usuario a la derecha. */
.control-shell .app-sidebar {
  align-items: center ;
  display: flex ;
  flex-direction: row ;
  justify-content: space-between ;
  min-height: 78px ;
  padding: 0 30px ;
  width: 100% ;
}
.control-shell .sidebar-brand {
  align-items: center ;
  justify-self: auto ;
  margin: 0 ;
  padding: 0 ;
}
.control-shell .sidebar-brand-copy {
  display: block ;
}
.control-shell .sidebar-brand strong {
  color: #fffdf8 ;
  display: block ;
  font-family: Georgia, "Times New Roman", serif ;
  font-size: 1.05rem ;
  line-height: 1 ;
  white-space: nowrap ;
}
.control-shell .sidebar-brand-copy > span,
.control-shell .sidebar-brand strong small {
  display: none ;
}
.control-shell .sidebar-footer {
  align-items: center ;
  display: flex ;
  gap: 18px ;
  grid-column: auto ;
  justify-self: auto ;
  margin: 0 ;
  padding: 0 ;
  position: static ;
}
.control-shell .admin-header-actions {
  display: flex ;
  gap: 7px ;
}
.control-shell .admin-header-actions #adminProfileButton {
  display: none ;
}
.control-shell > .floating-nav-capsule {
  max-width: 90% ;
  padding: 10px 25px ;
  width: auto ;
}
.control-shell > .floating-nav-capsule .sidebar-link {
  color: #1e293b ;
  font-weight: 600 ;
  min-width: max-content ;
  padding: 9px 12px ;
}
.control-shell > .floating-nav-capsule .sidebar-link .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link span:last-child {
  color: #1e293b ;
}
.control-shell > .floating-nav-capsule .sidebar-link.is-active,
.control-shell > .floating-nav-capsule .sidebar-link.is-active .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link.is-active span:last-child,
.control-shell > .floating-nav-capsule .sidebar-link:hover,
.control-shell > .floating-nav-capsule .sidebar-link:hover .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link:hover span:last-child {
  color: #17130d ;
}
/* Regla explícita de centrado absoluto para Avalúos y todos los módulos. */
.main-content,
#appShell main,
.dashboard-container {
  width: 100% ;
  max-width: 1200px ;
  margin: 0 auto ;
  padding: 20px ;
  box-sizing: border-box ;
}
.control-shell > .app-workspace.main-content {
  align-items: center ;
  display: flex ;
  flex-direction: column ;
  margin: 0 auto ;
  padding: 20px ;
  width: 100% ;
}
.control-shell .app-workspace > .workspace-header,
.control-shell .app-workspace > .app-view,
.control-shell .app-workspace > .chat-widget {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
.control-shell #avaluosView > *,
.control-shell #inicioView > *,
.control-shell #solicitudesView > *,
.control-shell #fe-publicaView > *,
.control-shell #resumenView > *,
.control-shell #usuariosView > *,
.control-shell #configuracionView > * {
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1200px ;
  width: 100% ;
}
@media (max-width: 920px) {
  .control-shell .app-sidebar {
    align-items: flex-start ;
    flex-direction: column ;
    gap: 12px ;
    min-height: 0 ;
    padding: 14px 18px ;
  }
  .control-shell .sidebar-footer {
    align-items: flex-start ;
    flex-direction: column ;
    gap: 8px ;
    width: 100% ;
  }
  .control-shell .sidebar-account-copy { align-items: flex-start ; }
  .control-shell > .floating-nav-capsule {
    max-width: calc(100% - 24px) ;
    padding: 8px 14px ;
  }
  .main-content,
  #appShell main,
  .dashboard-container { padding: 14px ; }
}


/* v23 — header fijo y navegación ejecutiva oscura */
.control-shell {
  padding-top: 92px ;
}
.control-shell .app-sidebar {
  align-items: center ;
  background: #121212 ;
  border-bottom: 1px solid rgba(212,175,55,.65) ;
  box-sizing: border-box ;
  display: flex ;
  height: 78px ;
  justify-content: space-between ;
  left: 0 ;
  padding: 0 30px ;
  position: fixed ;
  right: 0 ;
  top: 0 ;
  width: 100% ;
  z-index: 1000 ;
}
.control-shell .sidebar-brand {
  flex: 0 0 auto ;
  margin: 0 ;
  padding: 0 ;
}
.control-shell .sidebar-brand strong {
  color: #ffffff ;
  display: block ;
  font-family: Inter, "Segoe UI", Arial, sans-serif ;
  font-size: 1rem ;
  font-weight: 700 ;
  letter-spacing: .01em ;
  line-height: 1 ;
  white-space: nowrap ;
}
.control-shell .sidebar-brand strong::after {
  color: #d4af37 ;
  content: "" ;
}
.control-shell .sidebar-footer {
  align-items: center ;
  display: flex ;
  flex: 0 0 auto ;
  gap: 18px ;
  margin: 0 ;
  padding: 0 ;
  position: static ;
}
.control-shell .admin-header-actions #adminProfileButton,
.control-shell .workspace-header-logo {
  display: none ;
}
.control-shell .admin-header-actions {
  display: flex ;
  gap: 7px ;
}
.control-shell > .floating-nav-capsule {
  align-items: center ;
  background: #121212 ;
  border: 1px solid #d4af37 ;
  border-radius: 9999px ;
  box-shadow: 0 4px 12px rgba(0,0,0,.16) ;
  color: #ffffff ;
  gap: 4px ;
  margin: 15px auto ;
  max-width: 90% ;
  overflow-x: auto ;
  padding: 8px 18px ;
  width: auto ;
}
.control-shell > .floating-nav-capsule .nav-capsule-leading {
  color: #d4af37 ;
  flex: 0 0 auto ;
}
.control-shell > .floating-nav-capsule .sidebar-link {
  align-items: center ;
  background: transparent ;
  border: 1px solid transparent ;
  border-radius: 9999px ;
  color: #ffffff ;
  flex: 0 0 auto ;
  font-weight: 600 ;
  min-width: max-content ;
  padding: 6px 16px ;
  white-space: nowrap ;
}
.control-shell > .floating-nav-capsule .sidebar-link .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link span:last-child {
  color: #ffffff ;
}
.control-shell > .floating-nav-capsule .sidebar-link.is-active,
.control-shell > .floating-nav-capsule .sidebar-link:hover {
  background: #ffffff ;
  border-color: #ffffff ;
  color: #121212 ;
  font-weight: 700 ;
}
.control-shell > .floating-nav-capsule .sidebar-link.is-active .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link.is-active span:last-child,
.control-shell > .floating-nav-capsule .sidebar-link:hover .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link:hover span:last-child {
  color: #121212 ;
}
.control-shell > .app-workspace.main-content {
  box-sizing: border-box ;
  margin: 0 auto ;
  max-width: 1200px ;
  padding: 20px ;
  width: 100% ;
}
@media (max-width: 920px) {
  .control-shell { padding-top: 142px ; }
  .control-shell .app-sidebar {
    align-items: flex-start ;
    flex-direction: column ;
    gap: 10px ;
    height: auto ;
    min-height: 124px ;
    padding: 14px 18px ;
  }
  .control-shell .sidebar-footer { align-items: flex-start ; gap: 8px ; }
  .control-shell > .floating-nav-capsule {
    max-width: calc(100% - 24px) ;
    padding: 7px 10px ;
  }
  .control-shell > .floating-nav-capsule .sidebar-link { padding: 6px 11px ; }
}


/* v24 — tablas amplias y cápsula compacta */
.main-content,
.container,
.dashboard-container,
#appShell main {
  width: 96% ;
  max-width: 1600px ;
  margin: 0 auto ;
}
.control-shell > .app-workspace.main-content {
  box-sizing: border-box ;
  padding: 20px ;
  width: 96% ;
  max-width: 1600px ;
}
.table-container,
.table-responsive,
.operational-table-wrap,
.request-table-wrap,
.technical-table-wrap,
.values-table-wrap,
#statusRecordList,
#technicalAppraisalList {
  max-width: none ;
  overflow-x: auto ;
  width: 100% ;
}
.table-container table,
.table-responsive table,
.operational-table,
.request-table,
.technical-table,
.values-table,
table {
  table-layout: auto ;
  width: 100% ;
  min-width: max-content ;
}
.operational-table th,
.operational-table td,
.request-table th,
.request-table td,
.technical-table th,
.technical-table td {
  white-space: nowrap ;
}
.control-shell > .floating-nav-capsule {
  margin: 15px auto ;
  max-width: 95% ;
  padding: 6px 20px ;
  width: fit-content ;
}
.control-shell > .floating-nav-capsule .sidebar-link {
  flex: 0 0 auto ;
  min-width: max-content ;
  white-space: nowrap ;
}
@media (max-width: 920px) {
  .control-shell > .app-workspace.main-content {
    padding: 14px ;
    width: 100% ;
  }
  .control-shell > .floating-nav-capsule {
    max-width: calc(100% - 24px) ;
    overflow-x: auto ;
  }
}


/* v33 — navbar textual sin iconos ni marco dorado */
#appShell.control-shell > .floating-nav-capsule {
  background: #111111 ;
  border: none ;
  outline: none ;
  box-shadow: none ;
  display: flex ;
  justify-content: center ;
  left: 50% ;
  margin: 0 ;
  max-width: 90% ;
  min-width: auto ;
  padding: 5px 8px ;
  transform: translateX(-50%) ;
  width: fit-content ;
}
#appShell.control-shell > .floating-nav-capsule .nav-capsule-leading,
#appShell.control-shell > .floating-nav-capsule .nav-icon {
  display: none ;
}
#appShell.control-shell > .floating-nav-capsule .sidebar-link {
  border: none ;
  color: #ffffff ;
  font-family: Inter, "Segoe UI", Arial, sans-serif ;
  font-size: 15px ;
  font-weight: 600 ;
  padding: 6px 14px ;
}
#appShell.control-shell > .floating-nav-capsule .sidebar-link.is-active {
  background: transparent ;
  border: none ;
  color: #d4af37 ;
}
#appShell.control-shell > .floating-nav-capsule .sidebar-link:hover {
  background: rgba(255,255,255,.08) ;
  border: none ;
  color: #d4af37 ;
}
.kilometraje-factor-field {
  display: block ;
  max-width: 280px ;
  margin-bottom: 12px ;
}


/* v34 — navbar centrada respecto a toda la pantalla */
#appShell.control-shell > .floating-nav-capsule {
  position: fixed ;
  top: 18px ;
  left: 50vw ;
  right: auto ;
  inset-inline-start: 50vw ;
  inset-inline-end: auto ;
  margin: 0 ;
  transform: translateX(-50%) ;
  justify-content: center ;
  align-items: center ;
  width: max-content ;
  max-width: 90vw ;
  z-index: 1100 ;
}
#appShell.control-shell > .floating-nav-capsule .sidebar-link {
  flex: 0 0 auto ;
  text-align: center ;
}
@media (max-width: 920px) {
  #appShell.control-shell > .floating-nav-capsule {
    position: fixed ;
    top: 12px ;
    left: 50vw ;
    inset-inline-start: 50vw ;
    width: max-content ;
    max-width: calc(100vw - 24px) ;
  }
}


/* v35 — tabla de Gestión de Avalúos: acciones compactas con iconos */
.technical-row-actions {
  align-items: center ;
  display: flex ;
  flex-wrap: nowrap ;
  gap: 8px ;
  justify-content: center ;
  min-width: 180px ;
  white-space: nowrap ;
}
.technical-icon-button {
  align-items: center ;
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 6px ;
  cursor: pointer ;
  display: inline-flex ;
  height: 32px ;
  justify-content: center ;
  padding: 0 ;
  width: 34px ;
}
.technical-icon-button .action-icon {
  font-family: "Segoe UI Symbol", "Segoe UI", Arial, sans-serif ;
  font-size: 17px ;
  font-weight: 700 ;
  line-height: 1 ;
}
.technical-icon-button .action-icon-label {
  font-family: Inter, "Segoe UI", Arial, sans-serif ;
  font-size: 10px ;
  letter-spacing: -.2px ;
}
.technical-icon-button.action-edit { color: #2563eb ; }
.technical-icon-button.action-pdf { color: #dc2626 ; }
.technical-icon-button.action-word { color: #2563eb ; }
.technical-icon-button.action-delete { color: #dc2626 ; }
.technical-icon-button:hover {
  background: #f1f5f9 ;
  border-color: #94a3b8 ;
  transform: translateY(-1px) ;
}


/* v36 — estado activo blanco con texto negro en la navbar */
#appShell.control-shell > .floating-nav-capsule .sidebar-link.is-active,
#appShell.control-shell > .floating-nav-capsule .sidebar-link.is-active:hover {
  background: #ffffff ;
  border: none ;
  color: #111111 ;
  font-weight: 700 ;
}
#appShell.control-shell > .floating-nav-capsule .sidebar-link.is-active span {
  color: #111111 ;
}


/* Sección VI y selección del total del avalúo automotriz */
.selected-total-panel {
  align-items: center;
  background: #fbfaf6;
  border: 1px solid #d8c9aa;
  border-left: 4px solid #b18a43;
  border-radius: 8px;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) minmax(180px, 230px);
  margin-top: 18px;
  padding: 16px;
}
.selected-total-panel h4 { margin: 0 0 4px; }
.selected-total-panel p { margin: 0; }
.selected-total-result { display: grid; gap: 3px; text-align: right; }
.selected-total-result strong { color: #173b38; font-size: 1.15rem; }
.selected-total-result small { color: #556967; }
.selected-report-total { border-left: 3px solid #b49355; margin: 16px 0; padding: 8px 12px; }
.selected-report-total p { margin: 4px 0; }
.pdf-legal-considerations p { margin: 9px 0; }
.legal-value-statement { border-left: 3px solid #b49355; margin-top: 16px ; padding: 8px 12px; }
@media (max-width: 760px) {
  .selected-total-panel { grid-template-columns: 1fr; }
  .selected-total-result { text-align: left; }
}


/* Ajustes automotrices v39 */
.pdf-legal-considerations { page-break-before: always ; break-before: page ; min-height: 215mm ; font-size: 13pt ; line-height: 1.65 ; }
.pdf-legal-considerations .section-title h2 { font-size: 19pt ; }
.pdf-legal-considerations .section-title span { font-size: 18pt ; }
.pdf-legal-considerations .values-legal-notice { margin-top: 28px ; }
.values-table th:nth-child(2), .values-table td:nth-child(2), .values-table th:nth-child(4), .values-table td:nth-child(4) { width: 7% ; max-width: 86px ; padding-left: 5px ; padding-right: 5px ; }
.values-table th:nth-child(1), .values-table td:nth-child(1) { width: 18% ; }
.vehicle-characteristics-table th:nth-child(4), .vehicle-characteristics-table td:nth-child(4) { width: 23% ; }
.vehicle-characteristics-table th:nth-child(6), .vehicle-characteristics-table td:nth-child(6) { width: 13% ; font-size: .9em ; }


/* Home inteligente: actividad, búsqueda global y centro de alertas */
.header-tools { align-items:center; display:flex; gap:12px; }
.global-search-wrap { position:relative; width:min(260px,24vw); }
.global-search-wrap input { background:#fff ; border:1px solid #cbd5e1 ; border-radius:8px ; color:#0f172a ; font-family:Inter,"Segoe UI",sans-serif ; padding:8px 48px 8px 12px ; width:100% ; }
.global-search-wrap kbd { color:#64748b; font-size:10px; pointer-events:none; position:absolute; right:8px; top:10px; }
.alerts-button { background:transparent; border:1px solid #c5a059; border-radius:50%; color:#fff; cursor:pointer; height:34px; position:relative; width:34px; }
.alerts-button b { background:#dc2626; border-radius:999px; color:#fff; font-size:10px; min-width:16px; padding:2px 4px; position:absolute; right:-7px; top:-7px; }
.recent-activity-card { background:#fff; border:1px solid #e2e8f0; border-left:4px solid #c5a059; border-radius:12px; box-shadow:0 8px 24px rgba(15,23,42,.06); margin:20px 0; padding:20px; }
.recent-activity-header { align-items:center; display:flex; gap:16px; justify-content:space-between; }
.recent-activity-header h3 { color:#0f172a; font:700 1.35rem Inter,"Segoe UI",sans-serif; margin:4px 0 0; }
.activity-filters { display:flex; flex-wrap:wrap; gap:6px; }
.activity-filter,.alerts-tab { background:#f8fafc; border:1px solid #e2e8f0; border-radius:999px; color:#475569; cursor:pointer; font-size:12px; padding:6px 10px; }
.activity-filter.is-active,.alerts-tab.is-active { background:#0f172a; color:#fff; }
.recent-activity-list { display:grid; gap:2px; margin-top:14px; }
.activity-item { align-items:center; border-bottom:1px solid #f1f5f9; display:flex; gap:12px; padding:11px 4px; }
.activity-item > div,.alert-item > div { flex:1; min-width:0; }
.activity-item strong,.alert-item strong { color:#1e293b; display:block; font-size:13px; }
.activity-item small,.alert-item small { color:#64748b; display:block; font-size:11px; margin-top:3px; }
.activity-icon { align-items:center; border-radius:8px; display:inline-flex; flex:0 0 30px; font-size:17px; height:30px; justify-content:center; }
.activity-creation { background:#dcfce7; color:#15803d; }.activity-edit { background:#fef3c7; color:#b45309; }.activity-request { background:#ede9fe; color:#6d28d9; }.activity-status { background:#dbeafe; color:#1d4ed8; }
.activity-badge { border-radius:999px; font-size:10px; font-weight:700; padding:4px 8px; }.activity-badge-creation{background:#dcfce7;color:#166534}.activity-badge-edit{background:#fef3c7;color:#92400e}.activity-badge-request{background:#ede9fe;color:#5b21b6}.activity-badge-status{background:#dbeafe;color:#1e40af}
.activity-empty { color:#64748b; font-size:13px; margin:12px 0; }
.global-search-palette,.alerts-panel { background:#fff; border:1px solid #d4af37; border-radius:12px; box-shadow:0 18px 45px rgba(15,23,42,.2); position:fixed; z-index:1300; }
.global-search-palette { left:50%; max-width:min(620px,calc(100vw - 30px)); top:82px; transform:translateX(-50%); width:620px; }
.palette-heading,.alerts-panel-heading { align-items:center; border-bottom:1px solid #e2e8f0; display:flex; justify-content:space-between; padding:14px 16px; }.palette-heading strong,.alerts-panel-heading strong{color:#0f172a}
.global-search-results { max-height:420px; overflow:auto; padding:8px; }.global-search-results>p,.alerts-list>p{color:#64748b;font-size:13px;padding:12px}
.search-result { background:#fff; border:0; border-bottom:1px solid #f1f5f9; cursor:pointer; display:grid; gap:2px; padding:10px 12px; text-align:left; width:100%; }.search-result:hover{background:#f8fafc}.search-result span{color:#b45309;font-size:10px;text-transform:uppercase}.search-result strong{color:#1e293b}.search-result small{color:#64748b}
.alerts-panel { right:24px; top:82px; width:min(390px,calc(100vw - 30px)); }.alerts-tabs{display:flex;gap:6px;padding:10px 14px 0}.alerts-list{max-height:420px;overflow:auto;padding:8px 14px}.alert-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;padding:12px 0}
@media (max-width:900px){.header-tools{gap:6px}.global-search-wrap{width:180px}.recent-activity-header{align-items:flex-start;flex-direction:column}.alerts-panel{right:15px}.control-shell .sidebar-footer{width:auto}}
@media (max-width:600px){.global-search-wrap{display:none}.recent-activity-card{padding:14px}.activity-badge{display:none}.activity-filters{width:100%}}


/* Buscador en el extremo izquierdo del encabezado */
.control-shell .header-left-tools {
  align-items: center ;
  display: flex ;
  flex: 0 0 auto ;
  margin: 0 ;
}
.control-shell .header-left-tools .global-search-wrap {
  width: min(300px, 28vw) ;
}
.control-shell .sidebar-footer {
  align-items: center ;
}
@media (max-width: 600px) {
  .control-shell .header-left-tools .global-search-wrap {
    display: block ;
    width: min(210px, 55vw) ;
  }
}


/* Expedientes guardados desde Antecedentes */
.technical-record-status { display:block; color:#b45309; font-weight:600; margin-top:3px; }


/* Edición y tablas técnicas compactas */
.technical-selected-type { background:#f8fafc; border-left:4px solid #c5a059; color:#1e293b; font-weight:700; margin:10px 0 16px; padding:10px 14px; }
.automotriz-editor .values-table-wrap, .automotriz-editor .operational-table-wrap, .mobiliario-editor .values-table-wrap { overflow-x: visible ; }
.automotriz-editor .values-table, .automotriz-editor .operational-table, .mobiliario-editor .values-table, .mobiliario-editor .operational-table { table-layout: fixed ; width:100% ; }
.automotriz-editor .values-table th, .automotriz-editor .values-table td, .automotriz-editor .operational-table th, .automotriz-editor .operational-table td, .mobiliario-editor .values-table th, .mobiliario-editor .values-table td, .mobiliario-editor .operational-table th, .mobiliario-editor .operational-table td { white-space: normal ; overflow-wrap:anywhere ; word-break: normal ; padding:7px 6px ; font-size:12px ; }
.mobiliario-items-table th:nth-child(2), .mobiliario-items-table td:nth-child(2) { width:24% ; white-space:normal ; overflow-wrap:anywhere ; line-height:1.25 ; }
.mobiliario-editor .values-table th, .mobiliario-editor .values-table td { padding:5px 4px ; font-size:11px ; }
.mobiliario-editor .values-table input { min-width:0 ; padding:6px 5px ; }


/* Corrección global final de overflow en tablas — todas las vistas y formularios */
.table-container, .table-responsive, .table-card, .operational-table-wrap,
.request-table-wrap, .technical-table-wrap, .values-table-wrap,
.report-value-table, .market-research-container, #statusRecordList,
#technicalAppraisalList, #mobiliarioItems, #mobiliarioValueRows {
  box-sizing: border-box ;
  max-width: 100% ;
  min-width: 0 ;
  overflow-x: auto ;
  overflow-y: hidden ;
  width: 100% ;
}

.table-container > table, .table-responsive > table, .table-card table,
.operational-table-wrap > table, .request-table-wrap > table,
.technical-table-wrap > table, .values-table-wrap > table,
.report-value-table > table, .market-research-container table,
#statusRecordList table, #technicalAppraisalList table,
#mobiliarioItems table, #mobiliarioValueRows table,
table.operational-table, table.values-table, table.technical-table,
table.request-table, table.market-research-table, table.appraisal-values-table {
  box-sizing: border-box ;
  display: table ;
  table-layout: fixed ;
  margin: 0 ;
  max-width: 100% ;
  min-width: 0 ;
  width: 100% ;
}

.table-container thead, .table-container tbody, .table-container tr,
.table-responsive thead, .table-responsive tbody, .table-responsive tr,
.operational-table-wrap thead, .operational-table-wrap tbody, .operational-table-wrap tr,
.values-table-wrap thead, .values-table-wrap tbody, .values-table-wrap tr,
.request-table-wrap thead, .request-table-wrap tbody, .request-table-wrap tr,
.technical-table-wrap thead, .technical-table-wrap tbody, .technical-table-wrap tr,
table thead, table tbody, table tr {
  box-sizing: border-box ;
  max-width: 100% ;
  min-width: 0 ;
  width: 100% ;
}

.table-container th, .table-container td, .table-responsive th, .table-responsive td,
.operational-table-wrap th, .operational-table-wrap td,
.values-table-wrap th, .values-table-wrap td,
.request-table-wrap th, .request-table-wrap td,
.technical-table-wrap th, .technical-table-wrap td,
table th, table td {
  box-sizing: border-box ;
  max-width: 100% ;
  min-width: 0 ;
  overflow-wrap: anywhere ;
  white-space: normal ;
  word-break: break-word ;
}

.table-container input, .table-responsive input, .operational-table-wrap input,
.values-table-wrap input, .request-table-wrap input, .technical-table-wrap input,
table input, table select, table textarea {
  box-sizing: border-box ;
  max-width: 100% ;
  min-width: 0 ;
  width: 100% ;
}

.operational-table-wrap, .values-table-wrap, .request-table-wrap,
.technical-table-wrap, .table-responsive {
  border-radius: 10px ;
  overflow-x: auto ;
  overflow-y: hidden ;
}

@media (max-width: 1100px) {
  .operational-table-wrap, .values-table-wrap, .request-table-wrap,
  .technical-table-wrap, .table-responsive { overflow-x: auto ; }
  .operational-table-wrap > table, .values-table-wrap > table,
  .request-table-wrap > table, .technical-table-wrap > table,
  .table-responsive > table { min-width: 0 ; }
}

@media (max-width: 700px) {
  .operational-table-wrap, .values-table-wrap, .request-table-wrap,
  .technical-table-wrap, .table-responsive { border-radius: 8px ; }
  table th, table td { font-size: 11px ; padding: 5px 4px ; }
}

.automotriz-editor .values-table-wrap, .mobiliario-editor .values-table-wrap,
.automotriz-editor .operational-table-wrap, .mobiliario-editor .operational-table-wrap {
  max-width: 100% ;
  overflow-x: auto ;
  overflow-y: hidden ;
}

.automotriz-editor .values-table, .mobiliario-editor .values-table {
  max-width: 100% ;
  min-width: 0 ;
  table-layout: fixed ;
  width: 100% ;
}

.automotriz-editor .values-table th, .automotriz-editor .values-table td,
.mobiliario-editor .values-table th, .mobiliario-editor .values-table td {
  max-width: 100% ;
  min-width: 0 ;
  overflow-wrap: anywhere ;
  white-space: normal ;
}


/* Valores automotrices: encabezados compactos y columnas equilibradas */
.automotriz-editor .values-table th:nth-child(1),
.automotriz-editor .values-table td:nth-child(1) { width: 15% ; }
.automotriz-editor .values-table th:nth-child(2),
.automotriz-editor .values-table td:nth-child(2) { width: 7% ; max-width: 78px ; }
.automotriz-editor .values-table th:nth-child(3),
.automotriz-editor .values-table td:nth-child(3) { width: 14% ; }
.automotriz-editor .values-table th:nth-child(4),
.automotriz-editor .values-table td:nth-child(4) { width: 10% ; max-width: 112px ; }
.automotriz-editor .values-table th:nth-child(5),
.automotriz-editor .values-table td:nth-child(5) { width: 9% ; max-width: 105px ; }
.automotriz-editor .values-table th:nth-child(6),
.automotriz-editor .values-table td:nth-child(6) { width: 31% ; }
.automotriz-editor .values-table th:nth-child(7),
.automotriz-editor .values-table td:nth-child(7) { width: 14% ; }
.automotriz-editor .values-table th,
.automotriz-editor .values-table td { overflow-wrap: anywhere ; white-space: normal ; }
.automotriz-editor .values-table th:nth-child(2),
.automotriz-editor .values-table th:nth-child(5) { white-space: nowrap ; }

/* Ajustes finales: buscador global en línea y aviso de guardado bajo el header */
.global-search-wrap {
  position: relative ;
  z-index: 1402 ;
}

.global-search-palette {
  background: #111827 ;
  border: 1px solid rgba(212, 175, 55, .72) ;
  border-radius: 0 0 12px 12px ;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .38) ;
  left: 0 ;
  max-height: min(420px, 65vh) ;
  max-width: none ;
  overflow: hidden ;
  position: absolute ;
  right: 0 ;
  top: calc(100% + 6px) ;
  transform: none ;
  width: 100% ;
  z-index: 1403 ;
}

.global-search-palette[hidden],
#globalSearchBackdrop[hidden] { display: none ; }
.global-search-results { max-height: min(420px, 65vh) ; overflow-y: auto ; padding: 6px ; }
.global-search-results > p { color: #cbd5e1 ; font-size: 12px ; margin: 0 ; padding: 12px ; }
.global-search-palette .search-result { background: transparent ; border-bottom: 1px solid rgba(255,255,255,.1) ; color: #fff ; display: grid ; gap: 3px ; padding: 11px 12px ; width: 100% ; }
.global-search-palette .search-result:hover,
.global-search-palette .search-result:focus-visible { background: #253247 ; outline: none ; }
.global-search-palette .search-result span { color: #f1c96b ; }
.global-search-palette .search-result strong { color: #fff ; }
.global-search-palette .search-result small { color: #cbd5e1 ; }

#globalSearchBackdrop {
  background: rgba(2, 6, 23, .28) ;
  inset: 0 ;
  position: fixed ;
  z-index: 1290 ;
  backdrop-filter: blur(3px) ;
  -webkit-backdrop-filter: blur(3px) ;
}

#technicalSaveToast { top: 78px ; }
@media (max-width: 600px) {
  #technicalSaveToast { left: 16px ; right: 16px ; top: 96px ; max-width: none ; }
  .global-search-palette { left: -6px ; right: -6px ; width: auto ; }
}

#pageDescription:empty { display: none ; }

/* Creación técnica: sin encabezado general repetido; selector y pestañas siempre accesibles. */
.workspace-header.technical-creation-header > div:first-child { display: none ; }
#technicalCreationPanel > .appraisal-type-panel {
  position: sticky ;
  top: 76px ;
  z-index: 22 ;
}
#technicalCreationPanel .technical-stepper,
#technicalCreationPanel .mobiliario-stepper {
  position: sticky ;
  top: 168px ;
  z-index: 21 ;
  background: #f8fbfc ;
  padding: 8px 2px ;
}
@media (max-width: 760px) {
  #technicalCreationPanel > .appraisal-type-panel { top: 70px ; }
  #technicalCreationPanel .technical-stepper,
  #technicalCreationPanel .mobiliario-stepper { top: 152px ; }
}

/* Gestión de Avalúos: Volver y Tipo de avalúo permanecen disponibles al desplazarse. */
.workspace-header.technical-creation-header {
  position: sticky ;
  top: 0 ;
  z-index: 24 ;
  background: #f8fbfc ;
}
.workspace-header.technical-creation-header .workspace-actions {
  align-items: center ;
  min-height: 42px ;
}
#technicalCreationPanel > .appraisal-type-panel {
  position: sticky ;
  top: 62px ;
  z-index: 23 ;
}
#technicalCreationPanel .technical-stepper {
  top: 154px ;
}

/* El fondo de búsqueda vive dentro de appShell; el panel de resultados queda por encima y nítido. */
#appShell #globalSearchBackdrop { z-index: 1290 ; }
#appShell .global-search-wrap,
#appShell .global-search-palette { z-index: 1403 ; }
#loginScreen { filter: none ; backdrop-filter: none ; -webkit-backdrop-filter: none ; }

/* Tabla de valores del reporte de vehículos: columnas compactas y legibles. */
.appraisal-values-table th:nth-child(1) { width: 15% ; }
.appraisal-values-table th:nth-child(2) { width: 6% ; white-space: nowrap ; }
.appraisal-values-table th:nth-child(3) { width: 14% ; }
.appraisal-values-table th:nth-child(4) { width: 13% ; }
.appraisal-values-table th:nth-child(5) { width: 12% ; white-space: nowrap ; }
.appraisal-values-table th:nth-child(6) { width: 23% ; }
.appraisal-values-table th:nth-child(7) { width: 17% ; }


/* Corrección final del buscador: nunca difuminar login, barra ni resultados. */
body, #loginScreen, #appShell, #appShell main, #appShell .app-sidebar, #appShell .global-search-wrap, #appShell .global-search-palette {
  filter: none ;
  -webkit-filter: none ;
}
#globalSearchBackdrop {
  background: rgba(2, 6, 23, .34) ;
  backdrop-filter: none ;
  -webkit-backdrop-filter: none ;
  pointer-events: auto ;
}
#appShell .global-search-wrap, #appShell .global-search-palette {
  position: relative ;
  z-index: 1403 ;
}
#appShell .global-search-palette .search-result {
  pointer-events: auto ;
  user-select: text ;
}

/* El buscador siempre queda por encima del sombreado, sin crear un efecto borroso. */
#appShell .app-sidebar { position: relative ; }
#appShell .global-search-wrap { isolation: isolate ; }
#loginScreen, #loginScreen *, #loginScreen .glass-card, #loginScreen .glass-panel {
  filter: none ;
  -webkit-filter: none ;
  backdrop-filter: none ;
  -webkit-backdrop-filter: none ;
}

/* Header: buscador a la izquierda, navbar centrada y usuario a la derecha. */
#appShell.control-shell > .floating-nav-capsule {
  position: fixed ;
  top: 18px ;
  left: 50vw ;
  right: auto ;
  inset-inline-start: 50vw ;
  transform: translateX(-50%) ;
  margin: 0 ;
  width: max-content ;
  max-width: min(60vw, 760px) ;
  z-index: 1401 ;
}
#appShell.control-shell .app-sidebar { z-index: 1400 ; }
#appShell.control-shell .header-left-tools { position: relative ; z-index: 1403 ; }
#appShell.control-shell .sidebar-footer { position: relative ; z-index: 1403 ; }

/* Durante la captura se conserva sólo Volver, el tipo elegido y el stepper. */
#technicalCreationPanel > .appraisal-type-panel.is-hidden { display: none ; }
#technicalCreationPanel > .technical-selected-type:not([hidden]) {
  position: sticky ;
  top: 62px ;
  z-index: 23 ;
  background: #f8fbfc ;
}
#technicalCreationPanel .technical-stepper,
#technicalCreationPanel .mobiliario-stepper {
  top: 112px ;
  z-index: 22 ;
}
@media (max-width: 920px) {
  #appShell.control-shell > .floating-nav-capsule { top: 12px ; max-width: 46vw ; }
  #technicalCreationPanel > .technical-selected-type:not([hidden]) { top: 58px ; }
  #technicalCreationPanel .technical-stepper,
  #technicalCreationPanel .mobiliario-stepper { top: 106px ; }
}

/* Encabezado definitivo: barra negra fija con buscador, navbar y usuario en una sola fila. */
#appShell.control-shell > .app-sidebar {
  position: fixed ;
  top: 0 ;
  left: 0 ;
  right: 0 ;
  width: 100% ;
  height: 76px ;
  min-height: 76px ;
  z-index: 1500 ;
  display: grid ;
  grid-template-columns: minmax(210px, 300px) minmax(280px, 1fr) auto ;
  align-items: center ;
  gap: 18px ;
  padding: 0 28px ;
  box-sizing: border-box ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools {
  grid-column: 1 ;
  grid-row: 1 ;
  min-width: 0 ;
  width: auto ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  grid-column: 2 ;
  grid-row: 1 ;
  position: static ;
  inset: auto ;
  transform: none ;
  justify-self: center ;
  align-self: center ;
  display: flex ;
  width: max-content ;
  max-width: 100% ;
  margin: 0 ;
  z-index: 1501 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  grid-column: 3 ;
  grid-row: 1 ;
  justify-self: end ;
  min-width: max-content ;
  width: auto ;
  margin: 0 ;
}
#appShell.control-shell > .app-sidebar .global-search-wrap,
#appShell.control-shell > .app-sidebar .sidebar-footer,
#appShell.control-shell > .app-sidebar .floating-nav-capsule {
  position: relative ;
  z-index: 1502 ;
}
/* El contenido empieza debajo del encabezado fijo. */
#appShell.control-shell > .app-workspace {
  padding-top: 92px ;
}
@media (max-width: 1080px) {
  #appShell.control-shell > .app-sidebar {
    grid-template-columns: minmax(180px, 235px) minmax(220px, 1fr) auto ;
    gap: 10px ;
    padding: 0 14px ;
  }
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule { max-width: 100% ; }
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link { padding-inline: 8px ; }
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar {
    height: auto ;
    min-height: 118px ;
    grid-template-columns: 1fr auto ;
    grid-template-rows: 54px 54px ;
    padding: 8px 12px ;
  }
  #appShell.control-shell > .app-sidebar > .header-left-tools { grid-column: 1 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .sidebar-footer { grid-column: 2 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule {
    grid-column: 1 / -1 ;
    grid-row: 2 ;
    justify-self: center ;
    max-width: 100% ;
    overflow-x: auto ;
  }
  #appShell.control-shell > .app-workspace { padding-top: 136px ; }
}

/* Corrección final: barra superior pegada al borde y sin espacio blanco. */
html, body {
  margin: 0 ;
  padding: 0 ;
  min-width: 0 ;
}
#appShell.control-shell {
  margin-top: 0 ;
  padding-top: 0 ;
}
#appShell.control-shell > .app-sidebar {
  position: fixed ;
  top: 0 ;
  left: 0 ;
  width: 100% ;
  z-index: 50 ;
  background: #000000 ;
  border-top: 0 ;
  border-bottom: 1px solid #202020 ;
}
/* El navbar permanece dentro del header negro, nunca como una barra blanca flotante. */
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  position: static ;
  top: auto ;
  left: auto ;
  transform: none ;
  background: #111111 ;
  border: 1px solid #242424 ;
  box-shadow: none ;
  border-radius: 9999px ;
  z-index: 60 ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link {
  background: transparent ;
  border: 0 ;
  color: #ffffff ;
  text-shadow: none ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link span {
  color: #ffffff ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link.is-active,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link.is-active:hover {
  background: #ffffff ;
  color: #111111 ;
  border-radius: 9999px ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link.is-active span {
  color: #111111 ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link:hover {
  background: rgba(255,255,255,.12) ;
  color: #ffffff ;
}
/* Dropdown del buscador: siempre nace debajo del input y queda por encima del header. */
#appShell.control-shell > .app-sidebar .global-search-wrap {
  position: relative ;
  z-index: 9998 ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar .global-search-palette {
  position: absolute ;
  top: calc(100% + 4px) ;
  bottom: auto ;
  left: 0 ;
  right: auto ;
  width: 100% ;
  max-width: 100% ;
  max-height: 400px ;
  overflow-y: auto ;
  overflow-x: hidden ;
  z-index: 9999 ;
  background: #1e293b ;
  border: 1px solid #475569 ;
  border-radius: 0 0 10px 10px ;
  box-shadow: 0 12px 28px rgba(0,0,0,.55) ;
}
#appShell.control-shell > .app-sidebar .global-search-results {
  max-height: 400px ;
  overflow-y: auto ;
}
/* Sólo el contenido se separa del header fijo; el borde superior del navegador queda en 0. */
#appShell.control-shell > .app-workspace {
  margin-top: 0 ;
  padding-top: 92px ;
}

/* Header compacto: todos los bloques centrados dentro de 60px. */
#appShell.control-shell > .app-sidebar {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  height: 60px ;
  min-height: 60px ;
  top: 0 ;
  left: 0 ;
  width: 100% ;
  margin: 0 ;
  padding: 0 22px ;
  box-sizing: border-box ;
  background: #000000 ;
  z-index: 50 ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools {
  flex: 0 0 min(300px, 28vw) ;
  align-self: center ;
  min-width: 0 ;
  margin: 0 ;
}
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  position: static ;
  flex: 0 1 auto ;
  align-self: center ;
  margin: 0 auto ;
  max-width: min(58vw, 760px) ;
  transform: none ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  flex: 0 0 auto ;
  align-self: center ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 10px ;
  min-width: 0 ;
  margin: 0 ;
  padding: 0 ;
  height: 60px ;
  overflow: hidden ;
}
#appShell.control-shell > .app-sidebar .sidebar-account,
#appShell.control-shell > .app-sidebar .sidebar-account-copy,
#appShell.control-shell > .app-sidebar .header-tools,
#appShell.control-shell > .app-sidebar .admin-header-actions {
  display: flex ;
  align-items: center ;
  margin: 0 ;
  padding: 0 ;
}
#appShell.control-shell > .app-sidebar .sidebar-account-copy {
  gap: 8px ;
  line-height: 1.15 ;
}
#appShell.control-shell > .app-sidebar .header-tools {
  gap: 8px ;
  height: 60px ;
}
#appShell.control-shell > .app-sidebar .alerts-button,
#appShell.control-shell > .app-sidebar .client-logout-button {
  margin: 0 ;
  align-self: center ;
}
/* Mantener visible el dropdown debajo del input: sólo el listado interno tiene scroll. */
#appShell.control-shell .global-search-wrap {
  position: relative ;
  overflow: visible ;
}
#appShell.control-shell .global-search-palette {
  top: calc(100% + 4px) ;
  left: 0 ;
  right: auto ;
  width: 100% ;
  max-height: none ;
  height: auto ;
  overflow: hidden ;
  z-index: 9999 ;
}
#appShell.control-shell .global-search-results {
  max-height: 350px ;
  height: auto ;
  overflow-y: auto ;
  overflow-x: hidden ;
}
/* Los resultados siguen limitados a 10 por searchGlobal(); se evita cualquier scroll exterior. */
#appShell.control-shell .global-search-palette[hidden] { display: none ; }
/* Quitar encabezados repetitivos de todas las vistas, conservando sus botones de acción. */
#appShell.control-shell .app-workspace > .workspace-header > div:first-child {
  display: none ;
}
#appShell.control-shell .app-workspace > .workspace-header {
  min-height: 0 ;
  padding-top: 0 ;
  padding-bottom: 8px ;
  margin-top: 0 ;
  background: transparent ;
  border: 0 ;
}
#appShell.control-shell .app-workspace > .workspace-header .legacy-toolbar {
  display: none ;
}
#appShell.control-shell > .app-workspace {
  padding-top: 76px ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar {
    height: auto ;
    min-height: 108px ;
    padding: 6px 10px ;
    flex-wrap: wrap ;
    align-content: center ;
  }
  #appShell.control-shell > .app-sidebar > .header-left-tools { flex: 1 1 48% ; }
  #appShell.control-shell > .app-sidebar > .sidebar-footer { flex: 1 1 48% ; height: 48px ; }
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule {
    flex: 1 1 100% ;
    justify-content: center ;
    max-width: 100% ;
    overflow-x: auto ;
  }
  #appShell.control-shell > .app-workspace { padding-top: 122px ; }
}

/* Header derecho contenido y centrado dentro de la barra negra. */
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  display: flex ;
  align-items: center ;
  gap: 12px ;
  height: 60px ;
  max-height: 60px ;
  margin: 0 ;
  padding: 0 ;
  overflow: hidden ;
  box-sizing: border-box ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account,
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy,
#appShell.control-shell > .app-sidebar > .sidebar-footer .header-tools,
#appShell.control-shell > .app-sidebar > .sidebar-footer .admin-header-actions,
#appShell.control-shell > .app-sidebar > .sidebar-footer .alerts-button,
#appShell.control-shell > .app-sidebar > .sidebar-footer .client-logout-button {
  display: flex ;
  align-items: center ;
  align-self: center ;
  margin-top: 0 ;
  margin-bottom: 0 ;
  padding-top: 0 ;
  padding-bottom: 0 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
  gap: 12px ;
  line-height: 1 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .header-tools {
  gap: 12px ;
  height: 60px ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-online {
  display: inline-flex ;
  align-items: center ;
  gap: 4px ;
  line-height: 1 ;
  white-space: nowrap ;
}
/* Buscador: clic visual y sólo scroll interno, sin barras dobles. */
#appShell.control-shell .search-result {
  cursor: pointer ;
  user-select: none ;
}
#appShell.control-shell .global-search-palette,
#appShell.control-shell .global-search-results {
  scrollbar-width: none ;
}
#appShell.control-shell .global-search-palette::-webkit-scrollbar,
#appShell.control-shell .global-search-results::-webkit-scrollbar {
  display: none ;
  width: 0 ;
  height: 0 ;
}
#appShell.control-shell .global-search-palette {
  overflow: hidden ;
}
#appShell.control-shell .global-search-results {
  max-height: 350px ;
  overflow: hidden ;
}
/* Banner de bienvenida limpio, sin tarjeta beige, bordes ni franja lateral. */
#appShell.control-shell .welcome-card {
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  border-left: 0 ;
  border-right: 0 ;
  border-top: 0 ;
  border-bottom: 0 ;
  border-radius: 0 ;
  padding: 0 ;
  margin: 0 0 22px ;
}
#appShell.control-shell .welcome-card-main { padding: 0 ; }
/* Avalúos usa el mismo encabezado editorial limpio que Configuración. */
#appShell.control-shell .workspace-header.avaluos-header > div:first-child {
  display: block ;
}
#appShell.control-shell .workspace-header.avaluos-header #pageTitle {
  font-family: Georgia, "Times New Roman", serif ;
  font-size: clamp(1.8rem, 3vw, 2.45rem) ;
  font-weight: 700 ;
  line-height: 1.1 ;
  color: #1e293b ;
  margin: 0 ;
}
#appShell.control-shell .workspace-header.avaluos-header #pageDescription {
  display: block ;
  margin: 6px 0 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .95rem ;
  line-height: 1.45 ;
}

/* Corrección urgente del encabezado: bloque derecho completamente contenido. */
#appShell.control-shell > .app-sidebar {
  height: 65px ;
  min-height: 65px ;
  max-height: 65px ;
  align-items: center ;
  overflow: hidden ;
  box-sizing: border-box ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  display: flex ;
  flex-direction: row ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 12px ;
  height: 65px ;
  max-height: 65px ;
  margin: 0 ;
  padding: 0 ;
  overflow: hidden ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
  display: flex ;
  flex-direction: column ;
  justify-content: center ;
  align-items: flex-start ;
  gap: 3px ;
  height: 65px ;
  max-height: 65px ;
  line-height: 1 ;
  overflow: hidden ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .active-user,
#appShell.control-shell > .app-sidebar > .sidebar-footer .active-user-role,
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-online {
  line-height: 1.05 ;
  white-space: nowrap ;
  margin: 0 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .header-tools {
  display: flex ;
  flex-direction: row ;
  align-items: center ;
  gap: 12px ;
  height: 65px ;
  max-height: 65px ;
  margin: 0 ;
  padding: 0 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .client-logout-button {
  padding: 6px 14px ;
  font-size: .85rem ;
  line-height: 1.2 ;
  border-radius: 6px ;
  margin: 0 ;
  white-space: nowrap ;
}
/* Overlay por debajo del buscador y sus resultados. */
#globalSearchBackdrop {
  z-index: 40 ;
  pointer-events: auto ;
}
#appShell.control-shell .global-search-wrap {
  position: relative ;
  z-index: 50 ;
  isolation: isolate ;
  overflow: visible ;
}
#appShell.control-shell .global-search-wrap input,
#appShell.control-shell .global-search-palette {
  position: relative ;
  z-index: 51 ;
}
#appShell.control-shell .global-search-palette {
  top: calc(100% + 4px) ;
  left: 0 ;
  right: auto ;
  width: 100% ;
  max-height: 350px ;
  overflow: hidden ;
  pointer-events: auto ;
}
#appShell.control-shell .global-search-results {
  max-height: 350px ;
  overflow: hidden ;
  pointer-events: auto ;
}
#appShell.control-shell .global-search-palette .search-result {
  position: relative ;
  z-index: 52 ;
  pointer-events: auto ;
  cursor: pointer ;
}
/* Compensación exacta para el contenido bajo el header de 65px. */
#appShell.control-shell > .app-workspace {
  padding-top: 81px ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar {
    min-height: 108px ;
    max-height: 108px ;
    height: 108px ;
    overflow: visible ;
  }
  #appShell.control-shell > .app-sidebar > .sidebar-footer,
  #appShell.control-shell > .app-sidebar > .sidebar-footer .header-tools,
  #appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
    height: 48px ;
    max-height: 48px ;
  }
  #appShell.control-shell > .app-workspace { padding-top: 122px ; }
}

/* El header no recorta el dropdown; el bloque derecho sí mantiene su propio límite. */
#appShell.control-shell > .app-sidebar {
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  overflow: hidden ;
}

/* El buscador es un dropdown directo; no se usa capa oscura ni bloqueo de pantalla. */
#globalSearchBackdrop,
#globalSearchBackdrop[hidden] {
  display: none ;
  visibility: hidden ;
  opacity: 0 ;
  pointer-events: none ;
  z-index: -1 ;
}
body.global-search-active { overflow: auto ; }
#appShell.control-shell .global-search-wrap,
#appShell.control-shell .global-search-palette,
#appShell.control-shell .global-search-palette .search-result {
  pointer-events: auto ;
}
/* Navbar amplia y centrada, sin desbordamiento vertical. */
#appShell.control-shell > .app-sidebar {
  height: 72px ;
  min-height: 72px ;
  max-height: 72px ;
  align-items: center ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer,
#appShell.control-shell > .app-sidebar > .sidebar-footer .header-tools,
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
  height: 72px ;
  max-height: 72px ;
  align-items: center ;
  justify-content: center ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
  flex-direction: column ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .client-logout-button {
  padding: 6px 14px ;
  font-size: .85rem ;
  border-radius: 6px ;
}
#appShell.control-shell > .app-workspace { padding-top: 88px ; }
/* El encabezado editorial no existe en Home; sólo Avalúos lo activa desde switchAppView(). */
#appShell.control-shell .workspace-header:not(.avaluos-header) > div:first-child {
  display: none ;
}
#appShell.control-shell .workspace-header.avaluos-header > div:first-child {
  display: block ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-workspace { padding-top: 122px ; }
}

/* Ajuste final: bloque derecho ligeramente elevado y totalmente dentro del header. */
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  transform: translateY(-4px) ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer .sidebar-account-copy {
  justify-content: center ;
  align-items: flex-start ;
}
/* No mostrar titulares de página repetidos en Home ni en módulos. */
#appShell.control-shell .app-workspace > .workspace-header > div:first-child,
#appShell.control-shell .app-workspace > .workspace-header.avaluos-header > div:first-child {
  display: none ;
}
#appShell.control-shell .app-workspace > .workspace-header {
  min-height: 0 ;
  padding: 0 ;
  margin: 0 ;
}
/* El buscador no usa backdrop ni oscurece el contenido. */
#globalSearchBackdrop,
body.global-search-active #globalSearchBackdrop {
  display: none ;
  opacity: 0 ;
  visibility: hidden ;
  pointer-events: none ;
}
#appShell.control-shell .global-search-wrap input {
  z-index: 50 ;
}
#appShell.control-shell .global-search-palette,
#appShell.control-shell .global-search-palette .search-result {
  z-index: 51 ;
  pointer-events: auto ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar > .sidebar-footer { transform: translateY(-2px) ; }
}

/* Elevar un poco más el bloque de usuario, estado, notificaciones y sesión. */
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  transform: translateY(-7px) ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar > .sidebar-footer { transform: translateY(-3px) ; }
}
/* El botón Crear avalúo desaparece mientras un técnico está abierto o editándose. */
#appShell.control-shell:has(#technicalCreationPanel:not([hidden])) #newTechnicalAppraisalButton,
#appShell.control-shell:has(#automotrizEditor:not([hidden])) #newTechnicalAppraisalButton,
#appShell.control-shell:has(#mobiliarioEditor:not([hidden])) #newTechnicalAppraisalButton {
  display: none ;
}

/* Elevar nuevamente el bloque derecho del header. */
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  transform: translateY(-10px) ;
}
/* Campana simple: sólo el icono blanco, sin círculo ni borde dorado. */
#appShell.control-shell > .app-sidebar .alerts-button {
  background: transparent ;
  border: 0 ;
  border-radius: 0 ;
  box-shadow: none ;
  color: #ffffff ;
  width: auto ;
  height: auto ;
  min-width: 24px ;
  padding: 0 ;
  font-size: 1.15rem ;
  line-height: 1 ;
}
#appShell.control-shell > .app-sidebar .alerts-button span {
  color: #ffffff ;
  filter: grayscale(1) brightness(0) invert(1) ;
}
#appShell.control-shell > .app-sidebar .alerts-button b {
  display: none ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar > .sidebar-footer { transform: translateY(-4px) ; }
}


/* Ajustes solicitados para fichas técnicas. */
/* La tabla de reposición debe mostrar también el valor aplicable sin crecer verticalmente. */
.mobiliario-replacement-summary { margin-top: 10px ; }
.mobiliario-replacement-summary .values-table-wrap { overflow-x: auto ; max-height: none ; }
.mobiliario-replacement-summary .values-table { min-width: 0 ; table-layout: fixed ; }
.mobiliario-replacement-summary .values-table th,
.mobiliario-replacement-summary .values-table td { padding: 7px 8px ; line-height: 1.15 ; vertical-align: middle ; }
.mobiliario-replacement-summary .values-table th { font-size: .72rem ; white-space: normal ; }
.mobiliario-replacement-summary .values-table td { font-size: .82rem ; }
.mobiliario-replacement-summary .values-table input { min-width: 0 ; padding: 5px 6px ; }
.mobiliario-replacement-summary .values-table th:nth-child(1) { width: 20%; }
.mobiliario-replacement-summary .values-table th:nth-child(2) { width: 8%; }
.mobiliario-replacement-summary .values-table th:nth-child(3) { width: 10%; }
.mobiliario-replacement-summary .values-table th:nth-child(4) { width: 16%; }
.mobiliario-replacement-summary .values-table th:nth-child(5),
.mobiliario-replacement-summary .values-table th:nth-child(6),
.mobiliario-replacement-summary .values-table th:nth-child(7) { width: 10%; }
.mobiliario-replacement-summary .values-table th:nth-child(8) { width: 16%; }
/* Agregar otro vehículo: alineado a la derecha, dorado/negro y contraste invertido al pasar el cursor. */
.vehicle-add-action { justify-content: flex-end ; }
.vehicle-add-action > span { margin-right: auto ; }
.technical-add-vehicle-button { background: linear-gradient(135deg, #d4af37, #c5a059) ; border-color: #a9822d ; color: #111111 ; }
.technical-add-vehicle-button:hover, .technical-add-vehicle-button:focus-visible { background: #111111 ; border-color: #d4af37 ; color: #ffffff ; }
@media (max-width: 640px) { .vehicle-add-action { align-items: center ; } .vehicle-add-action > span { margin-right: 0 ; } }

/* Solicitudes: tabla compacta, PDF visible y detalle administrativo claro */
.request-table-compact {
  table-layout: auto ;
  font-size: 12px ;
}
.request-table-compact th,
.request-table-compact td {
  padding: 7px 8px ;
  vertical-align: middle ;
  white-space: nowrap ;
}
.request-table-compact th:first-child,
.request-table-compact td:first-child { width: 1%; }
.request-table-compact .request-folio-cell { font-variant-numeric: tabular-nums; }
.request-table-compact .request-status-select {
  width: auto ;
  min-width: 124px ;
  max-width: 150px ;
  padding: 5px 22px 5px 7px ;
  font-size: 11px ;
  line-height: 1.2 ;
  white-space: nowrap ;
  overflow: hidden ;
  text-overflow: ellipsis ;
}
.request-table-compact .request-action-cell {
  white-space: nowrap ;
  min-width: 190px ;
}
.request-table-compact .request-detail-button {
  margin: 2px ;
  padding: 5px 7px ;
  font-size: 11px ;
  white-space: nowrap ;
}
.request-pdf-cell { text-align: center ; }
.request-pdf-ready {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-weight: 700;
  font-size: 11px;
}
.request-pdf-pending { color: #94a3b8; }

#requestDetailDialog.client-luxury-detail,
#requestDetailDialog.client-luxury-detail::backdrop {
  color-scheme: light;
}
#requestDetailDialog.client-luxury-detail {
  background: #ffffff ;
  color: #0f172a ;
  border: 1px solid #cbd5e1 ;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .24) ;
}
#requestDetailDialog.client-luxury-detail * { color: inherit; }
#requestDetailDialog.client-luxury-detail .client-detail-hero,
#requestDetailDialog.client-luxury-detail .client-detail-section,
#requestDetailDialog.client-luxury-detail .request-detail-section,
#requestDetailDialog.client-luxury-detail .client-detail-download {
  background: #ffffff ;
  color: #0f172a ;
  border-color: #e2e8f0 ;
}
#requestDetailDialog.client-luxury-detail .client-folio,
#requestDetailDialog.client-luxury-detail h3,
#requestDetailDialog.client-luxury-detail h4,
#requestDetailDialog.client-luxury-detail dt,
#requestDetailDialog.client-luxury-detail dd,
#requestDetailDialog.client-luxury-detail p,
#requestDetailDialog.client-luxury-detail small,
#requestDetailDialog.client-luxury-detail .section-kicker {
  color: #0f172a ;
}
#requestDetailDialog.client-luxury-detail .section-kicker { color: #475569 ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step small { color: #334155 ; }
#requestDetailDialog.client-luxury-detail .client-status-badge { color: #ffffff ; }
#requestDetailDialog.client-luxury-detail .request-file-card,
#requestDetailDialog.client-luxury-detail .request-file-empty {
  background: #f8fafc ;
  color: #0f172a ;
  border-color: #cbd5e1 ;
}
@media (max-width: 900px) {
  .request-table-compact th,
  .request-table-compact td { padding: 6px 5px ; font-size: 11px ; }
  .request-table-compact .request-status-select { min-width: 112px ; max-width: 128px ; }
  .request-table-compact .request-action-cell { min-width: 165px ; }
}

/* Home minimalista: sólo saludo y permiso */
#inicioView .welcome-card { margin-top: 0 ; }
#inicioView .recent-activity-card,
#inicioView .welcome-tasks { display: none ; }
#appShell:has(#inicioView.is-active) .workspace-header { display: none ; }

/* Perfil en la barra superior */
.sidebar-footer { align-items: center ; }
.header-tools { margin-left: auto ; display: flex ; align-items: center ; justify-content: flex-end ; gap: 8px ; }
.alerts-button, .profile-button {
  width: 34px ; height: 34px ; min-width: 34px ;
  padding: 0 ; display: inline-flex ; align-items: center ; justify-content: center ;
  border: 1px solid rgba(255,255,255,.45) ; border-radius: 7px ;
  background: transparent ; color: #fff ; font-size: 16px ; line-height: 1 ;
}
.alerts-button b { font-size: 9px ; min-width: 13px ; height: 13px ; }
.profile-button span:last-child { display: none ; }
.profile-menu-wrap { position: relative ; }
.profile-menu {
  position: absolute ; top: calc(100% + 8px) ; right: 0 ; z-index: 5000 ;
  min-width: 170px ; padding: 6px ; background: #111827 ;
  border: 1px solid #c5a059 ; border-radius: 9px ; box-shadow: 0 14px 30px rgba(0,0,0,.28) ;
}
.profile-menu[hidden] { display: none ; }
.profile-menu button { display: block ; width: 100% ; border: 0 ; background: transparent ; color: #fff ; text-align: left ; padding: 9px 10px ; border-radius: 6px ; cursor: pointer ; }
.profile-menu button:hover { background: #c5a059 ; color: #111827 ; }
.profile-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; padding: 16px 0; }
.profile-data-grid div { display: grid; gap: 4px; padding: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; }
.profile-data-grid small { color: #64748b; font-weight: 700; }
.profile-data-grid strong { color: #0f172a; word-break: break-word; }

/* Tabla de solicitudes compacta e iconográfica */
.request-table-compact th, .request-table-compact td { padding: 6px 7px ; }
.request-table-compact th:nth-child(1), .request-table-compact td:nth-child(1) { width: 1% ; }
.request-table-compact th:nth-child(5), .request-table-compact td:nth-child(5) { width: 34px ; text-align: center ; }
.request-table-compact .request-action-cell { min-width: 96px ; text-align: center ; }
.request-icon-button { width: 28px ; height: 28px ; padding: 5px ; display: inline-flex ; align-items: center ; justify-content: center ; border: 1px solid #cbd5e1 ; border-radius: 6px ; background: #fff ; color: #334155 ; cursor: pointer ; margin: 1px ; }
.request-icon-button svg { width: 16px ; height: 16px ; fill: none ; stroke: currentColor ; stroke-width: 1.8 ; stroke-linecap: round ; stroke-linejoin: round ; }
.request-info-button { color: #2563eb ; }
.request-upload-pdf-button { color: #b45309 ; }
.request-delete-button { color: #dc2626 ; }
.request-pdf-ready { padding: 2px 5px ; font-size: 10px ; }

/* Detalle claro y progreso verde */
#requestDetailDialog.client-luxury-detail .client-detail-hero,
#requestDetailDialog.client-luxury-detail .client-folio,
#requestDetailDialog.client-luxury-detail .client-detail-hero h3,
#requestDetailDialog.client-luxury-detail .client-detail-hero p { color: #000 ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete span { background: #16a34a ; border-color: #16a34a ; color: #fff ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete small,
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-current small { color: #15803d ; font-weight: 700 ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step::after { background: #d1d5db ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete::after { background: #22c55e ; }
#requestDetailDialog.client-luxury-detail [data-attach-missing] { background: #c5a059 ; color: #111 ; border-color: #c5a059 ; font-weight: 800 ; }
@media (max-width: 600px) { .profile-data-grid { grid-template-columns: 1fr; } }

/* Ajuste final del header: notificaciones, usuario y avatar en ese orden. */
#appShell.control-shell > .app-sidebar,
#appShell.control-shell > .app-sidebar .sidebar-footer,
#appShell.control-shell > .app-sidebar .header-tools { overflow: visible ; }
#appShell.control-shell > .app-sidebar .sidebar-footer { width: 100% ; }
#appShell.control-shell > .app-sidebar .header-tools {
  display: flex ; align-items: center ; justify-content: flex-end ;
  gap: 14px ; width: 100% ; margin-left: auto ;
}
#appShell.control-shell > .app-sidebar .sidebar-account { order: 2 ; min-width: 0 ; }
#appShell.control-shell > .app-sidebar #alertsButton { order: 1 ; width: 32px ; height: 32px ; min-width: 32px ; padding: 6px ; border-radius: 8px ; background: #000 ; color: #fff ; border: 1px solid #fff ; }
#appShell.control-shell > .app-sidebar #alertsButton:hover { background: #fff ; color: #000 ; border-color: #000 ; }
#appShell.control-shell > .app-sidebar .sidebar-account-copy { display: flex ; flex-direction: column ; justify-content: center ; align-items: flex-end ; text-align: right ; line-height: 1.15 ; min-width: 0 ; }
#appShell.control-shell > .app-sidebar .active-user,
#appShell.control-shell > .app-sidebar .active-user-role,
#appShell.control-shell > .app-sidebar .sidebar-online { text-align: right ; white-space: nowrap ; }
#appShell.control-shell > .app-sidebar .profile-menu-wrap { order: 3 ; position: relative ; flex: 0 0 auto ; }
#appShell.control-shell > .app-sidebar .profile-button { width: 38px ; height: 38px ; min-width: 38px ; border-radius: 50% ; padding: 0 ; display: inline-flex ; align-items: center ; justify-content: center ; background: #111 ; border: 1px solid #fff ; color: #fff ; font-weight: 800 ; font-size: 12px ; }
#appShell.control-shell > .app-sidebar .profile-button:hover { background: #fff ; color: #000 ; }
#appShell.control-shell > .app-sidebar .profile-menu { top: calc(100% + 8px) ; right: 0 ; z-index: 9999 ; }

/* Tabla administrativa: evita que folio y solicitante se empalmen. */
#serviceRequestsTable { width: 100% ; overflow-x: auto ; overflow-y: visible ; }
#serviceRequestsTable > .request-table-compact { width: 100% ; min-width: 720px ; table-layout: fixed ; }
#serviceRequestsTable .request-table-compact th,
#serviceRequestsTable .request-table-compact td { box-sizing: border-box ; overflow: hidden ; text-overflow: ellipsis ; vertical-align: middle ; }
#serviceRequestsTable .request-table-compact th:nth-child(1), #serviceRequestsTable .request-table-compact td:nth-child(1) { width: 14% ; }
#serviceRequestsTable .request-table-compact th:nth-child(2), #serviceRequestsTable .request-table-compact td:nth-child(2) { width: 27% ; white-space: normal ; overflow-wrap: anywhere ; line-height: 1.2 ; }
#serviceRequestsTable .request-table-compact th:nth-child(3), #serviceRequestsTable .request-table-compact td:nth-child(3) { width: 19% ; white-space: normal ; overflow-wrap: anywhere ; }
#serviceRequestsTable .request-table-compact th:nth-child(4), #serviceRequestsTable .request-table-compact td:nth-child(4) { width: 24% ; }
#serviceRequestsTable .request-table-compact th:nth-child(5), #serviceRequestsTable .request-table-compact td:nth-child(5) { width: 5% ; }
#serviceRequestsTable .request-table-compact th:nth-child(6), #serviceRequestsTable .request-table-compact td:nth-child(6) { width: 11% ; }
#serviceRequestsTable .request-table-compact .request-status-select { width: 100% ; min-width: 0 ; max-width: 100% ; }
#serviceRequestsTable .request-table-compact .request-action-cell { min-width: 0 ; white-space: nowrap ; }
@media (max-width: 760px) { #serviceRequestsTable > .request-table-compact { min-width: 660px ; } #appShell.control-shell > .app-sidebar .header-tools { gap: 8px ; } }

/* Header final: navegación desplegada al centro y bloque derecho ordenado. */
#appShell.control-shell > .app-sidebar { display: flex ; flex-direction: row ; align-items: center ; justify-content: space-between ; overflow: visible ; min-height: 72px ; height: 72px ; max-height: none ; }
#appShell.control-shell > .app-sidebar > .header-left-tools { flex: 1 1 0 ; min-width: 0 ; display: flex ; align-items: center ; }
#appShell.control-shell > .app-sidebar > .sidebar-nav,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule { display: flex ; flex-direction: row ; align-items: center ; justify-content: center ; flex-wrap: nowrap ; width: auto ; min-width: max-content ; flex: 0 0 auto ; flex-shrink: 0 ; overflow: visible ; padding: 4px 8px ; margin: 0 auto ; }
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link { flex: 0 0 auto ; white-space: nowrap ; }
#appShell.control-shell > .app-sidebar > .sidebar-footer { flex: 1 1 0 ; min-width: 0 ; width: auto ; overflow: visible ; }
#appShell.control-shell > .app-sidebar .header-tools { width: 100% ; display: flex ; align-items: center ; justify-content: flex-end ; gap: 14px ; overflow: visible ; }
#appShell.control-shell > .app-sidebar .sidebar-account { order: 1 ; }
#appShell.control-shell > .app-sidebar #alertsButton { order: 2 ; background: transparent ; border: 0 ; border-radius: 0 ; box-shadow: none ; width: 30px ; height: 34px ; min-width: 30px ; padding: 4px ; color: #fff ; }
#appShell.control-shell > .app-sidebar #alertsButton:hover { background: transparent ; color: #fff ; }
#appShell.control-shell > .app-sidebar #alertsButton .bell-icon { display: inline-flex ; width: 22px ; height: 22px ; color: #fff ; }
#appShell.control-shell > .app-sidebar #alertsButton .bell-icon svg { width: 100% ; height: 100% ; fill: none ; stroke: currentColor ; stroke-width: 1.8 ; stroke-linecap: round ; stroke-linejoin: round ; }
#appShell.control-shell > .app-sidebar #alertsButton:hover .bell-icon svg { fill: #fff ; stroke: #fff ; }
#appShell.control-shell > .app-sidebar .profile-menu-wrap { order: 3 ; }
#appShell.control-shell > .app-sidebar .profile-button { background: transparent ; border: 1px solid rgba(255,255,255,.8) ; }
#appShell.control-shell > .app-sidebar .profile-button .user-icon { display: inline-flex ; width: 22px ; height: 22px ; color: #fff ; }
#appShell.control-shell > .app-sidebar .profile-button .user-icon svg { width: 100% ; height: 100% ; fill: none ; stroke: currentColor ; stroke-width: 1.8 ; stroke-linecap: round ; stroke-linejoin: round ; }
#appShell.control-shell > .app-sidebar .profile-button:hover { background: #111 ; color: #fff ; }
#appShell.control-shell > .app-sidebar .profile-menu { overflow: visible ; }
#credentialUserLabel.is-hidden { display: none ; }
#credentialCurrentPasswordLabel.is-hidden { display: none ; }


/* Ajuste solicitado: notificaciones, avatar y datos del usuario en ese orden. */
#appShell.control-shell > .app-sidebar .header-tools { display:flex ; align-items:center ; justify-content:flex-end ; gap:12px ; }
#appShell.control-shell > .app-sidebar #alertsButton { order:1 ; background:transparent ; border:0 ; box-shadow:none ; color:#fff ; width:30px ; height:32px ; padding:4px ; }
#appShell.control-shell > .app-sidebar .profile-menu-wrap { order:2 ; }
#appShell.control-shell > .app-sidebar .sidebar-account { order:3 ; }
#appShell.control-shell > .app-sidebar .sidebar-account-copy { align-items:flex-end ; text-align:right ; justify-content:center ; line-height:1.14 ; }
#appShell.control-shell > .app-sidebar .active-user,
#appShell.control-shell > .app-sidebar .active-user-role,
#appShell.control-shell > .app-sidebar .sidebar-online { text-align:right ; white-space:nowrap ; }
#appShell.control-shell > .app-sidebar .profile-button { width:38px ; height:38px ; border-radius:50% ; overflow:hidden ; }
.profile-avatar-image { width:100% ; height:100% ; display:block ; object-fit:cover ; border-radius:50% ; }
#appShell.control-shell > .app-sidebar #alertsButton .bell-icon svg { fill:none ; stroke:currentColor ; stroke-width:1.8 ; }
#appShell.control-shell > .app-sidebar #alertsButton:hover .bell-icon svg { fill:#fff ; stroke:#fff ; }

/* Galería de fotos de perfil profesionales. */
.profile-avatar-section { margin-top:18px; padding-top:18px; border-top:1px solid #e2e8f0; }
.profile-avatar-section h3 { margin:0; color:#0f172a; font-size:1rem; }
.profile-avatar-section p { margin:5px 0 12px; color:#64748b; font-size:.82rem; }
.profile-avatar-gallery { display:grid; grid-template-columns:repeat(8, minmax(42px, 1fr)); gap:10px; }
.profile-avatar-option { aspect-ratio:1; padding:3px; border:2px solid transparent; border-radius:50%; background:#f8fafc; cursor:pointer; transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.profile-avatar-option img { width:100%; height:100%; display:block; border-radius:50%; object-fit:cover; }
.profile-avatar-option:hover { transform:translateY(-2px); border-color:#c5a059; }
.profile-avatar-option.is-selected { border-color:#c5a059; box-shadow:0 0 0 3px rgba(197,160,89,.2); }

/* Recepción: una sola línea, más espacio para solicitante/usuario y acciones sólo con iconos. */
#statusRecordList .operational-table-wrap { width:100%; overflow-x:auto; }
#statusRecordList .operational-table-compact { width:100%; min-width:900px; table-layout:fixed; }
#statusRecordList .operational-table-compact th,
#statusRecordList .operational-table-compact td { white-space:nowrap ; overflow:hidden; text-overflow:ellipsis; vertical-align:middle; }
#statusRecordList .operational-table-compact th:nth-child(1), #statusRecordList .operational-table-compact td:nth-child(1) { width:9%; }
#statusRecordList .operational-table-compact th:nth-child(2), #statusRecordList .operational-table-compact td:nth-child(2) { width:26%; }
#statusRecordList .operational-table-compact th:nth-child(3), #statusRecordList .operational-table-compact td:nth-child(3) { width:22%; }
#statusRecordList .operational-table-compact th:nth-child(4), #statusRecordList .operational-table-compact td:nth-child(4) { width:14%; }
#statusRecordList .operational-table-compact th:nth-child(5), #statusRecordList .operational-table-compact td:nth-child(5) { width:17%; }
#statusRecordList .operational-table-compact th:nth-child(6), #statusRecordList .operational-table-compact td:nth-child(6) { width:12%; }
#statusRecordList .reception-actions { display:flex ; align-items:center ; justify-content:center ; gap:5px ; overflow:visible ; }
#statusRecordList .record-action.icon-only { width:29px ; height:29px ; min-width:29px ; flex:0 0 29px ; padding:5px ; display:inline-flex ; align-items:center ; justify-content:center ; border-radius:6px ; }
#statusRecordList .record-action.icon-only svg { width:16px ; height:16px ; fill:none ; stroke:currentColor ; stroke-width:1.8 ; stroke-linecap:round ; stroke-linejoin:round ; }
#statusRecordList .record-action.icon-only:hover { transform:translateY(-1px); }
@media (max-width:760px) { .profile-avatar-gallery { grid-template-columns:repeat(4, minmax(48px,1fr)); } #statusRecordList .operational-table-compact { min-width:760px; } }

/* Compatibilidad con reglas heredadas: el avatar alternativo y la foto respetan hidden. */
#appShell.control-shell > .app-sidebar .profile-button .user-icon { display:inline-flex ; }
#appShell.control-shell > .app-sidebar .profile-button .user-icon[hidden] { display:none ; }
#appShell.control-shell > .app-sidebar .profile-button #profileAvatarImage[hidden] { display:none ; }
#appShell.control-shell > .app-sidebar .profile-button #profileAvatarImage:not([hidden]) { display:block ; }
#appShell.control-shell > .app-sidebar #alertsCount { display:none ; }


/* Perfil: tarjeta vertical inspirada en Cuenta de Google. */
#adminProfileDialog.admin-profile-dialog { width:min(430px, calc(100% - 28px)) ; max-width:430px ; border-radius:22px ; }
#adminProfileDialog.admin-profile-dialog form { padding:24px ; }
#adminProfileDialog .profile-dialog-heading { align-items:center ; margin-bottom:4px ; }
#adminProfileDialog .profile-dialog-heading h2 { color:#111827 ; font-size:1.42rem ; margin:0 ; text-align:center ; }
#adminProfileDialog .profile-dialog-heading > div { flex:1 ; }
#adminProfileDialog .profile-avatar-hero { display:flex ; flex-direction:column ; align-items:center ; justify-content:center ; padding:8px 0 14px ; }
#adminProfileDialog .profile-avatar-hero-button { position:relative ; width:112px ; height:112px ; padding:0 ; border:0 ; border-radius:50% ; background:transparent ; cursor:pointer ; }
#adminProfileDialog .profile-avatar-hero-button > img { display:block ; width:112px ; height:112px ; object-fit:cover ; border-radius:50% ; box-shadow:0 5px 18px rgba(15,23,42,.2) ; }
#adminProfileDialog .profile-avatar-pencil { position:absolute ; right:2px ; bottom:3px ; display:grid ; place-items:center ; width:30px ; height:30px ; border:3px solid #fff ; border-radius:50% ; background:#c5a059 ; color:#111827 ; }
#adminProfileDialog .profile-avatar-pencil svg { width:15px ; height:15px ; fill:none ; stroke:currentColor ; stroke-width:1.8 ; stroke-linecap:round ; stroke-linejoin:round ; }
#adminProfileDialog .profile-avatar-hero p { margin:9px 0 0 ; color:#64748b ; font-size:.78rem ; }
#adminProfileDialog .profile-data-list { display:grid ; grid-template-columns:1fr ; gap:8px ; padding:5px 0 14px ; }
#adminProfileDialog .profile-data-list > div { display:flex ; align-items:center ; justify-content:space-between ; gap:15px ; min-height:44px ; padding:10px 12px ; background:#f8fafc ; border:1px solid #e2e8f0 ; border-radius:10px ; }
#adminProfileDialog .profile-data-list small { color:#64748b ; font-weight:700 ; }
#adminProfileDialog .profile-data-list strong { color:#0f172a ; font-weight:750 ; text-align:right ; overflow-wrap:anywhere ; }
#adminProfileDialog .profile-avatar-section { margin-top:0 ; padding-top:12px ; }
#adminProfileDialog .profile-avatar-section h3 { margin:0 0 10px ; color:#334155 ; font-size:.86rem ; font-weight:800 ; }
#adminProfileDialog .profile-avatar-gallery { grid-template-columns:repeat(8, 1fr) ; gap:7px ; }
#adminProfileDialog .profile-avatar-option { min-width:30px ; padding:2px ; }
#adminProfileDialog .dialog-actions { margin-top:17px ; }

/* Header: el bloque derecho ocupa sólo su contenido y se pega al borde derecho. */
#appShell.control-shell > .app-sidebar { width:100% ; padding-left:18px ; padding-right:18px ; justify-content:space-between ; }
#appShell.control-shell > .app-sidebar > .sidebar-footer { flex:0 0 auto ; width:auto ; min-width:0 ; margin-left:auto ; }
#appShell.control-shell > .app-sidebar .header-tools { width:auto ; margin-left:auto ; justify-content:flex-end ; }
#appShell.control-shell > .app-sidebar .sidebar-account { max-width:300px ; }

/* Recepción usa exactamente la misma base visual que los iconos de Solicitudes. */
#statusRecordList .record-action.request-icon-button { width:28px ; height:28px ; min-width:28px ; flex:0 0 28px ; padding:5px ; margin:1px ; display:inline-flex ; align-items:center ; justify-content:center ; border:1px solid #cbd5e1 ; border-radius:6px ; background:#fff ; color:#334155 ; }
#statusRecordList .record-action.request-icon-button svg { width:16px ; height:16px ; fill:none ; stroke:currentColor ; stroke-width:1.8 ; stroke-linecap:round ; stroke-linejoin:round ; }
#statusRecordList .record-action.request-info-button { color:#2563eb ; }
#statusRecordList .record-action.request-upload-pdf-button { color:#b45309 ; }
#statusRecordList .record-action.request-delete-button { color:#dc2626 ; }
#statusRecordList .record-action.request-icon-button:hover { background:#f8fafc ; border-color:#94a3b8 ; transform:translateY(-1px); }
@media (max-width:600px) { #adminProfileDialog .profile-avatar-gallery { grid-template-columns:repeat(4, 1fr) ; } #adminProfileDialog .profile-data-list strong { max-width:62%; } }

/* Ajuste final: header en tres zonas para centrar la navegación en el viewport. */
#appShell.control-shell > .app-sidebar {
  display: grid ;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) ;
  align-items: center ;
  justify-content: initial ;
  width: 100% ;
  min-height: 72px ;
  height: 72px ;
  padding-inline: 18px ;
  box-sizing: border-box ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools {
  grid-column: 1 ;
  grid-row: 1 ;
  justify-content: flex-start ;
  width: 100% ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  grid-column: 2 ;
  grid-row: 1 ;
  justify-self: center ;
  margin: 0 ;
  width: max-content ;
  max-width: calc(100vw - 520px) ;
  min-width: 0 ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  grid-column: 3 ;
  grid-row: 1 ;
  justify-self: end ;
  margin-left: 0 ;
  width: max-content ;
  max-width: 100% ;
  flex: none ;
}
#appShell.control-shell > .app-sidebar .header-tools {
  width: max-content ;
  max-width: 100% ;
  margin-left: auto ;
  gap: 12px ;
  justify-content: flex-end ;
}
/* Orden solicitado: campana, datos del usuario, avatar al extremo derecho. */
#appShell.control-shell > .app-sidebar #alertsButton { order: 1 ; }
#appShell.control-shell > .app-sidebar .sidebar-account { order: 2 ; }
#appShell.control-shell > .app-sidebar .profile-menu-wrap { order: 3 ; }
#appShell.control-shell > .app-sidebar .sidebar-account-copy {
  align-items: flex-end ;
  text-align: right ;
  justify-content: center ;
  line-height: 1.12 ;
}
#appShell.control-shell > .app-sidebar .active-user,
#appShell.control-shell > .app-sidebar .active-user-role,
#appShell.control-shell > .app-sidebar .sidebar-online {
  display: block ;
  text-align: right ;
  white-space: nowrap ;
}
/* Modal de perfil: tipografía sans-serif, compacta y avatar sin borde/sombra blancos. */
#adminProfileDialog.admin-profile-dialog,
#adminProfileDialog.admin-profile-dialog * { font-family: Inter, Roboto, "Segoe UI", system-ui, sans-serif ; }
#adminProfileDialog .profile-dialog-heading h2 { display: none ; }
#adminProfileDialog .profile-avatar-hero-button,
#adminProfileDialog .profile-avatar-hero-button:focus,
#adminProfileDialog .profile-avatar-hero-button > img { border: none ; box-shadow: none ; outline: none ; }
#adminProfileDialog .profile-avatar-pencil { border: none ; box-shadow: none ; }
#adminProfileDialog .profile-data-list small { font-size: .73rem ; font-weight: 700 ; }
#adminProfileDialog .profile-data-list strong { font-size: .88rem ; font-weight: 650 ; }
#adminProfileDialog .profile-avatar-section h3 { font-size: .82rem ; font-weight: 700 ; }
#adminProfileDialog .profile-avatar-option { border-width: 1px ; }
#adminProfileDialog .profile-avatar-option.is-selected { border-width: 2px ; }
@media (max-width: 1050px) {
  #appShell.control-shell > .app-sidebar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) ; }
  #appShell.control-shell > .app-sidebar > .sidebar-nav { max-width: 42vw ; overflow-x: auto ; }
  #appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link { padding-inline: 6px ; }
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar { grid-template-columns: 1fr auto ; min-height: 86px ; height: auto ; row-gap: 6px ; padding-block: 8px ; }
  #appShell.control-shell > .app-sidebar > .header-left-tools { grid-column: 1 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .sidebar-footer { grid-column: 2 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .sidebar-nav { grid-column: 1 / -1 ; grid-row: 2 ; max-width: 100% ; justify-self: center ; }
}
/* El botón de impresión queda como la última acción de cada fila. */
#statusRecordList .request-print-button { color: #475569 ; }
#statusRecordList .request-print-button:hover { color: #111827 ; }

/* Portal del solicitante: rediseño UX claro y corporativo */
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-header {
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%) ;
  border-bottom: 2px solid #c5a059 ;
  min-height: 76px ;
  padding: 14px 28px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-brand img { display: none ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-brand strong {
  color: #fff ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: 1.08rem ;
  letter-spacing: .02em ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-brand span {
  display: block ;
  color: #d4af37 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .72rem ;
  font-weight: 800 ;
  letter-spacing: .18em ;
  margin-top: 2px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table-wrap {
  background: #fff ;
  border: 1px solid #d4af37 ;
  border-radius: 14px ;
  box-shadow: 0 12px 30px rgba(15,23,42,.08) ;
  overflow-x: auto ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table { min-width: 880px ; table-layout: auto ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table th {
  background: #f8fafc ;
  color: #475569 ;
  font-size: .72rem ;
  letter-spacing: .08em ;
  text-transform: uppercase ;
  white-space: nowrap ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table td { color: #1e293b ; background: #fff ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-table-view-button {
  background: #1e293b ;
  color: #fff ;
  border: 1px solid #1e293b ;
  border-radius: 7px ;
  padding: 7px 12px ;
  font-weight: 700 ;
  white-space: nowrap ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-table-view-button:hover { background: #c5a059 ; border-color: #c5a059 ; color: #111827 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-pdf-link {
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  width: 30px ;
  height: 30px ;
  border-radius: 7px ;
  background: #b91c1c ;
  color: #fff ;
  font-weight: 900 ;
  text-decoration: none ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-pdf-disabled { color: #94a3b8 ; font-size: .76rem ; white-space: nowrap ; }
#requestDetailDialog.client-luxury-detail {
  width: min(860px, calc(100% - 24px)) ;
  max-width: 860px ;
  border-radius: 18px ;
}
#requestDetailDialog.client-luxury-detail .client-detail-section-heading h3,
#requestDetailDialog.client-luxury-detail .client-detail-download h3,
#requestDetailDialog.client-luxury-detail .request-detail-section h3 {
  color: #8b6f39 ;
  font-weight: 800 ;
  letter-spacing: -.01em ;
}
#requestDetailDialog.client-luxury-detail .client-detail-section-heading p,
#requestDetailDialog.client-luxury-detail .client-detail-download p { color: #475569 ; }
#requestDetailDialog.client-luxury-detail .client-timeline {
  display: grid ;
  grid-template-columns: repeat(5, minmax(0, 1fr)) ;
  gap: 8px ;
  padding: 12px 0 4px ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-step {
  position: relative ;
  display: flex ;
  flex-direction: column ;
  align-items: center ;
  gap: 7px ;
  padding: 10px 6px ;
  background: #f8fafc ;
  border: 1px solid #e2e8f0 ;
  border-radius: 10px ;
  text-align: center ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-step::after { display: none ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step span {
  width: 28px ;
  height: 28px ;
  display: grid ;
  place-items: center ;
  border-radius: 50% ;
  background: #e2e8f0 ;
  color: #64748b ;
  font-weight: 800 ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete {
  background: #f0fdf4 ;
  border-color: #86efac ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-step.is-complete span { background: #16a34a ; color: #fff ; }
#requestDetailDialog.client-luxury-detail .client-timeline-step small { color: #334155 ; font-weight: 700 ; line-height: 1.2 ; }
#requestDetailDialog.client-luxury-detail .client-detail-download {
  margin-top: 16px ;
  padding: 18px ;
  border-radius: 12px ;
  border: 1px solid #e2e8f0 ;
  background: #fff ;
}
#requestDetailDialog.client-luxury-detail .client-download-pending {
  padding: 14px 16px ;
  border-radius: 10px ;
  background: #f1f5f9 ;
  border: 1px solid #cbd5e1 ;
  color: #475569 ;
  line-height: 1.5 ;
}
#requestDetailDialog.client-luxury-detail .client-detail-info-grid {
  display: grid ;
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  gap: 10px ;
  margin-top: 12px ;
}
#requestDetailDialog.client-luxury-detail .client-detail-info-card {
  display: grid ;
  gap: 5px ;
  padding: 12px 14px ;
  background: #f8fafc ;
  border: 1px solid #e2e8f0 ;
  border-radius: 10px ;
  min-width: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-detail-info-card span {
  color: #64748b ;
  font-size: .72rem ;
  font-weight: 800 ;
  text-transform: uppercase ;
  letter-spacing: .06em ;
}
#requestDetailDialog.client-luxury-detail .client-detail-info-card strong {
  color: #1e293b ;
  font-size: .92rem ;
  overflow-wrap: anywhere ;
}
@media (max-width: 650px) {
  #requestDetailDialog.client-luxury-detail .client-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)) ; }
  #requestDetailDialog.client-luxury-detail .client-detail-info-grid { grid-template-columns: 1fr ; }
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-header { padding-inline: 16px ; }
}

/* Portal solicitante — UI SaaS moderna */
#loginScreen.applicant-dashboard-active #applicantHomePanel {
  background: #f8fafc ;
  color: #0f172a ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-intro {
  margin: 28px auto 18px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-intro h2 {
  color: #0f172a ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: clamp(1.65rem, 3vw, 2.15rem) ;
  font-weight: 800 ;
  letter-spacing: -.035em ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-card {
  align-items: center ;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) ;
  border: 1px solid #e2e8f0 ;
  border-left: 4px solid #8b6f39 ;
  border-radius: 14px ;
  box-shadow: 0 4px 12px rgba(15,23,42,.05) ;
  display: flex ;
  gap: 14px ;
  margin: 0 auto 18px ;
  max-width: 1240px ;
  padding: 16px 20px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-mark {
  align-items: center ;
  background: #fef3c7 ;
  border-radius: 12px ;
  color: #8b6f39 ;
  display: flex ;
  flex: 0 0 38px ;
  font-size: 1.2rem ;
  height: 38px ;
  justify-content: center ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-eyebrow {
  color: #64748b ;
  font-size: .7rem ;
  font-weight: 800 ;
  letter-spacing: .12em ;
  margin: 0 0 3px ;
  text-transform: uppercase ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-message {
  color: #334155 ;
  font-size: .94rem ;
  line-height: 1.5 ;
  margin: 0 ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-message strong { color: #0f172a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats {
  gap: 14px ;
  margin: 0 auto 22px ;
  max-width: 1240px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article {
  align-items: center ;
  background: #fff ;
  border: 1px solid #e2e8f0 ;
  border-left: 4px solid transparent ;
  border-radius: 12px ;
  box-shadow: 0 2px 8px rgba(15,23,42,.05) ;
  display: flex ;
  gap: 13px ;
  min-height: 92px ;
  padding: 16px 18px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-total { background: #eff6ff ; border-left-color: #3b82f6 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-active { background: #fffbeb ; border-left-color: #f59e0b ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-completed { background: #f0fdf4 ; border-left-color: #22c55e ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-icon {
  align-items: center ;
  background: rgba(255,255,255,.75) ;
  border-radius: 10px ;
  display: inline-flex ;
  flex: 0 0 42px ;
  height: 42px ;
  justify-content: center ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-icon svg { fill: none ; height: 23px ; stroke: currentColor ; stroke-linecap: round ; stroke-linejoin: round ; stroke-width: 1.8 ; width: 23px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-total .metric-icon { color: #2563eb ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-active .metric-icon { color: #d97706 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-completed .metric-icon { color: #16a34a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats span { color: #475569 ; font-size: .7rem ; font-weight: 800 ; letter-spacing: .08em ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats strong { color: #0f172a ; font-family: Inter, "Segoe UI", sans-serif ; font-size: 1.9rem ; font-weight: 800 ; margin-top: 5px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-history-section {
  background: #fff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 16px ;
  box-shadow: 0 8px 22px rgba(15,23,42,.08) ;
  margin-top: 0 ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table-wrap { border: 1px solid #e2e8f0 ; border-radius: 16px ; box-shadow: 0 4px 12px rgba(15,23,42,.06) ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table th { background: #f8fafc ; border-bottom: 1px solid #e2e8f0 ; color: #475569 ; font-size: .7rem ; font-weight: 700 ; letter-spacing: .1em ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table td { color: #334155 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-request-table td:first-child strong { color: #1e293b ; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace ; font-size: .875rem ; font-weight: 700 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-table-view-button { background: #f1f5f9 ; border: 1px solid #e2e8f0 ; border-radius: 8px ; color: #0f172a ; font-weight: 700 ; padding: 6px 16px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-table-view-button:hover { background: #e2e8f0 ; border-color: #cbd5e1 ; color: #0f172a ; text-decoration: none ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-pdf-link { background: transparent ; border: 1px solid #22c55e ; border-radius: 8px ; color: #15803d ; font-size: 15px ; height: 30px ; width: 34px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-pdf-link:hover { background: #dcfce7 ; transform: translateY(-1px) ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button { background: #8b6f39 ; border: 1px solid #8b6f39 ; border-radius: 9px ; box-shadow: 0 4px 10px rgba(139,111,57,.22) ; color: #fff ; font-weight: 800 ; padding: 11px 16px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button:hover { background: #725a2e ; border-color: #725a2e ; box-shadow: 0 6px 14px rgba(139,111,57,.3) ; color: #fff ; transform: translateY(-1px) ; }
@media (max-width: 650px) {
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-card { align-items: flex-start ; }
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats { grid-template-columns: 1fr ; }
}

/* Portal solicitante — banner y métricas superiores */
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-card {
  align-items: flex-start ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-left: 1px solid #e2e8f0 ;
  border-radius: 1rem ;
  box-shadow: 0 4px 15px rgba(0,0,0,.05) ;
  margin: 0 auto 20px ;
  padding: 24px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-title {
  color: #111827 ;
  font-family: Georgia, "Times New Roman", serif ;
  font-size: clamp(1.5rem, 3vw, 1.875rem) ;
  font-weight: 700 ;
  line-height: 1.2 ;
  margin: 0 0 8px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-title strong { color: #111827 ; font-weight: 700 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-message {
  color: #475569 ;
  font-size: .875rem ;
  line-height: 1.55 ;
  margin: 0 ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats {
  gap: 16px ;
  grid-template-columns: repeat(3, minmax(0, 1fr)) ;
  margin: 0 auto 28px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article {
  align-items: stretch ;
  background: #eff6ff ;
  border: 1px solid #bfdbfe ;
  border-left: 1px solid #bfdbfe ;
  border-radius: 1rem ;
  box-shadow: 0 2px 7px rgba(15,23,42,.04) ;
  display: flex ;
  flex-direction: column ;
  gap: 14px ;
  justify-content: space-between ;
  min-height: 142px ;
  padding: 18px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-total { background: #eff6ff ; border-color: #bfdbfe ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-active { background: #fffbeb ; border-color: #fde68a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article.metric-completed { background: #f0fdf4 ; border-color: #bbf7d0 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-stat-row {
  align-items: center ;
  display: flex ;
  gap: 13px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-icon {
  align-items: center ;
  background: #bfdbfe ;
  border-radius: .75rem ;
  display: inline-flex ;
  flex: 0 0 48px ;
  height: 48px ;
  justify-content: center ;
  padding: 12px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-active .metric-icon { background: #fde68a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-completed .metric-icon { background: #bbf7d0 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-icon svg { fill: none ; height: 23px ; stroke: #2563eb ; stroke-linecap: round ; stroke-linejoin: round ; stroke-width: 1.8 ; width: 23px ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-active .metric-icon svg { stroke: #d97706 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-completed .metric-icon svg { stroke: #16a34a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article > .metric-stat-row > div > span {
  color: #475569 ;
  display: block ;
  font-size: .7rem ;
  font-weight: 700 ;
  letter-spacing: .04em ;
  line-height: 1.25 ;
  text-transform: uppercase ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats article > .metric-stat-row strong {
  color: #111827 ;
  display: block ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: 1.875rem ;
  font-weight: 700 ;
  line-height: 1 ;
  margin-top: 7px ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-progress {
  background: rgba(147,197,253,.55) ;
  border-radius: 999px ;
  height: 5px ;
  overflow: hidden ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-progress span { background: #3b82f6 ; border-radius: inherit ; display: block ; height: 100% ; width: 72% ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-active .metric-progress { background: #fde68a ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-active .metric-progress span { background: #f59e0b ; width: 48% ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-completed .metric-progress { background: #bbf7d0 ; }
#loginScreen.applicant-dashboard-active #applicantHomePanel .metric-completed .metric-progress span { background: #22c55e ; width: 84% ; }
@media (max-width: 700px) {
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-stats { grid-template-columns: 1fr ; }
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-welcome-card { padding: 20px ; }
}

/* Modal de seguimiento compacto en una sola tarjeta y visor interno */
#requestDetailDialog.client-luxury-detail {
  width: min(980px, calc(100vw - 20px)) ;
  max-width: 980px ;
  max-height: calc(100vh - 20px) ;
  overflow: hidden ;
  padding: 0 ;
  border-radius: 14px ;
}
#requestDetailDialog.client-luxury-detail > form {
  max-height: calc(100vh - 20px) ;
  overflow: hidden ;
  padding: 14px ;
  position: relative ;
}
#requestDetailDialog.client-luxury-detail .request-detail-close,
#fileViewerDialog .request-detail-close {
  align-items: center ;
  background: #0f172a ;
  border: 0 ;
  border-radius: 50% ;
  color: #fff ;
  cursor: pointer ;
  display: grid ;
  font-size: 1.1rem ;
  height: 26px ;
  line-height: 1 ;
  padding: 0 ;
  place-items: center ;
  position: absolute ;
  right: 12px ;
  top: 10px ;
  width: 26px ;
  z-index: 5 ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content { font-family: Inter, "Segoe UI", sans-serif ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head {
  align-items: center ;
  display: flex ;
  gap: 10px ;
  justify-content: space-between ;
  min-height: 35px ;
  padding: 0 36px 4px 0 ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head > div { display: grid ; gap: 2px ; min-width: 0 ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-folio { color: #111827 ; font-size: .98rem ; font-weight: 800 ; white-space: nowrap ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head small { color: #64748b ; font-size: .72rem ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-outline-button { flex: 0 0 auto ; font-size: .72rem ; padding: 6px 9px ; white-space: nowrap ; }
#requestDetailDialog.client-luxury-detail .client-timeline-compact {
  gap: 5px ;
  margin: 5px 0 9px ;
  padding: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step {
  align-items: center ;
  background: #f8fafc ;
  border: 1px solid #e2e8f0 ;
  border-radius: 7px ;
  display: flex ;
  flex-direction: row ;
  gap: 5px ;
  justify-content: center ;
  min-height: 29px ;
  padding: 3px 4px ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step span { border: 0 ; height: 19px ; width: 19px ; font-size: .65rem ; }
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step small { font-size: .65rem ; margin: 0 ; max-width: none ; white-space: nowrap ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-grid {
  display: grid ;
  gap: 9px ;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) ;
}
#requestDetailDialog.client-luxury-detail .request-detail-pane {
  background: #fff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 9px ;
  min-width: 0 ;
  padding: 9px ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading { align-items: center ; display: flex ; gap: 6px ; justify-content: space-between ; margin-bottom: 6px ; }
#requestDetailDialog.client-luxury-detail .request-pane-heading strong { color: #1e293b ; font-size: .76rem ; font-weight: 800 ; }
#requestDetailDialog.client-luxury-detail .request-pane-heading small { color: #64748b ; font-size: .65rem ; }
#requestDetailDialog.client-luxury-detail .request-final-heading { border-top: 1px solid #e2e8f0 ; margin-top: 8px ; padding-top: 7px ; }
#requestDetailDialog.client-luxury-detail .request-files-grid { display: grid ; gap: 5px ; grid-template-columns: repeat(4, minmax(0, 1fr)) ; margin: 0 ; max-height: 105px ; overflow: hidden ; padding: 0 ; }
#requestDetailDialog.client-luxury-detail .request-file-card { align-items: center ; border-radius: 6px ; display: flex ; flex-direction: column ; gap: 3px ; min-width: 0 ; padding: 4px ; }
#requestDetailDialog.client-luxury-detail .request-file-card > span { color: #334155 ; display: block ; font-size: .58rem ; max-width: 100% ; overflow: hidden ; text-overflow: ellipsis ; white-space: nowrap ; }
#requestDetailDialog.client-luxury-detail .request-file-preview { background: transparent ; border: 0 ; cursor: pointer ; height: 42px ; padding: 0 ; width: 100% ; }
#requestDetailDialog.client-luxury-detail .request-file-preview img { border: 0 ; border-radius: 4px ; height: 42px ; object-fit: cover ; width: 100% ; }
#requestDetailDialog.client-luxury-detail .request-file-icon { align-items: center ; background: #e2e8f0 ; border-radius: 4px ; color: #334155 ; display: flex ; font-size: .63rem ; font-weight: 800 ; height: 42px ; justify-content: center ; }
#requestDetailDialog.client-luxury-detail .request-file-actions { display: flex ; gap: 3px ; }
#requestDetailDialog.client-luxury-detail .request-file-actions .request-detail-button { font-size: .58rem ; padding: 3px 4px ; }
#requestDetailDialog.client-luxury-detail .client-download-button { border-radius: 6px ; font-size: .68rem ; padding: 6px 8px ; }
#requestDetailDialog.client-luxury-detail .client-download-pending { background: #f1f5f9 ; border: 1px solid #cbd5e1 ; border-radius: 6px ; color: #64748b ; font-size: .7rem ; padding: 7px 9px ; }
#requestDetailDialog.client-luxury-detail .client-detail-info-grid { gap: 5px ; grid-template-columns: 1fr ; margin: 0 ; }
#requestDetailDialog.client-luxury-detail .client-detail-info-card { align-items: center ; display: grid ; grid-template-columns: 82px minmax(0, 1fr) ; gap: 5px ; padding: 5px 7px ; }
#requestDetailDialog.client-luxury-detail .client-detail-info-card span { font-size: .61rem ; }
#requestDetailDialog.client-luxury-detail .client-detail-info-card strong { font-size: .72rem ; line-height: 1.15 ; }
#requestDetailDialog.client-luxury-detail .request-edit-info { background: #2563eb ; border: 0 ; border-radius: 5px ; color: #fff ; cursor: pointer ; font-size: .78rem ; height: 24px ; width: 26px ; }
#fileViewerDialog {
  height: min(92vh, 820px) ;
  max-height: calc(100vh - 20px) ;
  padding: 0 ;
  width: min(960px, calc(100vw - 20px)) ;
}
#fileViewerDialog > form { height: 100% ; padding: 12px ; position: relative ; }
#fileViewerDialog .file-viewer-content { display: flex ; flex-direction: column ; gap: 8px ; height: 100% ; padding-top: 4px ; }
#fileViewerDialog .file-viewer-heading { align-items: center ; display: flex ; gap: 10px ; justify-content: space-between ; padding-right: 35px ; }
#fileViewerDialog .file-viewer-heading strong { color: #0f172a ; font-size: .82rem ; overflow: hidden ; text-overflow: ellipsis ; white-space: nowrap ; }
#fileViewerDialog .file-viewer-download { background: #0f172a ; border-radius: 6px ; color: #fff ; font-size: .7rem ; padding: 6px 9px ; text-decoration: none ; }
#fileViewerDialog .file-viewer-image { display: block ; height: calc(100% - 32px) ; max-height: calc(100% - 32px) ; object-fit: contain ; width: 100% ; }
#fileViewerDialog .file-viewer-frame { border: 1px solid #cbd5e1 ; height: calc(100% - 32px) ; width: 100% ; }
#fileViewerDialog .file-viewer-unavailable { color: #475569 ; margin: auto ; text-align: center ; }
@media (max-width: 650px) {
  #requestDetailDialog.client-luxury-detail .request-detail-compact-head { align-items: flex-start ; flex-direction: column ; padding-right: 30px ; }
  #requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-outline-button { align-self: flex-end ; }
  #requestDetailDialog.client-luxury-detail .client-timeline-compact { grid-template-columns: repeat(5, minmax(0, 1fr)) ; overflow: hidden ; }
  #requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step small { font-size: .5rem ; }
  #requestDetailDialog.client-luxury-detail .request-detail-compact-grid { grid-template-columns: 1fr ; }
}

/* Solicitudes: modal amplio y edición directa de información registrada */
#requestDetailDialog.client-luxury-detail {
  width: min(1100px, calc(100vw - 24px)) ;
  max-width: 1100px ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr) ;
}
#requestDetailDialog.client-luxury-detail .request-info-pane { min-width: 0 ; }
#requestDetailDialog.client-luxury-detail .request-edit-info-label {
  background: #eff6ff ;
  border: 1px solid #bfdbfe ;
  border-radius: 999px ;
  color: #1d4ed8 ;
  font-size: .62rem ;
  font-weight: 800 ;
  padding: 3px 7px ;
  text-transform: uppercase ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form {
  display: grid ;
  gap: 7px 9px ;
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  margin: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form label {
  color: #475569 ;
  display: grid ;
  font-size: .65rem ;
  font-weight: 800 ;
  gap: 3px ;
  min-width: 0 ;
  text-transform: uppercase ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form input,
#requestDetailDialog.client-luxury-detail .client-edit-info-form select {
  background: #fff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 6px ;
  box-sizing: border-box ;
  color: #0f172a ;
  font-size: .76rem ;
  min-height: 31px ;
  padding: 6px 7px ;
  width: 100% ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form input:focus,
#requestDetailDialog.client-luxury-detail .client-edit-info-form select:focus {
  border-color: #2563eb ;
  box-shadow: 0 0 0 2px rgba(37,99,235,.14) ;
  outline: none ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-actions {
  align-items: center ;
  display: flex ;
  gap: 7px ;
  grid-column: 1 / -1 ;
  justify-content: flex-end ;
  margin-top: 2px ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-actions p {
  color: #b91c1c ;
  flex: 1 1 auto ;
  font-size: .67rem ;
  margin: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-save-info-button {
  background: #0f172a ;
  border: 1px solid #0f172a ;
  border-radius: 6px ;
  color: #fff ;
  cursor: pointer ;
  font-size: .72rem ;
  font-weight: 800 ;
  padding: 7px 10px ;
}
#requestDetailDialog.client-luxury-detail .client-save-info-button:hover { background: #2563eb ; border-color: #2563eb ; }
#requestDetailDialog.client-luxury-detail .client-save-info-button:disabled { cursor: wait ; opacity: .65 ; }
@media (max-width: 760px) {
  #requestDetailDialog.client-luxury-detail .request-detail-compact-grid { grid-template-columns: 1fr ; }
  #requestDetailDialog.client-luxury-detail .client-edit-info-form { grid-template-columns: 1fr ; }
  #requestDetailDialog.client-luxury-detail .client-edit-info-actions { grid-column: auto ; }
}

/* El lápiz habilita la edición; los campos permanecen legibles mientras están bloqueados. */
#requestDetailDialog.client-luxury-detail .request-edit-info {
  align-items: center ;
  background: #2563eb ;
  border: 0 ;
  border-radius: 5px ;
  color: #fff ;
  cursor: pointer ;
  display: grid ;
  font-size: .78rem ;
  height: 24px ;
  place-items: center ;
  width: 26px ;
}
#requestDetailDialog.client-luxury-detail .request-edit-info:hover { background: #1d4ed8 ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form input:disabled,
#requestDetailDialog.client-luxury-detail .client-edit-info-form select:disabled {
  background: #f8fafc ;
  color: #334155 ;
  cursor: not-allowed ;
  opacity: 1 ;
}

/* Modal de detalle y visor: mismas dimensiones exactas y sin navegación externa. */
#requestDetailDialog.client-luxury-detail,
#fileViewerDialog {
  box-sizing: border-box ;
  width: 90vw ;
  max-width: 64rem ; /* max-w-4xl */
  height: 85vh ;
  max-height: 85vh ;
}
#requestDetailDialog.client-luxury-detail > form,
#fileViewerDialog > form {
  box-sizing: border-box ;
  height: 100% ;
  max-height: none ;
}
#requestDetailDialog.client-luxury-detail .final-pdf-actions {
  align-items: center ;
  display: flex ;
  flex-wrap: wrap ;
  gap: 6px ;
}
#requestDetailDialog.client-luxury-detail .final-pdf-actions .client-download-button {
  cursor: pointer ;
  display: inline-flex ;
  text-decoration: none ;
}


/* Maquinaria y Equipo: primera tabla de valores compacta y sin empalmes. */
.mobiliario-primary-values-wrap.is-machinery-values {
  overflow-x: auto ;
  max-width: 100% ;
}
.mobiliario-primary-values-wrap.is-machinery-values .values-table {
  min-width: 760px ;
  table-layout: fixed ;
  width: 100% ;
}
.mobiliario-primary-values-wrap.is-machinery-values .values-table th,
.mobiliario-primary-values-wrap.is-machinery-values .values-table td {
  padding: 5px 4px ;
  font-size: 10px ;
  line-height: 1.15 ;
  overflow-wrap: anywhere ;
  vertical-align: middle ;
}
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(1),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(1) { width: 20% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(2),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(2) { width: 8% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(3),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(3) { width: 8% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(4),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(4) { width: 15% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(7),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(7) { width: 8% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(8),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(8) { width: 25% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table input {
  min-width: 0 ;
  width: 100% ;
  padding: 4px 3px ;
  font-size: 10px ;
  box-sizing: border-box ;
}

/* Correcciones finales: evitar empalme en obsolescencia y ampliar mercado aplicable. */
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(7) {
  width: 11% ;
  white-space: normal ;
  word-break: normal ;
  overflow-wrap: break-word ;
  hyphens: auto ;
  line-height: 1.05 ;
  font-size: 9px ;
}
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(7) { width: 11% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(1),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(1) { width: 17% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(4),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(4) { width: 13% ; }
.mobiliario-primary-values-wrap.is-machinery-values .values-table th:nth-child(8),
.mobiliario-primary-values-wrap.is-machinery-values .values-table td:nth-child(8) { width: 20% ; }

.mobiliario-replacement-summary .values-table th:nth-child(4),
.mobiliario-replacement-summary .values-table td:nth-child(4) { width: 22% ; }
.mobiliario-replacement-summary .values-table th:nth-child(5),
.mobiliario-replacement-summary .values-table td:nth-child(5),
.mobiliario-replacement-summary .values-table th:nth-child(6),
.mobiliario-replacement-summary .values-table td:nth-child(6),
.mobiliario-replacement-summary .values-table th:nth-child(7),
.mobiliario-replacement-summary .values-table td:nth-child(7) { width: 8% ; }
.mobiliario-replacement-summary .values-table th:nth-child(8),
.mobiliario-replacement-summary .values-table td:nth-child(8) { width: 21% ; }
.mobiliario-replacement-summary .values-table td:nth-child(5) input,
.mobiliario-replacement-summary .values-table td:nth-child(6) input {
  width: 100% ;
  min-width: 0 ;
  box-sizing: border-box ;
}

/* Ajustes finales de Maquinaria y Equipo: encabezados compactos y legibles. */
.mobiliario-primary-values-wrap.is-machinery-values table {
  table-layout: fixed ;
  width: 100% ;
}
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(1),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(1) { width: 21% ; }
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(2),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(2) { width: 10% ; }
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(3),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(3) { width: 7% ; }
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(4),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(4) { width: 13% ; }
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(5),
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(6),
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(7),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(7) { width: 9% ; }
.mobiliario-primary-values-wrap.is-machinery-values th:nth-child(8),
.mobiliario-primary-values-wrap.is-machinery-values td:nth-child(8) { width: 22% ; }
.mobiliario-primary-values-wrap.is-machinery-values th,
.mobiliario-primary-values-wrap.is-machinery-values td { padding: 6px 5px ; font-size: 0.78rem ; line-height: 1.15 ; }
.mobiliario-primary-values-wrap.is-machinery-values input { min-width: 0 ; width: 100% ; padding: 5px 4px ; font-size: 0.78rem ; }
.mobiliario-replacement-summary table { table-layout: fixed ; width: 100% ; }
.mobiliario-replacement-summary th,
.mobiliario-replacement-summary td { padding: 6px 5px ; font-size: 0.78rem ; white-space: nowrap ; }
.mobiliario-replacement-summary th:nth-child(1), .mobiliario-replacement-summary td:nth-child(1) { width: 28% ; }
.mobiliario-replacement-summary th:nth-child(2), .mobiliario-replacement-summary td:nth-child(2) { width: 9% ; }
.mobiliario-replacement-summary th:nth-child(3), .mobiliario-replacement-summary td:nth-child(3) { width: 8% ; }
.mobiliario-replacement-summary th:nth-child(4), .mobiliario-replacement-summary td:nth-child(4) { width: 22% ; }
.mobiliario-replacement-summary th:nth-child(5), .mobiliario-replacement-summary td:nth-child(5),
.mobiliario-replacement-summary th:nth-child(6), .mobiliario-replacement-summary td:nth-child(6),
.mobiliario-replacement-summary th:nth-child(7), .mobiliario-replacement-summary td:nth-child(7) { width: 9% ; }
.mobiliario-replacement-summary th:nth-child(8), .mobiliario-replacement-summary td:nth-child(8) { width: 16% ; }
.mobiliario-replacement-summary input { min-width: 0 ; width: 100% ; padding: 5px 4px ; font-size: 0.78rem ; }



/* Botón institucional maestro: reutiliza el acabado dorado del acceso principal. */
.btn-copu-primary {
  all: unset;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: auto;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border: 1px solid #e1c36a;
  border-radius: 8px;
  background: linear-gradient(135deg, #d4af37 0%, #c5a059 48%, #a77c32 100%);
  color: #17130d ;
  cursor: pointer;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .3);
  transition: background .2s ease, border-color .2s ease, color .2s ease,
    box-shadow .2s ease, transform .2s ease;
}
.btn-copu-primary:hover {
  border-color: #f0d77d;
  background: linear-gradient(135deg, #e4c55b 0%, #d4af37 100%);
  color: #111 ;
  box-shadow: 0 10px 24px rgba(139, 111, 57, .3), inset 0 1px 0 rgba(255, 255, 255, .36);
  transform: translateY(-1px);
}
.btn-copu-primary:active {
  box-shadow: 0 3px 8px rgba(60, 47, 18, .28) inset;
  transform: translateY(1px);
}
.btn-copu-primary:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 3px;
}
.btn-copu-primary:disabled,
.btn-copu-primary.is-hidden {
  cursor: not-allowed;
  opacity: .55;
  pointer-events: none;
}
/* Las acciones iconográficas conservan su formato compacto, sin alterar su icono. */
.request-icon-button.btn-copu-primary,
.record-action.btn-copu-primary,
.technical-icon-button.btn-copu-primary {
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 7px;
  font-family: inherit;
  font-size: .8rem;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .24);
}
.btn-copu-primary.is-danger {
  border-color: #ef9a9a;
  background: linear-gradient(135deg, #dc2626, #991b1b);
  color: #fff ;
}
.btn-copu-primary.is-danger:hover {
  border-color: #fecaca;
  background: linear-gradient(135deg, #ef4444, #b91c1c);
  color: #fff ;
}

/* Unificación final: la clase maestra prevalece en acciones administrativas y del portal. */
.control-shell .btn-copu-primary,
#loginScreen.applicant-dashboard-active .btn-copu-primary {
  font-family: Georgia, "Times New Roman", serif ;
  font-weight: 700 ;
}
#loginScreen.applicant-dashboard-active .client-download-button.btn-copu-primary,
#loginScreen.applicant-dashboard-active .client-save-info-button.btn-copu-primary,
#loginScreen.applicant-dashboard-active .client-outline-button.btn-copu-primary {
  background: linear-gradient(135deg, #d4af37 0%, #c5a059 48%, #a77c32 100%) ;
  border: 1px solid #e1c36a ;
  color: #17130d ;
}
#loginScreen.applicant-dashboard-active .client-download-button.btn-copu-primary:hover,
#loginScreen.applicant-dashboard-active .client-save-info-button.btn-copu-primary:hover,
#loginScreen.applicant-dashboard-active .client-outline-button.btn-copu-primary:hover {
  background: linear-gradient(135deg, #e4c55b 0%, #d4af37 100%) ;
  color: #111 ;
}

/* Corrección de contraste: el botón maestro siempre es dorado, nunca negro. */
.btn-copu-primary,
.control-shell .btn-copu-primary,
#loginScreen.applicant-dashboard-active .btn-copu-primary {
  background: linear-gradient(135deg, #b8903c 0%, #d4af37 50%, #e5c158 100%) ;
  border: 1px solid #e5c158 ;
  color: #1a1a1a ;
  box-shadow: 0 7px 16px rgba(120, 86, 20, .22), inset 0 1px 0 rgba(255, 255, 255, .4) ;
  text-shadow: none ;
}
.btn-copu-primary:hover,
.control-shell .btn-copu-primary:hover,
#loginScreen.applicant-dashboard-active .btn-copu-primary:hover {
  background: linear-gradient(135deg, #d4af37 0%, #e5c158 52%, #f1d77a 100%) ;
  border-color: #f1d77a ;
  color: #111111 ;
  box-shadow: 0 10px 22px rgba(139, 111, 57, .32), inset 0 1px 0 rgba(255, 255, 255, .5) ;
}
.btn-copu-primary:active,
.control-shell .btn-copu-primary:active,
#loginScreen.applicant-dashboard-active .btn-copu-primary:active {
  background: linear-gradient(135deg, #a77c32 0%, #c5a059 52%, #d4af37 100%) ;
  color: #111111 ;
  box-shadow: 0 3px 8px rgba(80, 53, 9, .28) inset ;
}
/* Mantener rojo únicamente en acciones destructivas, sin fondos negros. */
.btn-copu-primary.is-danger,
.control-shell .btn-copu-primary.is-danger {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) ;
  border-color: #ef9a9a ;
  color: #ffffff ;
}

/* Header administrativo: usuario a la izquierda, navegación al centro y búsqueda a la derecha. */
#appShell.control-shell > .app-sidebar {
  display: grid ;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) ;
  align-items: center ;
  width: 100% ;
  min-height: 72px ;
  height: 72px ;
  padding: 0 18px ;
  box-sizing: border-box ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  grid-column: 1 ;
  grid-row: 1 ;
  justify-self: start ;
  width: max-content ;
  max-width: 100% ;
  min-width: 0 ;
  margin: 0 ;
  order: initial ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  grid-column: 2 ;
  grid-row: 1 ;
  justify-self: center ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  flex: 0 0 auto ;
  width: max-content ;
  max-width: calc(100vw - 560px) ;
  min-width: 0 ;
  margin: 0 ;
  padding: 4px 8px ;
  overflow-x: auto ;
  overflow-y: visible ;
  order: initial ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools {
  grid-column: 3 ;
  grid-row: 1 ;
  justify-self: end ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  width: max-content ;
  max-width: 100% ;
  min-width: 0 ;
  margin: 0 ;
  order: initial ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools .global-search-wrap {
  width: min(260px, 24vw) ;
  min-width: 150px ;
  margin: 0 ;
}
/* La información del usuario permanece agrupada y pegada al lado izquierdo. */
#appShell.control-shell > .app-sidebar .header-tools {
  display: flex ;
  align-items: center ;
  justify-content: flex-start ;
  gap: 12px ;
  width: max-content ;
  max-width: 100% ;
  margin: 0 ;
}
#appShell.control-shell > .app-sidebar .sidebar-account { order: 2 ; }
#appShell.control-shell > .app-sidebar #alertsButton { order: 3 ; }
#appShell.control-shell > .app-sidebar .profile-menu-wrap { order: 1 ; }
#appShell.control-shell > .app-sidebar .sidebar-account-copy {
  align-items: flex-start ;
  text-align: left ;
}
#appShell.control-shell > .app-sidebar .active-user,
#appShell.control-shell > .app-sidebar .active-user-role,
#appShell.control-shell > .app-sidebar .sidebar-online {
  text-align: left ;
  white-space: nowrap ;
}
/* Navegación central: activo sólido dorado; inactivos transparentes con borde dorado. */
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link {
  background: transparent ;
  border: 1px solid rgba(197, 160, 89, .78) ;
  border-radius: 8px ;
  color: #f4e8c9 ;
  font-weight: 700 ;
  margin: 0 3px ;
  padding: 7px 11px ;
  white-space: nowrap ;
  box-shadow: none ;
  transform: none ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link:hover,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link:hover,
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link.is-active,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link.is-active {
  background: #b8903c ;
  border-color: #e5c158 ;
  color: #1a1a1a ;
  box-shadow: 0 5px 12px rgba(120, 86, 20, .24) ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link span,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link span {
  color: inherit ;
}
/* Variante secundaria para controles; acciones primarias permanecen en dorado sólido. */
#appShell.control-shell .secondary-button.btn-copu-primary,
#appShell.control-shell .subtle-action-button.btn-copu-primary,
#appShell.control-shell .back-to-users.btn-copu-primary,
#appShell.control-shell .back-to-avaluos.btn-copu-primary {
  background: transparent ;
  border: 1px solid rgba(197, 160, 89, .82) ;
  color: #f4e8c9 ;
  box-shadow: none ;
}
#appShell.control-shell .secondary-button.btn-copu-primary:hover,
#appShell.control-shell .subtle-action-button.btn-copu-primary:hover,
#appShell.control-shell .back-to-users.btn-copu-primary:hover,
#appShell.control-shell .back-to-avaluos.btn-copu-primary:hover {
  background: #b8903c ;
  border-color: #e5c158 ;
  color: #1a1a1a ;
  box-shadow: 0 7px 16px rgba(120, 86, 20, .22) ;
}
#appShell.control-shell #newRecordButton.btn-copu-primary,
#appShell.control-shell #newTechnicalAppraisalButton.btn-copu-primary,
#appShell.control-shell #newInternalRequestButton.btn-copu-primary,
#appShell.control-shell #generateInlineReportButton.btn-copu-primary,
#appShell.control-shell #exportCsvSettingsButton.btn-copu-primary,
#appShell.control-shell #importDataButton.btn-copu-primary {
  background: linear-gradient(135deg, #b8903c 0%, #d4af37 50%, #e5c158 100%) ;
  border-color: #e5c158 ;
  color: #1a1a1a ;
}
@media (max-width: 1050px) {
  #appShell.control-shell > .app-sidebar > .sidebar-nav,
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule { max-width: 46vw ; }
  #appShell.control-shell > .app-sidebar > .header-left-tools .global-search-wrap { width: min(220px, 22vw) ; }
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar {
    grid-template-columns: minmax(0, 1fr) auto ;
    grid-template-rows: auto auto ;
    height: auto ;
    min-height: 86px ;
    row-gap: 7px ;
    padding: 8px 12px ;
  }
  #appShell.control-shell > .app-sidebar > .sidebar-footer { grid-column: 1 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .header-left-tools { grid-column: 2 ; grid-row: 1 ; }
  #appShell.control-shell > .app-sidebar > .sidebar-nav,
  #appShell.control-shell > .app-sidebar > .floating-nav-capsule {
    grid-column: 1 / -1 ;
    grid-row: 2 ;
    justify-self: center ;
    max-width: 100% ;
  }
  #appShell.control-shell > .app-sidebar > .header-left-tools .global-search-wrap { width: min(210px, 44vw) ; }
  #appShell.control-shell > .app-sidebar .sidebar-account-copy { display: none ; }
}


/* Ajustes finales solicitados: header administrativo y marca del portal solicitante. */
#appShell.control-shell > .app-sidebar > .sidebar-footer {
  padding-left: 20px ;
  box-sizing: border-box ;
}
#appShell.control-shell > .app-sidebar .profile-menu-wrap {
  position: relative ;
}
#appShell.control-shell > .app-sidebar .profile-menu {
  position: absolute ;
  top: calc(100% + 8px) ;
  left: 0 ;
  right: auto ;
  z-index: 9999 ;
  overflow: visible ;
}
/* La navegación no queda dentro de una caja común; cada pestaña es independiente. */
#appShell.control-shell > .app-sidebar > .sidebar-nav,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  background: transparent ;
  border: none ;
  box-shadow: none ;
  outline: none ;
  height: 38px ;
  min-height: 38px ;
  padding: 0 ;
  gap: 6px ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link {
  height: 38px ;
  min-height: 38px ;
  padding: 6px 14px ;
  margin: 0 ;
  box-sizing: border-box ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
}
/* Marca compacta del portal solicitante. */
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-brand strong {
  color: #f4e8c9 ;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif ;
  font-size: 1.45rem ;
  font-weight: 700 ;
  letter-spacing: .08em ;
  text-transform: uppercase ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-brand span {
  color: #d4af37 ;
  font-family: Inter, 'Segoe UI', sans-serif ;
  font-size: .62rem ;
  letter-spacing: .22em ;
}

/* Tema grafito institucional: lienzo oscuro y bloques administrativos claros */
body:has(#appShell:not(.is-hidden)),
#appShell,
#appShell .app-shell,
#appShell .app-workspace,
#appShell .main-content,
#appShell .dashboard-container {
  background: #1e1f23 ;
}

#appShell .app-workspace,
#appShell .main-content,
#appShell main,
#appShell .view-container,
#appShell .app-view {
  color: #f8fafc ;
}

/* Tarjetas y paneles: blanco puro sobre el lienzo grafito */
#appShell .card,
#appShell .panel,
#appShell .section-card,
#appShell .table-card,
#appShell .form-card,
#appShell .data-card,
#appShell .module-card,
#appShell .welcome-card,
#appShell .action-card,
#appShell .tasks-card,
#appShell .setting-card,
#appShell .inline-panel,
#appShell .request-table-wrap,
#appShell .table-responsive,
#appShell .table-container,
#appShell .form-section,
#appShell .technical-form-card,
#appShell .technical-editor-card,
#appShell .workspace-card {
  background: #ffffff ;
  color: #1a1a1a ;
  border-color: #d4af37 ;
  border-radius: 12px ;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.30) ;
}

#appShell .card h1,
#appShell .card h2,
#appShell .card h3,
#appShell .card h4,
#appShell .panel h1,
#appShell .panel h2,
#appShell .panel h3,
#appShell .panel h4,
#appShell .section-card h1,
#appShell .section-card h2,
#appShell .section-card h3,
#appShell .section-card h4,
#appShell .table-card h1,
#appShell .table-card h2,
#appShell .table-card h3,
#appShell .table-card h4,
#appShell .form-card h1,
#appShell .form-card h2,
#appShell .form-card h3,
#appShell .form-card h4,
#appShell .inline-panel h1,
#appShell .inline-panel h2,
#appShell .inline-panel h3,
#appShell .inline-panel h4,
#appShell .welcome-card h1,
#appShell .welcome-card h2,
#appShell .welcome-card h3,
#appShell .welcome-card h4 {
  color: #1a1a1a ;
}

#appShell .card p,
#appShell .panel p,
#appShell .section-card p,
#appShell .table-card p,
#appShell .form-card p,
#appShell .inline-panel p,
#appShell .welcome-card p,
#appShell .setting-card p,
#appShell .card label,
#appShell .panel label,
#appShell .form-card label,
#appShell .inline-panel label {
  color: #334155 ;
}

/* Tablas y formularios quedan contenidos en tarjetas blancas */
#appShell table,
#appShell thead,
#appShell tbody,
#appShell tr,
#appShell td,
#appShell th {
  color: #1a1a1a ;
}

#appShell table {
  background: #ffffff ;
}

#appShell thead,
#appShell th {
  background: #f1f5f9 ;
  color: #334155 ;
}

#appShell tbody,
#appShell tbody tr,
#appShell tbody td {
  background: #ffffff ;
  border-color: #e2e8f0 ;
}

#appShell input,
#appShell select,
#appShell textarea {
  background: #ffffff ;
  color: #1a1a1a ;
  border-color: #cbd5e1 ;
}

#appShell input::placeholder,
#appShell textarea::placeholder {
  color: #64748b ;
}

/* Marca y navegación: botones independientes sobre la barra negra */
#appShell .floating-nav-capsule,
#appShell .sidebar-nav,
#appShell .nav-pills,
#appShell .navbar-capsule {
  background: transparent ;
  border: none ;
  box-shadow: none ;
}

#appShell .floating-nav-capsule a,
#appShell .floating-nav-capsule button,
#appShell .sidebar-nav a,
#appShell .sidebar-nav button,
#appShell .nav-pills a,
#appShell .nav-pills button,
#appShell .navbar-capsule a,
#appShell .navbar-capsule button {
  background: transparent ;
  border: 1px solid transparent ;
  color: #ffffff ;
  height: 38px ;
  min-height: 38px ;
  padding: 8px 16px ;
  border-radius: 8px ;
  font-weight: 600 ;
}

#appShell .floating-nav-capsule a:hover,
#appShell .floating-nav-capsule button:hover,
#appShell .sidebar-nav a:hover,
#appShell .sidebar-nav button:hover,
#appShell .nav-pills a:hover,
#appShell .nav-pills button:hover,
#appShell .navbar-capsule a:hover,
#appShell .navbar-capsule button:hover {
  background: rgba(212, 175, 55, 0.22) ;
  border-color: #c5a059 ;
  color: #ffffff ;
}

#appShell .floating-nav-capsule .active,
#appShell .floating-nav-capsule [aria-current="page"],
#appShell .sidebar-nav .active,
#appShell .sidebar-nav [aria-current="page"],
#appShell .nav-pills .active,
#appShell .nav-pills [aria-current="page"],
#appShell .navbar-capsule .active,
#appShell .navbar-capsule [aria-current="page"] {
  background: #b8903c ;
  border-color: #d4af37 ;
  color: #ffffff ;
}

#appShell .floating-nav-capsule .active *,
#appShell .sidebar-nav .active *,
#appShell .nav-pills .active *,
#appShell .navbar-capsule .active * {
  color: #ffffff ;
}

#appShell .header-brand,
#appShell .brand-title,
#appShell .client-brand,
#appShell .institution-name {
  color: #ffffff ;
}

/* Únicamente las acciones de regreso llevan texto negro */
#appShell .back-to-users,
#appShell .back-to-avaluos,
#appShell .back-to-home,
#appShell .back-button,
#appShell .return-button,
#appShell [data-users-back],
#appShell [data-back],
#appShell [data-action="back"] {
  color: #000000 ;
}

#appShell .back-to-users *,
#appShell .back-to-avaluos *,
#appShell .back-to-home *,
#appShell .back-button *,
#appShell .return-button *,
#appShell [data-users-back] *,
#appShell [data-back] *,
#appShell [data-action="back"] * {
  color: #000000 ;
}

@media (max-width: 900px) {
  #appShell .floating-nav-capsule,
  #appShell .sidebar-nav,
  #appShell .nav-pills,
  #appShell .navbar-capsule {
    flex-wrap: wrap ;
    justify-content: center ;
  }

  #appShell .floating-nav-capsule a,
  #appShell .floating-nav-capsule button,
  #appShell .sidebar-nav a,
  #appShell .sidebar-nav button,
  #appShell .nav-pills a,
  #appShell .nav-pills button,
  #appShell .navbar-capsule a,
  #appShell .navbar-capsule button {
    padding-inline: 10px ;
  }
}

/* Fondo gris radial fijo para el área principal de la aplicación */
body:has(#appShell:not(.is-hidden)),
#appShell,
#appShell .app-shell,
#appShell .app-workspace,
#appShell .main-content,
#appShell main,
#appShell .dashboard-container {
  background: radial-gradient(circle at center, #dcdcd6 0%, #a2a2a2 60%, #7d7d7d 100%) ;
  background-attachment: fixed ;
  background-size: cover ;
  background-repeat: no-repeat ;
}

#appShell {
  min-height: 100vh ;
}

/* Tarjetas, tablas y formularios blancos sobre el lienzo gris */
#appShell .card,
#appShell .panel,
#appShell .section-card,
#appShell .table-card,
#appShell .form-card,
#appShell .data-card,
#appShell .module-card,
#appShell .welcome-card,
#appShell .action-card,
#appShell .tasks-card,
#appShell .setting-card,
#appShell .inline-panel,
#appShell .request-table-wrap,
#appShell .table-responsive,
#appShell .table-container,
#appShell .form-section,
#appShell .technical-form-card,
#appShell .technical-editor-card,
#appShell .workspace-card {
  background: #ffffff ;
  color: #1a1a1a ;
  border: 1px solid #d4af37 ;
  border-radius: 12px ;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) ;
}

#appShell table,
#appShell thead,
#appShell tbody,
#appShell tr,
#appShell td,
#appShell th {
  color: #1a1a1a ;
}

#appShell table,
#appShell tbody,
#appShell tbody tr,
#appShell tbody td {
  background: #ffffff ;
}

#appShell thead,
#appShell th {
  background: #f1f5f9 ;
  color: #334155 ;
}

#appShell input,
#appShell select,
#appShell textarea {
  background: #ffffff ;
  color: #1a1a1a ;
  border-color: #cbd5e1 ;
}

#appShell .card h1,
#appShell .card h2,
#appShell .card h3,
#appShell .card h4,
#appShell .panel h1,
#appShell .panel h2,
#appShell .panel h3,
#appShell .panel h4,
#appShell .section-card h1,
#appShell .section-card h2,
#appShell .section-card h3,
#appShell .section-card h4,
#appShell .table-card h1,
#appShell .table-card h2,
#appShell .table-card h3,
#appShell .table-card h4,
#appShell .form-card h1,
#appShell .form-card h2,
#appShell .form-card h3,
#appShell .form-card h4,
#appShell .inline-panel h1,
#appShell .inline-panel h2,
#appShell .inline-panel h3,
#appShell .inline-panel h4,
#appShell .welcome-card h1,
#appShell .welcome-card h2,
#appShell .welcome-card h3,
#appShell .welcome-card h4 {
  color: #1a1a1a ;
}

#appShell .card p,
#appShell .panel p,
#appShell .section-card p,
#appShell .table-card p,
#appShell .form-card p,
#appShell .inline-panel p,
#appShell .welcome-card p,
#appShell .setting-card p,
#appShell .card label,
#appShell .panel label,
#appShell .form-card label,
#appShell .inline-panel label {
  color: #1a1a1a ;
}

/* La marca CP6 y las pestañas superiores permanecen blancas */
#appShell .header-brand,
#appShell .brand-title,
#appShell .client-brand,
#appShell .institution-name,
#appShell .floating-nav-capsule a,
#appShell .floating-nav-capsule button,
#appShell .sidebar-nav a,
#appShell .sidebar-nav button,
#appShell .nav-pills a,
#appShell .nav-pills button,
#appShell .navbar-capsule a,
#appShell .navbar-capsule button {
  color: #ffffff ;
}

/* Sólo Volver/Regresar usa texto negro */
#appShell .back-to-users,
#appShell .back-to-avaluos,
#appShell .back-to-home,
#appShell .back-button,
#appShell .return-button,
#appShell [data-users-back],
#appShell [data-back],
#appShell [data-action="back"] {
  color: #000000 ;
}

#appShell .back-to-users *,
#appShell .back-to-avaluos *,
#appShell .back-to-home *,
#appShell .back-button *,
#appShell .return-button *,
#appShell [data-users-back] *,
#appShell [data-back] *,
#appShell [data-action="back"] * {
  color: #000000 ;
}

/* Cierre visual CP6 — fondo radial consistente, portal y tarjetas administrativas */
:root {
  --cp6-gold-start: #b8903c;
  --cp6-gold-mid: #d4af37;
  --cp6-gold-end: #e5c158;
  --cp6-radial-bg: radial-gradient(circle at 50% 0%, #dcdcd6 0%, #a2a2a2 60%, #7d7d7d 100%);
}

/* El lienzo gris queda fijo también durante el portal del solicitante. */
body,
#loginScreen.applicant-dashboard-active,
#loginScreen.applicant-dashboard-active .public-entry-panel,
#loginScreen.applicant-dashboard-active .applicant-home-panel {
  background: var(--cp6-radial-bg) ;
  background-attachment: fixed ;
  background-size: cover ;
  background-repeat: no-repeat ;
}
#loginScreen.applicant-dashboard-active .applicant-home-panel {
  color: #1a1a1a ;
  min-height: 100vh ;
}

/* Tarjetas principales con blanco limpio y sombra suave. */
#appShell .avaluos-choice-card,
#appShell .home-action-card,
#appShell .welcome-card,
#appShell .dashboard-tabs,
#appShell .search-panel,
#appShell .technical-list-panel,
#appShell .development-card,
#appShell .solicitudes-view > .request-table-wrap {
  background: #fff ;
  border: 1px solid #e0e0e0 ;
  border-radius: 12px ;
  box-shadow: 0 8px 20px rgba(0,0,0,.15) ;
}
#appShell .avaluos-choice-card {
  align-items: flex-start ;
  border-left: 1px solid #e0e0e0 ;
  color: #1a1a1a ;
  display: grid ;
  gap: 14px ;
  grid-template-columns: 42px minmax(0, 1fr) auto ;
  min-height: 126px ;
  padding: 20px ;
  text-align: left ;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease ;
}
#appShell .avaluos-choice-card:hover {
  border-color: rgba(197,160,89,.75) ;
  box-shadow: 0 14px 28px rgba(0,0,0,.2) ;
  transform: translateY(-4px) ;
}
#appShell .avaluos-choice-icon {
  align-items: center ;
  background: #f7f0df ;
  border: 1px solid #ead7a8 ;
  border-radius: 11px ;
  color: #8b6f39 ;
  display: inline-flex ;
  height: 42px ;
  justify-content: center ;
  width: 42px ;
}
#appShell .avaluos-choice-icon svg { height: 23px ; stroke: currentColor ; width: 23px ; }
#appShell .avaluos-choice-copy strong { color: #1a1a1a ; font-family: Georgia, 'Times New Roman', serif ; }
#appShell .avaluos-choice-copy small { color: #555 ; }
#appShell .avaluos-choice-arrow { align-self: end ; color: #8b6f39 ; font-size: 1.25rem ; }

/* El botón de servicio replica el degradado dorado institucional del login y queda a la derecha. */
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-intro-actions {
  align-items: center ;
  justify-content: flex-end ;
  margin: 22px auto 18px ;
  max-width: 1240px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button {
  align-items: center ;
  background: linear-gradient(135deg, var(--cp6-gold-start) 0%, var(--cp6-gold-mid) 50%, var(--cp6-gold-end) 100%) ;
  border: 1px solid var(--cp6-gold-end) ;
  border-radius: 8px ;
  box-shadow: 0 7px 16px rgba(120,86,20,.22), inset 0 1px 0 rgba(255,255,255,.4) ;
  color: #1a1a1a ;
  display: inline-flex ;
  font-family: Georgia, 'Times New Roman', serif ;
  font-weight: 700 ;
  justify-content: center ;
  min-height: 42px ;
  padding: 10px 20px ;
  text-align: center ;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button:hover {
  background: linear-gradient(135deg, #d4af37 0%, #e5c158 52%, #f1d77a 100%) ;
  box-shadow: 0 10px 22px rgba(139,111,57,.32), inset 0 1px 0 rgba(255,255,255,.5) ;
  color: #111 ;
  transform: translateY(-1px) ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button:active { transform: translateY(1px) ; }

/* Menús desplegables sin recorte y sólo debajo de su avatar. */
#appShell.control-shell > .app-sidebar { overflow: visible ; }
#appShell .profile-menu-wrap { position: relative ; }
#appShell .profile-menu-wrap .profile-menu {
  left: 0 ;
  right: auto ;
  top: calc(100% + 8px) ;
  z-index: 9999 ;
}
/* Regresar/Volver conserva texto negro sobre el dorado. */
#appShell #backAvaluosButton,
#appShell #backRequestsToAvaluosButton,
#appShell #backAvaluosButton *,
#appShell #backRequestsToAvaluosButton * { color: #000 ; }

@media (max-width: 700px) {
  #appShell .avaluos-choice-card { grid-template-columns: 38px minmax(0,1fr) auto ; padding: 16px ; }
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-dashboard-intro-actions { justify-content: stretch ; }
  #loginScreen.applicant-dashboard-active #applicantHomePanel .client-primary-button { width: 100% ; }
}

/* Ajustes solicitados — navegación, formularios técnicos y fondo global */
/* El lienzo radial se mantiene para cualquier sesión: administrador, valuador, auditor,
   editor, auxiliar o solicitante. Las tarjetas internas siguen siendo blancas. */
html,
body,
#appShell,
#appShell .app-shell,
#appShell .app-workspace,
#appShell .main-content,
#appShell main,
#appShell .dashboard-container,
#loginScreen,
#loginScreen .public-entry-panel,
#loginScreen .applicant-home-panel {
  background: radial-gradient(circle, #dcdcd6 0%, #a2a2a2 60%, #7d7d7d 100%) ;
  background-attachment: fixed ;
  background-size: cover ;
  background-repeat: no-repeat ;
}

/* La vista de selección de Avalúos se presenta como lista vertical centrada. */
#appShell .avaluos-choice-grid {
  align-items: center ;
  display: grid ;
  gap: 1.25rem ;
  grid-template-columns: minmax(0, 500px) ;
  justify-content: center ;
  margin: 0 auto ;
  width: 100% ;
}
#appShell .avaluos-choice-card {
  box-sizing: border-box ;
  max-width: 500px ;
  width: 100% ;
}

/* Guardar y continuar usa exactamente el mismo tratamiento dorado que Crear avalúo. */
#appShell .technical-step-save.btn-copu-primary,
#appShell .mobiliario-save.btn-copu-primary,
#appShell .technical-actions .btn-copu-primary,
#appShell .technical-step-actions .btn-copu-primary,
#appShell .mobiliario-step-actions .btn-copu-primary {
  background: linear-gradient(135deg, #b8903c 0%, #d4af37 50%, #e5c158 100%) ;
  border: 1px solid #e5c158 ;
  border-radius: 8px ;
  box-shadow: 0 7px 16px rgba(120,86,20,.22), inset 0 1px 0 rgba(255,255,255,.4) ;
  color: #1a1a1a ;
  font-family: Georgia, 'Times New Roman', serif ;
  font-weight: 700 ;
}
#appShell .technical-step-save.btn-copu-primary:hover,
#appShell .mobiliario-save.btn-copu-primary:hover,
#appShell .technical-actions .btn-copu-primary:hover,
#appShell .technical-step-actions .btn-copu-primary:hover,
#appShell .mobiliario-step-actions .btn-copu-primary:hover {
  background: linear-gradient(135deg, #d4af37 0%, #e5c158 52%, #f1d77a 100%) ;
  border-color: #f1d77a ;
  color: #111 ;
  transform: translateY(-1px) ;
}

/* Navegación superior: un poco más amplia, sin negrita pesada. */
#appShell.control-shell > .app-sidebar > .sidebar-nav .sidebar-link,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule .sidebar-link {
  font-size: .92rem ;
  font-weight: 400 ;
  height: 42px ;
  min-height: 42px ;
  padding: 8px 17px ;
}
#appShell.control-shell > .app-sidebar > .sidebar-nav,
#appShell.control-shell > .app-sidebar > .floating-nav-capsule {
  height: 42px ;
  min-height: 42px ;
}

@media (max-width: 900px) {
  #appShell .avaluos-choice-grid { grid-template-columns: minmax(0, 500px) ; }
}
@media (max-width: 560px) {
  #appShell .avaluos-choice-grid { grid-template-columns: minmax(0, 1fr) ; padding-inline: 10px ; }
  #appShell .avaluos-choice-card { max-width: none ; }
}

/* Ajustes 2026-10-03: Avalúos en dos columnas y listados con búsqueda/filtro/paginación. */
#appShell .avaluos-choice-grid {
  align-items: stretch ;
  display: grid ;
  gap: 18px ;
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  justify-content: center ;
  margin: 0 auto ;
  max-width: 1040px ;
  width: 100% ;
}
#appShell .avaluos-choice-card {
  max-width: none ;
  width: 100% ;
}
#appShell .technical-search-panel .search-row {
  display: grid ;
  gap: 12px ;
  grid-template-columns: minmax(0, 1fr) 220px ;
}
#appShell .technical-search-panel .search-row input,
#appShell .technical-search-panel .search-row select {
  box-sizing: border-box ;
  min-height: 48px ;
  width: 100% ;
}
#appShell .technical-search-panel .search-row select {
  background: #fff ;
  border: 1px solid #cbd8df ;
  border-radius: 11px ;
  color: #202124 ;
  padding: 0 10px ;
}
.table-pagination {
  align-items: center;
  background: #fff;
  border-top: 1px solid #e2e8f0;
  color: #64748b;
  display: flex;
  font-size: .78rem;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 14px;
}
.table-pagination > div { align-items: center; display: flex; gap: 4px; }
.table-page-button {
  align-items: center;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #334155;
  cursor: pointer;
  display: inline-flex;
  font-size: .78rem;
  height: 30px;
  justify-content: center;
  min-width: 30px;
  padding: 0 7px;
}
.table-page-button:hover:not(:disabled) { background: #f1f5f9; border-color: #94a3b8; }
.table-page-button.is-active { background: #b8903c; border-color: #b8903c; color: #111827; font-weight: 700; }
.table-page-button:disabled { cursor: not-allowed; opacity: .45; }
@media (max-width: 760px) {
  #appShell .avaluos-choice-grid { grid-template-columns: 1fr ; }
  #appShell .technical-search-panel .search-row { grid-template-columns: 1fr ; }
  .table-pagination { align-items: flex-start; flex-direction: column; }
}

/* Ajustes 2026-10-03: solicitudes a 12 por hoja, filtros compactos y formulario de Recepción en una línea. */
#appShell .technical-search-panel .search-row {
  align-items: center ;
  grid-template-columns: minmax(360px, 470px) 220px ;
  justify-content: start ;
  max-width: 710px ;
}
#appShell .technical-search-panel .search-row input { min-width: 0 ; }
#appShell .record-primary-fields {
  gap: 10px ;
  grid-template-columns: 90px 135px minmax(0, 1fr) minmax(0, 1fr) ;
}
#appShell .record-primary-fields input,
#appShell .record-primary-fields select,
#appShell .record-secondary-fields input,
#appShell .record-secondary-fields select { min-width: 0 ; width: 100% ; }
#appShell .record-secondary-fields {
  gap: 10px ;
  grid-template-columns: minmax(180px, 1.15fr) minmax(180px, 1.15fr) minmax(120px, .7fr) ;
}
#appShell .record-secondary-fields label { min-width: 0 ; }
#appShell .request-table-pagination { margin-top: 0 ; }
@media (max-width: 900px) {
  #appShell .record-primary-fields { grid-template-columns: 90px 135px minmax(0, 1fr) minmax(0, 1fr) ; }
  #appShell .record-secondary-fields { grid-template-columns: repeat(3, minmax(0, 1fr)) ; }
}
@media (max-width: 700px) {
  #appShell .technical-search-panel .search-row { grid-template-columns: 1fr ; max-width: 100% ; }
  #appShell .record-primary-fields,
  #appShell .record-secondary-fields { grid-template-columns: 1fr ; }
}

/* Ajustes 2026-10-03: Recepción y Gestión comparten la barra de Solicitudes. */
#appShell .request-style-filter-panel,
#appShell .technical-search-panel {
  background: transparent ;
  border: 0 ;
  border-radius: 0 ;
  box-shadow: none ;
  margin: 0 0 18px ;
  padding: 0 ;
}
#appShell .request-style-filter-panel .search-row,
#appShell .technical-search-panel .search-row {
  align-items: center ;
  display: grid ;
  gap: 12px ;
  grid-template-columns: minmax(0, 1fr) 220px ;
  justify-content: stretch ;
  max-width: none ;
  width: 100% ;
}
#appShell .request-style-filter-panel .search-row input,
#appShell .request-style-filter-panel .search-row select,
#appShell .technical-search-panel .search-row input,
#appShell .technical-search-panel .search-row select {
  box-sizing: border-box ;
  min-height: 48px ;
  width: 100% ;
}
#appShell .request-style-filter-panel .search-row input,
#appShell .technical-search-panel .search-row input {
  background: #fff ;
  border: 1px solid #d4d9dc ;
  border-radius: 3px ;
  color: #263238 ;
  font-family: Georgia, "Times New Roman", serif ;
  padding: 0 14px ;
}
#appShell .request-style-filter-panel .search-row select,
#appShell .technical-search-panel .search-row select {
  appearance: auto ;
  background: #fff ;
  border: 1px solid #d4d9dc ;
  border-radius: 3px ;
  color: #263238 ;
  font-family: Georgia, "Times New Roman", serif ;
  padding: 0 10px ;
}
#appShell .record-primary-fields {
  grid-template-columns: 78px 112px minmax(0, 1fr) minmax(0, 1fr) ;
}
#appShell .record-primary-fields label:nth-child(3),
#appShell .record-primary-fields label:nth-child(4) { min-width: 0 ; }
@media (max-width: 700px) {
  #appShell .request-style-filter-panel .search-row,
  #appShell .technical-search-panel .search-row { grid-template-columns: 1fr ; }
  #appShell .record-primary-fields { grid-template-columns: 1fr ; }
}

/* Corrección Recepción: el contador acompaña al buscador sin ocupar otra columna. */
#appShell .reception-search-input-wrap {
  min-width: 0;
  position: relative;
  width: 100%;
}
#appShell .reception-search-input-wrap input { width: 100% ; }
#appShell .reception-search-input-wrap .filtered-count {
  color: #64748b ;
  display: block ;
  font-size: .72rem ;
  line-height: 1 ;
  margin: 4px 2px 0 ;
  min-height: 0 ;
  text-align: right ;
}
#appShell #recepcionAvaluosSection[hidden] { display: none ; }

/* Gestión de Avalúos: barra externa con buscador compacto y filtro más amplio, igual que Solicitudes. */
#appShell .technical-search-panel {
  margin-bottom: 22px ;
}
#appShell .technical-search-panel .search-topline {
  display: none ;
}
#appShell .technical-search-panel .search-row {
  grid-template-columns: minmax(360px, 620px) minmax(260px, 300px) ;
  justify-content: start ;
  max-width: none ;
  width: 100% ;
}
#appShell .technical-search-panel .search-row select {
  min-width: 260px ;
}
#appShell .request-style-filter-panel .reception-search-input-wrap .filtered-count {
  display: none ;
}
@media (max-width: 760px) {
  #appShell .technical-search-panel .search-row {
    grid-template-columns: 1fr ;
  }
  #appShell .technical-search-panel .search-row select {
    min-width: 0 ;
  }
}

/* Gestión: la barra de búsqueda vive fuera de la tarjeta blanca de Expedientes técnicos. */
#appShell #crearAvaluoSection > .technical-search-panel {
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  margin: 0 auto 22px ;
  max-width: none ;
  padding: 0 ;
  width: 100% ;
}
#appShell #crearAvaluoSection > #technicalListPanel {
  background: #fff ;
  border: 1px solid #e0e0e0 ;
  border-radius: 12px ;
  box-shadow: 0 8px 20px rgba(0,0,0,.15) ;
  margin: 0 auto ;
  max-width: none ;
  padding: 0 ;
  width: 100% ;
}
#appShell #crearAvaluoSection > .technical-search-panel .search-row {
  margin: 0 ;
  width: 100% ;
}
#appShell #crearAvaluoSection > #technicalListPanel .dashboard-tabs {
  border: 0 ;
  border-radius: 12px ;
  box-shadow: none ;
  margin: 0 ;
}

/* Centro de notificaciones persistente junto al buscador. */
#appShell.control-shell > .app-sidebar > .header-left-tools {
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 10px ;
  overflow: visible ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button {
  position: relative ;
  flex: 0 0 32px ;
  width: 32px ;
  min-width: 32px ;
  height: 32px ;
  padding: 5px ;
  border: 0 ;
  border-radius: 8px ;
  background: transparent ;
  color: #fff ;
  box-shadow: none ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button:hover {
  background: rgba(255,255,255,.14) ;
  color: #fff ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button .bell-icon,
#appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button .bell-icon svg {
  display: block ;
  width: 22px ;
  height: 22px ;
  fill: none ;
  stroke: currentColor ;
  stroke-width: 1.8 ;
  stroke-linecap: round ;
  stroke-linejoin: round ;
}
#appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button:hover .bell-icon svg { fill: #fff ; }
#appShell.control-shell > .app-sidebar > .header-left-tools #alertsCount:not([hidden]) {
  display: inline-flex ;
  position: absolute ;
  top: -5px ;
  right: -5px ;
  min-width: 16px ;
  height: 16px ;
  align-items: center ;
  justify-content: center ;
  padding: 0 4px ;
  border-radius: 999px ;
  background: #dc2626 ;
  color: #fff ;
  font: 700 10px/1 system-ui, sans-serif ;
}
.alerts-panel .alert-item {
  width: 100% ;
  margin: 0 ;
  border: 0 ;
  border-bottom: 1px solid #f1f5f9 ;
  background: transparent ;
  color: inherit ;
  cursor: pointer ;
  text-align: left ;
}
.alerts-panel .alert-item:hover { background: #f8fafc ; }
.alerts-panel .alert-item.is-read { opacity: .62 ; }
.alerts-panel .alert-item strong { color: #1e293b ; }
.alerts-panel .alert-item small { color: #64748b ; }
@media (max-width: 760px) {
  #appShell.control-shell > .app-sidebar > .header-left-tools { gap: 6px ; }
  #appShell.control-shell > .app-sidebar > .header-left-tools .header-alerts-button { flex-basis: 28px ; width: 28px ; min-width: 28px ; }
}

/* Portal externo: lienzo radial CP6 y centro de notificaciones del solicitante. */
#loginScreen.applicant-dashboard-active,
#loginScreen.applicant-dashboard-active .applicant-home-panel,
#loginScreen.applicant-dashboard-active .client-dashboard-header {
  background: radial-gradient(circle, #dcdcd6 0%, #a2a2a2 60%, #7d7d7d 100%) ;
  background-attachment: fixed ;
  background-size: cover ;
}
#loginScreen.applicant-dashboard-active .applicant-home-panel {
  min-height: 100vh ;
  color: #1a1a1a ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-header {
  position: relative ;
  background: #111827 ;
  border-bottom: 2px solid #c5a059 ;
  box-shadow: 0 8px 24px rgba(15,23,42,.18) ;
}
#loginScreen.applicant-dashboard-active .client-header-actions {
  position: relative ;
  display: flex ;
  align-items: center ;
  gap: 12px ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-button {
  position: relative ;
  display: inline-grid ;
  place-items: center ;
  width: 34px ;
  height: 34px ;
  padding: 6px ;
  border: 1px solid rgba(255,255,255,.72) ;
  border-radius: 9px ;
  background: transparent ;
  color: #fff ;
  cursor: pointer ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-button:hover {
  background: #fff ;
  color: #111827 ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-button svg {
  width: 21px ;
  height: 21px ;
  fill: none ;
  stroke: currentColor ;
  stroke-linecap: round ;
  stroke-linejoin: round ;
  stroke-width: 1.8 ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-button b {
  position: absolute ;
  top: -6px ;
  right: -6px ;
  display: inline-grid ;
  place-items: center ;
  min-width: 17px ;
  height: 17px ;
  padding: 0 4px ;
  border-radius: 999px ;
  background: #dc2626 ;
  color: #fff ;
  font: 700 10px/1 system-ui, sans-serif ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-panel {
  position: absolute ;
  top: calc(100% + 10px) ;
  right: 0 ;
  z-index: 9999 ;
  width: min(390px, calc(100vw - 28px)) ;
  max-height: min(480px, calc(100vh - 100px)) ;
  overflow: hidden ;
  border: 1px solid #e2e8f0 ;
  border-radius: 14px ;
  background: #fff ;
  box-shadow: 0 18px 45px rgba(15,23,42,.25) ;
  color: #1e293b ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-heading {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  gap: 12px ;
  padding: 14px 16px ;
  border-bottom: 1px solid #e2e8f0 ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-heading strong { font: 700 15px/1.2 Inter, system-ui, sans-serif ; }
#loginScreen.applicant-dashboard-active .applicant-notifications-heading button {
  border: 0 ;
  background: transparent ;
  color: #8b6f39 ;
  cursor: pointer ;
  font: 700 11px/1.2 Inter, system-ui, sans-serif ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-list {
  max-height: 410px ;
  overflow-y: auto ;
}
#loginScreen.applicant-dashboard-active .applicant-notifications-list > p { margin: 0 ; padding: 24px 16px ; color: #64748b ; text-align: center ; }
#loginScreen.applicant-dashboard-active .applicant-notification-item {
  display: flex ;
  align-items: flex-start ;
  gap: 10px ;
  width: 100% ;
  padding: 13px 15px ;
  border: 0 ;
  border-bottom: 1px solid #f1f5f9 ;
  background: #fff ;
  color: #1e293b ;
  cursor: pointer ;
  text-align: left ;
}
#loginScreen.applicant-dashboard-active .applicant-notification-item:hover { background: #f8fafc ; }
#loginScreen.applicant-dashboard-active .applicant-notification-item.is-read { opacity: .58 ; }
#loginScreen.applicant-dashboard-active .applicant-notification-icon {
  display: inline-grid ;
  flex: 0 0 28px ;
  width: 28px ;
  height: 28px ;
  place-items: center ;
  border-radius: 9px ;
  background: #fef3c7 ;
  color: #8b6f39 ;
  font-weight: 800 ;
}
#loginScreen.applicant-dashboard-active .applicant-notification-item strong,
#loginScreen.applicant-dashboard-active .applicant-notification-item small { display: block ; }
#loginScreen.applicant-dashboard-active .applicant-notification-item strong { margin-bottom: 4px ; color: #1e293b ; font: 700 13px/1.25 Inter, system-ui, sans-serif ; }
#loginScreen.applicant-dashboard-active .applicant-notification-item small { color: #64748b ; font: 400 12px/1.45 Inter, system-ui, sans-serif ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody tr.is-notification-highlight td {
  background: #fffbeb ;
  box-shadow: inset 0 3px 0 #d4af37, inset 0 -3px 0 #d4af37 ;
}
#loginScreen.applicant-dashboard-active .client-request-table tbody tr.is-notification-highlight td:first-child { box-shadow: inset 3px 0 0 #d4af37, inset 0 3px 0 #d4af37, inset 0 -3px 0 #d4af37 ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody tr.is-notification-highlight td:last-child { box-shadow: inset -3px 0 0 #d4af37, inset 0 3px 0 #d4af37, inset 0 -3px 0 #d4af37 ; }
@media (max-width: 640px) {
  #loginScreen.applicant-dashboard-active .client-header-actions { gap: 7px ; }
  #loginScreen.applicant-dashboard-active .client-header-actions > div:not(.applicant-notifications-panel) { max-width: 130px ; }
  #loginScreen.applicant-dashboard-active .client-header-actions .client-logout-button { padding-inline: 8px ; }
  #loginScreen.applicant-dashboard-active .applicant-notifications-panel { right: -8px ; }
}

/* Ajuste final del portal externo: fondo radial forzado y campana sin marco. */
html body,
body,
body #loginScreen,
body #loginScreen.applicant-dashboard-active,
body #loginScreen.applicant-dashboard-active #applicantHomePanel,
body #loginScreen.applicant-dashboard-active .applicant-home-panel,
body #loginScreen.applicant-dashboard-active .public-entry-content,
body #loginScreen.applicant-dashboard-active .public-entry-panel,
body #loginScreen.applicant-dashboard-active .client-dashboard-content {
  background: radial-gradient(circle, #dcdcd6 0%, #a2a2a2 60%, #7d7d7d 100%) ;
  background-attachment: fixed ;
  background-size: cover ;
  background-repeat: no-repeat ;
}
body #loginScreen.applicant-dashboard-active .applicant-notifications-button,
body #loginScreen.applicant-dashboard-active .applicant-notifications-button:hover,
body #loginScreen.applicant-dashboard-active .applicant-notifications-button:focus-visible,
body #loginScreen.applicant-dashboard-active .applicant-notifications-button:active {
  width: 30px ;
  height: 30px ;
  padding: 0 ;
  border: none ;
  border-radius: 0 ;
  background: transparent ;
  box-shadow: none ;
  color: #fff ;
  outline-offset: 4px ;
}
body #loginScreen.applicant-dashboard-active .applicant-notifications-button:hover,
body #loginScreen.applicant-dashboard-active .applicant-notifications-button:focus-visible {
  color: #f4e8c9 ;
}
body #loginScreen.applicant-dashboard-active .applicant-notifications-button svg {
  width: 23px ;
  height: 23px ;
}
body #loginScreen.applicant-dashboard-active .applicant-notifications-button b {
  top: -3px ;
  right: -4px ;
  min-width: 15px ;
  height: 15px ;
  padding: 0 3px ;
  border: 2px solid #111827 ;
  font-size: 9px ;
}

/* Rediseño ejecutivo CP6 — detalle de solicitud / seguimiento. */
#requestDetailDialog.client-luxury-detail {
  background: #f8f7f3 ;
  border: 1px solid rgba(139,111,57,.32) ;
  border-radius: 20px ;
  box-shadow: 0 28px 90px rgba(15,23,42,.32), 0 0 0 1px rgba(255,255,255,.72) inset ;
  color: #111111 ;
  overflow: hidden ;
}
#requestDetailDialog.client-luxury-detail > form {
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%) ;
  overflow-y: auto ;
  padding: 28px 30px 30px ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content {
  color: #111111 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
}
#requestDetailDialog.client-luxury-detail .request-detail-close {
  background: #fff ;
  border: 1px solid rgba(139,111,57,.42) ;
  color: #55431e ;
  height: 32px ;
  right: 18px ;
  top: 16px ;
  width: 32px ;
  box-shadow: 0 4px 12px rgba(15,23,42,.08) ;
}
#requestDetailDialog.client-luxury-detail .request-detail-close:hover {
  background: #8b6f39 ;
  color: #fff ;
  transform: rotate(4deg) ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head {
  align-items: flex-start ;
  border-bottom: 1px solid #e8e2d5 ;
  gap: 18px ;
  min-height: 58px ;
  padding: 0 46px 17px 0 ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head > div {
  gap: 5px ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-folio {
  color: #111827 ;
  font-family: Georgia, "Times New Roman", serif ;
  font-size: clamp(1.15rem, 2vw, 1.55rem) ;
  font-weight: 600 ;
  letter-spacing: -.015em ;
  white-space: normal ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head small {
  color: #7a7a76 ;
  font-size: .76rem ;
  letter-spacing: .02em ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-outline-button {
  align-self: center ;
  background: #fbf6e8 ;
  border: 1px solid #c5a059 ;
  border-radius: 999px ;
  color: #6f5627 ;
  font-size: .74rem ;
  font-weight: 700 ;
  padding: 9px 14px ;
  transition: background .18s ease, color .18s ease, transform .18s ease ;
}
#requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-outline-button:hover {
  background: #8b6f39 ;
  color: #fff ;
  transform: translateY(-1px) ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact {
  align-items: start ;
  display: grid ;
  grid-template-columns: repeat(5, minmax(0, 1fr)) ;
  gap: 0 ;
  margin: 21px 2px 25px ;
  overflow: visible ;
  padding: 0 ;
  position: relative ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact::before {
  background: #dedbd2 ;
  content: "" ;
  height: 2px ;
  left: 10% ;
  position: absolute ;
  right: 10% ;
  top: 13px ;
  width: auto ;
  z-index: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step {
  align-items: center ;
  background: transparent ;
  border: 0 ;
  border-radius: 0 ;
  display: flex ;
  flex-direction: column ;
  gap: 7px ;
  min-height: 47px ;
  padding: 0 ;
  position: relative ;
  z-index: 1 ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step span {
  align-items: center ;
  background: #fff ;
  border: 2px solid #d8d4ca ;
  border-radius: 50% ;
  color: #918d84 ;
  display: inline-flex ;
  font-size: .68rem ;
  font-weight: 800 ;
  height: 27px ;
  justify-content: center ;
  width: 27px ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step.is-complete span {
  background: #e9f5ec ;
  border-color: #71ae7b ;
  color: #2e7d40 ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step.is-current span {
  background: #c5a059 ;
  border-color: #a4813e ;
  box-shadow: 0 0 0 5px rgba(197,160,89,.16) ;
  color: #fff ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step small {
  color: #77756f ;
  font-size: .68rem ;
  font-weight: 700 ;
  margin: 0 ;
  white-space: nowrap ;
}
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step.is-complete small,
#requestDetailDialog.client-luxury-detail .client-timeline-compact .client-timeline-step.is-current small { color: #315e3b ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-grid {
  display: grid ;
  gap: 18px ;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr) ;
}
#requestDetailDialog.client-luxury-detail .request-detail-pane {
  background: #fff ;
  border: 1px solid #e7e2d8 ;
  border-radius: 14px ;
  box-shadow: 0 8px 22px rgba(50,43,29,.06) ;
  padding: 18px ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading {
  border-bottom: 1px solid #eeeae2 ;
  margin-bottom: 13px ;
  padding-bottom: 11px ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading strong {
  color: #242424 ;
  font-family: Georgia, "Times New Roman", serif ;
  font-size: 1rem ;
  font-weight: 600 ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading small {
  color: #88857d ;
  font-size: .7rem ;
}
#requestDetailDialog.client-luxury-detail .request-files-grid {
  display: grid ;
  gap: 10px ;
  grid-template-columns: repeat(auto-fill, minmax(125px, 1fr)) ;
  max-height: none ;
  overflow: visible ;
}
#requestDetailDialog.client-luxury-detail .request-file-card {
  background: #fff ;
  border: 1px solid #e5e1d8 ;
  border-radius: 8px ;
  box-shadow: 0 2px 7px rgba(15,23,42,.04) ;
  gap: 7px ;
  min-height: 116px ;
  padding: 8px ;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease ;
}
#requestDetailDialog.client-luxury-detail .request-file-card:hover {
  border-color: #c5a059 ;
  box-shadow: 0 9px 20px rgba(50,43,29,.14) ;
  transform: translateY(-2px) ;
}
#requestDetailDialog.client-luxury-detail .request-file-preview,
#requestDetailDialog.client-luxury-detail .request-file-preview img,
#requestDetailDialog.client-luxury-detail .request-file-icon {
  border-radius: 6px ;
  height: 66px ;
  width: 100% ;
}
#requestDetailDialog.client-luxury-detail .request-file-preview { background: #f6f5f1 ; }
#requestDetailDialog.client-luxury-detail .request-file-preview img { object-fit: cover ; }
#requestDetailDialog.client-luxury-detail .request-file-icon { background: #f3eee1 ; color: #80662e ; font-size: .72rem ; }
#requestDetailDialog.client-luxury-detail .request-file-card > span {
  color: #55534d ;
  font-size: .65rem ;
  max-width: 100% ;
}
#requestDetailDialog.client-luxury-detail .request-file-actions { gap: 4px ; }
#requestDetailDialog.client-luxury-detail .request-file-actions .request-detail-button {
  background: #f8f7f3 ;
  border: 1px solid #ddd7ca ;
  border-radius: 999px ;
  color: #635128 ;
  font-size: .62rem ;
  padding: 4px 7px ;
}
#requestDetailDialog.client-luxury-detail .request-file-actions .request-detail-button:hover {
  background: #8b6f39 ;
  border-color: #8b6f39 ;
  color: #fff ;
}
#requestDetailDialog.client-luxury-detail .request-final-heading {
  border-top: 1px solid #eeeae2 ;
  margin-top: 18px ;
  padding-top: 14px ;
}
#requestDetailDialog.client-luxury-detail .final-pdf-actions {
  background: linear-gradient(135deg, #fffaf0, #f8f0d9) ;
  border: 1px solid #e5d2a0 ;
  border-radius: 12px ;
  display: flex ;
  flex-wrap: wrap ;
  gap: 9px ;
  padding: 13px ;
}
#requestDetailDialog.client-luxury-detail .client-download-button {
  background: linear-gradient(135deg, #b8903c 0%, #d4af37 52%, #e5c158 100%) ;
  border: 1px solid #b8903c ;
  border-radius: 8px ;
  box-shadow: 0 5px 12px rgba(139,111,57,.2) ;
  color: #191611 ;
  font-size: .72rem ;
  font-weight: 800 ;
  padding: 9px 12px ;
  text-decoration: none ;
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease ;
}
#requestDetailDialog.client-luxury-detail .client-download-button:hover {
  box-shadow: 0 8px 17px rgba(139,111,57,.3) ;
  filter: brightness(1.06) saturate(1.05) ;
  transform: translateY(-1px) ;
}
#requestDetailDialog.client-luxury-detail .client-download-pending {
  background: #f5f5f2 ;
  border: 1px dashed #c9c5bb ;
  border-radius: 9px ;
  color: #77756f ;
  padding: 11px 13px ;
}
#requestDetailDialog.client-luxury-detail .request-info-pane .request-pane-heading { align-items: center ; }
#requestDetailDialog.client-luxury-detail .request-edit-info {
  background: #fffaf0 ;
  border: 1px solid #c5a059 ;
  border-radius: 7px ;
  color: #80662e ;
  height: 30px ;
  width: 32px ;
}
#requestDetailDialog.client-luxury-detail .request-edit-info:hover { background: #8b6f39 ; color: #fff ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form {
  gap: 15px 20px ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form label {
  color: #666 ;
  font-size: .68rem ;
  font-weight: 700 ;
  letter-spacing: .045em ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form input:disabled,
#requestDetailDialog.client-luxury-detail .client-edit-info-form select:disabled {
  background: transparent ;
  border: 0 ;
  border-bottom: 1px solid #ece9e2 ;
  border-radius: 0 ;
  color: #111 ;
  cursor: default ;
  font-size: .86rem ;
  font-weight: 600 ;
  min-height: 28px ;
  padding: 4px 0 7px ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form input:not(:disabled),
#requestDetailDialog.client-luxury-detail .client-edit-info-form select:not(:disabled) {
  border: 1px solid #d7c9a8 ;
  border-radius: 7px ;
  color: #111 ;
  min-height: 34px ;
}
#requestDetailDialog.client-luxury-detail .client-save-info-button {
  background: linear-gradient(135deg, #b8903c 0%, #d4af37 52%, #e5c158 100%) ;
  border: 1px solid #b8903c ;
  border-radius: 8px ;
  color: #191611 ;
  font-weight: 800 ;
}
#requestDetailDialog.client-luxury-detail .client-save-info-button:hover { background: #8b6f39 ; color: #fff ; }
@media (max-width: 760px) {
  #requestDetailDialog.client-luxury-detail > form { padding: 22px 18px 24px ; }
  #requestDetailDialog.client-luxury-detail .request-detail-compact-head { flex-direction: column ; }
  #requestDetailDialog.client-luxury-detail .request-detail-compact-head .client-outline-button { align-self: flex-start ; }
  #requestDetailDialog.client-luxury-detail .request-detail-compact-grid { grid-template-columns: 1fr ; }
}

/* Información registrada en modo lectura: sin inputs, marcos ni edición. */
#requestDetailDialog.client-luxury-detail .request-info-pane .request-pane-heading { border-bottom: 1px solid #eeeae2 ; }
#requestDetailDialog.client-luxury-detail .client-read-info-grid {
  display: grid ;
  gap: 17px 20px ;
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  margin: 0 ;
}
#requestDetailDialog.client-luxury-detail .client-read-info-field {
  border-bottom: 1px solid #f0ede7 ;
  display: grid ;
  gap: 5px ;
  min-width: 0 ;
  padding: 0 0 9px ;
}
#requestDetailDialog.client-luxury-detail .client-read-info-field span {
  color: #77746d ;
  font-size: .66rem ;
  font-weight: 700 ;
  letter-spacing: .045em ;
  text-transform: uppercase ;
}
#requestDetailDialog.client-luxury-detail .client-read-info-field strong {
  color: #111 ;
  font-size: .86rem ;
  font-weight: 600 ;
  line-height: 1.3 ;
  overflow-wrap: anywhere ;
}
#requestDetailDialog.client-luxury-detail .request-edit-info,
#requestDetailDialog.client-luxury-detail [data-edit-request-info],
#requestDetailDialog.client-luxury-detail .client-edit-info-form { display: none ; }
#requestDetailDialog.client-luxury-detail .request-file-actions .request-detail-button {
  min-width: 43px ;
  padding: 5px 10px ;
}
#requestDetailDialog.client-luxury-detail .final-pdf-actions { justify-content: flex-start ; }
@media (max-width: 760px) {
  #requestDetailDialog.client-luxury-detail .client-read-info-grid { grid-template-columns: 1fr ; }
}

/* Clase reutilizable puntual: acciones ejecutivas crema/dorado CP6. */
.btn-gold-cream {
  background: #fbf6e8 ;
  border: 1px solid #c5a059 ;
  border-radius: 999px ;
  box-shadow: 0 3px 9px rgba(111,86,39,.12) ;
  color: #6f5627 ;
  cursor: pointer ;
  font-weight: 700 ;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease ;
}
.btn-gold-cream:hover {
  background: #8b6f39 ;
  border-color: #8b6f39 ;
  box-shadow: 0 7px 15px rgba(111,86,39,.2) ;
  color: #fff ;
  transform: translateY(-1px) ;
}
.btn-gold-cream:active { transform: scale(.98) ; }
.btn-gold-cream:disabled { cursor: not-allowed ; opacity: .6 ; transform: none ; }
/* Los buscadores solo pertenecen a la lista; no ocupan espacio en el stepper. */
.technical-appraisal-section.is-technical-creating .technical-search-panel,
.technical-search-panel[hidden] { display: none ; }
/* La etiqueta de carga conserva proporción de control sin afectar el input de archivos. */
.photo-upload-button.btn-gold-cream { display: inline-flex ; align-items: center ; justify-content: center ; }

/* Override final solicitado: .btn-gold-cream con máxima prioridad visual. */
.btn-gold-cream {
  background: #f4ece1 ;
  color: #6d5228 ;
  border: 1px solid #c8a364 ;
  border-radius: 50px ;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif ;
  font-weight: 600 ;
  padding: 8px 18px ;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) ;
  transition: all 0.2s ease-in-out ;
  cursor: pointer ;
}
.btn-gold-cream:hover {
  background: #e8dbca ;
  color: #4a371a ;
  box-shadow: 0 4px 10px rgba(0,0,0,0.12) ;
}

/* BOTÓN SECUNDARIO / REPOSO (Estilo Crema + Anexar Documentos) */
.btn-crema {
    background: #fdfaf5 ;
    color: #6d5228 ;
    border: 1px solid #d4af37 ;
    border-radius: 50px ;
    font-family: 'Playfair Display', Georgia, serif ;
    font-weight: 600 ;
    padding: 8px 20px ;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.15) ;
    transition: all 0.25s ease ;
    cursor: pointer ;
}
.btn-crema:hover {
    background: linear-gradient(135deg, #e6c875 0%, #c59b27 100%) ;
    color: #ffffff ;
    border-color: #b8860b ;
    box-shadow: 0 4px 12px rgba(184, 134, 11, 0.35) ;
}

/* BOTÓN PRIMARIO / ACCIÓN DESTACADA (Estilo Dorado Gradiente Activo) */
.btn-dorado {
    background: linear-gradient(135deg, #e6c875 0%, #c59b27 100%) ;
    color: #1a1a1a ;
    border: 1px solid #b8860b ;
    border-radius: 50px ;
    font-family: 'Playfair Display', Georgia, serif ;
    font-weight: 700 ;
    padding: 9px 22px ;
    box-shadow: 0 4px 12px rgba(197, 155, 39, 0.3) ;
    transition: all 0.25s ease ;
    cursor: pointer ;
}
.btn-dorado:hover {
    background: linear-gradient(135deg, #d4af37 0%, #a37c1e 100%) ;
    color: #ffffff ;
    box-shadow: 0 6px 16px rgba(163, 124, 30, 0.45) ;
}

/* Ajustes finales solicitados: filtros y contraste de acciones técnicas. */
.technical-search-panel[hidden] { display: none ; }
.technical-step-actions .technical-step-save,
.mobiliario-step-actions .mobiliario-save {
  color: #6d5228 ;
}
.technical-step-actions .technical-step-save:hover,
.mobiliario-step-actions .mobiliario-save:hover {
  color: #6d5228 ;
}
/* El nombre del usuario en la bienvenida debe conservar contraste sobre el lienzo. */
#welcomeUserName { color: #ffffff ; }
/* Navegación administrativa siempre en blanco, también en estado activo/hover. */
.control-shell .sidebar-nav .sidebar-link,
.control-shell .sidebar-nav .sidebar-link span,
.control-shell .sidebar-nav .sidebar-link .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link,
.control-shell > .floating-nav-capsule .sidebar-link span,
.control-shell > .floating-nav-capsule .sidebar-link .nav-icon,
.control-shell > .floating-nav-capsule .sidebar-link:hover,
.control-shell > .floating-nav-capsule .sidebar-link:hover span,
.control-shell > .floating-nav-capsule .sidebar-link.is-active,
.control-shell > .floating-nav-capsule .sidebar-link.is-active span {
  color: #ffffff ;
}

/* Centrado vertical de los módulos principales bajo el header fijo. */
#appShell.control-shell .app-workspace > .app-view#avaluosView,
#appShell.control-shell .app-workspace > .app-view#solicitudesView,
#appShell.control-shell .app-workspace > .app-view#fe-publicaView,
#appShell.control-shell .app-workspace > .app-view#resumenView,
#appShell.control-shell .app-workspace > .app-view#usuariosView,
#appShell.control-shell .app-workspace > .app-view#configuracionView {
  box-sizing: border-box ;
  min-height: calc(100vh - 80px) ;
  display: flex ;
  flex-direction: column ;
  justify-content: center ;
  align-items: center ;
  margin: 0 auto ;
  padding: 2rem 0 ;
}

/* Las vistas de módulo conservan el ancho de sus paneles internos. */
#appShell.control-shell .app-workspace > .app-view#avaluosView > *,
#appShell.control-shell .app-workspace > .app-view#solicitudesView > *,
#appShell.control-shell .app-workspace > .app-view#fe-publicaView > *,
#appShell.control-shell .app-workspace > .app-view#resumenView > *,
#appShell.control-shell .app-workspace > .app-view#usuariosView > *,
#appShell.control-shell .app-workspace > .app-view#configuracionView > * {
  width: 100% ;
  margin-left: auto ;
  margin-right: auto ;
}

/* Rejilla de Recepción, Gestión, Validación y Solicitudes: sin empuje superior. */
#appShell.control-shell #avaluosMenuSection {
  box-sizing: border-box ;
  width: 100% ;
  margin: 0 auto ;
  padding-top: 0 ;
  padding-bottom: 0 ;
}
#appShell.control-shell #avaluosMenuSection .avaluos-choice-grid {
  box-sizing: border-box ;
  margin-top: 0 ;
  padding-top: 0 ;
  margin-bottom: 0 ;
  width: 100% ;
}

@media (max-width: 760px) {
  #appShell.control-shell .app-workspace > .app-view#avaluosView,
  #appShell.control-shell .app-workspace > .app-view#solicitudesView,
  #appShell.control-shell .app-workspace > .app-view#fe-publicaView,
  #appShell.control-shell .app-workspace > .app-view#resumenView,
  #appShell.control-shell .app-workspace > .app-view#usuariosView,
  #appShell.control-shell .app-workspace > .app-view#configuracionView {
    min-height: calc(100vh - 122px) ;
    padding: 1.25rem 0 ;
  }
}

/* Reversión del centrado vertical global: formularios, tablas y módulos vuelven al flujo natural. */
#appShell.control-shell .app-workspace > .app-view#avaluosView,
#appShell.control-shell .app-workspace > .app-view#solicitudesView,
#appShell.control-shell .app-workspace > .app-view#fe-publicaView,
#appShell.control-shell .app-workspace > .app-view#resumenView,
#appShell.control-shell .app-workspace > .app-view#usuariosView,
#appShell.control-shell .app-workspace > .app-view#configuracionView {
  min-height: 0 ;
  display: block ;
  flex-direction: initial ;
  justify-content: initial ;
  align-items: initial ;
  padding-top: 0 ;
  padding-bottom: 0 ;
}

/* Único ajuste vertical permitido: menú de las cuatro tarjetas de Avalúos. */
#appShell.control-shell #avaluosView > #avaluosMenuSection {
  display: block ;
  margin: 0 auto ;
  padding-top: 5vh ;
  padding-bottom: 2rem ;
}

#appShell.control-shell #avaluosView > #avaluosMenuSection .avaluos-choice-grid {
  margin-top: 0 ;
  padding-top: 0 ;
}

@media (max-width: 760px) {
  #appShell.control-shell .app-workspace > .app-view#avaluosView,
  #appShell.control-shell .app-workspace > .app-view#solicitudesView,
  #appShell.control-shell .app-workspace > .app-view#fe-publicaView,
  #appShell.control-shell .app-workspace > .app-view#resumenView,
  #appShell.control-shell .app-workspace > .app-view#usuariosView,
  #appShell.control-shell .app-workspace > .app-view#configuracionView {
    min-height: 0 ;
    padding-top: 0 ;
    padding-bottom: 0 ;
  }
  #appShell.control-shell #avaluosView > #avaluosMenuSection {
    padding-top: 3vh ;
    padding-bottom: 1.5rem ;
  }
}


/* Mensajería Institucional CP6 — módulo independiente, sin alterar el chat legado. */
.messaging-view { min-height: calc(100vh - 120px) ; padding: 18px 0 32px ; }
.messaging-app-container { width: min(1180px, 96%); margin: 0 auto; }
.messaging-shell { display: grid; grid-template-columns: 360px minmax(0, 1fr); min-height: 650px; height: min(74vh, 760px); overflow: hidden; background: #fff; border: 1px solid #e2dacd; border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.28); color: #24211c; }
.messaging-sidebar { display: flex; min-width: 0; flex-direction: column; background: #fbfaf7; border-right: 1px solid #e6dfd2; }
.messaging-sidebar-head, .messaging-conversation-head { height: 64px; flex: 0 0 64px; display: flex; align-items: center; gap: 12px; padding: 0 18px; border-bottom: 1px solid #e6dfd2; }
.messaging-sidebar-head { background: linear-gradient(135deg,#181818,#2c2519); color: #fff; }
.messaging-sidebar-head strong, .messaging-sidebar-head small { display: block; }
.messaging-sidebar-head strong { font-family: Georgia,serif; font-size: 1.04rem; }
.messaging-sidebar-head small { color: #dbc083; font-size: .72rem; margin-top: 2px; }
.messaging-self-avatar, .messaging-avatar, .messaging-contact-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(145deg,#e5c158,#5c4218); color: #fff; font-weight: 700; letter-spacing: .03em; }
.messaging-self-avatar { width: 38px; height: 38px; font-size: .78rem; }
.messaging-search { display: flex; align-items: center; gap: 8px; margin: 14px; padding: 9px 12px; background: #fff; border: 1px solid #dfd6c7; border-radius: 999px; color: #8d754d; }
.messaging-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #2b2b2b; }
.messaging-contacts { overflow: auto; padding: 0 8px 12px; }
.messaging-contact { width: 100%; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 10px; border: 0; border-radius: 11px; background: transparent; text-align: left; color: #332c22; cursor: pointer; }
.messaging-contact:hover, .messaging-contact.is-active { background: #f1eadf; }
.messaging-avatar { width: 36px; height: 36px; font-size: .72rem; }
.messaging-contact-copy { min-width: 0; }
.messaging-contact-copy strong, .messaging-contact-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.messaging-contact-copy strong { font-size: .86rem; }
.messaging-contact-copy small, .messaging-contact time { color: #8a8175; font-size: .72rem; margin-top: 3px; }
.messaging-conversation { position: relative; display: flex; min-width: 0; flex-direction: column; background: #fff; }
.messaging-conversation-head { position: relative; background: #fff; }
.messaging-contact-avatar { width: 38px; height: 38px; flex: 0 0 38px; }
.messaging-conversation-head strong, .messaging-conversation-head small { display: block; }
.messaging-conversation-head strong { font-family: Georgia,serif; font-size: 1rem; }
.messaging-conversation-head small { color: #8a8175; font-size: .74rem; margin-top: 3px; }
.messaging-info-button { margin-left: auto; width: 28px; height: 28px; border: 1px solid #c8a364; border-radius: 50%; background: #fffaf1; color: #76531c; cursor: pointer; }
.messaging-profile-card { position: absolute; top: 74px; right: 18px; z-index: 5; display: grid; gap: 5px; width: 230px; padding: 14px; background: #fff; border: 1px solid #d4af37; border-radius: 12px; box-shadow: 0 14px 28px rgba(0,0,0,.16); }
.messaging-profile-card strong { font-family: Georgia,serif; color: #2b2418; }.messaging-profile-card span { color: #7a5d27; font-size: .78rem; }.messaging-profile-card small { color: #777; font-size: .74rem; }
.messaging-messages { flex: 1; overflow: auto; padding: 24px clamp(16px,4vw,52px); background: #fff; }
.messaging-message { max-width: min(72%, 620px); margin: 0 0 15px; }.messaging-message.is-sent { margin-left: auto; text-align: right; }
.messaging-message-author { margin: 0 8px 4px; color: #8d754d; font-size: .68rem; font-weight: 700; }.messaging-bubble { display: inline-block; padding: 10px 14px; border: 1px solid #e0dad1; border-radius: 15px 15px 15px 4px; background: #f4f3ef; color: #2b2b2b; text-align: left; line-height: 1.45; box-shadow: 0 2px 5px rgba(0,0,0,.03); }.is-sent .messaging-bubble { border-color: #e2cf9e; border-radius: 15px 15px 4px 15px; background: linear-gradient(135deg,#fdfbf2,#f7f1db); color: #3d311d; }.messaging-meta { margin: 4px 8px 0; color: #9a9288; font-size: .68rem; }
.messaging-compose { display: flex; align-items: end; gap: 10px; padding: 14px 18px; border-top: 1px solid #e6dfd2; background: #fbfaf7; }.messaging-compose textarea { flex: 1; resize: none; max-height: 100px; padding: 11px 13px; border: 1px solid #d8cbb8; border-radius: 12px; outline: 0; background: #fff; color: #2b2b2b; }.messaging-compose textarea:focus { border-color: #b8903c; box-shadow: 0 0 0 3px rgba(184,144,60,.14); }.messaging-compose button { height: 42px; padding: 0 20px; border: 1px solid #b8860b; border-radius: 999px; background: linear-gradient(135deg,#e6c875,#c59b27); color: #241b0b; font-weight: 700; cursor: pointer; }.messaging-empty, .messaging-error, .messaging-empty-state { padding: 24px; color: #8a8175; text-align: center; }.messaging-empty-state { display: grid; place-content: center; height: 100%; gap: 8px; }.messaging-empty-state strong { color: #6d5228; font-family: Georgia,serif; font-size: 1.2rem; }.messaging-empty-state span { font-size: .84rem; }
.messaging-toast { position: fixed; right: 25px; bottom: 25px; z-index: 10000; display: grid; gap: 5px; width: min(420px, calc(100vw - 32px)); padding: 14px 16px; background: #fff; border: 1px solid #d4af37; border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.2); cursor: pointer; }.messaging-toast strong { color: #b8860b; }.messaging-toast span { color: #4a402e; font-size: .84rem; }
.messaging-external-overlay { position: fixed; inset: 0; z-index: 9500; display: grid; place-items: center; padding: 20px; background: rgba(18,18,18,.72); backdrop-filter: blur(4px); }.messaging-external-window { position: relative; width: min(1180px, 96vw); }.messaging-external-content .messaging-shell { height: min(82vh, 760px); }.messaging-external-close { position: absolute; top: -14px; right: -14px; z-index: 3; width: 34px; height: 34px; border: 1px solid #d4af37; border-radius: 50%; background: #181818; color: #fff; font-size: 1.3rem; cursor: pointer; }.applicant-messaging-button { border: 1px solid #d4af37; border-radius: 999px; background: transparent; color: #fff; padding: 7px 12px; cursor: pointer; }.applicant-messaging-button:hover { background: #d4af37; color: #211a0d; }
@media (max-width: 800px) { .messaging-shell { grid-template-columns: 1fr; height: 78vh; min-height: 560px; }.messaging-sidebar { max-height: 230px; border-right: 0; border-bottom: 1px solid #e6dfd2; }.messaging-contact { display: none; }.messaging-contact:nth-child(-n+4) { display: grid; }.messaging-message { max-width: 88%; }.messaging-external-overlay { padding: 10px; } }

/* Ajustes finales de Mensajería: escritura siempre disponible y búsqueda limpia. */
.messaging-search > span { display: none ; }
.messaging-search::before, .messaging-search::after { content: none ; display: none ; }
.messaging-search input { appearance: none; -webkit-appearance: none; }
.messaging-compose { position: sticky; bottom: 0; z-index: 2; flex: 0 0 auto; }
.messaging-compose textarea { display: block ; visibility: visible ; pointer-events: auto ; }
.messaging-contacts { min-height: 0; max-height: none; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c8a364 #f7f4ee; }
.messaging-contacts::-webkit-scrollbar { width: 8px; }.messaging-contacts::-webkit-scrollbar-thumb { background: #c8a364; border-radius: 8px; }.messaging-contacts::-webkit-scrollbar-track { background: #f7f4ee; }
.messaging-profile-card span, .messaging-profile-card small { display: block; }
.messaging-profile-card span:empty, .messaging-profile-card small:empty { display: none; }

/* Mensajería integrada: icono junto a notificaciones y vista normal para solicitantes. */
.applicant-messaging-button { display: inline-flex ; align-items: center; justify-content: center; width: 34px ; height: 34px ; padding: 6px ; border: 0 ; background: transparent ; color: #fff ; }
.applicant-messaging-button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.applicant-messaging-button:hover { background: rgba(212,175,55,.18) ; color: #d4af37 ; }
.applicant-messaging-view { width: 100%; margin: 24px auto 0; }.applicant-messaging-back { margin: 0 auto 14px; display: block; border: 1px solid #c8a364; border-radius: 999px; background: transparent; color: #d4af37; padding: 8px 16px; cursor: pointer; }
.messaging-search-row { display: flex; align-items: center; gap: 8px; margin: 14px; }.messaging-search-row .messaging-search { flex: 1; margin: 0; }.messaging-add-contact { width: 36px; height: 36px; border: 1px solid #c8a364; border-radius: 50%; background: #fffaf1; color: #76531c; font-size: 1.3rem; cursor: pointer; }.messaging-add-contact:hover { background: #e6c875; }
.messaging-invite-results { position: relative; z-index: 4; max-height: 240px; overflow-y: auto; margin: -8px 14px 12px; border: 1px solid #dfd6c7; border-radius: 10px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.14); }.messaging-invite-results button { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 10px 12px; border: 0; border-bottom: 1px solid #eee8df; background: #fff; text-align: left; cursor: pointer; }.messaging-invite-results button:hover { background: #f7f1e7; }.messaging-invite-results strong { color: #332c22; }.messaging-invite-results small { color: #8a8175; }.messaging-invite-results span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #9a6d18; font-size: .72rem; font-weight: 700; }.messaging-invite-results p { margin: 0; padding: 12px; color: #8a8175; font-size: .82rem; }
@media (max-width: 800px) { .applicant-messaging-view .messaging-shell { min-height: 650px; } }

.messaging-pending-invites { margin: 0 14px 10px; padding: 10px; border: 1px solid #e2cf9e; border-radius: 10px; background: #fffaf0; color: #5e481f; font-size: .78rem; }.messaging-pending-invites > strong { display: block; margin-bottom: 7px; }.messaging-pending-invites > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 5px; }.messaging-pending-invites button { border: 1px solid #b8860b; border-radius: 999px; background: #e6c875; color: #2a210f; padding: 4px 9px; font-size: .72rem; cursor: pointer; }

/* Mensajería: acceso administrativo como icono junto a la campana. */
#appShell.control-shell .messaging-header-button { display: inline-flex ; align-items: center; justify-content: center; width: 30px ; height: 32px ; padding: 4px ; border: 0 ; border-radius: 0 ; background: transparent ; color: #fff ; cursor: pointer ; }
#appShell.control-shell .messaging-header-button svg { width: 22px ; height: 22px ; fill: none ; stroke: currentColor ; stroke-width: 1.8 ; stroke-linecap: round ; stroke-linejoin: round ; }
#appShell.control-shell .messaging-header-button:hover { color: #f4e8c9 ; }
#appShell.control-shell .messaging-nav-link.is-icon-only { display: none ; }
/* El campo de composición permanece en una sola línea compacta. */
.messaging-compose { align-items: center ; }
.messaging-compose textarea { height: 40px ; min-height: 40px ; max-height: 40px ; overflow-x: auto ; overflow-y: hidden ; white-space: nowrap ; line-height: 18px ; padding-block: 10px ; }
/* Los mensajes recibidos usan un amarillo institucional muy claro y desvanecido. */
.messaging-message.is-received .messaging-bubble { background: linear-gradient(135deg, #fffdf4 0%, #fbf4d9 52%, #f8edc8 100%) ; border-color: #ead9a7 ; color: #3d311d ; }
.messaging-message.is-sent .messaging-bubble { background: linear-gradient(135deg, #fdfbf2 0%, #f7f1db 100%) ; }

/* ============================================================================
   REDISEÑO FRÍO CP6 — capa visual sin alterar estructura, IDs ni funcionalidad
   ============================================================================ */
:root {
  --cold-bg: #f8fafc;
  --cold-surface: #ffffff;
  --cold-border: #e2e8f0;
  --cold-border-strong: #cbd5e1;
  --cold-ink: #1e293b;
  --cold-muted: #64748b;
  --cold-primary: #0f172a;
  --cold-blue: #2563eb;
  --cold-blue-soft: #eff6ff;
  --cold-shadow: 0 1px 3px rgba(15,23,42,.05), 0 10px 15px -3px rgba(15,23,42,.03);
}

html, body,
body #loginScreen,
body #appShell,
body #appShell .app-workspace,
body #appShell .app-view,
body #loginScreen.applicant-dashboard-active {
  background: var(--cold-bg) ;
  background-image: none ;
  color: var(--cold-ink) ;
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif ;
}
body { color: var(--cold-ink) ; }

/* Navegación y encabezados */
#appShell.control-shell .app-sidebar {
  background: #0f172a ;
  border-color: #1e293b ;
  box-shadow: 2px 0 14px rgba(15,23,42,.12) ;
}
#appShell.control-shell .sidebar-nav,
#appShell.control-shell .floating-nav-capsule {
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
}
#appShell.control-shell .sidebar-link {
  color: #cbd5e1 ;
  border: 1px solid transparent ;
  border-radius: 8px ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-weight: 500 ;
  transition: background .2s ease, color .2s ease, transform .2s ease ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link.is-active {
  background: #1e293b ;
  color: #ffffff ;
  border-color: #334155 ;
}
.workspace-header,
.welcome-card,
.development-card,
.setting-card,
.users-admin-card,
.users-external-card,
.new-user-panel,
.user-access-panel,
.inline-panel,
.technical-list-panel,
.technical-form-section,
.request-table-wrap,
.request-style-filter-panel,
.search-panel,
.values-table-block,
.notary-card,
.export-card,
.selected-total-panel {
  background: var(--cold-surface) ;
  border: 1px solid var(--cold-border) ;
  border-radius: 10px ;
  box-shadow: var(--cold-shadow) ;
  color: var(--cold-ink) ;
}
.workspace-header h1,
.workspace-header h2,
.welcome-card h2,
.development-card h2,
.inline-panel-heading h3,
.technical-form-section h3,
.setting-card h3,
.values-table-heading h3 {
  color: var(--cold-ink) ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-weight: 600 ;
}
.workspace-description,
.welcome-copy,
.development-card p,
.setting-card p,
.inline-panel-heading p,
.section-kicker,
.eyebrow {
  color: var(--cold-muted) ;
}

/* Tarjetas de módulos */
.avaluos-choice-grid,
.usuarios-choice-grid { gap: 16px ; }
.avaluos-choice-card,
.usuarios-choice-card {
  background: #ffffff ;
  border: 1px solid var(--cold-border) ;
  border-radius: 12px ;
  box-shadow: var(--cold-shadow) ;
  color: var(--cold-ink) ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-weight: 400 ;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease ;
}
.avaluos-choice-card:hover,
.usuarios-choice-card:hover {
  border-color: #93c5fd ;
  box-shadow: 0 8px 20px rgba(37,99,235,.10) ;
  transform: translateY(-2px) ;
}
.avaluos-choice-card strong,
.usuarios-choice-card strong,
.avaluos-choice-card small,
.usuarios-choice-card small { color: inherit ; }
.avaluos-choice-icon,
.usuarios-choice-icon { color: var(--cold-blue) ; background: var(--cold-blue-soft) ; }
.avaluos-choice-arrow,
.usuarios-choice-arrow { color: var(--cold-blue) ; }

/* Formularios, controles y etiquetas */
label,
.form-grid label,
.record-form-grid label,
.request-form-grid label,
.inline-form-row label {
  color: #475569 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .85rem ;
  font-weight: 500 ;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  background: #ffffff ;
  color: var(--cold-ink) ;
  border: 1px solid var(--cold-border-strong) ;
  border-radius: 8px ;
  padding: 10px 14px ;
  box-shadow: none ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-weight: 400 ;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
select:focus,
textarea:focus {
  outline: none ;
  border-color: #3b82f6 ;
  box-shadow: 0 0 0 3px rgba(59,130,246,.10) ;
}
input::placeholder,
textarea::placeholder { color: var(--cold-muted) ; }

/* Botones: principales grafito/azul, secundarios neutros, peligrosos rojos. */
button:not(.icon-button):not(.request-detail-close):not(.applicant-notifications-button):not(.applicant-messaging-button),
.primary-button,
.subtle-action-button,
.secondary-button,
.btn-copu-primary,
.btn-gold-cream,
.btn-crema,
.btn-dorado {
  border-radius: 8px ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-weight: 500 ;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease ;
}
.primary-button,
.btn-copu-primary,
.btn-dorado,
.client-primary-button,
.login-button {
  background: #0f172a ;
  background-image: none ;
  color: #ffffff ;
  border: 1px solid #0f172a ;
  box-shadow: 0 1px 2px rgba(15,23,42,.12) ;
}
.primary-button:hover,
.btn-copu-primary:hover,
.btn-dorado:hover,
.client-primary-button:hover,
.login-button:hover {
  background: #1e293b ;
  color: #ffffff ;
  box-shadow: 0 4px 10px rgba(15,23,42,.14) ;
  transform: translateY(-1px) ;
}
.secondary-button,
.subtle-action-button,
.btn-gold-cream,
.btn-crema {
  background: #ffffff ;
  background-image: none ;
  color: #334155 ;
  border: 1px solid #cbd5e1 ;
  box-shadow: 0 1px 2px rgba(15,23,42,.04) ;
}
.secondary-button:hover,
.subtle-action-button:hover,
.btn-gold-cream:hover,
.btn-crema:hover {
  background: #f1f5f9 ;
  color: #0f172a ;
  border-color: #94a3b8 ;
}
button[class*="delete"],
button[id*="delete"],
.delete-button,
.remove-button {
  background: #fee2e2 ;
  color: #dc2626 ;
  border-color: #fecaca ;
}

/* Tablas y paginación */
table,
thead,
tbody,
tr,
th,
td {
  border-color: var(--cold-border) ;
}
thead,
thead tr,
th {
  background: #f8fafc ;
  color: #475569 ;
  font-weight: 500 ;
}
td { color: var(--cold-ink) ; background: #ffffff ; }
tbody tr:hover td { background: #f8fafc ; }
.request-filter-row,
.technical-search-panel,
.client-request-toolbar {
  background: transparent ;
  box-shadow: none ;
}

/* Diálogos y visor */
.record-dialog,
.record-dialog::backdrop,
dialog {
  font-family: Inter, "Segoe UI", sans-serif ;
}
.record-dialog {
  background: #ffffff ;
  color: var(--cold-ink) ;
  border: 1px solid var(--cold-border) ;
  border-radius: 12px ;
  box-shadow: 0 20px 50px rgba(15,23,42,.18) ;
}
.record-dialog::backdrop { background: rgba(15,23,42,.28) ; }
.dialog-heading { border-color: var(--cold-border) ; }
.dialog-heading h2,
.request-detail-content h2,
.request-detail-content h3 { color: var(--cold-ink) ; font-weight: 600 ; }

/* Portal solicitante */
#loginScreen.applicant-dashboard-active .client-dashboard-header,
#loginScreen.applicant-dashboard-active .client-welcome-card,
#loginScreen.applicant-dashboard-active .client-dashboard-stats article,
#loginScreen.applicant-dashboard-active .client-history-section {
  background: #ffffff ;
  border-color: var(--cold-border) ;
  box-shadow: var(--cold-shadow) ;
}
#loginScreen.applicant-dashboard-active .client-brand strong,
#loginScreen.applicant-dashboard-active .client-brand span,
#loginScreen.applicant-dashboard-active .client-welcome-title,
#loginScreen.applicant-dashboard-active .client-welcome-message,
#loginScreen.applicant-dashboard-active .metric-stat-row,
#loginScreen.applicant-dashboard-active .client-history-section { color: var(--cold-ink) ; }
#loginScreen.applicant-dashboard-active .metric-total,
#loginScreen.applicant-dashboard-active .metric-active,
#loginScreen.applicant-dashboard-active .metric-completed { border: 1px solid var(--cold-border) ; }
#loginScreen.applicant-dashboard-active .metric-icon { color: var(--cold-blue) ; background: var(--cold-blue-soft) ; }
#loginScreen.applicant-dashboard-active .client-request-search,
#loginScreen.applicant-dashboard-active .client-request-filter { background: #ffffff ; }

/* Mensajería */
.messaging-shell,
.messaging-conversation,
.messaging-sidebar,
.messaging-messages { background: #ffffff ; border-color: var(--cold-border) ; color: var(--cold-ink) ; }
.messaging-sidebar { background: #f8fafc ; }
.messaging-sidebar-head { background: #0f172a ; }
.messaging-contact:hover,
.messaging-contact.is-active { background: #eff6ff ; }
.messaging-compose { background: #f8fafc ; border-color: var(--cold-border) ; }
.messaging-compose button { background: #0f172a ; color: #ffffff ; border-color: #0f172a ; border-radius: 8px ; }

/* Reduce el abuso de negritas fuera de títulos principales. */
body :where(.app-view, .app-sidebar, .record-dialog, .messaging-shell) strong,
body :where(.app-view, .app-sidebar, .record-dialog, .messaging-shell) b { font-weight: 500 ; }
body :where(.app-view, .app-sidebar, .record-dialog, .messaging-shell) h1,
body :where(.app-view, .app-sidebar, .record-dialog, .messaging-shell) h2,
body :where(.app-view, .app-sidebar, .record-dialog, .messaging-shell) h3 { font-weight: 600 ; }

/* ============================================================================
   LOGIN SPLIT SCREEN — diseño institucional frío, sin cambiar autenticación
   ============================================================================ */
#loginScreen:not(.applicant-dashboard-active) {
  display: grid ;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) ;
  grid-template-rows: 1fr ;
  min-height: 100vh ;
  width: 100% ;
  background: #f8fafc ;
  overflow: hidden ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual {
  grid-column: 1 ;
  grid-row: 1 ;
  display: flex ;
  position: relative ;
  align-items: center ;
  justify-content: center ;
  min-height: 100vh ;
  padding: 48px ;
  overflow: hidden ;
  background: #0f172a ;
  background-image: none ;
  color: #ffffff ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual::before {
  content: "" ;
  position: absolute ;
  inset: 0 ;
  background: radial-gradient(circle at 20% 20%, rgba(59,130,246,.18), transparent 38%), linear-gradient(145deg, #0f172a 0%, #111827 62%, #1e293b 100%) ;
  pointer-events: none ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-logo,
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy,
#loginScreen:not(.applicant-dashboard-active) .login-visual-footer {
  position: relative ;
  z-index: 1 ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-logo {
  position: absolute ;
  top: 48px ;
  left: 48px ;
  display: grid ;
  place-items: center ;
  width: 72px ;
  height: 72px ;
  padding: 12px ;
  border: 1px solid rgba(226,232,240,.24) ;
  border-radius: 16px ;
  background: rgba(255,255,255,.06) ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-logo img {
  display: block ;
  width: 100% ;
  height: 100% ;
  object-fit: contain ;
  filter: grayscale(1) brightness(0) invert(1) ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy {
  position: relative ;
  top: auto ;
  left: auto ;
  right: auto ;
  width: min(100%, 420px) ;
  margin: 0 ;
  transform: none ;
  text-align: left ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy h2 {
  margin: 0 ;
  color: #ffffff ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: clamp(2.25rem, 4vw, 4rem) ;
  font-weight: 600 ;
  letter-spacing: -.045em ;
  line-height: 1.05 ;
  text-transform: none ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy span {
  display: block ;
  margin-top: 18px ;
  color: #cbd5e1 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1rem ;
  font-weight: 400 ;
  letter-spacing: .02em ;
  text-transform: none ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy small,
#loginScreen:not(.applicant-dashboard-active) .login-visual-footer {
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .78rem ;
  font-weight: 400 ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy small {
  display: none ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-footer {
  position: absolute ;
  bottom: 38px ;
  left: 48px ;
  margin: 0 ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-panel {
  grid-column: 2 ;
  grid-row: 1 ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  min-height: 100vh ;
  padding: 48px ;
  background: #f8fafc ;
  background-image: none ;
  color: #1e293b ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-content {
  width: min(100%, 400px) ;
  max-width: 400px ;
  margin: 0 auto ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-panel h1 {
  margin: 0 0 10px ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.5rem ;
  font-weight: 600 ;
  letter-spacing: -.02em ;
  line-height: 1.2 ;
  text-transform: none ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-copy {
  margin: 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .875rem ;
  font-weight: 400 ;
  line-height: 1.5 ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-actions {
  width: 100% ;
  max-width: 400px ;
  gap: 10px ;
  margin-top: 28px ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-actions button {
  width: 100% ;
  min-height: 46px ;
  border-radius: 8px ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .9rem ;
  font-weight: 500 ;
}
#loginScreen:not(.applicant-dashboard-active) .public-main-cta {
  background: #0f172a ;
  border: 1px solid #0f172a ;
  color: #ffffff ;
  box-shadow: 0 1px 2px rgba(15,23,42,.12) ;
}
#loginScreen:not(.applicant-dashboard-active) .public-main-cta:hover {
  background: #1e293b ;
  border-color: #1e293b ;
  transform: translateY(-1px) ;
}
#loginScreen:not(.applicant-dashboard-active) .public-secondary-cta {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  color: #334155 ;
}
#loginScreen:not(.applicant-dashboard-active) .public-secondary-cta:hover {
  background: #f1f5f9 ;
  border-color: #94a3b8 ;
  color: #0f172a ;
}
#loginScreen:not(.applicant-dashboard-active) .public-entry-internal {
  position: absolute ;
  right: 48px ;
  bottom: 34px ;
  left: auto ;
  top: auto ;
  padding: 0 ;
  border: 0 ;
}
#loginScreen:not(.applicant-dashboard-active) .internal-access-button {
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .75rem ;
  font-weight: 500 ;
  letter-spacing: 0 ;
  text-transform: none ;
}
#loginScreen:not(.applicant-dashboard-active) .internal-access-button:hover { color: #2563eb ; }

/* Modal de credenciales administrativo: misma jerarquía visual limpia. */
#adminAccessDialog,
#credentialDialog {
  width: min(460px, calc(100vw - 32px)) ;
  max-width: 460px ;
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  background: #ffffff ;
  box-shadow: 0 20px 50px rgba(15,23,42,.18) ;
}
#adminAccessDialog::backdrop,
#credentialDialog::backdrop { background: rgba(15,23,42,.28) ; backdrop-filter: blur(3px) ; }
#adminAccessDialog .admin-login-card,
#credentialDialog > form {
  width: 100% ;
  max-width: none ;
  box-sizing: border-box ;
  padding: 32px ;
  background: #ffffff ;
  color: #1e293b ;
}
#adminAccessDialog .dialog-heading,
#credentialDialog .dialog-heading { margin-bottom: 8px ; border-bottom: 0 ; }
#adminAccessDialog .dialog-heading h2,
#credentialDialog .dialog-heading h2 {
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.5rem ;
  font-weight: 600 ;
}
#adminAccessDialog .login-copy,
#credentialDialog .credential-copy { color: #64748b ; font-size: .875rem ; font-weight: 400 ; }
#adminAccessDialog label,
#credentialDialog label { color: #475569 ; font-size: .85rem ; font-weight: 500 ; }
#adminAccessDialog input,
#adminAccessDialog select,
#credentialDialog input,
#credentialDialog select {
  width: 100% ;
  min-height: 46px ;
  box-sizing: border-box ;
  padding: 12px 16px ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  background: #ffffff ;
  color: #1e293b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .9rem ;
}
#adminAccessDialog input:focus,
#adminAccessDialog select:focus,
#credentialDialog input:focus,
#credentialDialog select:focus {
  border-color: #3b82f6 ;
  box-shadow: 0 0 0 3px rgba(59,130,246,.1) ;
  outline: none ;
}
#adminAccessDialog .login-button,
#credentialDialog .primary-button {
  width: 100% ;
  min-height: 46px ;
  border-radius: 8px ;
  background: #0f172a ;
  color: #ffffff ;
  font-weight: 500 ;
}
#adminAccessDialog .credential-setup-button,
#adminAccessDialog .login-hint { color: #64748b ; font-weight: 400 ; }

@media (max-width: 800px) {
  #loginScreen:not(.applicant-dashboard-active) {
    grid-template-columns: 1fr ;
    grid-template-rows: minmax(280px, 42vh) 1fr ;
    min-height: 100svh ;
    overflow-y: auto ;
  }
  #loginScreen:not(.applicant-dashboard-active) .login-visual {
    grid-column: 1 ;
    grid-row: 1 ;
    min-height: 280px ;
    padding: 32px 28px ;
  }
  #loginScreen:not(.applicant-dashboard-active) .login-visual-logo { top: 24px ; left: 28px ; width: 56px ; height: 56px ; }
  #loginScreen:not(.applicant-dashboard-active) .login-visual-copy { width: min(100%, 360px) ; margin-top: 30px ; }
  #loginScreen:not(.applicant-dashboard-active) .login-visual-copy h2 { font-size: clamp(2rem, 10vw, 3rem) ; }
  #loginScreen:not(.applicant-dashboard-active) .login-visual-footer { display: none ; }
  #loginScreen:not(.applicant-dashboard-active) .public-entry-panel {
    grid-column: 1 ;
    grid-row: 2 ;
    min-height: 58vh ;
    padding: 40px 28px 76px ;
  }
  #loginScreen:not(.applicant-dashboard-active) .public-entry-internal { right: 28px ; bottom: 24px ; }
}

/* Ajuste final Login: branding limpio y modal administrativo minimalista */
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy h2 {
  white-space: nowrap ;
  font-size: clamp(1.7rem, 3vw, 3rem) ;
  letter-spacing: -.035em ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy h2 br { display: none ; }
#loginScreen:not(.applicant-dashboard-active) .login-visual-logo {
  left: auto ;
  right: 48px ;
  width: 112px ;
  height: 112px ;
  padding: 0 ;
  border: 0 ;
  border-radius: 0 ;
  background: transparent ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-logo img {
  width: 100% ;
  height: 100% ;
  filter: grayscale(1) brightness(0) invert(1) ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy {
  width: min(100%, 560px) ;
}
#loginScreen:not(.applicant-dashboard-active) .login-visual-copy span {
  color: #cbd5e1 ;
}

/* Modal administrativo: solo título principal, sin etiquetas auxiliares. */
#adminAccessDialog .admin-login-card .eyebrow,
#adminAccessDialog .admin-login-card .login-copy {
  display: none ;
}
#adminAccessDialog .admin-login-card .dialog-heading h2 {
  margin: 0 ;
  color: #0f172a ;
  font-size: 1.5rem ;
  font-weight: 600 ;
}
#adminAccessDialog .admin-login-card input,
#adminAccessDialog .admin-login-card select,
#adminAccessDialog .admin-login-card textarea {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  box-shadow: none ;
  color: #1e293b ;
}
#adminAccessDialog .admin-login-card input:hover,
#adminAccessDialog .admin-login-card select:hover,
#adminAccessDialog .admin-login-card textarea:hover {
  border-color: #94a3b8 ;
}
#adminAccessDialog .admin-login-card input:focus,
#adminAccessDialog .admin-login-card select:focus,
#adminAccessDialog .admin-login-card textarea:focus {
  border-color: #2563eb ;
  box-shadow: 0 0 0 3px rgba(37,99,235,.10) ;
  outline: none ;
}
#adminAccessDialog .admin-login-card label {
  color: #475569 ;
}
@media (max-width: 800px) {
  #loginScreen:not(.applicant-dashboard-active) .login-visual-logo {
    top: 24px ;
    right: 28px ;
    left: auto ;
    width: 78px ;
    height: 78px ;
  }
  #loginScreen:not(.applicant-dashboard-active) .login-visual-copy h2 {
    font-size: clamp(1.5rem, 7vw, 2.4rem) ;
  }
}

/* ============================================================================
   NAVBAR DASHBOARD — grafito frío, 64px, sin dorados ni bordes cálidos
   ============================================================================ */
#appShell.control-shell .app-sidebar {
  position: relative ;
  display: flex ;
  align-items: center ;
  justify-content: flex-start ;
  width: 100% ;
  height: 64px ;
  min-height: 64px ;
  box-sizing: border-box ;
  padding: 0 24px ;
  overflow: visible ;
  background: #0f172a ;
  border: 0 ;
  border-bottom: 1px solid #1e293b ;
  border-radius: 0 ;
  box-shadow: 0 4px 14px rgba(15,23,42,.12) ;
  z-index: 50 ;
}
#appShell.control-shell .app-sidebar::before {
  content: "Correduría Pública 6" ;
  display: block ;
  flex: 0 0 auto ;
  min-width: max-content ;
  color: #f8fafc ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1rem ;
  font-weight: 500 ;
  letter-spacing: -.01em ;
  line-height: 1 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-brand { display: none ; }
#appShell.control-shell .header-left-tools {
  position: absolute ;
  left: 230px ;
  top: 0 ;
  display: flex ;
  align-items: center ;
  gap: 8px ;
  height: 64px ;
  margin: 0 ;
  padding: 0 ;
}
#appShell.control-shell .global-search-wrap {
  position: relative ;
  display: flex ;
  align-items: center ;
  width: 174px ;
  height: 34px ;
}
#appShell.control-shell #globalSearchInput {
  width: 100% ;
  height: 34px ;
  box-sizing: border-box ;
  padding: 8px 58px 8px 12px ;
  border: 1px solid #334155 ;
  border-radius: 8px ;
  background: #1e293b ;
  color: #f8fafc ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .78rem ;
  box-shadow: none ;
}
#appShell.control-shell #globalSearchInput::placeholder { color: #94a3b8 ; }
#appShell.control-shell #globalSearchInput:focus {
  border-color: #64748b ;
  box-shadow: 0 0 0 3px rgba(148,163,184,.14) ;
}
#appShell.control-shell .global-search-wrap kbd {
  position: absolute ;
  right: 8px ;
  color: #94a3b8 ;
  background: transparent ;
  border: 0 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .62rem ;
  white-space: nowrap ;
}
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button {
  display: grid ;
  place-items: center ;
  width: 32px ;
  height: 32px ;
  padding: 0 ;
  border: 1px solid transparent ;
  border-radius: 8px ;
  background: transparent ;
  color: #cbd5e1 ;
  box-shadow: none ;
}
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover {
  background: #1e293b ;
  border-color: #334155 ;
  color: #ffffff ;
}
#appShell.control-shell .alerts-button svg,
#appShell.control-shell .messaging-header-button svg { width: 18px ; height: 18px ; }
#appShell.control-shell .sidebar-nav {
  position: absolute ;
  left: 50% ;
  top: 0 ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  gap: 4px ;
  width: max-content ;
  height: 64px ;
  max-width: calc(100% - 640px) ;
  padding: 0 ;
  margin: 0 ;
  transform: translateX(-50%) ;
  overflow: visible ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
}
#appShell.control-shell .sidebar-link {
  position: relative ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  width: auto ;
  min-height: 36px ;
  padding: 8px 11px ;
  border: 0 ;
  border-radius: 7px ;
  background: transparent ;
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .78rem ;
  font-weight: 400 ;
  line-height: 1 ;
  white-space: nowrap ;
  box-shadow: none ;
  transform: none ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:focus-visible {
  background: #1e293b ;
  color: #ffffff ;
  outline: none ;
}
#appShell.control-shell .sidebar-link.is-active {
  background: rgba(148,163,184,.14) ;
  color: #ffffff ;
  font-weight: 400 ;
}
#appShell.control-shell .sidebar-link.is-active::after {
  content: "" ;
  position: absolute ;
  right: 11px ;
  bottom: 2px ;
  left: 11px ;
  height: 2px ;
  border-radius: 2px ;
  background: #cbd5e1 ;
}
#appShell.control-shell .sidebar-link .nav-icon { color: inherit ; }
#appShell.control-shell .sidebar-footer {
  position: absolute ;
  top: 0 ;
  right: 24px ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 10px ;
  height: 64px ;
  margin: 0 ;
  padding: 0 ;
  border: 0 ;
  background: transparent ;
}
#appShell.control-shell .sidebar-account {
  display: flex ;
  align-items: center ;
  gap: 8px ;
  min-width: 0 ;
  padding: 7px 10px ;
  border: 1px solid #334155 ;
  border-radius: 999px ;
  background: #111c2e ;
}
#appShell.control-shell .sidebar-account-copy {
  display: flex ;
  align-items: flex-end ;
  flex-direction: column ;
  gap: 2px ;
}
#appShell.control-shell .active-user {
  max-width: 164px ;
  overflow: hidden ;
  color: #f8fafc ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .75rem ;
  font-weight: 500 ;
  line-height: 1.1 ;
  text-overflow: ellipsis ;
  white-space: nowrap ;
}
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online {
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .62rem ;
  font-weight: 400 ;
  line-height: 1.1 ;
}
#appShell.control-shell .sidebar-status-dot { box-shadow: none ; }
#appShell.control-shell .profile-menu-wrap { position: relative ; }
#appShell.control-shell .profile-button {
  display: grid ;
  place-items: center ;
  width: 36px ;
  height: 36px ;
  padding: 0 ;
  border: 1px solid #475569 ;
  border-radius: 50% ;
  background: #1e293b ;
  color: #e2e8f0 ;
  box-shadow: none ;
}
#appShell.control-shell .profile-button:hover {
  background: #334155 ;
  border-color: #94a3b8 ;
  color: #ffffff ;
}
#appShell.control-shell .profile-button img,
#appShell.control-shell .profile-avatar-image { border-radius: 50% ; }
#appShell.control-shell .profile-menu {
  top: calc(100% + 8px) ;
  right: 0 ;
  min-width: 190px ;
  padding: 6px ;
  border: 1px solid #334155 ;
  border-radius: 10px ;
  background: #ffffff ;
  box-shadow: 0 12px 28px rgba(15,23,42,.16) ;
}
#appShell.control-shell .profile-menu button {
  width: 100% ;
  padding: 9px 10px ;
  border: 0 ;
  border-radius: 7px ;
  background: transparent ;
  color: #334155 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .8rem ;
  font-weight: 400 ;
  text-align: left ;
}
#appShell.control-shell .profile-menu button:hover {
  background: #f1f5f9 ;
  color: #0f172a ;
}
@media (max-width: 1100px) {
  #appShell.control-shell .header-left-tools { left: 214px ; }
  #appShell.control-shell .sidebar-nav { max-width: calc(100% - 570px) ; }
  #appShell.control-shell .sidebar-link { padding-inline: 8px ; }
  #appShell.control-shell .sidebar-footer { right: 14px ; }
  #appShell.control-shell .active-user { max-width: 120px ; }
}
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar { height: auto ; min-height: 118px ; flex-wrap: wrap ; padding: 12px 16px ; }
  #appShell.control-shell .app-sidebar::before { width: 100% ; height: 22px ; }
  #appShell.control-shell .header-left-tools { left: 16px ; top: 64px ; height: 42px ; }
  #appShell.control-shell .global-search-wrap { width: 150px ; }
  #appShell.control-shell .sidebar-nav { left: auto ; right: 16px ; top: 64px ; width: auto ; max-width: calc(100% - 190px) ; height: 42px ; transform: none ; overflow-x: auto ; justify-content: flex-start ; }
  #appShell.control-shell .sidebar-footer { top: 12px ; right: 16px ; height: 32px ; }
  #appShell.control-shell .sidebar-account { display: none ; }
}

/* Corrección estructural Navbar: flujo Flexbox sin encimamientos */
#appShell.control-shell .app-sidebar {
  display: flex ;
  flex-direction: row ;
  align-items: center ;
  justify-content: space-between ;
  height: 64px ;
  min-height: 64px ;
  padding: 0 24px ;
  position: relative ;
  overflow: visible ;
  gap: 18px ;
}
#appShell.control-shell .app-sidebar::before {
  position: static ;
  order: 1 ;
  flex: 0 0 auto ;
  color: #ffffff ;
  font-weight: 600 ;
  white-space: nowrap ;
}
#appShell.control-shell .header-left-tools {
  position: static ;
  order: 2 ;
  flex: 0 1 240px ;
  display: flex ;
  align-items: center ;
  gap: 8px ;
  width: auto ;
  height: 64px ;
  min-width: 0 ;
  margin: 0 ;
}
#appShell.control-shell .global-search-wrap {
  position: static ;
  display: flex ;
  align-items: center ;
  gap: 6px ;
  width: 240px ;
  height: 34px ;
  min-width: 0 ;
}
#appShell.control-shell #globalSearchInput {
  position: static ;
  flex: 1 1 auto ;
  width: auto ;
  min-width: 0 ;
  padding: 8px 12px ;
}
#appShell.control-shell .global-search-wrap kbd {
  position: static ;
  flex: 0 0 auto ;
  right: auto ;
  color: #94a3b8 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-nav {
  position: static ;
  order: 3 ;
  display: flex ;
  flex: 1 1 auto ;
  align-items: center ;
  justify-content: center ;
  gap: 8px ;
  width: auto ;
  max-width: none ;
  height: 64px ;
  min-width: 0 ;
  margin: 0 ;
  padding: 0 ;
  transform: none ;
  overflow: visible ;
}
#appShell.control-shell .sidebar-link {
  position: relative ;
  flex: 0 0 auto ;
  min-height: 34px ;
  padding: 6px 14px ;
  border: 1px solid rgba(255,255,255,.15) ;
  border-radius: 6px ;
  color: #f8fafc ;
  font-size: .85rem ;
  font-weight: 400 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:focus-visible {
  background: rgba(255,255,255,.08) ;
  border-color: rgba(255,255,255,.28) ;
  color: #ffffff ;
}
#appShell.control-shell .sidebar-link.is-active {
  background: rgba(255,255,255,.12) ;
  border-color: rgba(255,255,255,.32) ;
  color: #ffffff ;
  font-weight: 400 ;
}
#appShell.control-shell .sidebar-link.is-active::after {
  right: 14px ;
  bottom: -1px ;
  left: 14px ;
  height: 2px ;
  background: #e2e8f0 ;
}
#appShell.control-shell .sidebar-footer {
  position: static ;
  order: 4 ;
  flex: 0 0 auto ;
  display: flex ;
  align-items: center ;
  height: 64px ;
  margin-left: auto ;
  padding: 0 ;
}
#appShell.control-shell .profile-menu-wrap,
#appShell.control-shell .profile-menu,
#appShell.control-shell .profile-menu button { position: relative ; }
#appShell.control-shell .profile-menu { position: absolute ; }
#appShell.control-shell .welcome-card,
#appShell.control-shell #welcomeTitle,
#appShell.control-shell #welcomeTitle span,
#appShell.control-shell #welcomeUserName {
  color: #0f172a ;
}
#appShell.control-shell .welcome-copy { color: #64748b ; }
@media (max-width: 1100px) {
  #appShell.control-shell .app-sidebar { gap: 10px ; padding-inline: 16px ; }
  #appShell.control-shell .header-left-tools { flex-basis: 200px ; }
  #appShell.control-shell .global-search-wrap { width: 200px ; }
  #appShell.control-shell .sidebar-nav { gap: 4px ; }
  #appShell.control-shell .sidebar-link { padding-inline: 9px ; font-size: .76rem ; }
  #appShell.control-shell .sidebar-account { display: none ; }
}
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar {
    height: auto ;
    min-height: 118px ;
    flex-wrap: wrap ;
    align-content: center ;
    padding: 10px 16px ;
  }
  #appShell.control-shell .app-sidebar::before { width: auto ; height: 22px ; }
  #appShell.control-shell .header-left-tools,
  #appShell.control-shell .sidebar-footer {
    position: static ;
    height: 34px ;
    flex: 0 0 auto ;
    margin-left: 0 ;
  }
  #appShell.control-shell .header-left-tools { order: 3 ; }
  #appShell.control-shell .sidebar-footer { order: 2 ; margin-left: auto ; }
  #appShell.control-shell .sidebar-nav {
    order: 4 ;
    flex: 1 0 100% ;
    justify-content: flex-start ;
    width: 100% ;
    height: 38px ;
    overflow-x: auto ;
    overflow-y: hidden ;
  }
  #appShell.control-shell .global-search-wrap { width: 170px ; }
  #appShell.control-shell .global-search-wrap kbd { display: none ; }
}

/* ============================================================================
   NAVBAR WHITE MINIMAL — barra plana sobre fondo claro, sin tonos cálidos
   ============================================================================ */
#appShell.control-shell .app-sidebar {
  display: flex ;
  flex-direction: row ;
  align-items: center ;
  justify-content: space-between ;
  width: 100% ;
  height: 64px ;
  min-height: 64px ;
  box-sizing: border-box ;
  padding: 0 24px ;
  position: relative ;
  gap: 18px ;
  overflow: visible ;
  background: #ffffff ;
  border: 0 ;
  border-bottom: 1px solid #f1f5f9 ;
  border-radius: 0 ;
  box-shadow: 0 1px 4px rgba(15,23,42,.04) ;
  color: #0f172a ;
}
#appShell.control-shell .app-sidebar::before {
  content: "Correduría Pública 6" ;
  display: block ;
  position: static ;
  order: 1 ;
  flex: 0 0 auto ;
  min-width: max-content ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1rem ;
  font-weight: 600 ;
  letter-spacing: -.01em ;
  line-height: 1 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-brand { display: none ; }
#appShell.control-shell .header-left-tools {
  position: static ;
  order: 2 ;
  flex: 0 1 240px ;
  display: flex ;
  align-items: center ;
  gap: 8px ;
  width: auto ;
  height: 64px ;
  min-width: 0 ;
  margin: 0 ;
  padding: 0 ;
}
#appShell.control-shell .global-search-wrap {
  position: static ;
  display: flex ;
  align-items: center ;
  width: 240px ;
  height: 34px ;
  min-width: 0 ;
}
#appShell.control-shell #globalSearchInput {
  position: static ;
  width: 100% ;
  height: 34px ;
  min-width: 0 ;
  box-sizing: border-box ;
  padding: 8px 12px ;
  border: 0 ;
  border-radius: 8px ;
  background: #f1f5f9 ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .8rem ;
  box-shadow: none ;
}
#appShell.control-shell #globalSearchInput::placeholder { color: #64748b ; }
#appShell.control-shell #globalSearchInput:focus {
  border: 0 ;
  outline: 2px solid rgba(37,99,235,.22) ;
  box-shadow: none ;
}
#appShell.control-shell .global-search-wrap kbd {
  display: none ;
  position: static ;
}
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button {
  display: grid ;
  place-items: center ;
  flex: 0 0 32px ;
  width: 32px ;
  height: 32px ;
  padding: 0 ;
  border: 0 ;
  border-radius: 8px ;
  background: transparent ;
  color: #475569 ;
  box-shadow: none ;
}
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover {
  background: #f1f5f9 ;
  border: 0 ;
  color: #2563eb ;
}
#appShell.control-shell .alerts-button svg,
#appShell.control-shell .messaging-header-button svg { width: 18px ; height: 18px ; }
#appShell.control-shell .sidebar-nav {
  position: static ;
  order: 3 ;
  display: flex ;
  flex: 1 1 auto ;
  align-items: center ;
  justify-content: center ;
  gap: 24px ;
  width: auto ;
  max-width: none ;
  height: 64px ;
  min-width: 0 ;
  margin: 0 ;
  padding: 0 ;
  transform: none ;
  overflow: visible ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
}
#appShell.control-shell .sidebar-link {
  position: relative ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  flex: 0 0 auto ;
  width: auto ;
  min-height: 36px ;
  padding: 8px 0 ;
  border: 0 ;
  border-radius: 0 ;
  background: transparent ;
  color: #475569 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .9rem ;
  font-weight: 500 ;
  line-height: 1 ;
  white-space: nowrap ;
  box-shadow: none ;
  transform: none ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:focus-visible {
  background: transparent ;
  border: 0 ;
  color: #2563eb ;
  outline: none ;
}
#appShell.control-shell .sidebar-link.is-active {
  background: transparent ;
  border: 0 ;
  color: #0f172a ;
  font-weight: 500 ;
}
#appShell.control-shell .sidebar-link.is-active::after {
  content: "" ;
  position: absolute ;
  right: 0 ;
  bottom: 0 ;
  left: 0 ;
  height: 2px ;
  border-radius: 2px ;
  background: #2563eb ;
}
#appShell.control-shell .sidebar-link .nav-icon { color: inherit ; }
#appShell.control-shell .sidebar-footer {
  position: static ;
  order: 4 ;
  flex: 0 0 auto ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 10px ;
  height: 64px ;
  margin-left: auto ;
  padding: 0 ;
  border: 0 ;
  background: transparent ;
}
#appShell.control-shell .sidebar-account {
  display: flex ;
  align-items: center ;
  gap: 8px ;
  min-width: 0 ;
  padding: 0 ;
  border: 0 ;
  border-radius: 0 ;
  background: transparent ;
}
#appShell.control-shell .sidebar-account-copy {
  display: flex ;
  align-items: flex-end ;
  flex-direction: column ;
  gap: 2px ;
}
#appShell.control-shell .active-user {
  max-width: 164px ;
  overflow: hidden ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .875rem ;
  font-weight: 500 ;
  line-height: 1.1 ;
  text-overflow: ellipsis ;
  white-space: nowrap ;
}
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online {
  color: #64748b ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .68rem ;
  font-weight: 400 ;
  line-height: 1.1 ;
}
#appShell.control-shell .sidebar-status-dot { box-shadow: none ; }
#appShell.control-shell .profile-button {
  display: grid ;
  place-items: center ;
  flex: 0 0 36px ;
  width: 36px ;
  height: 36px ;
  padding: 0 ;
  border: 1px solid #cbd5e1 ;
  border-radius: 50% ;
  background: #f8fafc ;
  color: #475569 ;
  box-shadow: none ;
}
#appShell.control-shell .profile-button:hover {
  background: #eff6ff ;
  border-color: #93c5fd ;
  color: #2563eb ;
}
#appShell.control-shell .profile-menu {
  top: calc(100% + 8px) ;
  right: 0 ;
  min-width: 190px ;
  padding: 6px ;
  border: 1px solid #e2e8f0 ;
  border-radius: 10px ;
  background: #ffffff ;
  box-shadow: 0 12px 28px rgba(15,23,42,.12) ;
}
#appShell.control-shell .profile-menu button {
  width: 100% ;
  padding: 9px 10px ;
  border: 0 ;
  border-radius: 7px ;
  background: transparent ;
  color: #334155 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .8rem ;
  font-weight: 400 ;
  text-align: left ;
}
#appShell.control-shell .profile-menu button:hover { background: #f1f5f9 ; color: #0f172a ; }
#appShell.control-shell .welcome-card,
#appShell.control-shell #welcomeTitle,
#appShell.control-shell #welcomeTitle span,
#appShell.control-shell #welcomeUserName { color: #0f172a ; }
#appShell.control-shell .welcome-copy { color: #64748b ; }
@media (max-width: 1100px) {
  #appShell.control-shell .app-sidebar { gap: 10px ; padding-inline: 16px ; }
  #appShell.control-shell .sidebar-nav { gap: 16px ; }
  #appShell.control-shell .sidebar-link { font-size: .82rem ; }
  #appShell.control-shell .active-user { max-width: 120px ; }
}
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar { height: auto ; min-height: 118px ; flex-wrap: wrap ; align-content: center ; padding: 10px 16px ; }
  #appShell.control-shell .app-sidebar::before { width: auto ; height: 22px ; }
  #appShell.control-shell .header-left-tools,
  #appShell.control-shell .sidebar-footer { position: static ; height: 34px ; flex: 0 0 auto ; }
  #appShell.control-shell .header-left-tools { order: 3 ; }
  #appShell.control-shell .sidebar-footer { order: 2 ; margin-left: auto ; }
  #appShell.control-shell .sidebar-nav { order: 4 ; flex: 1 0 100% ; justify-content: flex-start ; width: 100% ; height: 38px ; gap: 20px ; overflow-x: auto ; overflow-y: hidden ; }
  #appShell.control-shell .global-search-wrap { width: 170px ; }
}

/* Corrección final de contraste Navbar clara */
#appShell.control-shell .app-sidebar,
#appShell.control-shell .header-left-tools,
#appShell.control-shell .sidebar-nav,
#appShell.control-shell .sidebar-footer {
  align-items: center ;
}
#appShell.control-shell .app-sidebar { gap: 16px ; }
#appShell.control-shell .sidebar-nav {
  display: flex ;
  align-items: center ;
  gap: 24px ;
}
#appShell.control-shell .sidebar-link,
#appShell.control-shell .sidebar-link span,
#appShell.control-shell .sidebar-nav button {
  background: transparent ;
  border: none ;
  box-shadow: none ;
  color: #334155 ;
  font-weight: 500 ;
  font-size: .9rem ;
  padding: 8px 12px ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:hover span,
#appShell.control-shell .sidebar-nav button:hover {
  background: transparent ;
  border: none ;
  color: #2563eb ;
}
#appShell.control-shell .sidebar-link.is-active,
#appShell.control-shell .sidebar-link.is-active span {
  background: transparent ;
  border: none ;
  border-bottom: 2px solid #2563eb ;
  border-radius: 0 ;
  color: #0f172a ;
  font-weight: 600 ;
}
#appShell.control-shell .sidebar-link.is-active::after { display: none ; }
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button,
#appShell.control-shell .profile-button {
  background: transparent ;
  box-shadow: none ;
}
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button,
#appShell.control-shell .alerts-button svg,
#appShell.control-shell .messaging-header-button svg,
#appShell.control-shell .profile-button,
#appShell.control-shell .profile-button svg,
#appShell.control-shell .user-icon,
#appShell.control-shell .user-icon svg {
  color: #334155 ;
  fill: none ;
  stroke: #334155 ;
}
#appShell.control-shell .alerts-button svg path,
#appShell.control-shell .messaging-header-button svg path,
#appShell.control-shell .profile-button svg path,
#appShell.control-shell .profile-button svg circle {
  fill: none ;
  stroke: #334155 ;
}
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover,
#appShell.control-shell .profile-button:hover {
  background: #f1f5f9 ;
  color: #0f172a ;
}
#appShell.control-shell .alerts-button:hover svg,
#appShell.control-shell .messaging-header-button:hover svg,
#appShell.control-shell .profile-button:hover svg,
#appShell.control-shell .alerts-button:hover svg path,
#appShell.control-shell .messaging-header-button:hover svg path,
#appShell.control-shell .profile-button:hover svg path,
#appShell.control-shell .profile-button:hover svg circle {
  color: #0f172a ;
  stroke: #0f172a ;
}
#appShell.control-shell #globalSearchInput,
#appShell.control-shell .search-input,
#appShell.control-shell input[type="search"],
#appShell.control-shell input[type="text"] {
  background-color: #f1f5f9 ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  color: #0f172a ;
  padding: 8px 14px ;
}
#appShell.control-shell #globalSearchInput::placeholder,
#appShell.control-shell .search-input::placeholder,
#appShell.control-shell input[type="search"]::placeholder,
#appShell.control-shell input[type="text"]::placeholder { color: #64748b ; }
#appShell.control-shell .sidebar-account-copy,
#appShell.control-shell .active-user,
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online,
#appShell.control-shell #serverStatusLabel {
  color: #0f172a ;
}
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online { color: #64748b ; }

/* ============================================================================
   NAVBAR AZUL GRAFITO — identidad visual del Login, sin cajas doradas
   ============================================================================ */
#appShell.control-shell .app-sidebar {
  display: flex ;
  flex-direction: row ;
  align-items: center ;
  justify-content: space-between ;
  width: 100% ;
  height: 64px ;
  min-height: 64px ;
  box-sizing: border-box ;
  padding: 0 24px ;
  gap: 16px ;
  position: relative ;
  overflow: visible ;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%) ;
  border: 0 ;
  border-bottom: 1px solid rgba(255,255,255,.1) ;
  border-radius: 0 ;
  box-shadow: 0 2px 10px rgba(15,23,42,.22) ;
  color: #e2e8f0 ;
}
#appShell.control-shell .app-sidebar::before {
  content: "Correduría Pública 6" ;
  color: #ffffff ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1rem ;
  font-weight: 600 ;
  letter-spacing: -.01em ;
  line-height: 1 ;
  white-space: nowrap ;
}
#appShell.control-shell .header-left-tools,
#appShell.control-shell .sidebar-nav,
#appShell.control-shell .sidebar-footer {
  align-items: center ;
}
#appShell.control-shell .header-left-tools {
  background: transparent ;
  border: 0 ;
}
#appShell.control-shell .global-search-wrap {
  width: 240px ;
  height: 34px ;
  background: transparent ;
  border: 0 ;
}
#appShell.control-shell #globalSearchInput,
#appShell.control-shell .search-input,
#appShell.control-shell input[type="search"] {
  width: 100% ;
  height: 34px ;
  box-sizing: border-box ;
  padding: 7px 14px ;
  background: rgba(255,255,255,.08) ;
  border: 1px solid rgba(255,255,255,.15) ;
  border-radius: 8px ;
  color: #ffffff ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .8rem ;
  box-shadow: none ;
}
#appShell.control-shell #globalSearchInput::placeholder,
#appShell.control-shell .search-input::placeholder,
#appShell.control-shell input[type="search"]::placeholder { color: #94a3b8 ; }
#appShell.control-shell #globalSearchInput:focus,
#appShell.control-shell .search-input:focus,
#appShell.control-shell input[type="search"]:focus {
  outline: 2px solid rgba(148,163,184,.28) ;
  border-color: rgba(255,255,255,.3) ;
  box-shadow: none ;
}
#appShell.control-shell .global-search-wrap kbd { display: none ; }
#appShell.control-shell .sidebar-nav {
  display: flex ;
  flex: 1 1 auto ;
  align-items: center ;
  justify-content: center ;
  gap: 8px ;
  height: 64px ;
  min-width: 0 ;
  padding: 0 ;
  margin: 0 ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  overflow: visible ;
}
#appShell.control-shell .sidebar-link,
#appShell.control-shell .sidebar-link span,
#appShell.control-shell .sidebar-nav button {
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  position: relative ;
  width: auto ;
  min-height: 36px ;
  padding: 8px 14px ;
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .88rem ;
  font-weight: 500 ;
  line-height: 1 ;
  white-space: nowrap ;
  text-decoration: none ;
  transition: color .2s ease, background-color .2s ease ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:hover span,
#appShell.control-shell .sidebar-nav button:hover {
  color: #ffffff ;
  background: rgba(255,255,255,.05) ;
  border: none ;
  border-radius: 6px ;
  box-shadow: none ;
}
#appShell.control-shell .sidebar-link.is-active,
#appShell.control-shell .sidebar-link.is-active span {
  color: #ffffff ;
  background: rgba(255,255,255,.1) ;
  border: none ;
  border-radius: 6px ;
  box-shadow: none ;
  font-weight: 600 ;
}
#appShell.control-shell .sidebar-link.is-active::after { display: none ; }
#appShell.control-shell .sidebar-link .nav-icon { color: inherit ; }
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button,
#appShell.control-shell .profile-button {
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  color: #e2e8f0 ;
}
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover,
#appShell.control-shell .profile-button:hover {
  background: rgba(255,255,255,.08) ;
  border: 0 ;
  color: #ffffff ;
}
#appShell.control-shell .alerts-button svg,
#appShell.control-shell .messaging-header-button svg,
#appShell.control-shell .profile-button svg,
#appShell.control-shell .sidebar-footer svg,
#appShell.control-shell .sidebar-footer i {
  color: #e2e8f0 ;
  fill: none ;
  stroke: #e2e8f0 ;
}
#appShell.control-shell .alerts-button svg path,
#appShell.control-shell .messaging-header-button svg path,
#appShell.control-shell .profile-button svg path,
#appShell.control-shell .profile-button svg circle {
  fill: none ;
  stroke: #e2e8f0 ;
}
#appShell.control-shell .sidebar-footer,
#appShell.control-shell .sidebar-account {
  background: transparent ;
  border: 0 ;
  color: #e2e8f0 ;
}
#appShell.control-shell .active-user,
#appShell.control-shell .sidebar-account-copy,
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online,
#appShell.control-shell #serverStatusLabel {
  color: #e2e8f0 ;
}
#appShell.control-shell .active-user { font-weight: 500 ; }
#appShell.control-shell .active-user-role,
#appShell.control-shell .sidebar-online { color: #94a3b8 ; }
#appShell.control-shell .profile-button {
  border: 1px solid rgba(255,255,255,.22) ;
  border-radius: 50% ;
  background: rgba(255,255,255,.06) ;
}
#appShell.control-shell .profile-button:hover { border-color: rgba(255,255,255,.45) ; }
#appShell.control-shell .profile-menu {
  border: 1px solid #334155 ;
  background: #ffffff ;
  color: #0f172a ;
  box-shadow: 0 14px 32px rgba(15,23,42,.28) ;
}
@media (max-width: 1100px) {
  #appShell.control-shell .app-sidebar { padding-inline: 16px ; gap: 10px ; }
  #appShell.control-shell .sidebar-nav { gap: 4px ; }
  #appShell.control-shell .sidebar-link,
  #appShell.control-shell .sidebar-link span { padding-inline: 9px ; font-size: .82rem ; }
}
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar { min-height: 118px ; height: auto ; flex-wrap: wrap ; padding: 10px 16px ; }
  #appShell.control-shell .sidebar-nav { flex: 1 0 100% ; order: 4 ; justify-content: flex-start ; height: 38px ; overflow-x: auto ; overflow-y: hidden ; }
  #appShell.control-shell .header-left-tools,
  #appShell.control-shell .sidebar-footer { height: 34px ; }
  #appShell.control-shell .global-search-wrap { width: 170px ; }
}

/* ============================================================================
   NAVBAR HIPER-LIMPIA — marca izquierda, navegación central y herramientas
   ============================================================================ */
#appShell.control-shell .app-sidebar {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  height: 60px ;
  min-height: 60px ;
  padding: 0 28px ;
  background: #0f172a ;
  border: 0 ;
  border-bottom: 1px solid rgba(255,255,255,.1) ;
  border-radius: 0 ;
  box-shadow: none ;
  overflow: visible ;
  gap: 24px ;
}
#appShell.control-shell .app-sidebar::before {
  content: "Correduría Pública 6" ;
  order: 1 ;
  flex: 0 0 auto ;
  color: #ffffff ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1rem ;
  font-weight: 500 ;
  line-height: 1 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-nav {
  order: 2 ;
  flex: 1 1 auto ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  gap: 2px ;
  height: 60px ;
  min-width: 0 ;
  padding: 0 ;
  margin: 0 ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  overflow: visible ;
}
#appShell.control-shell .sidebar-link,
#appShell.control-shell .sidebar-link span,
#appShell.control-shell .sidebar-nav button,
#appShell.control-shell header button,
#appShell.control-shell header a {
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
  outline: none ;
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .88rem ;
  font-weight: 400 ;
  padding: 6px 12px ;
  text-decoration: none ;
}
#appShell.control-shell .sidebar-link { min-height: 34px ; line-height: 1 ; }
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:hover span {
  color: #ffffff ;
  background: transparent ;
}
#appShell.control-shell .sidebar-link.is-active,
#appShell.control-shell .sidebar-link.is-active span {
  color: #ffffff ;
  font-weight: 500 ;
  background: transparent ;
  border: 0 ;
  border-bottom: 2px solid #3b82f6 ;
}
#appShell.control-shell .sidebar-link.is-active::after { display: none ; }
#appShell.control-shell .header-left-tools.navbar-tools {
  order: 3 ;
  flex: 0 0 auto ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 8px ;
  height: 60px ;
  margin-left: auto ;
  background: transparent ;
  border: 0 ;
}
#appShell.control-shell .navbar-icon-button,
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button,
#appShell.control-shell .profile-button {
  display: grid ;
  place-items: center ;
  width: 34px ;
  height: 34px ;
  min-width: 34px ;
  min-height: 34px ;
  padding: 6px ;
  background: transparent ;
  border: none ;
  border-radius: 50% ;
  box-shadow: none ;
  color: #e2e8f0 ;
  cursor: pointer ;
}
#appShell.control-shell .navbar-icon-button:hover,
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover,
#appShell.control-shell .profile-button:hover {
  background: rgba(255,255,255,.08) ;
  color: #ffffff ;
}
#appShell.control-shell .navbar-icon-button svg,
#appShell.control-shell .navbar-icon-button svg path,
#appShell.control-shell .navbar-icon-button svg circle {
  width: 20px ;
  height: 20px ;
  fill: none ;
  stroke: currentColor ;
  stroke-width: 1.7 ;
  color: #e2e8f0 ;
}
#appShell.control-shell .navbar-icon-button:hover svg,
#appShell.control-shell .navbar-icon-button:hover svg path,
#appShell.control-shell .navbar-icon-button:hover svg circle { color: #ffffff ; stroke: #ffffff ; }
#appShell.control-shell .global-search-wrap {
  position: absolute ;
  top: calc(100% + 8px) ;
  right: 108px ;
  z-index: 1000 ;
  width: 260px ;
  height: 36px ;
  padding: 0 ;
  background: transparent ;
  border: 0 ;
}
#appShell.control-shell .global-search-wrap[hidden] { display: none ; }
#appShell.control-shell #globalSearchInput {
  width: 260px ;
  height: 36px ;
  padding: 8px 14px ;
  background: #1e293b ;
  border: 1px solid rgba(148,163,184,.45) ;
  border-radius: 8px ;
  color: #ffffff ;
  box-shadow: 0 12px 26px rgba(2,6,23,.3) ;
}
#appShell.control-shell #globalSearchInput::placeholder { color: #94a3b8 ; }
#appShell.control-shell .global-search-wrap kbd { display: none ; }
#appShell.control-shell .navbar-profile-wrap { position: relative ; }
#appShell.control-shell .navbar-legacy-user-data { display: none ; }
#appShell.control-shell .profile-avatar-image { width: 20px ; height: 20px ; border: 0 ; border-radius: 50% ; }
#appShell.control-shell .alerts-count,
#appShell.control-shell #alertsCount { top: 0 ; right: 0 ; }
@media (max-width: 1100px) {
  #appShell.control-shell .app-sidebar { padding-inline: 16px ; gap: 10px ; }
  #appShell.control-shell .sidebar-link { padding-inline: 8px ; font-size: .82rem ; }
}
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar { height: auto ; min-height: 112px ; flex-wrap: wrap ; padding: 10px 16px ; }
  #appShell.control-shell .sidebar-nav { order: 4 ; flex: 1 0 100% ; justify-content: flex-start ; height: 36px ; overflow-x: auto ; overflow-y: hidden ; }
  #appShell.control-shell .header-left-tools.navbar-tools { height: 34px ; }
  #appShell.control-shell .global-search-wrap { top: 42px ; right: 52px ; }
}

/* ============================================================================
   NAVBAR FINAL — 3 bloques, herramientas búsqueda-mensajes-perfil-alertas
   ============================================================================ */
#appShell.control-shell .app-sidebar {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  height: 60px ;
  min-height: 60px ;
  padding: 0 28px ;
  background: #0f172a ;
  border: none ;
  border-bottom: 1px solid rgba(255,255,255,.1) ;
  border-radius: 0 ;
  box-shadow: none ;
  overflow: visible ;
}
#appShell.control-shell .app-sidebar::before {
  content: "Correduría Pública 6" ;
  order: 1 ;
  margin-right: auto ;
  color: #ffffff ;
  font-size: 1rem ;
  font-weight: 500 ;
  white-space: nowrap ;
}
#appShell.control-shell .sidebar-nav {
  order: 2 ;
  flex: 0 1 auto ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  gap: 2px ;
  height: 60px ;
  margin: 0 auto ;
  padding: 0 ;
  background: transparent ;
  border: none ;
  box-shadow: none ;
}
#appShell.control-shell .sidebar-link,
#appShell.control-shell .sidebar-link span,
#appShell.control-shell .sidebar-nav button,
#appShell.control-shell header a,
#appShell.control-shell header button {
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
  outline: none ;
  color: #94a3b8 ;
  font-size: .88rem ;
  font-weight: 400 ;
  padding: 8px 14px ;
  text-decoration: none ;
}
#appShell.control-shell .sidebar-link:hover,
#appShell.control-shell .sidebar-link:hover span {
  color: #ffffff ;
  background: transparent ;
}
#appShell.control-shell .sidebar-link.is-active,
#appShell.control-shell .sidebar-link.is-active span {
  color: #ffffff ;
  font-weight: 500 ;
  background: transparent ;
  border: none ;
  border-bottom: 2px solid #3b82f6 ;
}
#appShell.control-shell .sidebar-link.is-active::after { display: none ; }
#appShell.control-shell .header-left-tools.navbar-tools {
  order: 3 ;
  flex: 0 0 auto ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  gap: 8px ;
  height: 60px ;
  margin-left: auto ;
  background: transparent ;
  border: none ;
}
#appShell.control-shell .navbar-icon-button,
#appShell.control-shell .alerts-button,
#appShell.control-shell .messaging-header-button,
#appShell.control-shell .profile-button {
  position: relative ;
  display: grid ;
  place-items: center ;
  width: 34px ;
  height: 34px ;
  min-width: 34px ;
  min-height: 34px ;
  padding: 6px ;
  background: transparent ;
  border: none ;
  border-radius: 50% ;
  box-shadow: none ;
  color: #94a3b8 ;
  transition: all .2s ease ;
}
#appShell.control-shell .navbar-icon-button:hover,
#appShell.control-shell .alerts-button:hover,
#appShell.control-shell .messaging-header-button:hover,
#appShell.control-shell .profile-button:hover {
  background: transparent ;
  color: #ffffff ;
  transform: scale(1.08) ;
}
#appShell.control-shell .navbar-icon-button svg,
#appShell.control-shell .navbar-icon-button svg path,
#appShell.control-shell .navbar-icon-button svg circle {
  width: 20px ;
  height: 20px ;
  fill: none ;
  stroke: currentColor ;
  stroke-width: 1.7 ;
  color: inherit ;
}
#appShell.control-shell .profile-status-dot {
  position: absolute ;
  right: 2px ;
  bottom: 2px ;
  width: 7px ;
  height: 7px ;
  border: 1px solid #0f172a ;
  border-radius: 50% ;
  background: #22c55e ;
  box-shadow: 0 0 6px rgba(34,197,94,.75) ;
}
#appShell.control-shell .global-search-wrap {
  position: absolute ;
  top: calc(100% + 8px) ;
  right: 124px ;
  z-index: 1000 ;
}
#appShell.control-shell .navbar-profile-wrap { position: relative ; }
#appShell.control-shell .navbar-profile-wrap .profile-menu {
  position: absolute ;
  top: calc(100% + 8px) ;
  right: 0 ;
  left: auto ;
  z-index: 9999 ;
}
#appShell.control-shell .navbar-legacy-user-data { display: none ; }
@media (max-width: 820px) {
  #appShell.control-shell .app-sidebar { height: auto ; min-height: 112px ; flex-wrap: wrap ; padding: 10px 16px ; }
  #appShell.control-shell .sidebar-nav { order: 4 ; flex: 1 0 100% ; justify-content: flex-start ; height: 36px ; overflow-x: auto ; }
  #appShell.control-shell .header-left-tools.navbar-tools { height: 34px ; }
  #appShell.control-shell .global-search-wrap { top: 42px ; right: 54px ; }
}

/* ============================================================================
   CP6 NAVBAR MODERN — estructura directa en tres bloques
   ============================================================================ */
#appShell.control-shell > .cp6-navbar-modern {
  position: relative ;
  z-index: 100 ;
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  width: 100% ;
  height: 60px ;
  min-height: 60px ;
  padding: 0 28px ;
  margin: 0 ;
  background: #0f172a ;
  border: none ;
  border-bottom: 1px solid rgba(255,255,255,.1) ;
  box-shadow: none ;
  overflow: visible ;
}
#appShell.control-shell .cp6-brand {
  order: 1 ;
  flex: 1 1 0 ;
  min-width: 0 ;
  margin-right: auto ;
  color: #ffffff ;
  font-size: 1rem ;
  font-weight: 500 ;
  white-space: nowrap ;
}
#appShell.control-shell .cp6-nav-center {
  order: 2 ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  flex: 0 0 auto ;
  gap: 2px ;
  height: 60px ;
  margin: 0 auto ;
  padding: 0 ;
  background: transparent ;
  border: none ;
  box-shadow: none ;
  white-space: nowrap ;
}
#appShell.control-shell .cp6-nav-link {
  display: inline-flex ;
  align-items: center ;
  height: 34px ;
  padding: 8px 14px ;
  color: #94a3b8 ;
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
  font-size: .88rem ;
  font-weight: 400 ;
  line-height: 1 ;
  text-decoration: none ;
  transition: color .2s ease, transform .2s ease ;
}
#appShell.control-shell .cp6-nav-link:hover {
  color: #ffffff ;
  background: transparent ;
  transform: translateY(-1px) ;
}
#appShell.control-shell .cp6-nav-link.active,
#appShell.control-shell .cp6-nav-link.is-active {
  color: #ffffff ;
  background: transparent ;
  border: none ;
  border-bottom: 2px solid #3b82f6 ;
  font-weight: 500 ;
}
#appShell.control-shell .cp6-nav-tools {
  position: relative ;
  order: 3 ;
  display: flex ;
  align-items: center ;
  justify-content: flex-end ;
  flex: 1 1 0 ;
  min-width: 0 ;
  gap: 8px ;
  height: 60px ;
  margin-left: auto ;
  background: transparent ;
}
#appShell.control-shell .cp6-icon-btn {
  position: relative ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  width: 34px ;
  height: 34px ;
  min-width: 34px ;
  padding: 6px ;
  color: #94a3b8 ;
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
  cursor: pointer ;
  transition: all .2s ease ;
}
#appShell.control-shell .cp6-icon-btn:hover {
  color: #ffffff ;
  background: transparent ;
  transform: scale(1.08) ;
}
#appShell.control-shell .cp6-icon-btn svg,
#appShell.control-shell .cp6-icon-btn svg path,
#appShell.control-shell .cp6-icon-btn svg circle,
#appShell.control-shell .cp6-icon-btn svg line {
  fill: none ;
  stroke: currentColor ;
  color: inherit ;
}
#appShell.control-shell .cp6-profile-wrapper { position: relative ; }
#appShell.control-shell .cp6-status-dot {
  position: absolute ;
  right: 2px ;
  bottom: 2px ;
  width: 7px ;
  height: 7px ;
  border: 1px solid #0f172a ;
  border-radius: 50% ;
  background: #22c55e ;
  box-shadow: 0 0 6px rgba(34,197,94,.8) ;
}
#appShell.control-shell .cp6-nav-tools .global-search-wrap {
  position: absolute ;
  top: calc(100% + 8px) ;
  right: 124px ;
  z-index: 1001 ;
}
#appShell.control-shell .cp6-nav-tools .profile-menu-wrap { position: relative ; }
#appShell.control-shell .cp6-nav-tools .profile-menu {
  position: absolute ;
  top: calc(100% + 8px) ;
  right: 0 ;
  left: auto ;
  z-index: 9999 ;
}
#appShell.control-shell .cp6-legacy-session { display: none ; }
@media (max-width: 900px) {
  #appShell.control-shell > .cp6-navbar-modern { padding-inline: 16px ; }
  #appShell.control-shell .cp6-nav-link { padding-inline: 8px ; font-size: .8rem ; }
}
@media (max-width: 720px) {
  #appShell.control-shell > .cp6-navbar-modern { height: auto ; min-height: 106px ; flex-wrap: wrap ; padding-block: 10px ; }
  #appShell.control-shell .cp6-brand { flex: 1 1 auto ; }
  #appShell.control-shell .cp6-nav-tools { flex: 0 0 auto ; height: 34px ; }
  #appShell.control-shell .cp6-nav-center { order: 4 ; flex: 1 0 100% ; justify-content: flex-start ; height: 34px ; overflow-x: auto ; overflow-y: hidden ; }
}


/* ============================================================================
   HOME SAAS — bienvenida clara, sans-serif y sin marca visible en Navbar
   ============================================================================ */
#appShell.control-shell > .cp6-navbar-modern .cp6-brand {
  display: none ;
}
#appShell.control-shell > .cp6-navbar-modern .cp6-nav-center {
  margin-left: auto ;
  margin-right: auto ;
}
#appShell.control-shell > .cp6-navbar-modern .cp6-nav-tools {
  margin-left: auto ;
}
html body,
html body #appShell.control-shell,
html body #appShell.control-shell .app-workspace {
  background: #f8fafc ;
}
#appShell.control-shell .welcome-view {
  display: block ;
  width: 100% ;
  max-width: 1180px ;
  min-height: 0 ;
  padding: 32px 0 ;
  margin: 0 auto ;
  background: transparent ;
}
#appShell.control-shell .welcome-card {
  width: 100% ;
  min-height: 0 ;
  box-sizing: border-box ;
  padding: 32px ;
  margin: 0 ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.03), 0 2px 4px -1px rgba(0,0,0,.02) ;
}
#appShell.control-shell .welcome-card-main {
  display: block ;
}
#appShell.control-shell #welcomeTitle {
  margin: 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.25rem ;
  font-weight: 400 ;
  line-height: 1.35 ;
}
#appShell.control-shell #welcomeUserName {
  display: block ;
  margin-top: 6px ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.85rem ;
  font-weight: 600 ;
  line-height: 1.2 ;
}
#appShell.control-shell #welcomeRoleCopy {
  margin: 14px 0 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .95rem ;
  font-weight: 400 ;
  line-height: 1.55 ;
}
@media (max-width: 720px) {
  #appShell.control-shell .welcome-view { padding: 20px 16px ; }
  #appShell.control-shell .welcome-card { padding: 24px ; }
  #appShell.control-shell #welcomeUserName { font-size: 1.55rem ; }
}


/* ============================================================================
   HOME PLANO — bienvenida abierta y navegación alineada a la izquierda
   ============================================================================ */
#appShell.control-shell > .cp6-navbar-modern .cp6-nav-center {
  justify-content: flex-start ;
  margin-left: 0 ;
  margin-right: auto ;
}
#appShell.control-shell .welcome-view {
  display: block ;
  width: 100% ;
  max-width: none ;
  min-height: 0 ;
  padding: 48px 40px ;
  margin: 0 ;
  background: transparent ;
  box-sizing: border-box ;
}
#appShell.control-shell .welcome-card {
  width: 100% ;
  min-height: 0 ;
  padding: 0 ;
  margin: 0 ;
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  box-shadow: none ;
}
#appShell.control-shell #welcomeTitle {
  margin: 0 0 2px ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.1rem ;
  font-weight: 400 ;
  line-height: 1.35 ;
}
#appShell.control-shell #welcomeUserName {
  display: block ;
  margin-top: 4px ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.85rem ;
  font-weight: 600 ;
  letter-spacing: -.5px ;
  line-height: 1.2 ;
}
#appShell.control-shell #welcomeRoleCopy {
  margin: 6px 0 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .9rem ;
  font-weight: 400 ;
  line-height: 1.55 ;
}
@media (max-width: 720px) {
  #appShell.control-shell .welcome-view { padding: 32px 20px ; }
}


/* ============================================================================
   AVALÚOS SAAS — módulos Bento minimalistas
   ============================================================================ */
#appShell.control-shell #avaluosView,
#appShell.control-shell #avaluosView #avaluosMenuSection {
  background: #f8fafc ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
}
#appShell.control-shell #avaluosView > #avaluosMenuSection {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1180px ;
  margin: 0 auto ;
  padding: 40px 40px 48px ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading {
  max-width: 1100px ;
  margin: 0 auto 24px ;
  padding: 0 ;
  background: transparent ;
  border: none ;
  box-shadow: none ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading h2 {
  margin: 0 ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.5rem ;
  font-weight: 600 ;
  line-height: 1.3 ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading p {
  margin: 6px 0 0 ;
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .9rem ;
  font-weight: 400 ;
  line-height: 1.5 ;
}
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  display: grid ;
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  gap: 20px ;
  width: 100% ;
  max-width: 1100px ;
  margin: 0 auto ;
  padding: 0 ;
  align-items: stretch ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card {
  display: grid ;
  grid-template-columns: 42px minmax(0, 1fr) auto ;
  align-items: center ;
  gap: 16px ;
  box-sizing: border-box ;
  width: 100% ;
  max-width: none ;
  min-height: 132px ;
  padding: 24px ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  box-shadow: 0 1px 3px 0 rgba(0,0,0,.05) ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  text-align: left ;
  transition: all .2s ease-in-out ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card:hover {
  border-color: #3b82f6 ;
  box-shadow: 0 10px 15px -3px rgba(59,130,246,.08), 0 4px 6px -2px rgba(0,0,0,.02) ;
  transform: translateY(-2px) ;
}
#appShell.control-shell #avaluosView .avaluos-choice-icon {
  display: flex ;
  align-items: center ;
  justify-content: center ;
  width: 42px ;
  height: 42px ;
  flex: 0 0 42px ;
  background: #eff6ff ;
  color: #2563eb ;
  border: none ;
  border-radius: 10px ;
  box-shadow: none ;
}
#appShell.control-shell #avaluosView .avaluos-choice-icon svg {
  width: 22px ;
  height: 22px ;
  color: #2563eb ;
  stroke: currentColor ;
}
#appShell.control-shell #avaluosView .avaluos-choice-copy {
  min-width: 0 ;
  display: flex ;
  flex-direction: column ;
  gap: 6px ;
}
#appShell.control-shell #avaluosView .avaluos-choice-copy strong {
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.15rem ;
  font-weight: 600 ;
  line-height: 1.3 ;
}
#appShell.control-shell #avaluosView .avaluos-choice-copy small {
  color: #64748b ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .875rem ;
  font-weight: 400 ;
  line-height: 1.5 ;
}
#appShell.control-shell #avaluosView .avaluos-choice-arrow {
  align-self: end ;
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.35rem ;
  font-weight: 400 ;
  line-height: 1 ;
  transition: color .2s ease, transform .2s ease ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card:hover .avaluos-choice-arrow {
  color: #2563eb ;
  transform: translateX(2px) ;
}
@media (min-width: 1280px) {
  #appShell.control-shell #avaluosView .avaluos-choice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  }
  #appShell.control-shell #avaluosView .avaluos-choice-card {
    grid-template-columns: 42px minmax(0, 1fr) ;
    min-height: 172px ;
  }
  #appShell.control-shell #avaluosView .avaluos-choice-arrow {
    grid-column: 2 ;
    justify-self: end ;
    margin-top: 4px ;
  }
}
@media (max-width: 720px) {
  #appShell.control-shell #avaluosView > #avaluosMenuSection { padding: 28px 20px 36px ; }
  #appShell.control-shell #avaluosView .avaluos-choice-grid { grid-template-columns: 1fr ; }
  #appShell.control-shell #avaluosView .avaluos-choice-card { min-height: 112px ; padding: 20px ; }
}


/* ============================================================================
   AVALÚOS — layout horizontal de cuatro columnas, azul y grafito
   ============================================================================ */
#appShell.control-shell #avaluosView .avaluos-section-heading {
  border-top: none ;
  border-bottom: none ;
  box-shadow: none ;
  padding-top: 0 ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading h2 {
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-weight: 600 ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading h2 span {
  color: #2563eb ;
}
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  gap: 20px ;
  max-width: 1100px ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card {
  grid-template-columns: 42px minmax(0, 1fr) ;
  align-content: start ;
  min-height: 186px ;
  padding: 24px ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 16px ;
  box-shadow: 0 4px 12px rgba(15,23,42,.04) ;
  border-bottom: 1px solid #e2e8f0 ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card:hover {
  border-color: #3b82f6 ;
  border-bottom-color: #3b82f6 ;
  box-shadow: 0 10px 20px rgba(37,99,235,.09) ;
  transform: translateY(-3px) ;
}
#appShell.control-shell #avaluosView .avaluos-choice-icon {
  width: 42px ;
  height: 42px ;
  background: #eff6ff ;
  color: #2563eb ;
  border-radius: 10px ;
}
#appShell.control-shell #avaluosView .avaluos-choice-arrow {
  grid-column: 2 ;
  align-self: end ;
  justify-self: end ;
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  width: 32px ;
  height: 32px ;
  margin-top: 12px ;
  color: #ffffff ;
  background: #2563eb ;
  border-radius: 50% ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: 1.15rem ;
  line-height: 1 ;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease ;
}
#appShell.control-shell #avaluosView .avaluos-choice-card:hover .avaluos-choice-arrow {
  color: #ffffff ;
  background: #0f172a ;
  box-shadow: 0 4px 10px rgba(37,99,235,.22) ;
  transform: translateX(4px) ;
}
@media (max-width: 1100px) {
  #appShell.control-shell #avaluosView .avaluos-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) ; }
}
@media (max-width: 720px) {
  #appShell.control-shell #avaluosView .avaluos-choice-grid { grid-template-columns: 1fr ; }
  #appShell.control-shell #avaluosView .avaluos-choice-card { min-height: 132px ; }
}


/* ============================================================================
   AVALÚOS — ajuste de posición superior y ancho del contenedor
   ============================================================================ */
#appShell.control-shell #avaluosView > #avaluosMenuSection {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1240px ;
  margin-top: 0 ;
  margin-left: auto ;
  margin-right: auto ;
  padding-top: 48px ;
  padding-right: 32px ;
  padding-bottom: 48px ;
  padding-left: 32px ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading,
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  width: 100% ;
  max-width: none ;
  margin-left: 0 ;
  margin-right: 0 ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading {
  margin-top: 0 ;
  margin-bottom: 24px ;
}
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  padding-left: 0 ;
  padding-right: 0 ;
}
@media (max-width: 720px) {
  #appShell.control-shell #avaluosView > #avaluosMenuSection {
    padding-top: 28px ;
    padding-right: 20px ;
    padding-left: 20px ;
  }
}

/* ============================================================================
   LAYOUT GLOBAL UNIFICADO — mismo eje superior e izquierdo para todas las vistas
   ============================================================================ */
#appShell.control-shell > .app-workspace.main-content,
#appShell.control-shell > .app-workspace {
  box-sizing: border-box ;
  display: block ;
  width: 100% ;
  max-width: 1360px ;
  min-height: 0 ;
  margin-left: 0 ;
  margin-right: auto ;
  padding: 48px 56px ;
  align-items: initial ;
  justify-content: initial ;
}
#appShell.control-shell > .app-workspace > .app-view {
  box-sizing: border-box ;
  width: 100% ;
  max-width: none ;
  min-height: 0 ;
  margin: 0 ;
  padding: 0 ;
}
/* Home: su bienvenida parte exactamente del mismo eje que los demás módulos. */
#appShell.control-shell > .app-workspace > #inicioView,
#appShell.control-shell > .app-workspace > #inicioView .welcome-view {
  width: 100% ;
  max-width: none ;
  margin: 0 ;
  padding: 0 ;
}
/* Avalúos: encabezado y tarjetas comparten el eje del contenedor global. */
#appShell.control-shell > .app-workspace > #avaluosView > #avaluosMenuSection {
  width: 100% ;
  max-width: none ;
  margin: 0 ;
  padding: 0 ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading {
  width: 100% ;
  max-width: none ;
  margin: 0 0 0 ;
  padding: 0 ;
}
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  width: 100% ;
  max-width: none ;
  margin: 32px 0 0 ;
  padding: 0 ;
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  gap: 24px ;
}
@media (max-width: 1100px) {
  #appShell.control-shell #avaluosView .avaluos-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  }
}
@media (max-width: 720px) {
  #appShell.control-shell > .app-workspace.main-content,
  #appShell.control-shell > .app-workspace {
    padding: 28px 20px ;
  }
  #appShell.control-shell #avaluosView .avaluos-choice-grid {
    grid-template-columns: 1fr ;
    margin-top: 24px ;
  }
}

/* ============================================================================
   VISTAS INTERIORES — Recepción, Gestión, Validación y Solicitudes
   SaaS frío azul/grafito, sin acentos dorados
   ============================================================================ */
#appShell.control-shell #recepcionAvaluosSection,
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1280px ;
  margin-left: auto ;
  margin-right: auto ;
  padding: 32px 24px ;
}
#appShell.control-shell #recepcionAvaluosSection > *,
#appShell.control-shell #crearAvaluoSection > *,
#appShell.control-shell #avaluosAuthorizedFoliosPanel > *,
#appShell.control-shell #solicitudesView > * {
  max-width: none ;
}

/* Acciones principales y navegación secundaria */
#appShell.control-shell #newRecordButton,
#appShell.control-shell #newTechnicalAppraisalButton,
#appShell.control-shell #newInternalRequestButton,
#appShell.control-shell #refreshPendingSummaryButton,
#appShell.control-shell .primary-button,
#appShell.control-shell .technical-add-vehicle-button {
  background: #2563eb ;
  color: #ffffff ;
  border: none ;
  border-radius: 8px ;
  box-shadow: 0 2px 4px rgba(37,99,235,.2) ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .875rem ;
  font-weight: 500 ;
  padding: 10px 18px ;
}
#appShell.control-shell #newRecordButton:hover,
#appShell.control-shell #newTechnicalAppraisalButton:hover,
#appShell.control-shell #newInternalRequestButton:hover,
#appShell.control-shell #refreshPendingSummaryButton:hover,
#appShell.control-shell .primary-button:hover,
#appShell.control-shell .technical-add-vehicle-button:hover {
  background: #1d4ed8 ;
  color: #ffffff ;
  box-shadow: 0 5px 12px rgba(37,99,235,.24) ;
}
#appShell.control-shell #backAvaluosButton,
#appShell.control-shell #backRequestsToAvaluosButton,
#appShell.control-shell .back-to-users,
#appShell.control-shell .subtle-action-button {
  background: #f1f5f9 ;
  color: #475569 ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  box-shadow: none ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-weight: 500 ;
  padding: 10px 18px ;
}
#appShell.control-shell #backAvaluosButton:hover,
#appShell.control-shell #backRequestsToAvaluosButton:hover,
#appShell.control-shell .back-to-users:hover,
#appShell.control-shell .subtle-action-button:hover {
  background: #e2e8f0 ;
  color: #0f172a ;
}

/* Buscadores y filtros */
#appShell.control-shell .request-filter-row,
#appShell.control-shell .technical-search-panel {
  width: 100% ;
  max-width: 1280px ;
  margin: 0 auto 20px ;
  padding: 0 ;
  background: transparent ;
  border: none ;
  box-shadow: none ;
}
#appShell.control-shell .request-filter-row input,
#appShell.control-shell .request-filter-row select,
#appShell.control-shell .technical-search-panel input,
#appShell.control-shell .technical-search-panel select,
#appShell.control-shell #receptionSearchInput {
  box-sizing: border-box ;
  min-height: 44px ;
  background: #ffffff ;
  color: #0f172a ;
  border: 1px solid #e2e8f0 ;
  border-radius: 8px ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  padding: 10px 14px ;
}
#appShell.control-shell .request-filter-row input:focus,
#appShell.control-shell .request-filter-row select:focus,
#appShell.control-shell .technical-search-panel input:focus,
#appShell.control-shell .technical-search-panel select:focus,
#appShell.control-shell #receptionSearchInput:focus {
  border-color: #93c5fd ;
  box-shadow: 0 0 0 3px rgba(37,99,235,.10) ;
  outline: none ;
}

/* Tarjetas y envoltorios de datos */
#appShell.control-shell .operational-table-wrap,
#appShell.control-shell .request-table-wrap,
#appShell.control-shell #technicalListPanel,
#appShell.control-shell .settings-data-list,
#appShell.control-shell .validation-pending-section {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1280px ;
  overflow: hidden ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  box-shadow: 0 4px 12px -2px rgba(15,23,42,.04) ;
}
#appShell.control-shell .operational-table,
#appShell.control-shell .request-table-wrap table,
#appShell.control-shell #technicalListPanel table,
#appShell.control-shell .settings-data-list table {
  width: 100% ;
  border-collapse: collapse ;
  table-layout: auto ;
  background: #ffffff ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
}
#appShell.control-shell .operational-table thead th,
#appShell.control-shell .request-table-wrap thead th,
#appShell.control-shell #technicalListPanel thead th,
#appShell.control-shell .settings-data-list thead th {
  background: #f8fafc ;
  color: #64748b ;
  border-bottom: 1px solid #e2e8f0 ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .75rem ;
  font-weight: 600 ;
  letter-spacing: .5px ;
  padding: 14px 18px ;
  text-transform: uppercase ;
  white-space: nowrap ;
}
#appShell.control-shell .operational-table tbody td,
#appShell.control-shell .request-table-wrap tbody td,
#appShell.control-shell #technicalListPanel tbody td,
#appShell.control-shell .settings-data-list tbody td {
  background: #ffffff ;
  border-bottom: 1px solid #f1f5f9 ;
  color: #0f172a ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .875rem ;
  padding: 14px 18px ;
}
#appShell.control-shell .operational-table tbody tr:hover td,
#appShell.control-shell .request-table-wrap tbody tr:hover td,
#appShell.control-shell #technicalListPanel tbody tr:hover td,
#appShell.control-shell .settings-data-list tbody tr:hover td {
  background: #f8fafc ;
}

/* Estados suaves */
#appShell.control-shell .avaluo-status,
#appShell.control-shell .request-status-badge,
#appShell.control-shell .status-badge {
  display: inline-flex ;
  align-items: center ;
  border-radius: 20px ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .8rem ;
  font-weight: 500 ;
  line-height: 1.2 ;
  padding: 4px 10px ;
  white-space: nowrap ;
}
#appShell.control-shell .avaluo-status.paid,
#appShell.control-shell .avaluo-status.delivered,
#appShell.control-shell .status-paid,
#appShell.control-shell .status-delivered {
  background: #dcfce7 ;
  color: #15803d ;
}
#appShell.control-shell .avaluo-status.pending,
#appShell.control-shell .avaluo-status.expired,
#appShell.control-shell .status-pending,
#appShell.control-shell .status-in-progress {
  background: #fef3c7 ;
  color: #b45309 ;
}
#appShell.control-shell .avaluo-status.unpaid,
#appShell.control-shell .status-unpaid,
#appShell.control-shell .status-delivered-without-payment {
  background: #fee2e2 ;
  color: #b91c1c ;
}

/* Acciones por icono */
#appShell.control-shell .technical-icon-button,
#appShell.control-shell .record-action,
#appShell.control-shell .request-icon-button {
  box-sizing: border-box ;
  align-items: center ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 6px ;
  color: #64748b ;
  display: inline-flex ;
  height: 32px ;
  justify-content: center ;
  min-height: 32px ;
  min-width: 32px ;
  padding: 0 ;
  width: 32px ;
}
#appShell.control-shell .technical-icon-button:hover,
#appShell.control-shell .record-action:hover,
#appShell.control-shell .request-icon-button:hover {
  background: #eff6ff ;
  border-color: #93c5fd ;
  color: #2563eb ;
}
#appShell.control-shell .technical-icon-button.action-delete:hover,
#appShell.control-shell .record-action.delete:hover,
#appShell.control-shell .request-delete-button:hover {
  background: #fef2f2 ;
  border-color: #fca5a5 ;
  color: #ef4444 ;
}
#appShell.control-shell .technical-icon-button .action-icon,
#appShell.control-shell .record-action svg,
#appShell.control-shell .request-icon-button svg {
  color: currentColor ;
  fill: none ;
  height: 17px ;
  stroke: currentColor ;
  width: 17px ;
}
#appShell.control-shell .technical-row-actions,
#appShell.control-shell .reception-actions {
  align-items: center ;
  display: inline-flex ;
  flex-wrap: nowrap ;
  gap: 6px ;
}

/* Paginación */
#appShell.control-shell .table-pagination {
  align-items: center ;
  background: #ffffff ;
  border-top: 1px solid #e2e8f0 ;
  color: #64748b ;
  display: flex ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  font-size: .8rem ;
  justify-content: space-between ;
  padding: 12px 16px ;
}
#appShell.control-shell .table-page-button {
  align-items: center ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 6px ;
  color: #64748b ;
  display: inline-flex ;
  font-family: Inter, "Segoe UI", system-ui, sans-serif ;
  height: 32px ;
  justify-content: center ;
  min-width: 32px ;
  padding: 0 8px ;
}
#appShell.control-shell .table-page-button:hover:not(:disabled) {
  background: #eff6ff ;
  border-color: #93c5fd ;
  color: #2563eb ;
}
#appShell.control-shell .table-page-button.is-active {
  background: #2563eb ;
  border-color: #2563eb ;
  border-radius: 6px ;
  color: #ffffff ;
  font-weight: 600 ;
}
@media (max-width: 760px) {
  #appShell.control-shell #recepcionAvaluosSection,
  #appShell.control-shell #crearAvaluoSection,
  #appShell.control-shell #avaluosAuthorizedFoliosPanel,
  #appShell.control-shell #solicitudesView { padding: 24px 12px ; }
  #appShell.control-shell .table-pagination { align-items: flex-start ; flex-direction: column ; gap: 10px ; }
}

/* ============================================================================
   VISTAS INTERIORES — TABLAS, FILTROS Y ACCIONES SaaS AZUL/GRAFITО
   Alcance deliberado: Recepción, Gestión, Validación y Solicitudes.
   No modifica Login, Home ni los formularios de captura.
   ============================================================================ */
#appShell.control-shell #recepcionAvaluosSection,
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView {
  box-sizing: border-box ;
  max-width: 1280px ;
  width: 100% ;
  margin-left: auto ;
  margin-right: auto ;
}

/* Barras de búsqueda y filtros, fuera de la tarjeta de datos. */
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel,
#appShell.control-shell #crearAvaluoSection .technical-search-panel,
#appShell.control-shell #solicitudesView .request-filter-row {
  align-items: center ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  display: flex ;
  gap: 16px ;
  margin: 0 auto 20px ;
  max-width: 1280px ;
  padding: 0 ;
  width: 95% ;
}
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel .search-row,
#appShell.control-shell #crearAvaluoSection .technical-search-panel .search-row {
  align-items: center ;
  display: grid ;
  gap: 16px ;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 280px) ;
  width: 100% ;
}
#appShell.control-shell #solicitudesView .request-filter-row input,
#appShell.control-shell #solicitudesView .request-filter-row select,
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel input,
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel select,
#appShell.control-shell #crearAvaluoSection .technical-search-panel input,
#appShell.control-shell #crearAvaluoSection .technical-search-panel select {
  box-sizing: border-box ;
  min-height: 44px ;
  width: 100% ;
  background-color: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  color: #0f172a ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: .88rem ;
  outline: none ;
  padding: 10px 16px ;
  box-shadow: 0 1px 2px rgba(0,0,0,.03) ;
  transition: all .2s ease ;
}
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel select,
#appShell.control-shell #crearAvaluoSection .technical-search-panel select,
#appShell.control-shell #solicitudesView .request-filter-row select {
  appearance: none ;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") ;
  background-position: right 12px center ;
  background-repeat: no-repeat ;
  background-size: 16px ;
  padding-right: 36px ;
}
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel input:focus,
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel select:focus,
#appShell.control-shell #crearAvaluoSection .technical-search-panel input:focus,
#appShell.control-shell #crearAvaluoSection .technical-search-panel select:focus,
#appShell.control-shell #solicitudesView .request-filter-row input:focus,
#appShell.control-shell #solicitudesView .request-filter-row select:focus {
  border-color: #2563eb ;
  box-shadow: 0 0 0 3px rgba(37,99,235,.15) ;
}

/* Tarjetas de datos: blanco, borde frío y cabecera grafito. */
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-table-wrap {
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  box-shadow: 0 4px 12px -2px rgba(15,23,42,.05) ;
  margin: 24px auto ;
  max-width: 1280px ;
  overflow: hidden ;
  width: 95% ;
}
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading,
#appShell.control-shell #solicitudesView .solicitudes-heading {
  align-items: center ;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) ;
  color: #ffffff ;
  display: flex ;
  justify-content: space-between ;
  padding: 16px 24px ;
}
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading h2,
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading h3,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading h2,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading h3,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading h2,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading h3,
#appShell.control-shell #solicitudesView .solicitudes-heading h2 {
  color: #ffffff ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: 1.1rem ;
  font-weight: 600 ;
  letter-spacing: .2px ;
  margin: 0 ;
}

#appShell.control-shell #recepcionAvaluosSection table,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table,
#appShell.control-shell #solicitudesView .request-table-wrap table {
  background: #ffffff ;
  border-collapse: collapse ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  table-layout: auto ;
  width: 100% ;
}
#appShell.control-shell #recepcionAvaluosSection table th,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table th,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table th,
#appShell.control-shell #solicitudesView .request-table-wrap table th {
  background: #f8fafc ;
  border-bottom: 1px solid #e2e8f0 ;
  color: #64748b ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: .75rem ;
  font-weight: 600 ;
  letter-spacing: .5px ;
  padding: 12px 18px ;
  text-align: left ;
  text-transform: uppercase ;
}
#appShell.control-shell #recepcionAvaluosSection table td,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table td,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table td,
#appShell.control-shell #solicitudesView .request-table-wrap table td {
  border-bottom: 1px solid #f1f5f9 ;
  color: #0f172a ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: .88rem ;
  padding: 14px 18px ;
}
#appShell.control-shell #recepcionAvaluosSection table tbody tr:hover td,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table tbody tr:hover td,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table tbody tr:hover td,
#appShell.control-shell #solicitudesView .request-table-wrap table tbody tr:hover td {
  background-color: #f8fafc ;
}

/* Acciones azules, sin herencia de botones dorados antiguos. */
#appShell.control-shell #recepcionAvaluosSection button[class*="create"],
#appShell.control-shell #recepcionAvaluosSection button[class*="new"],
#appShell.control-shell #crearAvaluoSection button[class*="create"],
#appShell.control-shell #crearAvaluoSection button[class*="new"],
#appShell.control-shell #solicitudesView button[class*="create"],
#appShell.control-shell #solicitudesView button[class*="new"],
#appShell.control-shell #newRecordButton,
#appShell.control-shell #newTechnicalAppraisalButton,
#appShell.control-shell #newInternalRequestButton {
  background: #2563eb ;
  background-color: #2563eb ;
  border: none ;
  border-radius: 8px ;
  box-shadow: 0 2px 4px rgba(37,99,235,.2) ;
  color: #ffffff ;
  cursor: pointer ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: .88rem ;
  font-weight: 500 ;
  padding: 10px 20px ;
  transition: all .2s ease ;
}
#appShell.control-shell #recepcionAvaluosSection button[class*="create"]:hover,
#appShell.control-shell #crearAvaluoSection button[class*="create"]:hover,
#appShell.control-shell #solicitudesView button[class*="create"]:hover,
#appShell.control-shell #newRecordButton:hover,
#appShell.control-shell #newTechnicalAppraisalButton:hover,
#appShell.control-shell #newInternalRequestButton:hover {
  background: #1d4ed8 ;
  transform: translateY(-1px) ;
}
#appShell.control-shell #recepcionAvaluosSection button[class*="back"],
#appShell.control-shell #crearAvaluoSection button[class*="back"],
#appShell.control-shell #solicitudesView button[class*="back"],
#appShell.control-shell #backAvaluosButton,
#appShell.control-shell #backRequestsToAvaluosButton {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  color: #475569 ;
  font-size: .88rem ;
  padding: 10px 16px ;
}

/* Paginación azul */
#appShell.control-shell #recepcionAvaluosSection .table-page-button,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .table-page-button,
#appShell.control-shell #solicitudesView .table-page-button {
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 6px ;
  color: #64748b ;
}
#appShell.control-shell #recepcionAvaluosSection .table-page-button.is-active,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .table-page-button.is-active,
#appShell.control-shell #solicitudesView .table-page-button.is-active {
  background: #2563eb ;
  border-color: #2563eb ;
  color: #ffffff ;
}
@media (max-width: 760px) {
  #appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel,
  #appShell.control-shell #crearAvaluoSection .technical-search-panel,
  #appShell.control-shell #solicitudesView .request-filter-row { flex-direction: column ; align-items: stretch ; width: 100% ; }
  #appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel .search-row,
  #appShell.control-shell #crearAvaluoSection .technical-search-panel .search-row { grid-template-columns: 1fr ; }
  #appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
  #appShell.control-shell #crearAvaluoSection #technicalListPanel,
  #appShell.control-shell #avaluosAuthorizedFoliosPanel,
  #appShell.control-shell #solicitudesView .request-table-wrap { margin-left: auto ; margin-right: auto ; width: 100% ; overflow-x: auto ; }
}

/* Ajuste final de tablas: encabezado azul degradado y tarjeta de 16px. */
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-table-wrap {
  border: 1px solid #e2e8f0 ;
  border-radius: 16px ;
  box-shadow: 0 10px 25px -5px rgba(15,23,42,.08) ;
  margin-left: auto ;
  margin-right: auto ;
  max-width: 1280px ;
  overflow: hidden ;
  width: 100% ;
}
#appShell.control-shell #recepcionAvaluosSection table thead,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead,
#appShell.control-shell #solicitudesView .request-table-wrap table thead {
  border-radius: 16px 16px 0 0 ;
  overflow: hidden ;
}
#appShell.control-shell #recepcionAvaluosSection table thead tr,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead tr,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead tr,
#appShell.control-shell #solicitudesView .request-table-wrap table thead tr,
#appShell.control-shell #recepcionAvaluosSection table thead th,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead th,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead th,
#appShell.control-shell #solicitudesView .request-table-wrap table thead th {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #2563eb 100%) ;
  border: none ;
  border-top-left-radius: 16px ;
  border-top-right-radius: 16px ;
  color: #ffffff ;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif ;
  font-size: .8rem ;
  font-weight: 600 ;
  letter-spacing: .8px ;
  padding: 14px 18px ;
  text-transform: uppercase ;
}
#appShell.control-shell #recepcionAvaluosSection table tbody td,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table tbody td,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table tbody td,
#appShell.control-shell #solicitudesView .request-table-wrap table tbody td {
  background: #ffffff ;
  border-bottom: 1px solid #f1f5f9 ;
  color: #0f172a ;
  padding: 14px 18px ;
}
#appShell.control-shell #recepcionAvaluosSection table tbody tr:hover td,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table tbody tr:hover td,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table tbody tr:hover td,
#appShell.control-shell #solicitudesView .request-table-wrap table tbody tr:hover td {
  background-color: #f8fafc ;
}
/* Encabezados de sección planos; el degradado vive únicamente en la fila TH. */
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading,
#appShell.control-shell #solicitudesView .solicitudes-heading {
  background: transparent ;
  color: #0f172a ;
  padding: 0 0 16px ;
}
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading h2,
#appShell.control-shell #recepcionAvaluosSection .inline-panel-heading h3,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading h2,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .inline-panel-heading h3,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading h2,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .inline-panel-heading h3,
#appShell.control-shell #solicitudesView .solicitudes-heading h2 {
  color: #0f172a ;
}
#appShell.control-shell #newRecordButton,
#appShell.control-shell #newTechnicalAppraisalButton,
#appShell.control-shell #newInternalRequestButton {
  background: #2563eb ;
  border: none ;
  border-radius: 8px ;
  color: #ffffff ;
  font-weight: 500 ;
  padding: 10px 20px ;
}

/* ============================================================================
   AJUSTE ESTRUCTURAL FINAL — FRANJA CONTINUA DE TABLAS Y MESSENGER CP6
   ============================================================================ */
/* Las tarjetas de estas vistas ocupan todo el ancho útil y quedan centradas. */
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-table-wrap {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1400px ;
  margin-left: auto ;
  margin-right: auto ;
  border-radius: 16px ;
  overflow: hidden ;
}
#appShell.control-shell #recepcionAvaluosSection table,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table,
#appShell.control-shell #solicitudesView .request-table-wrap table {
  width: 100% ;
  max-width: 1400px ;
  margin: 0 auto ;
  border-collapse: separate ;
  border-spacing: 0 ;
  border-radius: 16px ;
  overflow: hidden ;
  table-layout: auto ;
}
/* El degradado se aplica sólo a la fila: th queda transparente para formar una franja única. */
#appShell.control-shell #recepcionAvaluosSection table thead tr,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead tr,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead tr,
#appShell.control-shell #solicitudesView .request-table-wrap table thead tr {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #2563eb 100%) ;
}
#appShell.control-shell #recepcionAvaluosSection table thead th,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead th,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead th,
#appShell.control-shell #solicitudesView .request-table-wrap table thead th {
  background: transparent ;
  border: none ;
  border-radius: 0 ;
  color: #ffffff ;
  font-size: .82rem ;
  font-weight: 600 ;
  letter-spacing: .5px ;
  padding: 16px 18px ;
  text-align: left ;
  text-transform: uppercase ;
  white-space: nowrap ;
}
/* Aumenta espacio para nombres y columnas informativas sin encajonar el contenido. */
#appShell.control-shell #recepcionAvaluosSection table th:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection table td:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection table th:nth-child(5),
#appShell.control-shell #recepcionAvaluosSection table td:nth-child(5),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table th:nth-child(2),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table td:nth-child(2),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table th:nth-child(5),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table td:nth-child(5),
#appShell.control-shell #solicitudesView .request-table-wrap table th:nth-child(2),
#appShell.control-shell #solicitudesView .request-table-wrap table td:nth-child(2),
#appShell.control-shell #solicitudesView .request-table-wrap table th:nth-child(5),
#appShell.control-shell #solicitudesView .request-table-wrap table td:nth-child(5) {
  min-width: 220px ;
  white-space: nowrap ;
}
#appShell.control-shell #recepcionAvaluosSection table tbody td,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table tbody td,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table tbody td,
#appShell.control-shell #solicitudesView .request-table-wrap table tbody td {
  background: #ffffff ;
  border-bottom: 1px solid #f1f5f9 ;
  color: #0f172a ;
  padding: 14px 18px ;
}

/* Mensajería: interfaz plana tipo Messenger, sin crema ni dorado. */
#appShell.control-shell .messaging-shell,
#appShell.control-shell .messaging-wrapper,
#loginScreen.applicant-dashboard-active .messaging-shell,
#loginScreen.applicant-dashboard-active .messaging-wrapper {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 1300px ;
  min-height: 640px ;
  margin: 0 auto ;
  border: 1px solid #e2e8f0 ;
  border-radius: 16px ;
  overflow: hidden ;
  background: #ffffff ;
  box-shadow: 0 10px 25px -5px rgba(15,23,42,.08) ;
}
#appShell.control-shell .messaging-sidebar,
#loginScreen.applicant-dashboard-active .messaging-sidebar {
  background: #f8fafc ;
  border-right: 1px solid #e2e8f0 ;
}
#appShell.control-shell .messaging-sidebar-head,
#loginScreen.applicant-dashboard-active .messaging-sidebar-head {
  background: #0f172a ;
  border-bottom: 1px solid #1e293b ;
  color: #ffffff ;
}
#appShell.control-shell .messaging-search-row,
#loginScreen.applicant-dashboard-active .messaging-search-row {
  background: #f8fafc ;
  border-bottom: 1px solid #e2e8f0 ;
  padding: 14px ;
}
#appShell.control-shell .messaging-search input,
#loginScreen.applicant-dashboard-active .messaging-search input {
  box-sizing: border-box ;
  width: 100% ;
  background: #ffffff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 24px ;
  color: #0f172a ;
  font-family: system-ui, -apple-system, sans-serif ;
  padding: 10px 16px ;
}
#appShell.control-shell .messaging-search input:focus,
#loginScreen.applicant-dashboard-active .messaging-search input:focus {
  border-color: #2563eb ;
  box-shadow: 0 0 0 3px rgba(37,99,235,.12) ;
  outline: none ;
}
#appShell.control-shell .messaging-conversation,
#appShell.control-shell .messaging-messages,
#loginScreen.applicant-dashboard-active .messaging-conversation,
#loginScreen.applicant-dashboard-active .messaging-messages {
  background: #ffffff ;
  border-color: #e2e8f0 ;
}
#appShell.control-shell .messaging-conversation-head,
#loginScreen.applicant-dashboard-active .messaging-conversation-head {
  background: #ffffff ;
  border-bottom: 1px solid #e2e8f0 ;
  color: #0f172a ;
}
#appShell.control-shell .messaging-message.is-sent .messaging-bubble,
#loginScreen.applicant-dashboard-active .messaging-message.is-sent .messaging-bubble {
  background: #2563eb ;
  border: 1px solid #2563eb ;
  border-radius: 18px 18px 4px 18px ;
  color: #ffffff ;
  font-family: system-ui, -apple-system, sans-serif ;
  padding: 10px 16px ;
}
#appShell.control-shell .messaging-message.is-received .messaging-bubble,
#loginScreen.applicant-dashboard-active .messaging-message.is-received .messaging-bubble {
  background: #f1f5f9 ;
  border: 1px solid #e2e8f0 ;
  border-radius: 18px 18px 18px 4px ;
  color: #0f172a ;
  font-family: system-ui, -apple-system, sans-serif ;
  padding: 10px 16px ;
}
#appShell.control-shell .messaging-meta,
#loginScreen.applicant-dashboard-active .messaging-meta {
  color: #94a3b8 ;
  font-family: system-ui, -apple-system, sans-serif ;
}
#appShell.control-shell .messaging-compose,
#loginScreen.applicant-dashboard-active .messaging-compose {
  align-items: center ;
  background: #ffffff ;
  border-top: 1px solid #e2e8f0 ;
  padding: 14px 18px ;
}
#appShell.control-shell .messaging-compose textarea,
#loginScreen.applicant-dashboard-active .messaging-compose textarea {
  box-sizing: border-box ;
  flex: 1 1 auto ;
  height: 42px ;
  min-height: 42px ;
  max-height: 42px ;
  background: #f8fafc ;
  border: 1px solid #e2e8f0 ;
  border-radius: 24px ;
  color: #0f172a ;
  font-family: system-ui, -apple-system, sans-serif ;
  overflow: hidden ;
  padding: 11px 20px ;
  white-space: nowrap ;
}
#appShell.control-shell .messaging-compose textarea:focus,
#loginScreen.applicant-dashboard-active .messaging-compose textarea:focus {
  border-color: #2563eb ;
  box-shadow: 0 0 0 3px rgba(37,99,235,.12) ;
  outline: none ;
}
#appShell.control-shell .messaging-compose button,
#loginScreen.applicant-dashboard-active .messaging-compose button {
  align-items: center ;
  background: #2563eb ;
  border: none ;
  border-radius: 50% ;
  color: #ffffff ;
  display: inline-flex ;
  height: 42px ;
  justify-content: center ;
  min-width: 42px ;
  padding: 0 ;
  width: 42px ;
}
#appShell.control-shell .messaging-compose button:hover,
#loginScreen.applicant-dashboard-active .messaging-compose button:hover {
  background: #1d4ed8 ;
}
#appShell.control-shell .messaging-contacts,
#loginScreen.applicant-dashboard-active .messaging-contacts {
  scrollbar-color: #cbd5e1 #f8fafc ;
}
#appShell.control-shell .messaging-invite-results,
#loginScreen.applicant-dashboard-active .messaging-invite-results {
  border-color: #e2e8f0 ;
  background: #ffffff ;
  box-shadow: 0 10px 24px rgba(15,23,42,.12) ;
}
#appShell.control-shell .messaging-invite-results button:hover,
#loginScreen.applicant-dashboard-active .messaging-invite-results button:hover {
  background: #eff6ff ;
}
#appShell.control-shell .messaging-invite-results strong,
#appShell.control-shell .messaging-invite-results span,
#loginScreen.applicant-dashboard-active .messaging-invite-results strong,
#loginScreen.applicant-dashboard-active .messaging-invite-results span {
  color: #2563eb ;
}
@media (max-width: 800px) {
  #appShell.control-shell .messaging-shell,
  #loginScreen.applicant-dashboard-active .messaging-shell { min-height: 560px ; }
}

/* ============================================================================
   LAYOUT FLUIDO RESPONSIVO — TABLAS Y MENSAJERÍA
   ============================================================================ */
/* Las vistas de datos usan 95% del viewport, sin quedar cargadas a la izquierda. */
#appShell.control-shell #recepcionAvaluosSection,
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView {
  box-sizing: border-box ;
  width: 95% ;
  max-width: 100% ;
  margin-left: auto ;
  margin-right: auto ;
  padding-left: 16px ;
  padding-right: 16px ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-table-wrap,
#appShell.control-shell #recepcionAvaluosSection table,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table,
#appShell.control-shell #solicitudesView .request-table-wrap table {
  box-sizing: border-box ;
  width: 100% ;
  max-width: 100% ;
  margin-left: auto ;
  margin-right: auto ;
}
#appShell.control-shell #recepcionAvaluosSection table,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table,
#appShell.control-shell #solicitudesView .request-table-wrap table {
  border-collapse: separate ;
  border-spacing: 0 ;
  border-radius: 12px ;
  overflow: hidden ;
}
#appShell.control-shell #recepcionAvaluosSection table thead tr,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead tr,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead tr,
#appShell.control-shell #solicitudesView .request-table-wrap table thead tr {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #2563eb 100%) ;
}
#appShell.control-shell #recepcionAvaluosSection table thead th,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead th,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table thead th,
#appShell.control-shell #solicitudesView .request-table-wrap table thead th {
  background: transparent ;
  color: #ffffff ;
  font-size: .82rem ;
  font-weight: 600 ;
  letter-spacing: .5px ;
  padding: 16px 18px ;
  white-space: nowrap ;
}
#appShell.control-shell #recepcionAvaluosSection table th:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection table td:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection table th:nth-child(5),
#appShell.control-shell #recepcionAvaluosSection table td:nth-child(5),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table th:nth-child(2),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table td:nth-child(2),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table th:nth-child(5),
#appShell.control-shell #crearAvaluoSection #technicalListPanel table td:nth-child(5),
#appShell.control-shell #solicitudesView .request-table-wrap table th:nth-child(2),
#appShell.control-shell #solicitudesView .request-table-wrap table td:nth-child(2),
#appShell.control-shell #solicitudesView .request-table-wrap table th:nth-child(5),
#appShell.control-shell #solicitudesView .request-table-wrap table td:nth-child(5) {
  min-width: 220px ;
}

/* Mensajería fluida tipo WhatsApp Web / Telegram Web. */
#appShell.control-shell .messaging-shell,
#loginScreen.applicant-dashboard-active .messaging-shell {
  display: grid ;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr) ;
  width: 100% ;
  max-width: 100% ;
  height: calc(100vh - 120px) ;
  min-height: 560px ;
  margin: 0 auto ;
  border-radius: 16px ;
  border: 1px solid #e2e8f0 ;
  overflow: hidden ;
  background: #ffffff ;
}
#appShell.control-shell .messaging-sidebar,
#loginScreen.applicant-dashboard-active .messaging-sidebar {
  width: auto ;
  min-width: 0 ;
  flex-shrink: 0 ;
  background-color: #f8fafc ;
  border-right: 1px solid #e2e8f0 ;
  overflow-y: auto ;
}
#appShell.control-shell .messaging-conversation,
#loginScreen.applicant-dashboard-active .messaging-conversation {
  min-width: 0 ;
  min-height: 0 ;
  display: flex ;
  flex-direction: column ;
  background-color: #ffffff ;
}
#appShell.control-shell .messaging-messages,
#loginScreen.applicant-dashboard-active .messaging-messages {
  min-width: 0 ;
  min-height: 0 ;
  flex: 1 1 auto ;
  overflow-y: auto ;
  overflow-x: hidden ;
  background-color: #ffffff ;
}
#appShell.control-shell .messaging-message.is-sent .messaging-bubble,
#loginScreen.applicant-dashboard-active .messaging-message.is-sent .messaging-bubble {
  background-color: #2563eb ;
  border-radius: 18px 18px 4px 18px ;
  color: #ffffff ;
  padding: 10px 16px ;
}
#appShell.control-shell .messaging-message.is-received .messaging-bubble,
#loginScreen.applicant-dashboard-active .messaging-message.is-received .messaging-bubble {
  background-color: #f1f5f9 ;
  border-radius: 18px 18px 18px 4px ;
  color: #0f172a ;
  padding: 10px 16px ;
}
#appShell.control-shell .messaging-compose,
#loginScreen.applicant-dashboard-active .messaging-compose {
  flex: 0 0 auto ;
  align-items: center ;
  background: #ffffff ;
  border-top: 1px solid #e2e8f0 ;
}
@media (max-width: 800px) {
  #appShell.control-shell #recepcionAvaluosSection,
  #appShell.control-shell #crearAvaluoSection,
  #appShell.control-shell #avaluosAuthorizedFoliosPanel,
  #appShell.control-shell #solicitudesView { width: 100% ; padding-left: 8px ; padding-right: 8px ; }
  #appShell.control-shell .messaging-shell,
  #loginScreen.applicant-dashboard-active .messaging-shell {
    grid-template-columns: 1fr ;
    height: calc(100vh - 100px) ;
    min-height: 560px ;
  }
  #appShell.control-shell .messaging-sidebar,
  #loginScreen.applicant-dashboard-active .messaging-sidebar {
    max-height: 220px ;
    border-right: none ;
    border-bottom: 1px solid #e2e8f0 ;
  }
}

/* ============================================================================
   MODAL MI PERFIL — TARJETA AZUL/GRAFIT0 CENTRADA
   ============================================================================ */
#adminProfileDialog.admin-profile-dialog {
  width: 100% ;
  max-width: 100% ;
  height: 100% ;
  max-height: 100% ;
  padding: 20px ;
  border: none ;
  background: transparent ;
  overflow: auto ;
}
#adminProfileDialog.admin-profile-dialog::backdrop {
  background: rgba(15, 23, 42, 0.6) ;
  backdrop-filter: blur(4px) ;
  -webkit-backdrop-filter: blur(4px) ;
}
#adminProfileDialog .profile-modal-card {
  width: 380px ;
  max-width: 90vw ;
  background: linear-gradient(180deg, #091322 0%, #0f172a 60%, #080d1a 100%) ;
  border: 1px solid rgba(255, 255, 255, 0.1) ;
  border-radius: 24px ;
  padding: 32px 24px ;
  color: #ffffff ;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5) ;
  text-align: center ;
  position: relative ;
  margin: auto ;
}
#adminProfileDialog .profile-dialog-heading {
  position: absolute ;
  inset: 14px 14px auto auto ;
  z-index: 3 ;
  width: auto ;
  margin: 0 ;
}
#adminProfileDialog #closeAdminProfileButton {
  width: 34px ;
  height: 34px ;
  min-width: 34px ;
  padding: 0 ;
  border: 1px solid rgba(255,255,255,.2) ;
  border-radius: 50% ;
  background: rgba(255,255,255,.08) ;
  color: #ffffff ;
}
#adminProfileDialog #closeAdminProfileButton:hover { background: #ffffff ; color: #0f172a ; }
#adminProfileDialog .profile-edit-btn {
  position: absolute ;
  top: 20px ;
  right: 20px ;
  width: 40px ;
  height: 40px ;
  border-radius: 50% ;
  background: #ffffff ;
  color: #0f172a ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  cursor: pointer ;
  box-shadow: 0 4px 10px rgba(0,0,0,.2) ;
  z-index: 2 ;
}
#adminProfileDialog .profile-avatar-circle {
  width: 110px ;
  height: 110px ;
  border-radius: 50% ;
  background: #ffffff ;
  margin: 12px auto 20px auto ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  color: #1e3a5f ;
  overflow: visible ;
}
#adminProfileDialog .profile-avatar-circle > img,
#adminProfileDialog #profileAvatarHeroImage {
  width: 110px ;
  height: 110px ;
  border-radius: 50% ;
  object-fit: cover ;
}
#adminProfileDialog .profile-avatar-hero { margin: 0 ; padding: 0 ; }
#adminProfileDialog .profile-name,
#adminProfileDialog #adminProfileName {
  font-size: 1.35rem ;
  font-weight: 700 ;
  color: #ffffff ;
  margin-bottom: 4px ;
  line-height: 1.2 ;
}
#adminProfileDialog .profile-role,
#adminProfileDialog #adminProfileRole {
  font-size: 1rem ;
  color: #e2e8f0 ;
  font-weight: 400 ;
  margin-bottom: 2px ;
}
#adminProfileDialog .profile-id { font-size: .8rem ; color: #94a3b8 ; margin-bottom: 24px ; }
#adminProfileDialog .profile-data-list {
  display: flex ;
  flex-direction: column ;
  gap: 12px ;
  margin: 16px 0 24px ;
  text-align: left ;
}
#adminProfileDialog .profile-data-list > div {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  gap: 12px ;
  padding: 10px 12px ;
  border: 1px solid rgba(255,255,255,.1) ;
  border-radius: 12px ;
  background: rgba(255,255,255,.05) ;
}
#adminProfileDialog .profile-data-list small {
  color: #ffffff ;
  font-size: .75rem ;
  font-weight: 700 ;
  letter-spacing: .5px ;
  text-transform: uppercase ;
}
#adminProfileDialog .profile-data-list strong {
  max-width: 66% ;
  color: #ffffff ;
  font-size: .9rem ;
  font-weight: 500 ;
  text-align: right ;
  overflow-wrap: anywhere ;
}
#adminProfileDialog .profile-avatar-section { margin-top: 18px ; }
#adminProfileDialog .profile-avatar-section h3 {
  color: #ffffff ;
  font-size: .85rem ;
  font-weight: 700 ;
  margin: 0 0 12px ;
}
#adminProfileDialog .profile-avatar-gallery {
  display: grid ;
  grid-template-columns: repeat(4, 1fr) ;
  gap: 10px ;
}
#adminProfileDialog .profile-avatar-option {
  width: 52px ;
  height: 52px ;
  margin: 0 auto ;
  padding: 0 ;
  border: 2px solid transparent ;
  border-radius: 50% ;
  background: transparent ;
  overflow: hidden ;
  cursor: pointer ;
}
#adminProfileDialog .profile-avatar-option img { width: 100% ; height: 100% ; display: block ; object-fit: cover ; border-radius: 50% ; }
#adminProfileDialog .profile-avatar-option.is-selected { border-color: #ffffff ; box-shadow: 0 0 0 3px rgba(147,197,253,.55) ; }
@media (max-width: 520px) {
  #adminProfileDialog { padding: 10px ; }
  #adminProfileDialog .profile-modal-card { padding: 28px 18px ; }
  #adminProfileDialog .profile-data-list strong { max-width: 60% ; }
}


/* ============================================================================
   DASHBOARD / PERFIL — COMPONENTE CLARO REESCRITO DESDE CERO
   ============================================================================ */
#appShell.control-shell #perfilView.profile-root-light,
#appShell.control-shell #perfilView.profile-root-light * {
  box-sizing: border-box ;
}
#appShell.control-shell #perfilView.profile-root-light {
  display: grid ;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) ;
  gap: 24px ;
  width: 100% ;
  height: calc(100vh - 128px) ;
  min-height: 0 ;
  overflow: hidden ;
  padding: 16px ;
  background: #f8fafc ;
  color: #0f172a ;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif ;
}
#appShell.control-shell #perfilView.profile-root-light[hidden] { display: none ; }
#appShell.control-shell #perfilView .profile-card-light,
#appShell.control-shell #perfilView .profile-main-light,
#appShell.control-shell #perfilView .profile-dashboard-light { min-width: 0 ; }
#appShell.control-shell #perfilView .profile-card-light {
  display: flex ;
  flex-direction: column ;
  width: 100% ;
  height: 100% ;
  overflow: hidden ;
  padding: 24px ;
  background: #ffffff ;
  background-image: none ;
  border: 1px solid #e2e8f0 ;
  border-radius: 16px ;
  box-shadow: 0 4px 14px rgba(15,23,42,.05) ;
  color: #0f172a ;
}
#appShell.control-shell #perfilView .profile-avatar-light {
  display: grid ; place-items: center ; width: 72px ; height: 72px ; margin: 0 auto 12px ;
  border-radius: 50% ; background: #eff6ff ; color: #2563eb ;
}
#appShell.control-shell #perfilView .profile-avatar-light svg { width: 38px ; height: 38px ; fill: none ; stroke: currentColor ; stroke-width: 1.7 ; }
#appShell.control-shell #perfilView .profile-card-light h2 { margin: 0 ; color: #0f172a ; font-size: 1.12rem ; font-weight: 400 ; line-height: 1.3 ; text-align: center ; }
#appShell.control-shell #perfilView .profile-role-light { margin: 7px auto 0 ; padding: 4px 10px ; color: #2563eb ; background: #eff6ff ; border-radius: 999px ; font-size: .72rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-contact-list { display: flex ; flex-direction: column ; gap: 0 ; margin-top: 20px ; }
#appShell.control-shell #perfilView .profile-contact-item { display: grid ; grid-template-columns: 28px minmax(0,1fr) ; gap: 10px ; align-items: center ; padding: 11px 0 ; border-bottom: 1px solid #f1f5f9 ; }
#appShell.control-shell #perfilView .profile-contact-icon { display: grid ; place-items: center ; width: 28px ; height: 28px ; border-radius: 8px ; background: #f1f5f9 ; color: #334155 ; font-size: .68rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-contact-label { display: block ; color: #94a3b8 ; font-size: .64rem ; font-weight: 600 ; letter-spacing: .1em ; text-transform: uppercase ; }
#appShell.control-shell #perfilView .profile-contact-value { display: block ; margin-top: 3px ; color: #0f172a ; font-size: .82rem ; font-weight: 400 ; line-height: 1.35 ; overflow-wrap: anywhere ; }
#appShell.control-shell #perfilView .profile-progress-light { margin-top: 18px ; padding-top: 16px ; border-top: 1px solid #e2e8f0 ; }
#appShell.control-shell #perfilView .profile-progress-heading { display: flex ; justify-content: space-between ; align-items: start ; gap: 8px ; }
#appShell.control-shell #perfilView .profile-progress-heading > div > span { color: #2563eb ; font-size: .58rem ; font-weight: 600 ; letter-spacing: .12em ; }
#appShell.control-shell #perfilView .profile-progress-heading h3 { margin: 4px 0 0 ; color: #0f172a ; font-size: .86rem ; font-weight: 500 ; }
#appShell.control-shell #perfilView .profile-progress-heading b { padding: 4px 7px ; color: #2563eb ; background: #eff6ff ; border-radius: 999px ; font-size: .62rem ; font-weight: 500 ; }
#appShell.control-shell #perfilView .profile-score-line { display: flex ; align-items: center ; gap: 10px ; margin: 14px 0 ; }
#appShell.control-shell #perfilView .profile-score-ring { display: flex ; flex-direction: column ; align-items: center ; justify-content: center ; flex: 0 0 66px ; width: 66px ; height: 66px ; border: 6px solid #dbeafe ; border-right-color: #2563eb ; border-radius: 50% ; }
#appShell.control-shell #perfilView .profile-score-ring strong { color: #0f172a ; font-size: 1rem ; font-weight: 500 ; line-height: 1 ; }
#appShell.control-shell #perfilView .profile-score-ring span { color: #64748b ; font-size: .52rem ; }
#appShell.control-shell #perfilView .profile-score-line > div:last-child strong { color: #334155 ; font-size: .72rem ; font-weight: 500 ; }
#appShell.control-shell #perfilView .profile-score-line p { margin: 4px 0 0 ; color: #64748b ; font-size: .62rem ; line-height: 1.3 ; }
#appShell.control-shell #perfilView .profile-badges-light { display: flex ; flex-wrap: wrap ; gap: 4px ; }
#appShell.control-shell #perfilView .profile-badges-light span { padding: 4px 6px ; color: #2563eb ; background: #eff6ff ; border-radius: 7px ; font-size: .56rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-coming-light { margin-top: 12px ; padding: 8px ; background: #f8fafc ; border: 1px dashed #cbd5e1 ; border-radius: 9px ; }
#appShell.control-shell #perfilView .profile-coming-light strong,
#appShell.control-shell #perfilView .profile-coming-light small { display: block ; color: #475569 ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-coming-light strong { font-size: .6rem ; } #appShell.control-shell #perfilView .profile-coming-light small { margin-top: 3px ; font-size: .56rem ; }
#appShell.control-shell #perfilView .profile-back-light { margin-top: auto ; padding: 8px 14px ; color: #0f172a ; background: #ffffff ; border: 1px solid #cbd5e1 ; border-radius: 8px ; font-size: .75rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-main-light { display: flex ; flex-direction: column ; min-height: 0 ; padding: 4px 0 0 ; }
#appShell.control-shell #perfilView .profile-heading-light { display: flex ; align-items: end ; justify-content: space-between ; gap: 18px ; margin-bottom: 14px ; }
#appShell.control-shell #perfilView .profile-heading-light > div > span { color: #2563eb ; font-size: .62rem ; font-weight: 600 ; letter-spacing: .12em ; }
#appShell.control-shell #perfilView .profile-heading-light h1 { margin: 4px 0 ; color: #0f172a ; font-size: 1.65rem ; font-weight: 500 ; line-height: 1.15 ; }
#appShell.control-shell #perfilView .profile-heading-light p { margin: 0 ; color: #475569 ; font-size: .78rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-filter-light { display: flex ; align-items: center ; gap: 8px ; color: #334155 ; font-size: .72rem ; font-weight: 400 ; white-space: nowrap ; }
#appShell.control-shell #perfilView .profile-filter-light[hidden] { display: none ; }
#appShell.control-shell #perfilView .profile-filter-light select { min-width: 190px ; padding: 8px 10px ; color: #0f172a ; background: #ffffff ; border: 1px solid #cbd5e1 ; border-radius: 8px ; font-size: .72rem ; font-weight: 400 ; }
#appShell.control-shell #perfilView .profile-dashboard-light { display: flex ; flex-direction: column ; min-height: 0 ; flex: 1 1 auto ; }
#appShell.control-shell #perfilView .profile-kpis-light { display: grid ; grid-template-columns: repeat(3, minmax(0,1fr)) ; gap: 12px ; flex: 0 0 92px ; }
#appShell.control-shell #perfilView .profile-metric-light { display: flex ; align-items: center ; gap: 12px ; min-width: 0 ; height: 92px ; padding: 12px ; background: #ffffff ; border: 1px solid #e2e8f0 ; border-radius: 14px ; box-shadow: 0 4px 14px rgba(15,23,42,.04) ; }
#appShell.control-shell #perfilView .profile-metric-ring { --progress: 0%; --ring-color:#2563eb; position: relative ; display: grid ; place-items: center ; flex: 0 0 60px ; width: 60px ; height: 60px ; border-radius: 50% ; background: conic-gradient(var(--ring-color) var(--progress), #e2e8f0 0) ; }
#appShell.control-shell #perfilView .profile-metric-ring::after { content:"" ; position:absolute ; inset:6px ; border-radius:50% ; background:#ffffff ; }
#appShell.control-shell #perfilView .profile-metric-ring > div { position:relative ; z-index:1 ; display:flex ; flex-direction:column ; align-items:center ; }
#appShell.control-shell #perfilView .profile-metric-ring strong { color:#0f172a ; font-size:1rem ; font-weight:500 ; line-height:1 ; }
#appShell.control-shell #perfilView .profile-metric-ring span { margin-top:3px ; color:#64748b ; font-size:.48rem ; text-transform:uppercase ; }
#appShell.control-shell #perfilView .ring-pending { --ring-color:#f59e0b; } #appShell.control-shell #perfilView .ring-completed { --ring-color:#16a34a; }
#appShell.control-shell #perfilView .profile-metric-light b { display:block ; color:#0f172a ; font-size:.72rem ; font-weight:500 ; line-height:1.2 ; }
#appShell.control-shell #perfilView .profile-metric-light small { display:block ; margin-top:5px ; color:#64748b ; font-size:.6rem ; font-weight:400 ; line-height:1.25 ; }
#appShell.control-shell #perfilView .profile-visual-light { display:flex ; flex-direction:column ; min-height:0 ; flex:1 1 auto ; margin-top:14px ; padding:16px ; background:#ffffff ; border:1px solid #e2e8f0 ; border-radius:16px ; box-shadow:0 4px 14px rgba(15,23,42,.04) ; }
#appShell.control-shell #perfilView .profile-visual-heading { display:flex ; align-items:start ; justify-content:space-between ; gap:12px ; }
#appShell.control-shell #perfilView .profile-visual-heading > div > span { color:#2563eb ; font-size:.6rem ; font-weight:600 ; letter-spacing:.12em ; }
#appShell.control-shell #perfilView .profile-visual-heading h2 { margin:4px 0 0 ; color:#0f172a ; font-size:1rem ; font-weight:500 ; }
#appShell.control-shell #perfilView .profile-legend-light { display:flex ; gap:10px ; color:#64748b ; font-size:.64rem ; }
#appShell.control-shell #perfilView .profile-legend-light span { display:flex ; align-items:center ; gap:4px ; }
#appShell.control-shell #perfilView .profile-legend-light i { width:8px ; height:8px ; border-radius:50% ; display:inline-block ; }
#appShell.control-shell #perfilView .legend-pending { background:#f59e0b ; } #appShell.control-shell #perfilView .legend-completed { background:#16a34a ; }
#appShell.control-shell #perfilView .profile-visual-grid { display:grid ; grid-template-columns:minmax(0,1fr) 190px ; align-items:center ; gap:18px ; min-height:0 ; flex:1 1 auto ; }
#appShell.control-shell #perfilView .profile-bars-light { display:flex ; align-items:flex-end ; justify-content:center ; gap:clamp(45px,10vw,130px) ; min-height:150px ; height:100% ; padding:12px 24px 0 ; border-bottom:1px solid #e2e8f0 ; background:repeating-linear-gradient(to top,transparent 0 48px,#f1f5f9 49px) ; }
#appShell.control-shell #perfilView .profile-chart-column { display:flex ; flex-direction:column ; align-items:center ; justify-content:flex-end ; height:100% ; min-width:58px ; }
#appShell.control-shell #perfilView .profile-chart-value { margin-bottom:5px ; color:#334155 ; font-size:.75rem ; font-weight:500 ; }
#appShell.control-shell #perfilView .profile-chart-bar { width:42px ; min-height:8px ; border-radius:8px 8px 0 0 ; }
#appShell.control-shell #perfilView .profile-chart-bar.pending { background:linear-gradient(180deg,#fbbf24,#f59e0b) ; } #appShell.control-shell #perfilView .profile-chart-bar.completed { background:linear-gradient(180deg,#4ade80,#16a34a) ; }
#appShell.control-shell #perfilView .profile-chart-label { margin-top:8px ; color:#64748b ; font-size:.68rem ; }
#appShell.control-shell #perfilView .profile-donut-panel-light { display:flex ; flex-direction:column ; align-items:center ; gap:8px ; }
#appShell.control-shell #perfilView .profile-donut-light { --pending-angle:0deg; position:relative ; display:grid ; place-items:center ; width:140px ; height:140px ; border-radius:50% ; background:conic-gradient(#f59e0b 0deg var(--pending-angle),#16a34a var(--pending-angle) 360deg) ; }
#appShell.control-shell #perfilView .profile-donut-light::after { content:"" ; position:absolute ; inset:18px ; border-radius:50% ; background:#ffffff ; }
#appShell.control-shell #perfilView .profile-donut-light > div { position:relative ; z-index:1 ; display:flex ; flex-direction:column ; align-items:center ; }
#appShell.control-shell #perfilView .profile-donut-light strong { color:#0f172a ; font-size:1.35rem ; font-weight:500 ; line-height:1 ; }
#appShell.control-shell #perfilView .profile-donut-light span { margin-top:4px ; color:#64748b ; font-size:.6rem ; }
#appShell.control-shell #perfilView .profile-donut-label-light { color:#64748b ; font-size:.64rem ; }
@media (max-width: 900px) {
  #appShell.control-shell #perfilView.profile-root-light { height:auto ; min-height:calc(100vh - 128px) ; overflow:visible ; grid-template-columns:1fr ; }
  #appShell.control-shell #perfilView .profile-card-light { height:auto ; }
  #appShell.control-shell #perfilView .profile-kpis-light { flex:none ; }
  #appShell.control-shell #perfilView .profile-visual-light { min-height:300px ; }
}
@media (max-width: 620px) {
  #appShell.control-shell #perfilView .profile-heading-light { align-items:flex-start ; flex-direction:column ; }
  #appShell.control-shell #perfilView .profile-filter-light { width:100% ; }
  #appShell.control-shell #perfilView .profile-filter-light select { flex:1 ; min-width:0 ; }
  #appShell.control-shell #perfilView .profile-kpis-light { grid-template-columns:1fr ; }
  #appShell.control-shell #perfilView .profile-visual-grid { grid-template-columns:1fr ; }
  #appShell.control-shell #perfilView .profile-donut-panel-light { flex-direction:row ; justify-content:center ; }
}

/* ============================================================================
   PERFIL — AJUSTE DE ANCHO COMPLETO Y DISTRIBUCIÓN PROPORCIONAL
   ============================================================================ */
#appShell.control-shell #perfilView.profile-root-light {
  width: 100% ;
  max-width: 1280px ;
  margin-left: auto ;
  margin-right: auto ;
  padding: 16px 16px ;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) ;
  gap: 24px ;
}
#appShell.control-shell #perfilView .profile-card-light,
#appShell.control-shell #perfilView .profile-main-light,
#appShell.control-shell #perfilView .profile-visual-light,
#appShell.control-shell #perfilView .profile-metric-light {
  max-width: none ;
}
#appShell.control-shell #perfilView .profile-avatar-light {
  width: 58px ;
  height: 58px ;
  margin: 0 auto 12px ;
  background: transparent ;
  background-color: transparent ;
  border: none ;
  box-shadow: none ;
}
#appShell.control-shell #perfilView .profile-avatar-light svg {
  width: 42px ;
  height: 42px ;
  color: #2563eb ;
  stroke: currentColor ;
}
#appShell.control-shell #perfilView .profile-back-light {
  width: 100% ;
  padding: 10px 16px ;
  color: #ffffff ;
  background: #2563eb ;
  border: 1px solid #2563eb ;
  border-radius: 12px ;
  box-shadow: 0 2px 6px rgba(37,99,235,.18) ;
  font-weight: 500 ;
  transition: background-color .2s ease, box-shadow .2s ease ;
}
#appShell.control-shell #perfilView .profile-back-light:hover {
  color: #ffffff ;
  background: #1d4ed8 ;
  border-color: #1d4ed8 ;
  box-shadow: 0 4px 10px rgba(29,78,216,.24) ;
}
#appShell.control-shell #perfilView .profile-contact-label,
#appShell.control-shell #perfilView .profile-contact-value,
#appShell.control-shell #perfilView .profile-card-light h2 {
  font-weight: 400 ;
}
#appShell.control-shell #perfilView .profile-contact-value { color: #0f172a ; }
@media (min-width: 1024px) {
  #appShell.control-shell #perfilView.profile-root-light { padding-left: 32px ; padding-right: 32px ; }
}

/* ============================================================================
   LAYOUT FLUIDO CP6 — TABLAS, TARJETAS Y FORMULARIOS DE AVALÚOS
   ============================================================================ */
#appShell.control-shell > .app-workspace.main-content,
#appShell.control-shell > .app-workspace,
#appShell.control-shell > main.app-workspace {
  width: 100% ;
  max-width: none ;
  margin-left: 0 ;
  margin-right: 0 ;
  box-sizing: border-box ;
}
#appShell.control-shell > .app-workspace.main-content {
  padding-left: 20px ;
  padding-right: 20px ;
}
#appShell.control-shell #avaluosView,
#appShell.control-shell #recepcionView,
#appShell.control-shell #crearAvaluoView,
#appShell.control-shell #solicitudesView,
#appShell.control-shell #avaluosMenuSection,
#appShell.control-shell #recepcionAvaluosSection,
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .solicitudes-content,
#appShell.control-shell #validacionView {
  width: 100% ;
  max-width: none ;
  margin-left: 0 ;
  margin-right: 0 ;
  box-sizing: border-box ;
}
#appShell.control-shell #avaluosView .avaluos-section-heading,
#appShell.control-shell #avaluosView .avaluos-choice-grid,
#appShell.control-shell #avaluosView .avaluos-menu,
#appShell.control-shell #recepcionView .request-style-filter-panel,
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection .technical-search-panel,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-filter-row,
#appShell.control-shell #solicitudesView .request-table-wrap,
#appShell.control-shell #validacionView .validation-panel {
  width: 100% ;
  max-width: none ;
  margin-left: 0 ;
  margin-right: 0 ;
  box-sizing: border-box ;
}
#appShell.control-shell #avaluosView .avaluos-choice-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  gap: 20px ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #avaluosAuthorizedFoliosPanel,
#appShell.control-shell #solicitudesView .request-table-wrap {
  max-width: none ;
  width: 100% ;
}
#appShell.control-shell #recepcionAvaluosSection table,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #avaluosAuthorizedFoliosPanel table,
#appShell.control-shell #solicitudesView .request-table-wrap table,
#appShell.control-shell #recepcionAvaluosSection .data-table,
#appShell.control-shell #crearAvaluoSection .data-table,
#appShell.control-shell #solicitudesView .data-table {
  width: 100% ;
  max-width: none ;
  min-width: 100% ;
  margin-left: 0 ;
  margin-right: 0 ;
  table-layout: auto ;
}
#appShell.control-shell #recepcionAvaluosSection .request-style-filter-panel,
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection .technical-search-panel,
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #solicitudesView .request-filter-row,
#appShell.control-shell #solicitudesView .request-table-wrap,
#appShell.control-shell #avaluosAuthorizedFoliosPanel {
  padding-left: 0 ;
  padding-right: 0 ;
}
#appShell.control-shell #crearAvaluoSection form,
#appShell.control-shell #crearAvaluoSection .technical-form-section,
#appShell.control-shell #crearAvaluoSection .form-full-page-container,
#appShell.control-shell #recepcionAvaluosSection form,
#appShell.control-shell #solicitudesView form {
  width: 100% ;
  max-width: none ;
  box-sizing: border-box ;
}
@media (max-width: 1000px) {
  #appShell.control-shell #avaluosView .avaluos-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) ; }
}
@media (max-width: 620px) {
  #appShell.control-shell > .app-workspace.main-content { padding-left: 12px ; padding-right: 12px ; }
  #appShell.control-shell #avaluosView .avaluos-choice-grid { grid-template-columns: 1fr ; }
}

/* ============================================================================
   PERFIL — WRAPPER RAÍZ A ANCHO COMPLETO Y VISUALIZACIÓN HORIZONTAL
   ============================================================================ */
#appShell.control-shell > .app-workspace,
#appShell.control-shell > .app-workspace.main-content {
  width: 100% ;
  max-width: none ;
  margin: 0 ;
  box-sizing: border-box ;
}
#appShell.control-shell #perfilView.profile-root-light {
  width: 100% ;
  max-width: none ;
  min-height: calc(100vh - 108px) ;
  height: calc(100vh - 108px) ;
  margin: 0 ;
  padding: 24px 16px ;
  background: #f8fafc ;
  background-color: #f8fafc ;
}
#appShell.control-shell #perfilView .profile-main-light {
  flex: 1 1 auto ;
  width: 100% ;
  max-width: none ;
  min-width: 0 ;
}
/* El área de encabezado y las tarjetas superiores quedan transparentes sobre el fondo general. */
#appShell.control-shell #perfilView .profile-main-light,
#appShell.control-shell #perfilView .profile-dashboard-light,
#appShell.control-shell #perfilView .profile-heading-light,
#appShell.control-shell #perfilView .profile-kpis-light {
  background: transparent ;
  background-color: transparent ;
  background-image: none ;
}
#appShell.control-shell #perfilView .profile-visual-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  gap: 24px ;
  width: 100% ;
}
#appShell.control-shell #perfilView .profile-bars-light,
#appShell.control-shell #perfilView .profile-donut-panel-light {
  min-width: 0 ;
  width: 100% ;
}
#appShell.control-shell #perfilView .profile-donut-panel-light {
  min-height: 180px ;
  justify-content: center ;
}
@media (min-width: 1024px) {
  #appShell.control-shell #perfilView.profile-root-light { padding-left: 32px ; padding-right: 32px ; }
}
@media (max-width: 900px) {
  #appShell.control-shell #perfilView.profile-root-light {
    height: auto ;
    min-height: calc(100vh - 108px) ;
    padding: 20px 16px ;
  }
}
@media (max-width: 620px) {
  #appShell.control-shell #perfilView .profile-visual-grid { grid-template-columns: 1fr ; }
}

/* ============================================================================
   PERFIL — TARJETA LATERAL COMPACTA, SOLO DONA Y FILTRO LEGIBLE
   ============================================================================ */
#appShell.control-shell #perfilView .profile-left-column {
  display: flex ;
  flex-direction: column ;
  min-width: 0 ;
  width: 100% ;
  height: 100% ;
}
#appShell.control-shell #perfilView .profile-left-heading {
  flex: 0 0 auto ;
  margin: 0 0 12px ;
}
#appShell.control-shell #perfilView .profile-left-heading h1 {
  margin: 0 ;
  color: #2563eb ;
  font-size: 1.5rem ;
  font-weight: 600 ;
  line-height: 1.15 ;
}
#appShell.control-shell #perfilView .profile-left-heading p {
  margin: 5px 0 0 ;
  color: #64748b ;
  font-size: .76rem ;
  font-weight: 400 ;
}
#appShell.control-shell #perfilView .profile-card-light {
  height: auto ;
  max-height: calc(100% - 62px) ;
  padding: 18px ;
}
#appShell.control-shell #perfilView .profile-main-light {
  grid-column: 2 ;
}
#appShell.control-shell #perfilView .profile-heading-light {
  min-height: 40px ;
  margin-bottom: 10px ;
}
#appShell.control-shell #perfilView .profile-filter-light {
  display: flex ;
  align-items: center ;
  gap: 10px ;
  color: #2563eb ;
  font-size: .9rem ;
  font-weight: 600 ;
}
#appShell.control-shell #perfilView .profile-filter-light select {
  width: 360px ;
  max-width: 100% ;
  min-width: 300px ;
  min-height: 40px ;
  padding: 9px 12px ;
  color: #0f172a ;
  background: #ffffff ;
  border: 1px solid #93c5fd ;
  border-radius: 9px ;
  font-size: .82rem ;
  font-weight: 400 ;
}
#appShell.control-shell #perfilView .profile-filter-light select option {
  color: #0f172a ;
  background: #ffffff ;
  white-space: nowrap ;
  font-size: .82rem ;
}
#appShell.control-shell #perfilView .profile-visual-grid.profile-donut-only {
  grid-template-columns: 1fr ;
  align-items: center ;
}
#appShell.control-shell #perfilView .profile-donut-only .profile-donut-panel-light {
  width: 100% ;
  min-height: 260px ;
  flex-direction: column ;
}
@media (max-width: 900px) {
  #appShell.control-shell #perfilView .profile-left-column { height: auto ; }
  #appShell.control-shell #perfilView .profile-card-light { max-height: none ; }
  #appShell.control-shell #perfilView .profile-main-light { grid-column: auto ; }
}
@media (max-width: 620px) {
  #appShell.control-shell #perfilView .profile-filter-light { width: 100% ; align-items: flex-start ; flex-direction: column ; }
  #appShell.control-shell #perfilView .profile-filter-light select { width: 100% ; min-width: 0 ; }
}

/* ============================================================================
   LIMPIEZA DE TABLAS Y ACCESOS — GESTIÓN, RECEPCIÓN Y VALIDACIÓN
   ============================================================================ */
/* Gestión y Recepción se extienden completamente dentro del workspace. */
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #crearAvaluoSection > .technical-search-panel,
#appShell.control-shell #crearAvaluoSection > #technicalListPanel,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .dashboard-tabs,
#appShell.control-shell #crearAvaluoSection #technicalAppraisalList,
#appShell.control-shell #recepcionAvaluosSection,
#appShell.control-shell #recepcionAvaluosSection .dashboard-tabs,
#appShell.control-shell #statusRecordList {
  width: 100% ;
  max-width: none ;
  margin-left: 0 ;
  margin-right: 0 ;
  box-sizing: border-box ;
}
#appShell.control-shell #crearAvaluoSection #technicalListPanel,
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap {
  width: 100% ;
  max-width: none ;
}
#appShell.control-shell #crearAvaluoSection #technicalListPanel table,
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap table {
  width: 100% ;
  max-width: none ;
  min-width: 100% ;
}
/* No mostrar títulos de bloque ni números de registros encima de las tablas. */
#appShell.control-shell #recepcionAvaluosSection .status-list-heading,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .status-list-heading,
#appShell.control-shell #recepcionAvaluosSection #statusListTitle,
#appShell.control-shell #recepcionAvaluosSection #statusListCount,
#appShell.control-shell #crearAvaluoSection #technicalListCount {
  display: none ;
}
/* La búsqueda de Gestión conserva su funcionalidad, pero sin el encabezado “Expedientes técnicos”. */
#appShell.control-shell #crearAvaluoSection #technicalListPanel .dashboard-tabs {
  padding-top: 0 ;
}
/* El registro histórico de folios ya no se muestra en Validación. */
#appShell.control-shell #validationRegistrySection,
#appShell.control-shell .validation-registry-section,
#appShell.control-shell #validationRegistryList,
#appShell.control-shell #validationRegistryFilter {
  display: none ;
}
/* Mensajería se abre exclusivamente con el icono de mensajes del navbar. */
#appShell.control-shell .cp6-nav-center > [data-app-view="mensajeria"] {
  display: none ;
}

/* ============================================================================
   AJUSTE FINAL — GESTIÓN A ANCHO TOTAL, FOLIO COMPACTO Y FILTRO AMPLIADO
   ============================================================================ */
#appShell.control-shell #crearAvaluoSection,
#appShell.control-shell #crearAvaluoSection > .technical-search-panel,
#appShell.control-shell #crearAvaluoSection > #technicalListPanel,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .dashboard-tabs,
#appShell.control-shell #crearAvaluoSection #technicalAppraisalList,
#appShell.control-shell #crearAvaluoSection #technicalListPanel .operational-table-wrap,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table {
  width: 100% ;
  max-width: none ;
  min-width: 100% ;
  margin-left: 0 ;
  margin-right: 0 ;
  box-sizing: border-box ;
}
/* Recepción: la columna mide únicamente lo necesario para “Folio de solicitud”. */
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact {
  table-layout: fixed ;
  width: 100% ;
  min-width: 100% ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact th:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td:nth-child(2) {
  width: 150px ;
  min-width: 150px ;
  max-width: 150px ;
  padding-left: 10px ;
  padding-right: 10px ;
  white-space: nowrap ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td:nth-child(2) {
  overflow: hidden ;
  text-overflow: ellipsis ;
}
/* Validación: ocultar cualquier listado residual y mantener visible únicamente el formulario. */
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-registry-section,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-hidden-list,
#appShell.control-shell #avaluosAuthorizedFoliosPanel #authorizedFoliosListAvaluos,
#appShell.control-shell #avaluosAuthorizedFoliosPanel #authorizedFoliosList,
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-pending-section {
  display: none ;
}
/* Selector “Ver métricas de”: más ancho y alto para nombres largos y mejor lectura. */
#appShell.control-shell #perfilView .profile-filter-light {
  min-height: 46px ;
  font-size: .98rem ;
  white-space: nowrap ;
}
#appShell.control-shell #perfilView .profile-filter-light select {
  width: 480px ;
  min-width: 420px ;
  max-width: min(480px, 58vw) ;
  height: 46px ;
  min-height: 46px ;
  padding: 10px 14px ;
  font-size: .88rem ;
  line-height: 1.25 ;
}
#appShell.control-shell #perfilView .profile-filter-light select option {
  min-height: 34px ;
  padding: 8px 12px ;
  font-size: .88rem ;
}
@media (max-width: 900px) {
  #appShell.control-shell #perfilView .profile-filter-light { white-space: normal ; }
  #appShell.control-shell #perfilView .profile-filter-light select {
    width: 100% ;
    min-width: 0 ;
    max-width: 100% ;
  }
}

/* ============================================================================
   CALCULADORA — POSICIÓN FLOTANTE ESTABLE
   ============================================================================ */
#calculatorPanel.calculator-panel {
  position: fixed ;
  top: 84px ;
  right: 24px ;
  left: auto;
  z-index: 12000 ;
  display: grid;
  width: 300px ;
  max-width: calc(100vw - 32px) ;
  box-sizing: border-box ;
  padding: 0 ;
  margin: 0 ;
  overflow: hidden ;
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 14px ;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .22) ;
}
#calculatorPanel.calculator-panel[hidden] { display: none ; }
#calculatorPanel .calculator-heading {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  min-height: 44px ;
  padding: 0 12px 0 16px ;
  cursor: move ;
  user-select: none ;
  background: #0f172a ;
  color: #ffffff ;
}
#calculatorPanel .calculator-heading button {
  width: 28px ;
  height: 28px ;
  padding: 0 ;
  border: 0 ;
  background: transparent ;
  color: #ffffff ;
  cursor: pointer ;
  font-size: 1.25rem ;
  line-height: 1 ;
}
#calculatorPanel .calculator-display {
  width: calc(100% - 24px) ;
  margin: 12px ;
  box-sizing: border-box ;
  padding: 10px 12px ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  background: #f8fafc ;
  color: #0f172a ;
  text-align: right ;
  font-size: 1.25rem ;
}
#calculatorPanel .calculator-keys {
  display: grid ;
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  gap: 7px ;
  padding: 0 12px 12px ;
}
#calculatorPanel .calculator-keys button {
  min-height: 38px ;
  border: 1px solid #dbe3ee ;
  border-radius: 8px ;
  background: #f8fafc ;
  color: #0f172a ;
  cursor: pointer ;
}
#calculatorPanel .calculator-keys button:hover { background: #eff6ff ; border-color: #93c5fd ; }
#calculatorPanel .calculator-keys .calc-equals { background: #2563eb ; color: #ffffff ; border-color: #2563eb ; }
#calculatorPanel .calculator-keys .calc-zero { grid-column: span 2 ; }
#calculatorPanel.is-dragging { user-select: none ; opacity: .96 ; }
@media (max-width: 620px) {
  #calculatorPanel.calculator-panel { top: 72px ; right: 12px ; width: min(300px, calc(100vw - 24px)) ; }
}

/* ============================================================================
   ACTUALIZACIÓN, USUARIOS EXTERNOS, TABLAS COMPACTAS Y CONFIGURACIÓN
   ============================================================================ */
/* Popup visible al detectar una versión nueva. */
#versionUpdateDialog.version-update-dialog {
  width: min(430px, calc(100vw - 32px)) ;
  max-width: 430px ;
  padding: 0 ;
  border: 1px solid #cbd5e1 ;
  border-radius: 18px ;
  background: #ffffff ;
  color: #0f172a ;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28) ;
}
#versionUpdateDialog.version-update-dialog::backdrop { background: rgba(15, 23, 42, .42) ; backdrop-filter: blur(3px); }
.version-update-content { padding: 28px ; text-align: center ; }
.version-update-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 50%; background: #eff6ff; color: #2563eb; font-size: 28px; font-weight: 700; }
.version-update-content h2 { margin: 0 0 8px ; color: #0f172a ; font: 600 1.3rem/1.25 Inter, "Segoe UI", sans-serif ; }
.version-update-content p { margin: 0 ; color: #64748b ; font: 400 .92rem/1.5 Inter, "Segoe UI", sans-serif ; }
.version-update-actions { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }
.version-update-actions button { min-width: 132px ; }
/* Buscador de Usuarios externos con la misma jerarquía que los filtros de Recepción. */
.users-table-toolbar { display: flex; align-items: end; gap: 12px; margin: 0 0 14px; }
.users-table-toolbar label { display: flex; flex-direction: column; gap: 5px; color: #64748b; font: 600 .72rem/1.2 Inter, "Segoe UI", sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.users-table-toolbar input { width: min(390px, 100%); min-height: 40px; padding: 9px 13px; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px; background: #ffffff; color: #0f172a; font: 400 .88rem Inter, "Segoe UI", sans-serif; outline: none; }
.users-table-toolbar input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
#registeredApplicantsTable { width: 100% ; max-width: none ; overflow-x: auto ; }
#registeredApplicantsTable .users-external-table { width: 100% ; min-width: 760px ; table-layout: fixed ; }
#registeredApplicantsTable .users-external-table th,
#registeredApplicantsTable .users-external-table td { padding: 9px 12px ; vertical-align: middle ; white-space: nowrap ; overflow: hidden ; text-overflow: ellipsis ; }
#registeredApplicantsTable .users-external-table th { background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #2563eb 100%) ; color: #ffffff ; border: 0 ; font-size: .78rem ; text-transform: uppercase ; letter-spacing: .06em ; }
#registeredApplicantsTable .users-external-table th:nth-child(1), #registeredApplicantsTable .users-external-table td:nth-child(1) { width: 27% ; }
#registeredApplicantsTable .users-external-table th:nth-child(2), #registeredApplicantsTable .users-external-table td:nth-child(2) { width: 28% ; }
#registeredApplicantsTable .users-external-table th:nth-child(3), #registeredApplicantsTable .users-external-table td:nth-child(3) { width: 18% ; }
#registeredApplicantsTable .users-external-table th:nth-child(4), #registeredApplicantsTable .users-external-table td:nth-child(4) { width: 14% ; }
#registeredApplicantsTable .users-external-table th:nth-child(5), #registeredApplicantsTable .users-external-table td:nth-child(5) { width: 13% ; }
#registeredApplicantsTable .users-external-table .request-action-cell { white-space: nowrap ; text-align: center ; }
#registeredApplicantsTable .users-external-table .request-icon-button { width: 30px ; height: 30px ; margin: 0 2px ; }
#registeredApplicantsTable .users-external-table .request-icon-button svg { width: 16px ; height: 16px ; }
/* Filas más compactas en Solicitudes y Recepción, manteniendo accesibilidad. */
#appShell.control-shell #solicitudesView .request-table-compact th,
#appShell.control-shell #solicitudesView .request-table-compact td,
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact th,
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td { padding-top: 8px ; padding-bottom: 8px ; line-height: 1.2 ; }
#appShell.control-shell #solicitudesView .request-table-compact .request-icon-button,
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact .record-action.icon-only { margin-top: 0 ; margin-bottom: 0 ; }
/* Configuración: las cuatro tarjetas se muestran en una sola fila en escritorio. */
#appShell.control-shell #configuracionView .settings-grid { display: grid ; grid-template-columns: repeat(4, minmax(0, 1fr)) ; gap: 16px ; width: 100% ; max-width: none ; align-items: stretch ; }
#appShell.control-shell #configuracionView .settings-grid > .setting-card { min-width: 0 ; width: auto ; }
@media (max-width: 1100px) { #appShell.control-shell #configuracionView .settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) ; } }
@media (max-width: 680px) { .users-table-toolbar { align-items: stretch; flex-direction: column; } .users-table-toolbar input { width: 100%; } #appShell.control-shell #configuracionView .settings-grid { grid-template-columns: 1fr ; } }

/* ============================================================================
   JUEGOS — acceso integrado en navbar y vista normal, sin popup
   ============================================================================ */
#appShell.control-shell .games-header-button { color: #94a3b8 ; }
#appShell.control-shell .games-header-button:hover,
#appShell.control-shell .games-header-button.is-active { color: #ffffff ; background: rgba(255,255,255,.10) ; }
#appShell.control-shell .games-view { width: 100% ; padding: 0 0 48px ; }
#appShell.control-shell .games-page-heading { width: 100% ; margin: 0 0 28px ; }
#appShell.control-shell .games-page-heading h2 { margin: 6px 0 8px ; color: #0f172a ; font: 600 1.65rem/1.15 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .games-page-heading p { margin: 0 ; color: #64748b ; font: 400 .95rem/1.5 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .games-card-grid { display: grid ; grid-template-columns: repeat(3, minmax(0, 1fr)) ; gap: 22px ; width: 100% ; }
#appShell.control-shell .game-card { display: flex ; flex-direction: column ; align-items: flex-start ; min-height: 290px ; padding: 26px ; box-sizing: border-box ; border: 1px solid #e2e8f0 ; border-radius: 16px ; background: #ffffff ; box-shadow: 0 4px 12px rgba(15,23,42,.05) ; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease ; }
#appShell.control-shell .game-card:hover { border-color: #93c5fd ; box-shadow: 0 12px 24px rgba(37,99,235,.10) ; transform: translateY(-3px) ; }
#appShell.control-shell .game-card-icon { display: flex ; align-items: center ; justify-content: center ; gap: 2px ; width: 58px ; height: 58px ; margin-bottom: 24px ; border-radius: 16px ; background: #eff6ff ; color: #2563eb ; font: 700 1.65rem/1 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .game-card-solitaire .game-card-icon span:nth-child(2) { color: #dc2626 ; font-size: 1.35rem ; }
#appShell.control-shell .game-card-icon.sudoku-icon { font-size: 1.15rem ; flex-direction: column ; gap: 0 ; }
#appShell.control-shell .game-card-icon.mines-icon { background: #f1f5f9 ; color: #334155 ; }
#appShell.control-shell .game-card-copy { flex: 1 ; }
#appShell.control-shell .game-card-kicker { color: #2563eb ; font: 700 .68rem/1 Inter, "Segoe UI", sans-serif ; letter-spacing: .12em ; }
#appShell.control-shell .game-card-copy h3 { margin: 8px 0 9px ; color: #0f172a ; font: 600 1.25rem/1.2 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .game-card-copy p { max-width: 34ch ; margin: 0 ; color: #64748b ; font: 400 .88rem/1.55 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .game-card-action { align-self: stretch ; margin-top: 24px ; padding: 9px 14px ; border: 1px solid #dbeafe ; border-radius: 8px ; background: #f8fafc ; color: #94a3b8 ; font: 500 .8rem Inter, "Segoe UI", sans-serif ; cursor: not-allowed ; }
@media (max-width: 900px) { #appShell.control-shell .games-card-grid { grid-template-columns: 1fr ; } #appShell.control-shell .game-card { min-height: 220px ; } }

/* Tarjetas de juego mejoradas — identidad guinda CP6 */
#appShell.control-shell .game-card {
  background: #ffffff ;
  border-radius: 16px ;
  padding: 24px ;
  border: 1px solid #e2e8f0 ;
  box-shadow: 0 4px 12px rgba(0,0,0,.03) ;
  transition: all .3s cubic-bezier(.4,0,.2,1) ;
  display: flex ;
  flex-direction: column ;
  justify-content: space-between ;
}
#appShell.control-shell .game-card:hover {
  transform: translateY(-5px) ;
  border-color: rgba(131,24,67,.3) ;
  box-shadow: 0 15px 30px rgba(131,24,67,.12) ;
}
#appShell.control-shell .game-card .icon-wrapper {
  width: 64px ;
  height: 64px ;
  border-radius: 14px ;
  background: rgba(131,24,67,.08) ;
  border: 1px solid rgba(131,24,67,.2) ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  font-size: 28px ;
  margin-bottom: 16px ;
}
#appShell.control-shell .game-card .category {
  font-size: 12px ;
  font-weight: 800 ;
  text-transform: uppercase ;
  letter-spacing: 1.2px ;
  color: #831843 ;
  margin-bottom: 6px ;
}
#appShell.control-shell .game-card .title {
  font-size: 22px ;
  font-weight: 800 ;
  color: #0f172a ;
  margin: 0 0 8px ;
}
#appShell.control-shell .game-card .description {
  font-size: 14px ;
  color: #475569 ;
  line-height: 1.5 ;
  margin: 0 0 20px ;
}
#appShell.control-shell .game-card .btn-play {
  width: 100% ;
  height: 46px ;
  border: none ;
  border-radius: 10px ;
  background: linear-gradient(135deg,#831843 0%,#500724 100%) ;
  color: #ffffff ;
  font-weight: 700 ;
  font-size: 14px ;
  letter-spacing: .5px ;
  cursor: not-allowed ;
  transition: all .2s ease ;
  box-shadow: 0 4px 10px rgba(131,24,67,.2) ;
  opacity: 1 ;
}
#appShell.control-shell .game-card .btn-play:hover {
  background: linear-gradient(135deg,#be185d 0%,#831843 100%) ;
  box-shadow: 0 6px 15px rgba(190,24,93,.35) ;
}
#appShell.control-shell .game-card-solitaire .icon-wrapper span:nth-child(2) { color: #be185d ; }
#appShell.control-shell .game-card .sudoku-icon,
#appShell.control-shell .game-card .mines-icon { background: rgba(131,24,67,.08) ; color: #831843 ; }
@media (max-width: 900px) {
  #appShell.control-shell .game-card .title { font-size: 20px ; }
}

/* Juegos: reemplazo del acento guinda por azul CP6 */
#appShell.control-shell .game-card:hover { border-color: rgba(37,99,235,.32) ; box-shadow: 0 15px 30px rgba(37,99,235,.12) ; }
#appShell.control-shell .game-card .icon-wrapper,
#appShell.control-shell .game-card .sudoku-icon,
#appShell.control-shell .game-card .mines-icon { background: rgba(37,99,235,.08) ; border-color: rgba(37,99,235,.20) ; color: #2563eb ; }
#appShell.control-shell .game-card .category { color: #2563eb ; }
#appShell.control-shell .game-card .btn-play { background: linear-gradient(135deg,#2563eb 0%,#1e3a8a 100%) ; box-shadow: 0 4px 10px rgba(37,99,235,.20) ; }
#appShell.control-shell .game-card .btn-play:hover { background: linear-gradient(135deg,#3b82f6 0%,#2563eb 100%) ; box-shadow: 0 6px 15px rgba(37,99,235,.35) ; }
#appShell.control-shell .game-card-solitaire .icon-wrapper span:nth-child(2) { color: #2563eb ; }

/* Juegos — corrección final: azul, iconos grandes y tipografía ligera */
#appShell.control-shell .games-card-grid .game-card,
#appShell.control-shell .games-card-grid .game-card:hover {
  border-color: #e2e8f0 ;
}
#appShell.control-shell .games-card-grid .game-card:hover {
  border-color: rgba(37,99,235,.35) ;
  box-shadow: 0 15px 30px rgba(37,99,235,.14) ;
}
#appShell.control-shell .games-card-grid .game-card .icon-wrapper {
  width: 78px ;
  height: 78px ;
  margin-bottom: 22px ;
  border-radius: 16px ;
  background: #eff6ff ;
  border: 1px solid #bfdbfe ;
  color: #2563eb ;
  font-size: 38px ;
  font-weight: 400 ;
}
#appShell.control-shell .games-card-grid .game-card .icon-wrapper span { font-weight: 400 ; }
#appShell.control-shell .games-card-grid .game-card .category {
  color: #2563eb ;
  font-size: 13px ;
  font-weight: 500 ;
  letter-spacing: 1.1px ;
}
#appShell.control-shell .games-card-grid .game-card .title {
  color: #0f172a ;
  font-size: 27px ;
  font-weight: 500 ;
  letter-spacing: -.3px ;
  margin-bottom: 10px ;
}
#appShell.control-shell .games-card-grid .game-card .description {
  color: #475569 ;
  font-size: 16px ;
  font-weight: 400 ;
  line-height: 1.55 ;
}
#appShell.control-shell .games-card-grid .game-card .btn-play {
  background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%) ;
  color: #ffffff ;
  font-size: 15px ;
  font-weight: 500 ;
  letter-spacing: .25px ;
  cursor: not-allowed ;
}
#appShell.control-shell .games-card-grid .game-card .btn-play:hover {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) ;
  box-shadow: 0 6px 15px rgba(37,99,235,.35) ;
}
@media (max-width: 900px) {
  #appShell.control-shell .games-card-grid .game-card .title { font-size: 24px ; }
  #appShell.control-shell .games-card-grid .game-card .description { font-size: 15px ; }
}

/* Juegos integrados — el juego se abre dentro de la misma página, no en popup */
#appShell.control-shell .game-stage { width: 100% ; margin-top: 4px ; padding: 0 ; background: #ffffff ; border: 1px solid #e2e8f0 ; border-radius: 16px ; overflow: hidden ; box-shadow: 0 8px 24px rgba(15,23,42,.08) ; }
#appShell.control-shell .game-stage-toolbar { display: flex ; align-items: center ; justify-content: space-between ; gap: 16px ; min-height: 58px ; padding: 10px 16px ; border-bottom: 1px solid #e2e8f0 ; background: #ffffff ; color: #0f172a ; font: 500 1rem/1.2 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .game-stage-back { border: 1px solid #bfdbfe ; border-radius: 8px ; padding: 9px 14px ; background: #eff6ff ; color: #2563eb ; font: 500 .86rem/1 Inter, "Segoe UI", sans-serif ; cursor: pointer ; }
#appShell.control-shell .game-stage-back:hover { background: #dbeafe ; border-color: #93c5fd ; }
#appShell.control-shell #gameFrame { display: block ; width: 100% ; height: min(760px, calc(100vh - 170px)) ; min-height: 560px ; border: 0 ; background: #0f172a ; }
#appShell.control-shell .games-card-grid .game-card .btn-play { cursor: pointer ; }
#appShell.control-shell .games-card-grid .game-card .btn-play:active,
#appShell.control-shell .game-stage-back:active { transform: scale(.97) ; }
@media (max-width: 900px) { #appShell.control-shell #gameFrame { height: calc(100vh - 150px) ; min-height: 620px ; } #appShell.control-shell .game-stage-toolbar { align-items: flex-start ; flex-direction: column ; } }

/* Historial y mejores puntuaciones de Juegos */
#appShell.control-shell .games-stats-panel { display: grid ; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr) ; gap: 24px ; align-items: start ; width: 100% ; margin-top: 24px ; padding: 22px 24px ; box-sizing: border-box ; background: #ffffff ; border: 1px solid #e2e8f0 ; border-radius: 16px ; box-shadow: 0 4px 12px rgba(15,23,42,.04) ; }
#appShell.control-shell .games-stats-panel h3 { margin: 6px 0 8px ; color: #0f172a ; font-size: 1.15rem ; font-weight: 500 ; }
#appShell.control-shell .games-stats-panel p { margin: 0 ; color: #64748b ; font-size: .88rem ; }
#appShell.control-shell .games-stats-list { display: grid ; grid-template-columns: repeat(3,minmax(0,1fr)) ; gap: 10px ; }
#appShell.control-shell .games-best-item { padding: 12px ; border: 1px solid #dbeafe ; border-radius: 10px ; background: #eff6ff ; color: #334155 ; }
#appShell.control-shell .games-best-item span { display: block ; font-size: .78rem ; }
#appShell.control-shell .games-best-item strong { display: block ; margin-top: 5px ; color: #2563eb ; font-size: 1.05rem ; font-weight: 500 ; }
#appShell.control-shell .games-history-items { grid-column: 1 / -1 ; display: grid ; gap: 6px ; margin-top: 4px ; }
#appShell.control-shell .games-history-item { display: flex ; justify-content: space-between ; gap: 12px ; padding: 8px 10px ; border-bottom: 1px solid #f1f5f9 ; color: #334155 ; font-size: .82rem ; }
#appShell.control-shell .games-history-item small { color: #64748b ; }
#appShell.control-shell .games-stats-empty { grid-column: 1 / -1 ; padding: 12px ; }
@media (max-width: 800px) { #appShell.control-shell .games-stats-panel { grid-template-columns: 1fr ; } #appShell.control-shell .games-stats-list { grid-template-columns: 1fr ; } }

/* Ajustes finales de Juegos y Perfil */
#appShell.control-shell .game-card-copy { position: relative ; width: 100% ; }
#appShell.control-shell .game-card-score { margin: 8px 0 2px ; color: #2563eb ; font: 500 .82rem/1.2 Inter, "Segoe UI", sans-serif ; }
#appShell.control-shell .games-card-grid .game-card .sudoku-grid-icon { display: block ; font: 400 3.15rem/1 Inter, "Segoe UI", sans-serif ; letter-spacing: -5px ; }
#appShell.control-shell .profile-games-score-light { display:flex ; align-items:center ; gap:10px ; margin-top:12px ; padding-top:12px ; border-top:1px solid #f1f5f9 ; }
#appShell.control-shell .profile-games-ring { flex:0 0 66px ; }
#appShell.control-shell .profile-games-score-light strong { color:#334155 ; font-size:.72rem ; font-weight:500 ; }
#appShell.control-shell .profile-games-score-light p { margin:4px 0 0 ; color:#64748b ; font-size:.62rem ; line-height:1.3 ; }
#appShell.control-shell .games-stats-panel .section-kicker { display:none ; }

/* Asignación de solicitudes a usuarios externos */
#appShell.control-shell .request-external-assignment { min-width: 230px ; }
#appShell.control-shell .request-external-assignment select { display:block ; width:100% ; margin-top:4px ; padding:7px 9px ; border:1px solid #cbd5e1 ; border-radius:8px ; background:#fff ; color:#0f172a ; font:400 .78rem Inter,"Segoe UI",sans-serif ; }
#appShell.control-shell .request-external-assignment + [data-save-request-external] { align-self:end ; white-space:nowrap ; }

/* Detalle de solicitud: creador y asignación externa */
#appShell.control-shell .request-creator-summary { display:flex ; flex-direction:column ; gap:2px ; margin-top:6px ; }
#appShell.control-shell .request-creator-summary > span { color:#94a3b8 ; font-size:.68rem ; text-transform:uppercase ; letter-spacing:.04em ; }
#appShell.control-shell .request-creator-summary > strong { color:#0f172a ; font-size:.82rem ; font-weight:600 ; }
#appShell.control-shell .request-creator-summary > small { color:#64748b ; font-size:.72rem ; }
#appShell.control-shell .request-external-assignment { display:flex ; flex-direction:column ; gap:7px ; min-width:300px ; padding:10px ; border:1px solid #dbeafe ; border-radius:10px ; background:#f8fbff ; }
#appShell.control-shell .request-external-assignment > strong { color:#1e3a8a ; font-size:.76rem ; font-weight:600 ; }
#appShell.control-shell .request-external-search-grid { display:grid ; grid-template-columns:repeat(3,minmax(0,1fr)) ; gap:5px ; }
#appShell.control-shell .request-external-search-grid input { width:100% ; min-width:0 ; box-sizing:border-box ; padding:7px 8px ; border:1px solid #cbd5e1 ; border-radius:7px ; background:#fff ; color:#0f172a ; font-size:.72rem ; }
#appShell.control-shell .request-external-results { display:flex ; flex-direction:column ; gap:3px ; max-height:120px ; overflow:auto ; }
#appShell.control-shell .request-external-result { display:flex ; flex-direction:column ; align-items:flex-start ; padding:6px 8px ; border:1px solid #e2e8f0 ; border-radius:7px ; background:#fff ; color:#0f172a ; text-align:left ; cursor:pointer ; }
#appShell.control-shell .request-external-result:hover { border-color:#93c5fd ; background:#eff6ff ; }
#appShell.control-shell .request-external-result strong { font-size:.73rem ; font-weight:500 ; }
#appShell.control-shell .request-external-result small, #appShell.control-shell .request-external-empty, #appShell.control-shell .request-external-selected { color:#64748b ; font-size:.68rem ; }
@media (max-width:800px) { #appShell.control-shell .request-external-search-grid { grid-template-columns:1fr ; } #appShell.control-shell .request-external-assignment { min-width:220px ; } }

/* Rediseño final CP6: detalle de solicitud en azul/grafito */
#requestDetailDialog.client-luxury-detail { background:#f8fafc ; border:1px solid #cbd5e1 ; border-radius:18px ; color:#0f172a ; }
#requestDetailDialog.client-luxury-detail > form { background:#f8fafc ; padding:24px ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head { border-bottom:1px solid #e2e8f0 ; padding-bottom:18px ; }
#requestDetailDialog.client-luxury-detail .request-detail-blue-head { align-items:flex-start ; }
#requestDetailDialog.client-luxury-detail .request-detail-user-name { color:#0f172a ; display:block ; font-family:Inter,"Segoe UI",sans-serif ; font-size:1.35rem ; font-weight:650 ; }
#requestDetailDialog.client-luxury-detail .request-detail-request-number { color:#2563eb ; display:block ; font-size:.88rem ; margin-top:4px ; }
#requestDetailDialog.client-luxury-detail .request-detail-request-number b { font-weight:700 ; }
#requestDetailDialog.client-luxury-detail .request-detail-compact-head small { color:#64748b ; }
#requestDetailDialog.client-luxury-detail .request-creator-summary { margin-top:8px ; }
#requestDetailDialog.client-luxury-detail .request-detail-head-actions { display:flex ; flex-wrap:wrap ; gap:8px ; align-items:flex-start ; justify-content:flex-end ; }
#requestDetailDialog.client-luxury-detail .request-detail-head-actions .request-detail-button,
#requestDetailDialog.client-luxury-detail .request-detail-head-actions .client-outline-button { white-space:nowrap ; }
#requestDetailDialog.client-luxury-detail .request-detail-blue-grid { grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) ; margin-top:18px ; }
#requestDetailDialog.client-luxury-detail .request-detail-pane { background:#fff ; border:1px solid #e2e8f0 ; border-radius:14px ; box-shadow:0 8px 22px rgba(15,23,42,.06) ; }
#requestDetailDialog.client-luxury-detail .request-pane-heading strong { color:#0f172a ; font-family:Inter,"Segoe UI",sans-serif ; }
#requestDetailDialog.client-luxury-detail .request-pane-heading { border-color:#e2e8f0 ; }
#requestDetailDialog.client-luxury-detail .request-file-card:hover { border-color:#93c5fd ; box-shadow:0 9px 20px rgba(37,99,235,.12) ; }
#requestDetailDialog.client-luxury-detail .request-file-icon { background:#eff6ff ; color:#2563eb ; }
#requestDetailDialog.client-luxury-detail .request-final-heading { border-color:#e2e8f0 ; }
#requestDetailDialog.client-luxury-detail .final-pdf-actions { background:#eff6ff ; border:1px solid #bfdbfe ; }
#requestDetailDialog.client-luxury-detail .client-download-button { border-radius:8px ; }
#requestDetailDialog.client-luxury-detail .client-read-info-grid { gap:12px 16px ; }
#requestDetailDialog.client-luxury-detail .client-read-info-field { border-color:#f1f5f9 ; }
#requestDetailDialog.client-luxury-detail .client-read-info-field span { color:#64748b ; }
#requestDetailDialog.client-luxury-detail .client-read-info-field strong { color:#0f172a ; font-weight:500 ; }
#requestDetailDialog.client-luxury-detail .request-submodal { align-items:center ; background:rgba(15,23,42,.42) ; display:flex ; inset:0 ; justify-content:center ; position:absolute ; z-index:20 ; }
#requestDetailDialog.client-luxury-detail .request-submodal[hidden] { display:none ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card { background:#fff ; border:1px solid #dbeafe ; border-radius:14px ; box-shadow:0 20px 50px rgba(15,23,42,.22) ; color:#0f172a ; max-width:420px ; padding:22px ; width:calc(100% - 32px) ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card h3 { color:#0f172a ; font-size:1.05rem ; margin:0 0 5px ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card p { color:#64748b ; font-size:.8rem ; margin:0 0 12px ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card > input { background:#fff ; border:1px solid #cbd5e1 ; border-radius:8px ; box-sizing:border-box ; color:#0f172a ; padding:10px 12px ; width:100% ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card > input:focus { border-color:#2563eb ; box-shadow:0 0 0 3px rgba(37,99,235,.13) ; outline:none ; }
#requestDetailDialog.client-luxury-detail .request-submodal-card > div:last-child { display:flex ; gap:8px ; justify-content:flex-end ; margin-top:16px ; }
#requestDetailDialog.client-luxury-detail .request-popup-results { display:flex ; flex-direction:column ; gap:5px ; margin-top:10px ; max-height:180px ; overflow:auto ; }
#requestDetailDialog.client-luxury-detail .request-popup-result { align-items:flex-start ; background:#fff ; border:1px solid #e2e8f0 ; border-radius:8px ; color:#0f172a ; display:flex ; flex-direction:column ; padding:8px 10px ; text-align:left ; width:100% ; }
#requestDetailDialog.client-luxury-detail .request-popup-result:hover { background:#eff6ff ; border-color:#93c5fd ; }
#requestDetailDialog.client-luxury-detail .request-popup-result strong { font-size:.78rem ; font-weight:600 ; }
#requestDetailDialog.client-luxury-detail .request-popup-result small, #requestDetailDialog.client-luxury-detail .request-popup-results > small { color:#64748b ; font-size:.7rem ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form { display:grid ; gap:10px 12px ; grid-template-columns:repeat(2,minmax(0,1fr)) ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form[hidden] { display:none ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form label { color:#475569 ; display:grid ; font-size:.68rem ; font-weight:650 ; gap:4px ; text-transform:uppercase ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form input,
#requestDetailDialog.client-luxury-detail .client-edit-info-form textarea { background:#fff ; border:1px solid #cbd5e1 ; border-radius:7px ; box-sizing:border-box ; color:#0f172a ; font:400 .78rem Inter,"Segoe UI",sans-serif ; padding:8px ; resize:vertical ; width:100% ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-form input:focus,
#requestDetailDialog.client-luxury-detail .client-edit-info-form textarea:focus { border-color:#2563eb ; box-shadow:0 0 0 3px rgba(37,99,235,.12) ; outline:none ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-actions { grid-column:1 / -1 ; }
#requestDetailDialog.client-luxury-detail .client-edit-info-actions p { color:#b91c1c ; }
#requestDetailDialog.client-luxury-detail .client-timeline { display:none ; }
@media (max-width:760px) { #requestDetailDialog.client-luxury-detail .request-detail-blue-grid { grid-template-columns:1fr ; } #requestDetailDialog.client-luxury-detail .request-detail-head-actions { justify-content:flex-start ; } #requestDetailDialog.client-luxury-detail .client-edit-info-form { grid-template-columns:1fr ; } }


/* Ajustes solicitados: tablas compactas y estados no editables */
#appShell.control-shell .operational-table-compact th,
#appShell.control-shell .operational-table-compact td,
#appShell.control-shell .request-table-compact th,
#appShell.control-shell .request-table-compact td { padding-top: 6px ; padding-bottom: 6px ; line-height: 1.2 ; }
#appShell.control-shell .request-status.request-status-tramite { background:#fff7ed ; border-color:#fed7aa ; color:#c2410c ; }
#appShell.control-shell .request-status.request-status-concluida { background:#ecfdf5 ; border-color:#bbf7d0 ; color:#15803d ; }
#appShell.control-shell .request-table-compact .request-status-select { display:none ; }
#appShell.control-shell .game-stage { margin-top:0 ; border-top-left-radius:0 ; border-top-right-radius:0 ; }
#appShell.control-shell .game-stage-toolbar { min-height:48px ; padding-top:6px ; padding-bottom:6px ; }

/* Corrección definitiva: tarjeta de detalle sin duplicación visible y controles seguros */
#requestDetailDialog.client-luxury-detail .request-detail-blue-grid {
  display: grid ;
  grid-template-columns: minmax(0, 1fr) ;
  gap: 14px ;
}
#requestDetailDialog.client-luxury-detail .request-detail-inline-actions {
  display: flex ;
  flex-wrap: nowrap ;
  align-items: center ;
  gap: 8px ;
  margin: 8px 0 4px ;
}
#requestDetailDialog.client-luxury-detail .request-detail-inline-actions .request-detail-button {
  white-space: nowrap ;
}
#requestDetailDialog.client-luxury-detail .request-detail-head-actions {
  display: none ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading {
  display: flex ;
  align-items: center ;
  justify-content: space-between ;
  gap: 12px ;
}
#requestDetailDialog.client-luxury-detail .request-pane-heading > div {
  display: flex ;
  flex-direction: column ;
  gap: 2px ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form[hidden],
#requestDetailDialog.client-luxury-detail [hidden] {
  display: none ;
}
#requestDetailDialog.client-luxury-detail .client-edit-info-form:not([hidden]) {
  display: grid ;
}

/* Recepción, Gestión y Solicitudes: encabezados y filas con la misma altura */
#appShell.control-shell #statusRecordList .operational-table-compact th,
#appShell.control-shell #statusRecordList .operational-table-compact td,
#appShell.control-shell #technicalAppraisalList .technical-table th,
#appShell.control-shell #technicalAppraisalList .technical-table td,
#appShell.control-shell #serviceRequestsTable .request-table-compact th,
#appShell.control-shell #serviceRequestsTable .request-table-compact td {
  padding-top: 8px ;
  padding-bottom: 8px ;
  height: 38px ;
  line-height: 1.2 ;
  vertical-align: middle ;
}
#appShell.control-shell #statusRecordList .operational-table-compact thead th,
#appShell.control-shell #technicalAppraisalList .technical-table thead th,
#appShell.control-shell #serviceRequestsTable .request-table-compact thead th {
  height: 38px ;
  padding-top: 8px ;
  padding-bottom: 8px ;
}
@media (max-width: 760px) {
  #requestDetailDialog.client-luxury-detail .request-detail-inline-actions { flex-wrap: wrap ; }
}

/* Homologación final de Gestión de Avalúos con Recepción */
#appShell.control-shell #technicalAppraisalList .operational-table,
#appShell.control-shell #technicalAppraisalList .operational-table-compact,
#appShell.control-shell #technicalAppraisalList table {
  width: 100% ;
  table-layout: fixed ;
}
#appShell.control-shell #technicalListPanel .status-list-heading,
#appShell.control-shell #technicalListPanel .status-list-heading h2,
#appShell.control-shell #statusRecordList + .table-pagination,
#appShell.control-shell #technicalAppraisalList .operational-table thead th,
#appShell.control-shell #technicalAppraisalList .operational-table tbody td {
  box-sizing: border-box ;
}
#appShell.control-shell #technicalAppraisalList .operational-table thead th,
#appShell.control-shell #technicalAppraisalList .operational-table tbody td {
  height: 38px ;
  padding-top: 8px ;
  padding-bottom: 8px ;
  line-height: 1.2 ;
  vertical-align: middle ;
}
#appShell.control-shell #technicalListPanel .status-list-heading {
  min-height: 38px ;
  height: 38px ;
  padding-top: 8px ;
  padding-bottom: 8px ;
  display: flex ;
  align-items: center ;
}

/* Ajuste solicitado: mismas alturas y densidad vertical que Recepción; sin cambios horizontales */
#appShell.control-shell #crearAvaluoSection #technicalAppraisalList table th,
#appShell.control-shell #crearAvaluoSection #technicalAppraisalList table td,
#appShell.control-shell #solicitudesView .request-table-compact th,
#appShell.control-shell #solicitudesView .request-table-compact td {
  height: 38px ;
  padding-top: 8px ;
  padding-bottom: 8px ;
  line-height: 1.2 ;
  vertical-align: middle ;
}

/* Corrección efectiva: filas de Gestión y Solicitudes al tamaño compacto de Recepción.
   Solo se modifica el eje vertical; los 18px laterales y los anchos permanecen intactos. */
#appShell.control-shell #crearAvaluoSection #technicalListPanel table thead th,
#appShell.control-shell #crearAvaluoSection #technicalListPanel table tbody td,
#appShell.control-shell #solicitudesView .request-table-wrap table thead th,
#appShell.control-shell #solicitudesView .request-table-wrap table tbody td {
  height: auto ;
  padding-top: 6px ;
  padding-bottom: 6px ;
  line-height: 1.2 ;
  vertical-align: middle ;
}

/* ============================================================================
   PORTAL EXTERNO — BANDEJA DE ENTRADA CP6
   Identidad fría del Login: navy, azul y grises. Sin dorado ni amarillo.
   ============================================================================ */
#loginScreen.applicant-dashboard-active {
  background: #eef2f7 ;
  background-image: none ;
  color: #0f172a ;
  min-height: 100vh ;
}
#loginScreen.applicant-dashboard-active .public-entry-panel,
#loginScreen.applicant-dashboard-active .public-entry-content,
#loginScreen.applicant-dashboard-active #applicantHomePanel {
  width: 100% ;
  max-width: none ;
  background: transparent ;
  background-image: none ;
}
#loginScreen.applicant-dashboard-active #applicantHomePanel {
  min-height: 100vh ;
  padding: 0 ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-header {
  align-items: center ;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) ;
  border: 0 ;
  border-bottom: 1px solid rgba(148,163,184,.24) ;
  border-radius: 0 ;
  box-shadow: 0 8px 22px rgba(15,23,42,.14) ;
  color: #fff ;
  display: flex ;
  height: 68px ;
  justify-content: space-between ;
  margin: 0 ;
  padding: 0 32px ;
  position: relative ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-brand strong {
  color: #fff ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: 1.15rem ;
  font-weight: 600 ;
  letter-spacing: .06em ;
}
#loginScreen.applicant-dashboard-active .client-brand span {
  color: #94a3b8 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .62rem ;
  letter-spacing: .18em ;
}
#loginScreen.applicant-dashboard-active .client-header-actions { gap: 12px ; }
#loginScreen.applicant-dashboard-active .client-header-user { border-left: 1px solid rgba(148,163,184,.24) ; padding-left: 16px ; }
#loginScreen.applicant-dashboard-active .client-header-user small { color: #94a3b8 ; display: block ; font: 400 .72rem/1.2 Inter, sans-serif ; }
#loginScreen.applicant-dashboard-active .client-header-user strong { color: #f8fafc ; display: block ; font: 500 .85rem/1.3 Inter, sans-serif ; max-width: 220px ; overflow: hidden ; text-overflow: ellipsis ; white-space: nowrap ; }
#loginScreen.applicant-dashboard-active .client-logout-button,
#loginScreen.applicant-dashboard-active .applicant-messaging-button,
#loginScreen.applicant-dashboard-active .applicant-notifications-button {
  background: transparent ;
  border: 1px solid rgba(148,163,184,.3) ;
  border-radius: 8px ;
  box-shadow: none ;
  color: #e2e8f0 ;
  font-family: Inter, "Segoe UI", sans-serif ;
  font-size: .76rem ;
  font-weight: 500 ;
  min-height: 34px ;
  padding: 7px 10px ;
}
#loginScreen.applicant-dashboard-active .client-logout-button:hover,
#loginScreen.applicant-dashboard-active .applicant-messaging-button:hover,
#loginScreen.applicant-dashboard-active .applicant-notifications-button:hover { background: rgba(255,255,255,.1) ; border-color: #93c5fd ; color: #fff ; }
#loginScreen.applicant-dashboard-active .applicant-messaging-button,
#loginScreen.applicant-dashboard-active .applicant-notifications-button { display: inline-grid ; min-width: 34px ; padding: 7px ; place-items: center ; }
#loginScreen.applicant-dashboard-active .applicant-messaging-button svg,
#loginScreen.applicant-dashboard-active .applicant-notifications-button svg { fill: none ; height: 18px ; stroke: currentColor ; stroke-linecap: round ; stroke-linejoin: round ; stroke-width: 1.7 ; width: 18px ; }
#loginScreen.applicant-dashboard-active .applicant-notifications-button b { background: #ef4444 ; border: 2px solid #0f172a ; right: -5px ; top: -5px ; }
#loginScreen.applicant-dashboard-active .client-inbox-shell {
  align-items: stretch ;
  display: grid ;
  gap: 24px ;
  grid-template-columns: minmax(235px, 270px) minmax(0, 1fr) ;
  margin: 0 auto ;
  max-width: 1480px ;
  min-height: calc(100vh - 68px) ;
  padding: 28px 32px 36px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-inbox-sidebar {
  align-self: start ;
  background: #fff ;
  border: 1px solid #dbe4ef ;
  border-radius: 14px ;
  box-shadow: 0 8px 24px rgba(15,23,42,.06) ;
  min-height: 430px ;
  padding: 22px 16px ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-profile { border-bottom: 1px solid #e2e8f0 ; padding: 4px 8px 22px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-avatar { align-items: center ; background: #eff6ff ; border-radius: 12px ; color: #2563eb ; display: flex ; height: 54px ; justify-content: center ; margin-bottom: 17px ; width: 54px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-avatar svg { fill: none ; height: 27px ; stroke: currentColor ; stroke-linecap: round ; stroke-linejoin: round ; stroke-width: 1.7 ; width: 27px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-kicker { color: #64748b ; display: block ; font: 600 .66rem/1.2 Inter, sans-serif ; letter-spacing: .12em ; text-transform: uppercase ; }
#loginScreen.applicant-dashboard-active .client-sidebar-profile h1 { color: #0f172a ; font: 600 1.08rem/1.3 Inter, sans-serif ; margin: 8px 0 5px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-profile p { color: #64748b ; font: 400 .78rem/1.5 Inter, sans-serif ; margin: 0 ; overflow-wrap: anywhere ; }
#loginScreen.applicant-dashboard-active .client-inbox-nav { display: grid ; gap: 5px ; margin: 20px 0 ; }
#loginScreen.applicant-dashboard-active .client-inbox-nav button { align-items: center ; background: transparent ; border: 0 ; border-radius: 8px ; color: #475569 ; display: flex ; font: 500 .82rem/1.2 Inter, sans-serif ; gap: 10px ; padding: 11px 10px ; text-align: left ; width: 100% ; }
#loginScreen.applicant-dashboard-active .client-inbox-nav button span { color: #64748b ; font-size: 1rem ; width: 18px ; }
#loginScreen.applicant-dashboard-active .client-inbox-nav button:hover,
#loginScreen.applicant-dashboard-active .client-inbox-nav button.is-active { background: #eff6ff ; color: #1d4ed8 ; }
#loginScreen.applicant-dashboard-active .client-inbox-nav button.is-active span { color: #2563eb ; }
#loginScreen.applicant-dashboard-active .client-inbox-cta { align-items: center ; background: #2563eb ; border: 1px solid #2563eb ; border-radius: 8px ; box-shadow: 0 6px 14px rgba(37,99,235,.18) ; color: #fff ; display: flex ; font: 500 .82rem/1.2 Inter, sans-serif ; gap: 7px ; justify-content: center ; min-height: 42px ; padding: 10px 12px ; width: 100% ; }
#loginScreen.applicant-dashboard-active .client-inbox-cta:hover { background: #1d4ed8 ; border-color: #1d4ed8 ; transform: translateY(-1px) ; }
#loginScreen.applicant-dashboard-active .client-inbox-main { min-width: 0 ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading { margin: 3px 0 20px ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 { color: #0f172a ; font: 600 clamp(1.45rem, 2vw, 1.9rem)/1.2 Inter, sans-serif ; letter-spacing: -.03em ; margin: 7px 0 7px ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 strong { color: #2563eb ; font-weight: 600 ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading p { color: #64748b ; font: 400 .9rem/1.5 Inter, sans-serif ; margin: 0 ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats { display: grid ; gap: 14px ; grid-template-columns: repeat(3, minmax(0, 1fr)) ; margin: 0 0 22px ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article { background: #fff ; border: 1px solid #dbe4ef ; border-radius: 12px ; box-shadow: 0 5px 16px rgba(15,23,42,.045) ; min-height: 100px ; padding: 16px ; }
#loginScreen.applicant-dashboard-active .metric-stat-row { align-items: center ; display: flex ; gap: 12px ; }
#loginScreen.applicant-dashboard-active .metric-icon { align-items: center ; background: #eff6ff ; border-radius: 10px ; color: #2563eb ; display: inline-flex ; flex: 0 0 40px ; height: 40px ; justify-content: center ; padding: 10px ; }
#loginScreen.applicant-dashboard-active .metric-icon svg { fill: none ; height: 20px ; stroke: currentColor ; stroke-linecap: round ; stroke-linejoin: round ; stroke-width: 1.8 ; width: 20px ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row > div > span { color: #64748b ; display: block ; font: 500 .68rem/1.25 Inter, sans-serif ; letter-spacing: .04em ; text-transform: uppercase ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row strong { color: #0f172a ; display: block ; font: 600 1.7rem/1 Inter, sans-serif ; margin-top: 6px ; }
#loginScreen.applicant-dashboard-active .client-history-section { background: #fff ; border: 1px solid #dbe4ef ; border-radius: 14px ; box-shadow: 0 8px 24px rgba(15,23,42,.055) ; margin: 0 ; padding: 20px ; }
#loginScreen.applicant-dashboard-active .client-history-heading { align-items: center ; display: flex ; justify-content: space-between ; margin-bottom: 16px ; }
#loginScreen.applicant-dashboard-active .client-history-heading h3 { color: #0f172a ; font: 600 1.05rem/1.2 Inter, sans-serif ; margin: 6px 0 0 ; }
#loginScreen.applicant-dashboard-active .client-history-caption { color: #94a3b8 ; font: 400 .74rem/1.2 Inter, sans-serif ; }
#loginScreen.applicant-dashboard-active .client-request-toolbar { align-items: center ; display: flex ; gap: 10px ; margin: 0 0 14px ; }
#loginScreen.applicant-dashboard-active .client-request-search { align-items: center ; background: #f8fafc ; border: 1px solid #dbe4ef ; border-radius: 8px ; color: #64748b ; display: flex ; flex: 1 ; gap: 8px ; min-height: 40px ; padding: 0 12px ; }
#loginScreen.applicant-dashboard-active .client-request-search input { background: transparent ; border: 0 ; box-shadow: none ; color: #0f172a ; flex: 1 ; font: 400 .82rem/1.2 Inter, sans-serif ; min-width: 0 ; outline: 0 ; padding: 0 ; }
#loginScreen.applicant-dashboard-active .client-request-filter { flex: 0 0 172px ; }
#loginScreen.applicant-dashboard-active .client-request-filter select { background: #fff ; border: 1px solid #dbe4ef ; border-radius: 8px ; color: #334155 ; font: 500 .78rem/1.2 Inter, sans-serif ; min-height: 40px ; padding: 0 10px ; width: 100% ; }
#loginScreen.applicant-dashboard-active .client-request-table-wrap { border: 1px solid #e2e8f0 ; border-radius: 10px ; box-shadow: none ; overflow-x: auto ; }
#loginScreen.applicant-dashboard-active .client-request-table { border-collapse: collapse ; min-width: 680px ; width: 100% ; }
#loginScreen.applicant-dashboard-active .client-request-table thead th { background: #f8fafc ; border-bottom: 1px solid #e2e8f0 ; color: #64748b ; font: 600 .67rem/1.2 Inter, sans-serif ; letter-spacing: .07em ; padding: 11px 12px ; text-align: left ; text-transform: uppercase ; white-space: nowrap ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody td { background: #fff ; border-bottom: 1px solid #eef2f7 ; color: #334155 ; font: 400 .78rem/1.25 Inter, sans-serif ; padding: 12px ; white-space: nowrap ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody tr:hover td { background: #f8fbff ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody tr:last-child td { border-bottom: 0 ; }
#loginScreen.applicant-dashboard-active .client-request-table td:first-child strong { color: #1d4ed8 ; font-weight: 600 ; }
#loginScreen.applicant-dashboard-active .client-status-badge { border: 1px solid transparent ; border-radius: 999px ; display: inline-flex ; font: 500 .7rem/1.2 Inter, sans-serif ; padding: 5px 8px ; }
#loginScreen.applicant-dashboard-active .client-status-badge.client-status-concluida { background: #dcfce7 ; border-color: #bbf7d0 ; color: #166534 ; }
#loginScreen.applicant-dashboard-active .client-status-badge:not(.client-status-concluida) { background: #eff6ff ; border-color: #bfdbfe ; color: #1d4ed8 ; }
#loginScreen.applicant-dashboard-active .client-table-view-button,
#loginScreen.applicant-dashboard-active .client-pdf-link { align-items: center ; background: #fff ; border: 1px solid #cbd5e1 ; border-radius: 7px ; color: #334155 ; display: inline-flex ; font: 500 .72rem/1 Inter, sans-serif ; height: 29px ; justify-content: center ; padding: 0 9px ; text-decoration: none ; }
#loginScreen.applicant-dashboard-active .client-table-view-button:hover,
#loginScreen.applicant-dashboard-active .client-pdf-link:hover { background: #eff6ff ; border-color: #93c5fd ; color: #1d4ed8 ; }
#loginScreen.applicant-dashboard-active .client-pdf-cell { text-align: center ; }
#loginScreen.applicant-dashboard-active .client-pdf-disabled { color: #94a3b8 ; font: 400 .7rem/1.2 Inter, sans-serif ; }
#loginScreen.applicant-dashboard-active .client-empty-state { background: #f8fafc ; border: 1px dashed #cbd5e1 ; border-radius: 10px ; color: #64748b ; padding: 36px 20px ; text-align: center ; }
#loginScreen.applicant-dashboard-active .client-empty-state h4 { color: #0f172a ; font: 600 1rem/1.2 Inter, sans-serif ; }
/* El portal no hereda ningún acento cálido de reglas históricas. */
#loginScreen.applicant-dashboard-active .client-primary-button,
#loginScreen.applicant-dashboard-active .btn-gold-cream,
#loginScreen.applicant-dashboard-active .btn-crema,
#loginScreen.applicant-dashboard-active .btn-dorado { background: #2563eb ; background-image: none ; border-color: #2563eb ; color: #fff ; }
#loginScreen.applicant-dashboard-active .applicant-notifications-heading button { color: #2563eb ; }
#loginScreen.applicant-dashboard-active .applicant-notification-icon { background: #eff6ff ; color: #2563eb ; }
#loginScreen.applicant-dashboard-active .client-request-table tbody tr.is-notification-highlight td { background: #eff6ff ; box-shadow: inset 0 2px 0 #60a5fa, inset 0 -2px 0 #60a5fa ; }
@media (max-width: 768px) {
  #loginScreen.applicant-dashboard-active .client-dashboard-header { align-items: flex-start ; height: auto ; min-height: 68px ; padding: 16px ; }
  #loginScreen.applicant-dashboard-active .client-header-actions { flex-wrap: wrap ; justify-content: flex-end ; }
  #loginScreen.applicant-dashboard-active .client-header-user { display: none ; }
  #loginScreen.applicant-dashboard-active .client-inbox-shell { display: flex ; flex-direction: column ; gap: 16px ; padding: 16px ; }
  #loginScreen.applicant-dashboard-active .client-inbox-sidebar { min-height: auto ; padding: 16px ; }
  #loginScreen.applicant-dashboard-active .client-sidebar-profile { align-items: center ; display: grid ; grid-template-columns: 54px minmax(0,1fr) ; column-gap: 12px ; }
  #loginScreen.applicant-dashboard-active .client-sidebar-profile .client-sidebar-avatar { grid-row: span 3 ; margin: 0 ; }
  #loginScreen.applicant-dashboard-active .client-sidebar-profile .client-sidebar-kicker { align-self: end ; }
  #loginScreen.applicant-dashboard-active .client-sidebar-profile h1 { margin: 3px 0 ; }
  #loginScreen.applicant-dashboard-active .client-sidebar-profile p { align-self: start ; }
  #loginScreen.applicant-dashboard-active .client-inbox-nav { grid-template-columns: repeat(3, minmax(0,1fr)) ; margin: 14px 0 ; }
  #loginScreen.applicant-dashboard-active .client-inbox-nav button { flex-direction: column ; font-size: .7rem ; gap: 4px ; justify-content: center ; padding: 9px 4px ; text-align: center ; }
  #loginScreen.applicant-dashboard-active .client-dashboard-stats { grid-template-columns: 1fr ; }
  #loginScreen.applicant-dashboard-active .client-history-section { padding: 14px ; }
  #loginScreen.applicant-dashboard-active .client-request-toolbar { align-items: stretch ; flex-direction: column ; }
  #loginScreen.applicant-dashboard-active .client-request-filter { flex-basis: auto ; }
  #loginScreen.applicant-dashboard-active .client-history-caption { display: none ; }
}

/* ============================================================================
   PORTAL EXTERNO — AJUSTE FINAL FULL WIDTH Y TABLA SIN CORTES
   ============================================================================ */
#loginScreen.applicant-dashboard-active {
  display: block ;
  width: 100vw ;
  min-width: 100% ;
  overflow-x: hidden ;
}
#loginScreen.applicant-dashboard-active .login-visual,
#loginScreen.applicant-dashboard-active #loginVisualBrand,
#loginScreen.applicant-dashboard-active #applicantVisualPanel {
  display: none ;
}
#loginScreen.applicant-dashboard-active .public-entry-panel,
#loginScreen.applicant-dashboard-active .public-entry-content,
#loginScreen.applicant-dashboard-active #applicantHomePanel {
  box-sizing: border-box ;
  display: block ;
  max-width: none ;
  min-width: 0 ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .public-entry-panel { min-height: 100vh ; padding: 0 ; }
#loginScreen.applicant-dashboard-active .client-dashboard-header { width: 100% ; }
#loginScreen.applicant-dashboard-active .client-inbox-shell {
  box-sizing: border-box ;
  grid-template-columns: 250px minmax(0, 1fr) ;
  margin: 0 ;
  max-width: none ;
  padding: 28px 32px 36px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-inbox-main,
#loginScreen.applicant-dashboard-active .client-history-section,
#loginScreen.applicant-dashboard-active .client-request-table-wrap,
#loginScreen.applicant-dashboard-active .client-request-table { min-width: 0 ; width: 100% ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading h2,
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 strong { color: #1e293b ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 strong { font-weight: 600 ; }
#loginScreen.applicant-dashboard-active .client-inbox-cta,
#loginScreen.applicant-dashboard-active .client-primary-button,
#loginScreen.applicant-dashboard-active .btn-gold-cream,
#loginScreen.applicant-dashboard-active .btn-crema,
#loginScreen.applicant-dashboard-active .btn-dorado {
  background: #0f172a ;
  background-image: none ;
  border-color: #0f172a ;
  color: #ffffff ;
}
#loginScreen.applicant-dashboard-active .client-inbox-cta:hover,
#loginScreen.applicant-dashboard-active .client-primary-button:hover { background: #1e293b ; border-color: #1e293b ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats {
  align-items: stretch ;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) ;
  min-width: 0 ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article {
  box-sizing: border-box ;
  min-width: 0 ;
  overflow: visible ;
  padding: 18px 20px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .metric-stat-row { min-width: 0 ; width: 100% ; }
#loginScreen.applicant-dashboard-active .metric-stat-row > div { min-width: 0 ; flex: 1 1 auto ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row > div > span {
  overflow: visible ;
  white-space: normal ;
  word-break: normal ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row strong { white-space: nowrap ; }
#loginScreen.applicant-dashboard-active .client-history-section { box-sizing: border-box ; }
#loginScreen.applicant-dashboard-active .client-request-table {
  border-collapse: collapse ;
  table-layout: auto ;
}
#loginScreen.applicant-dashboard-active .client-request-table th,
#loginScreen.applicant-dashboard-active .client-request-table td {
  overflow: visible ;
  text-overflow: clip ;
  white-space: normal ;
  word-break: normal ;
}
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(1),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(1) { min-width: 105px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(2),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(2) { min-width: 135px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(3),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(3) { min-width: 125px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(4),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(4) { min-width: 150px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(5),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(5) { min-width: 105px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(6),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(6) { min-width: 84px ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(7),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(7) { min-width: 60px ; }
#loginScreen.applicant-dashboard-active .client-table-view-button,
#loginScreen.applicant-dashboard-active .client-pdf-link { white-space: nowrap ; }
@media (max-width: 900px) {
  #loginScreen.applicant-dashboard-active .client-inbox-shell { grid-template-columns: 220px minmax(0, 1fr) ; padding-inline: 18px ; }
  #loginScreen.applicant-dashboard-active .client-dashboard-stats { grid-template-columns: 1fr ; }
}

/* ============================================================================
   PORTAL EXTERNO — DASHBOARD SAAS FINAL
   ============================================================================ */
#loginScreen.applicant-dashboard-active {
  background: #f1f5f9 ;
  background-image: none ;
  color: #1e293b ;
}
#loginScreen.applicant-dashboard-active .client-inbox-shell {
  align-items: start ;
  display: grid ;
  gap: 28px ;
  grid-template-columns: 280px minmax(0, 1fr) ;
  max-width: none ;
  padding: 32px 40px 44px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-inbox-sidebar {
  background: #ffffff ;
  border: 1px solid rgba(226,232,240,.9) ;
  border-radius: 16px ;
  box-shadow: 0 2px 8px rgba(15,23,42,.04) ;
  min-height: 460px ;
  padding: 24px 18px ;
  width: 280px ;
}
#loginScreen.applicant-dashboard-active .client-inbox-sidebar:hover,
#loginScreen.applicant-dashboard-active .client-history-section:hover,
#loginScreen.applicant-dashboard-active .client-dashboard-stats article:hover {
  box-shadow: 0 10px 24px rgba(15,23,42,.08) ;
}
#loginScreen.applicant-dashboard-active .client-inbox-main {
  flex: 1 1 auto ;
  min-width: 0 ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-inbox-heading {
  margin: 0 0 24px ;
  padding: 0 2px ;
}
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 {
  color: #1e293b ;
  font-size: clamp(1.55rem, 2vw, 2rem) ;
  letter-spacing: -.035em ;
}
#loginScreen.applicant-dashboard-active .client-inbox-heading h2 strong { color: #1e293b ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading p { color: #64748b ; font-size: .92rem ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats {
  display: grid ;
  gap: 18px ;
  grid-template-columns: repeat(3, minmax(0, 1fr)) ;
  margin-bottom: 24px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article {
  align-items: stretch ;
  background: #ffffff ;
  border: 1px solid rgba(226,232,240,.9) ;
  border-radius: 14px ;
  box-shadow: 0 2px 8px rgba(15,23,42,.04) ;
  min-height: 116px ;
  overflow: visible ;
  padding: 22px ;
  transition: box-shadow .2s ease, transform .2s ease ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article:hover { transform: translateY(-2px) ; }
#loginScreen.applicant-dashboard-active .metric-stat-row { align-items: center ; display: flex ; gap: 16px ; min-width: 0 ; }
#loginScreen.applicant-dashboard-active .metric-icon {
  background: #eff6ff ;
  border-radius: 12px ;
  flex: 0 0 48px ;
  height: 48px ;
  width: 48px ;
}
#loginScreen.applicant-dashboard-active .metric-stat-row > div { flex: 1 1 auto ; min-width: 0 ; }
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row > div > span {
  color: #64748b ;
  font-size: .72rem ;
  font-weight: 600 ;
  letter-spacing: .025em ;
  line-height: 1.35 ;
  overflow: visible ;
  white-space: normal ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats article > .metric-stat-row strong {
  color: #0f172a ;
  font-size: 1.85rem ;
  line-height: 1.1 ;
  margin-top: 8px ;
}
#loginScreen.applicant-dashboard-active .client-history-section {
  background: #ffffff ;
  border: 1px solid rgba(226,232,240,.9) ;
  border-radius: 16px ;
  box-shadow: 0 2px 8px rgba(15,23,42,.04) ;
  padding: 22px ;
  transition: box-shadow .2s ease ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-history-heading { margin-bottom: 18px ; }
#loginScreen.applicant-dashboard-active .client-history-heading h3 { font-size: 1.15rem ; }
#loginScreen.applicant-dashboard-active .client-request-toolbar { gap: 12px ; margin-bottom: 16px ; }
#loginScreen.applicant-dashboard-active .client-request-table-wrap {
  border: 1px solid #e2e8f0 ;
  border-radius: 12px ;
  overflow-x: auto ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-request-table {
  min-width: 920px ;
  table-layout: auto ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-request-table thead th {
  background: #f8fafc ;
  color: #64748b ;
  font-size: .68rem ;
  font-weight: 600 ;
  letter-spacing: .08em ;
  padding: 13px 14px ;
}
#loginScreen.applicant-dashboard-active .client-request-table tbody td {
  color: #334155 ;
  font-size: .8rem ;
  padding: 14px ;
  vertical-align: middle ;
}
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(1),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(1) { min-width: 112px ; width: 12% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(2),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(2) { min-width: 145px ; width: 16% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(3),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(3) { min-width: 135px ; width: 15% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(4),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(4) { min-width: 170px ; width: 20% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(5),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(5) { min-width: 115px ; width: 14% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(6),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(6) { min-width: 90px ; width: 12% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(7),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(7) { min-width: 66px ; width: 8% ; }
#loginScreen.applicant-dashboard-active .client-status-badge { border-radius: 999px ; padding: 6px 10px ; white-space: nowrap ; }
#loginScreen.applicant-dashboard-active .client-status-badge.client-status-concluida { background: #dcfce7 ; border-color: #bbf7d0 ; color: #166534 ; }
#loginScreen.applicant-dashboard-active .client-status-badge:not(.client-status-concluida) { background: #eff6ff ; border-color: #bfdbfe ; color: #1d4ed8 ; }
@media (max-width: 980px) {
  #loginScreen.applicant-dashboard-active .client-inbox-shell { grid-template-columns: 240px minmax(0, 1fr) ; padding-inline: 22px ; }
  #loginScreen.applicant-dashboard-active .client-inbox-sidebar { width: 240px ; }
}
@media (max-width: 760px) {
  #loginScreen.applicant-dashboard-active .client-inbox-shell { display: flex ; flex-direction: column ; padding: 18px ; }
  #loginScreen.applicant-dashboard-active .client-inbox-sidebar { min-height: auto ; width: 100% ; }
  #loginScreen.applicant-dashboard-active .client-dashboard-stats { grid-template-columns: 1fr ; }
  #loginScreen.applicant-dashboard-active .client-history-section { padding: 16px ; }
}

/* Portal externo: anulación absoluta de la división visual del Login. */
html:has(#loginScreen.applicant-dashboard-active),
body:has(#loginScreen.applicant-dashboard-active) {
  background: #f1f5f9 ;
  min-width: 100% ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active,
#loginScreen.applicant-dashboard-active.login-screen {
  background: #f1f5f9 ;
  display: block ;
  grid-template-columns: none ;
  min-height: 100vh ;
  width: 100vw ;
}
#loginScreen.applicant-dashboard-active > .public-entry-panel,
#loginScreen.applicant-dashboard-active .public-entry-panel {
  background: #f1f5f9 ;
  display: block ;
  grid-column: auto ;
  grid-row: auto ;
  max-width: none ;
  min-height: 100vh ;
  padding: 0 ;
  width: 100vw ;
}
#loginScreen.applicant-dashboard-active .public-entry-content {
  display: block ;
  max-width: none ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-inbox-shell {
  box-sizing: border-box ;
  grid-template-columns: 280px minmax(0, 1fr) ;
  margin: 0 ;
  max-width: none ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .login-visual { display: none ; }

/* Portal externo — perfil lateral, sin chat y controles alineados. */
#loginScreen.applicant-dashboard-active #applicantMessagingButton,
#loginScreen.applicant-dashboard-active #applicantMessagingView,
#loginScreen.applicant-dashboard-active .applicant-messaging-button { display: none ; }
#loginScreen.applicant-dashboard-active .client-sidebar-avatar {
  height: 76px ;
  margin-bottom: 20px ;
  width: 76px ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-avatar svg {
  height: 38px ;
  width: 38px ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-profile-button {
  background: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 8px ;
  color: #334155 ;
  display: block ;
  font: 500 .78rem/1.2 Inter, "Segoe UI", sans-serif ;
  margin-top: 16px ;
  padding: 9px 12px ;
  transition: background .2s ease, border-color .2s ease, color .2s ease ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-profile-button:hover {
  background: #eff6ff ;
  border-color: #93c5fd ;
  color: #1d4ed8 ;
}
#loginScreen.applicant-dashboard-active .client-inbox-cta {
  margin-top: 30px ;
}
#loginScreen.applicant-dashboard-active .client-dashboard-stats {
  margin-left: 0 ;
  margin-right: 0 ;
  position: relative ;
  transform: translateX(-2px) ;
  width: calc(100% + 2px) ;
}
@media (max-width: 760px) {
  #loginScreen.applicant-dashboard-active .client-sidebar-profile-button { margin-top: 14px ; }
  #loginScreen.applicant-dashboard-active .client-inbox-cta { margin-top: 22px ; }
  #loginScreen.applicant-dashboard-active .client-dashboard-stats { transform: none ; width: 100% ; }
}

/* Portal externo — métricas dentro del perfil y tabla compacta sin scrollbars. */
#loginScreen.applicant-dashboard-active {
  overflow: hidden ;
}
#loginScreen.applicant-dashboard-active .client-inbox-shell {
  height: calc(100vh - 68px) ;
  min-height: 0 ;
  overflow: hidden ;
}
#loginScreen.applicant-dashboard-active .client-inbox-sidebar {
  box-sizing: border-box ;
  min-height: 0 ;
  overflow: hidden ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics {
  margin-top: 18px ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats {
  display: grid ;
  gap: 7px ;
  grid-template-columns: 1fr ;
  margin: 0 ;
  transform: none ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article {
  border-radius: 9px ;
  box-shadow: none ;
  min-height: 0 ;
  padding: 9px 10px ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-stat-row { gap: 9px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-icon {
  border-radius: 8px ;
  flex-basis: 30px ;
  height: 30px ;
  padding: 6px ;
  width: 30px ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-icon svg { height: 16px ; width: 16px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row > div > span {
  font-size: .6rem ;
  letter-spacing: .03em ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row strong {
  font-size: 1.22rem ;
  margin-top: 2px ;
}
#loginScreen.applicant-dashboard-active .client-inbox-main,
#loginScreen.applicant-dashboard-active .client-history-section {
  min-height: 0 ;
  overflow: hidden ;
}
#loginScreen.applicant-dashboard-active .client-history-section {
  box-sizing: border-box ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-request-table-wrap {
  max-width: 100% ;
  overflow: hidden ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-request-table {
  min-width: 0 ;
  table-layout: fixed ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-request-table th,
#loginScreen.applicant-dashboard-active .client-request-table td {
  min-width: 0 ;
  overflow-wrap: anywhere ;
  padding: 9px 8px ;
  white-space: normal ;
  word-break: break-word ;
}
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(1),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(1) { width: 14% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(2),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(2) { width: 15% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(3),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(3) { width: 15% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(4),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(4) { width: 19% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(5),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(5) { width: 15% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(6),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(6) { width: 12% ; }
#loginScreen.applicant-dashboard-active .client-request-table th:nth-child(7),
#loginScreen.applicant-dashboard-active .client-request-table td:nth-child(7) { width: 10% ; }
#loginScreen.applicant-dashboard-active .applicant-table-pagination {
  align-items: center ;
  display: flex ;
  justify-content: space-between ;
  margin-top: 10px ;
  min-height: 30px ;
}
#loginScreen.applicant-dashboard-active .applicant-table-pagination > span { color: #64748b ; font-size: .7rem ; }
#loginScreen.applicant-dashboard-active .applicant-table-pagination > div { display: flex ; gap: 4px ; }
#loginScreen.applicant-dashboard-active .applicant-table-pagination .table-page-button { min-width: 28px ; padding: 5px 8px ; }
@media (max-width: 760px) {
  #loginScreen.applicant-dashboard-active .client-inbox-shell { height: auto ; min-height: calc(100vh - 68px) ; overflow: hidden ; }
  #loginScreen.applicant-dashboard-active .client-inbox-main,
  #loginScreen.applicant-dashboard-active .client-history-section { overflow: hidden ; }
  #loginScreen.applicant-dashboard-active .client-request-table th,
  #loginScreen.applicant-dashboard-active .client-request-table td { font-size: .66rem ; padding: 7px 4px ; }
  #loginScreen.applicant-dashboard-active .applicant-table-pagination > span { font-size: .62rem ; }
}

/* Portal externo — métricas como texto plano dentro del perfil. */
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats {
  display: flex ;
  flex-direction: column ;
  gap: 8px ;
  margin: 0 ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article,
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article:hover {
  background: transparent ;
  border: 0 ;
  border-radius: 0 ;
  box-shadow: none ;
  min-height: 0 ;
  padding: 3px 0 ;
  transform: none ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-stat-row {
  align-items: baseline ;
  display: flex ;
  gap: 8px ;
  justify-content: space-between ;
  width: 100% ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-icon { display: none ; }
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row > div {
  align-items: baseline ;
  display: flex ;
  flex: 1 1 auto ;
  justify-content: space-between ;
  min-width: 0 ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row > div > span {
  color: #64748b ;
  font-size: .72rem ;
  font-weight: 500 ;
  letter-spacing: .01em ;
  line-height: 1.3 ;
  text-transform: none ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row strong {
  color: #0f172a ;
  font-size: 1rem ;
  font-weight: 600 ;
  line-height: 1 ;
  margin: 0 0 0 10px ;
}


/* Portal externo — métricas en texto limpio y sin saludo superior. */
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .metric-icon { display: none ; }
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article,
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article:hover {
  background: transparent ; border: none ; box-shadow: none ; padding: 3px 0 ; transform: none ;
}
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row > div > span { font-size: .76rem ; font-weight: 400 ; text-transform: none ; }
#loginScreen.applicant-dashboard-active .client-sidebar-metrics .client-dashboard-stats article > .metric-stat-row strong { font-size: .95rem ; font-weight: 500 ; }
#loginScreen.applicant-dashboard-active .client-inbox-heading,
#loginScreen.applicant-dashboard-active .client-header-user { display: none ; }


/* Portal externo — perfil con nombre, correo y teléfono separados; métricas retiradas. */
#loginScreen.applicant-dashboard-active .client-sidebar-metrics { display: none ; }
#loginScreen.applicant-dashboard-active .client-sidebar-profile h1 { color: #0f172a ; font-weight: 500 ; }
#loginScreen.applicant-dashboard-active .client-sidebar-contact { display: grid ; gap: 4px ; margin-top: 8px ; }
#loginScreen.applicant-dashboard-active .client-sidebar-contact p { color: #475569 ; font-size: .78rem ; font-weight: 400 ; line-height: 1.35 ; margin: 0 ; overflow-wrap: anywhere ; }

/* Juegos integrados: eliminar el espacio reservado del encabezado cuando el escenario está abierto. */
#appShell.control-shell > .app-workspace > #juegosView:has(#gameStage:not([hidden])) {
  margin-top: -88px ;
  padding-top: 0 ;
}
#appShell.control-shell > .app-workspace > #juegosView:has(#gameStage:not([hidden])) .game-stage {
  margin-top: 0 ;
  border-top-left-radius: 0 ;
  border-top-right-radius: 0 ;
}
@media (max-width: 760px) {
  #appShell.control-shell > .app-workspace > #juegosView:has(#gameStage:not([hidden])) {
    margin-top: -122px ;
  }
}


/* Juegos nuevos y Animania Studios — integración CP6 */
#appShell.control-shell .animania-choice { opacity: .72; cursor: not-allowed; }
#appShell.control-shell .animania-choice .avaluos-choice-icon { color: #64748b; background: #f1f5f9; }
#appShell.control-shell .game-card-avaluando .icon-wrapper,
#appShell.control-shell .game-card-runlogo .icon-wrapper {
  color: #2563eb; background: #eff6ff; border-color: rgba(37,99,235,.22);
  font-size: 28px; font-weight: 500;
}
#appShell.control-shell .game-card-avaluando .title,
#appShell.control-shell .game-card-runlogo .title { font-weight: 500; }
#appShell.control-shell .game-card-avaluando .category,
#appShell.control-shell .game-card-runlogo .category { color: #2563eb; font-weight: 500; }
#appShell.control-shell .game-card-avaluando .btn-play,
#appShell.control-shell .game-card-runlogo .btn-play {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 4px 10px rgba(37,99,235,.20);
}


/* Ajustes 17-10-2026: Juegos en una sola fila y Animania embebido */
#appShell.control-shell .games-card-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) ;
  gap: 16px ;
  width: 100% ;
}
#appShell.control-shell .games-card-grid .game-card { min-width: 0 ; padding: 18px ; }
#appShell.control-shell .games-card-grid .game-card .description { font-size: 13px ; line-height: 1.35 ; }
#appShell.control-shell .games-card-grid .game-card .title { font-size: 21px ; }
#appShell.control-shell .games-stats-panel { display: none ; }
#appShell.control-shell .animania-choice { opacity: 1 ; cursor: pointer ; }
#appShell.control-shell .animania-choice .avaluos-choice-icon { color: #2563eb ; background: #eff6ff ; }
#appShell.control-shell .animania-embedded-panel { width: 100% ; margin: 20px 0 0 ; background: #fff ; border: 1px solid #e2e8f0 ; border-radius: 16px ; overflow: hidden ; box-shadow: 0 8px 24px rgba(15,23,42,.08) ; }
#appShell.control-shell .animania-panel-toolbar { display:flex ; align-items:center ; justify-content:space-between ; gap:16px ; padding:14px 18px ; border-bottom:1px solid #e2e8f0 ; }
#appShell.control-shell .animania-panel-toolbar h3 { margin:2px 0 0 ; color:#0f172a ; font-size:1.15rem ; font-weight:600 ; }
#appShell.control-shell #animaniaFrame { display:block ; width:100% ; height:calc(100vh - 150px) ; min-height:620px ; border:0 ; background:#f8fafc ; }
@media (max-width: 1100px) { #appShell.control-shell .games-card-grid { grid-template-columns: repeat(3, minmax(0,1fr)) ; } }
@media (max-width: 700px) { #appShell.control-shell .games-card-grid { grid-template-columns: 1fr ; } #appShell.control-shell .animania-panel-toolbar { align-items:flex-start ; flex-direction:column ; } }


/* Ajuste solicitado: Animania ocupa el ancho completo con altura fija de 800px. */
#appShell.control-shell .animania-embedded-panel {
  width: 100% ;
  height: 800px ;
  border: 1px solid #ccc ;
  border-radius: 8px ;
  overflow: hidden ;
  background: #fff ;
}
#appShell.control-shell .animania-panel-toolbar { height: 72px ; box-sizing: border-box ; }
#appShell.control-shell #animaniaFrame {
  width: 100% ;
  height: calc(100% - 72px) ;
  min-height: 0 ;
  border: none ;
}
#appShell.control-shell .game-stage-back {
  display: inline-flex ;
  align-items: center ;
  justify-content: center ;
  min-height: 38px ;
  padding: 9px 16px ;
  background: #2563eb ;
  border: 1px solid #1d4ed8 ;
  border-radius: 8px ;
  color: #fff ;
  cursor: pointer ;
  font-weight: 600 ;
}
#appShell.control-shell .game-stage-back:hover { background: #1d4ed8 ; }

/* Animania: vista proxy a pantalla completa, sin márgenes laterales ni scroll horizontal. */
#appShell.control-shell .animania-embedded-panel {
  position: fixed ;
  inset: 64px 0 0 0 ;
  z-index: 50 ;
  width: 100vw ;
  height: calc(100vh - 64px) ;
  margin: 0 ;
  border: 0 ;
  border-radius: 0 ;
  overflow: hidden ;
  background: #fff ;
  box-shadow: none ;
}
#appShell.control-shell .animania-panel-toolbar {
  height: 52px ;
  min-height: 52px ;
  box-sizing: border-box ;
  padding: 8px 20px ;
  background: #fff ;
}
#appShell.control-shell .animania-panel-toolbar > div:first-child { display: none ; }
#appShell.control-shell #animaniaFrame {
  display: block ;
  width: 100vw ;
  max-width: 100vw ;
  height: calc(100vh - 116px) ;
  min-height: 0 ;
  border: 0 ;
  overflow: hidden ;
}
body:has(#animaniaEmbeddedPanel:not([hidden])) { overflow: hidden ; }
@media (max-width: 700px) {
  #appShell.control-shell .animania-embedded-panel { inset: 56px 0 0 0 ; height: calc(100vh - 56px) ; }
  #appShell.control-shell .animania-panel-toolbar { height: 48px ; min-height: 48px ; padding: 6px 12px ; }
  #appShell.control-shell #animaniaFrame { height: calc(100vh - 104px) ; }
}

/* Ajustes finales CP6: iconos manuscritos del navbar y acceso animado */
#appShell.control-shell .cp6-nav-link { gap: 7px ; }
#appShell.control-shell .cp6-hand-icon { display: inline-flex ; width: 17px ; height: 17px ; flex: 0 0 17px ; align-items: center ; justify-content: center ; color: #ffffff ; opacity: .92 ; }
#appShell.control-shell .cp6-hand-icon svg { width: 17px ; height: 17px ; fill: none ; stroke: currentColor ; stroke-width: 1.35 ; stroke-linecap: round ; stroke-linejoin: round ; }
#appShell.control-shell .cp6-nav-link:hover .cp6-hand-icon,
#appShell.control-shell .cp6-nav-link.active .cp6-hand-icon,
#appShell.control-shell .cp6-nav-link.is-active .cp6-hand-icon { color: #ffffff ; opacity: 1 ; }

/* Tipografía de las tarjetas de Avalúos alineada con el acceso del Login. */
#appShell.control-shell #avaluosView .avaluos-choice-copy strong { font-family: Georgia, "Times New Roman", serif ; font-size: clamp(1.45rem, 2vw, 1.85rem) ; font-weight: 500 ; letter-spacing: -.02em ; line-height: 1.1 ; }
#appShell.control-shell #avaluosView .avaluos-choice-copy small { font-family: Inter, "Segoe UI", sans-serif ; font-size: .9rem ; }

/* El acceso aparece con un desplazamiento y desvanecido suave al abrir la portada. */
.public-entry-content { animation: cp6LoginAccessReveal .62s cubic-bezier(.22,.61,.36,1) both ; }
@keyframes cp6LoginAccessReveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .public-entry-content { animation: none ; } }

/* Animania es una vista independiente: se ocultan el título y las tarjetas de Avalúos. */
#appShell.control-shell #avaluosView:has(#animaniaEmbeddedPanel:not([hidden])) .avaluos-section-heading,
#appShell.control-shell #avaluosView:has(#animaniaEmbeddedPanel:not([hidden])) .avaluos-choice-grid { display: none ; }
#appShell.control-shell #avaluosView:has(#animaniaEmbeddedPanel:not([hidden])) .animania-embedded-panel { margin-top: 0 ; }


/* Home de escritorio: acceso visible a la PWA móvil */
#appShell.control-shell .mobile-install-card {
  align-items: center ;
  background: #ffffff ;
  border: 1px solid #dbe4ef ;
  border-radius: 16px ;
  box-shadow: 0 8px 24px rgb(15 23 42 / .06) ;
  display: flex ;
  gap: 24px ;
  justify-content: space-between ;
  margin: 20px 0 0 ;
  max-width: 760px ;
  padding: 20px 24px ;
}
#appShell.control-shell .mobile-install-copy { min-width: 0 ; }
#appShell.control-shell .mobile-install-copy h3 { color: #0f172a ; font-family: Inter, "Segoe UI", sans-serif ; font-size: 1.05rem ; margin: 4px 0 5px ; }
#appShell.control-shell .mobile-install-copy p { color: #64748b ; font-size: .86rem ; line-height: 1.5 ; margin: 0 ; max-width: 560px ; }
#appShell.control-shell .mobile-qr-wrap { align-items: center ; background: #fff ; border: 1px solid #e2e8f0 ; border-radius: 12px ; display: flex ; flex: 0 0 144px ; height: 144px ; justify-content: center ; padding: 5px ; }
#appShell.control-shell .mobile-qr-wrap img { display: block ; height: 132px ; max-width: 132px ; width: 132px ; }
#appShell.control-shell .mobile-install-button { margin-top: 12px ; }
@media (max-width: 640px) {
  #appShell.control-shell .mobile-install-card { align-items: flex-start ; flex-direction: column ; }
  #appShell.control-shell .mobile-qr-wrap { align-self: center ; }
}


/* Refinamiento PWA móvil: QR más visible y navegación de aplicación */
#appShell.control-shell .mobile-qr-wrap { flex-basis: 190px ; height: 190px ; padding: 6px ; }
#appShell.control-shell .mobile-qr-wrap img { height: 176px ; max-width: 176px ; width: 176px ; }

@media (max-width: 640px) {
  body.mobile-mode { background: #eef3f8 ; }
  body.mobile-mode .cp6-navbar-modern {
    box-shadow: 0 2px 12px rgb(15 23 42 / .18) ;
    position: sticky ;
    top: 0 ;
    z-index: 100 ;
  }
  body.mobile-mode #appShell.control-shell .app-workspace {
    padding: 14px 12px 82px ;
  }
  body.mobile-mode #appShell.control-shell .cp6-nav-center {
    align-items: stretch ;
    background: #0f172a ;
    bottom: 0 ;
    box-shadow: 0 -4px 18px rgb(15 23 42 / .2) ;
    display: flex ;
    gap: 0 ;
    justify-content: space-around ;
    left: 0 ;
    overflow-x: auto ;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) ;
    position: fixed ;
    right: 0 ;
    z-index: 110 ;
  }
  body.mobile-mode #appShell.control-shell .cp6-nav-link {
    align-items: center ;
    display: flex ;
    flex: 0 0 auto ;
    flex-direction: column ;
    font-size: .62rem ;
    gap: 2px ;
    justify-content: center ;
    min-width: 62px ;
    padding: 5px 7px ;
  }
  body.mobile-mode #appShell.control-shell .cp6-nav-link .cp6-hand-icon { height: 18px ; width: 18px ; }
  body.mobile-mode #appShell.control-shell .workspace-header h1 { font-size: 1.3rem ; }
  body.mobile-mode #appShell.control-shell .workspace-description { font-size: .78rem ; }
  body.mobile-mode #appShell.control-shell .app-view { animation: cp6MobileViewIn .18s ease-out both ; }
  body.mobile-mode #appShell.control-shell .request-table-wrap,
  body.mobile-mode #appShell.control-shell .operational-table-wrap,
  body.mobile-mode #appShell.control-shell .technical-list-panel { border-radius: 12px ; }
}
@keyframes cp6MobileViewIn { from { opacity: .7; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { body.mobile-mode #appShell.control-shell .app-view { animation: none ; } }


/* Ajustes operativos 2026-10-17 */
#appShell.control-shell .operational-table-compact th,
#appShell.control-shell .operational-table-compact td,
#appShell.control-shell .request-table-compact th,
#appShell.control-shell .request-table-compact td {
  padding-top: 8px ;
  padding-bottom: 8px ;
  line-height: 1.2 ;
}
#appShell.control-shell .operational-table-compact .avaluo-list-requester,
#appShell.control-shell .request-table-compact td { font-weight: 400 ; }
#appShell.control-shell .request-appraisal-number-cell { color: #0f172a ; font-weight: 600 ; white-space: nowrap ; }
#appShell.control-shell .btn-danger-soft {
  background: #fff1f2 ; color: #be123c ; border: 1px solid #fecdd3 ;
  border-radius: 8px ; padding: 8px 12px ; cursor: pointer ;
}
#appShell.control-shell .btn-danger-soft:hover { background: #ffe4e6 ; }

/* ================================================================
   CP6 — Iconos ligeros para tablas, formularios y búsquedas
   ================================================================ */
#appShell.control-shell {
  --cp6-icon-muted: #64748b;
  --cp6-folio-orange: #ea580c;
  --cp6-money-green: #15803d;
}

#appShell.control-shell .operational-table th::before,
#appShell.control-shell .request-table th::before,
#appShell.control-shell .settings-data-list th::before {
  display: inline-block ;
  margin-right: 6px ;
  color: #94a3b8 ;
  font-family: "Segoe UI Symbol", system-ui, sans-serif ;
  font-size: .82rem ;
  font-weight: 400 ;
  line-height: 1 ;
  vertical-align: -1px ;
}
#appShell.control-shell .operational-table th:nth-child(1)::before,
#appShell.control-shell .request-table th:nth-child(1)::before { content: "▣"; }
#appShell.control-shell .operational-table th:nth-child(2)::before,
#appShell.control-shell .request-table th:nth-child(2)::before { content: "⌁"; }
#appShell.control-shell .operational-table th:nth-child(3)::before,
#appShell.control-shell .request-table th:nth-child(3)::before { content: "♙"; }
#appShell.control-shell .operational-table th:nth-child(4)::before,
#appShell.control-shell .request-table th:nth-child(4)::before { content: "♙"; }
#appShell.control-shell .operational-table th:nth-child(5)::before,
#appShell.control-shell .request-table th:nth-child(5)::before { content: "$"; }
#appShell.control-shell .operational-table th:nth-child(6)::before,
#appShell.control-shell .request-table th:nth-child(6)::before { content: "◷"; }
#appShell.control-shell .operational-table th:last-child::before,
#appShell.control-shell .request-table th:last-child::before { content: "⚙"; }

#appShell.control-shell .request-folio-cell,
#appShell.control-shell .request-folio-cell strong,
#appShell.control-shell .avaluo-list-request-folio {
  color: var(--cp6-folio-orange) ;
  font-weight: 600 ;
}
#appShell.control-shell .money-cell,
#appShell.control-shell .price-cell,
#appShell.control-shell .currency-cell,
#appShell.control-shell td[data-field="valorAvaluo"] {
  color: var(--cp6-money-green) ;
  font-weight: 600 ;
}
#appShell.control-shell .operational-table .requester-cell,
#appShell.control-shell .operational-table .user-cell {
  font-weight: 400 ;
}

#appShell.control-shell form label:has(input[name="solicitante"])::before,
#appShell.control-shell form label:has(input[name="nombre"])::before,
#appShell.control-shell form label:has(input[name="propietario"])::before { content: "♙"; }
#appShell.control-shell form label:has(input[name="usuario"])::before,
#appShell.control-shell form label:has(select[name="usuario"])::before,
#appShell.control-shell form label:has(select[name="asesor"])::before { content: "♙"; }
#appShell.control-shell form label:has(input[name="numeroAvaluo"])::before,
#appShell.control-shell form label:has(input[name="folio"])::before { content: "▣"; }
#appShell.control-shell form label:has(input[name="valorAvaluo"])::before,
#appShell.control-shell form label:has(input[name="valorOperacion"])::before,
#appShell.control-shell form label:has(input[name="montoPagado"])::before { content: "$"; }
#appShell.control-shell form label:has(input[type="date"])::before { content: "◷"; }
#appShell.control-shell form label:has(select[name="tipoBien"])::before,
#appShell.control-shell form label:has(select[name="tipoAvaluo"])::before { content: "◇"; }
#appShell.control-shell form label:has(input[name="telefono"])::before { content: "☎"; }
#appShell.control-shell form label:has(input[name="correo"])::before { content: "✉"; }
#appShell.control-shell form label:has(textarea)::before { content: "≡"; }
#appShell.control-shell form label:has(input[type="file"])::before { content: "⌑"; }
#appShell.control-shell form label:has(input[type="checkbox"])::before { content: "✓"; }
#appShell.control-shell form label:has(input)::before,
#appShell.control-shell form label:has(select)::before,
#appShell.control-shell form label:has(textarea)::before {
  display: inline-block ;
  width: 1.1em ;
  margin-right: 5px ;
  color: var(--cp6-icon-muted) ;
  font-family: "Segoe UI Symbol", system-ui, sans-serif ;
  font-size: .9em ;
  font-weight: 400 ;
  vertical-align: 0 ;
}

#appShell.control-shell input[type="search"],
#appShell.control-shell input[id*="Search"],
#appShell.control-shell input[id*="search"],
#appShell.control-shell input[placeholder*="Buscar"],
#appShell.control-shell input[placeholder*="buscar"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") ;
  background-position: 12px center ;
  background-repeat: no-repeat ;
  background-size: 15px 15px ;
  padding-left: 36px ;
}

@media (max-width: 640px) {
  #appShell.control-shell .operational-table th::before,
  #appShell.control-shell .request-table th::before { margin-right: 3px ; font-size: .72rem ; }
}

/* ================================================================
   CP6 — Corrección de iconografía: encabezados y labels limpios
   ================================================================ */
#appShell.control-shell .operational-table th::before,
#appShell.control-shell .request-table th::before,
#appShell.control-shell .settings-data-list th::before,
#appShell.control-shell form label::before {
  content: none ;
  display: none ;
}

/* Iconos consistentes dentro de los valores de las filas. */
#appShell.control-shell .cp6-cell-with-icon {
  align-items: center ;
  display: inline-flex ;
  gap: 7px ;
  min-width: 0 ;
}
#appShell.control-shell .cp6-cell-icon {
  align-items: center ;
  color: #94a3b8 ;
  display: inline-flex ;
  flex: 0 0 16px ;
  height: 16px ;
  justify-content: center ;
  opacity: .9 ;
  width: 16px ;
}
#appShell.control-shell .cp6-cell-icon svg {
  display: block ;
  height: 16px ;
  stroke: currentColor ;
  stroke-linecap: round ;
  stroke-linejoin: round ;
  stroke-width: 1.65 ;
  width: 16px ;
}
#appShell.control-shell .cp6-cell-icon-money {
  color: #86a98f ;
  font-size: .82rem ;
  font-weight: 500 ;
  line-height: 1 ;
}

/* La lupa permanece dentro del campo, separada del borde y del texto. */
#appShell.control-shell input[type="search"],
#appShell.control-shell input[id*="Search"],
#appShell.control-shell input[id*="search"],
#appShell.control-shell input[placeholder*="Buscar"],
#appShell.control-shell input[placeholder*="buscar"] {
  background-position: 13px 50% ;
  background-size: 16px 16px ;
  padding-left: 40px ;
  text-indent: 0 ;
}

/* Sin adornos automáticos en labels: el texto queda limpio y legible. */
#appShell.control-shell form label {
  align-items: initial ;
}


/* Cotizaciones CP6: acceso y vista embebida dentro de Avalúos. */
#appShell.control-shell .cotizaciones-choice .avaluos-choice-icon { color:#2563eb ; background:#eff6ff ; }
#appShell.control-shell .cotizaciones-embedded-panel { width:100% ; margin:0 ; background:#fff ; border:1px solid #e2e8f0 ; border-radius:16px ; overflow:hidden ; box-shadow:0 10px 28px rgba(15,23,42,.08) ; }
#appShell.control-shell .cotizaciones-panel-toolbar { display:flex ; align-items:center ; justify-content:space-between ; gap:16px ; height:60px ; box-sizing:border-box ; padding:8px 18px ; border-bottom:1px solid #e2e8f0 ; background:#fff ; }
#appShell.control-shell .cotizaciones-panel-toolbar h3 { margin:2px 0 0 ; color:#0f172a ; font-size:1.15rem ; font-weight:600 ; }
#appShell.control-shell #cotizacionesFrame { display:block ; width:100% ; height:calc(100vh - 130px) ; min-height:720px ; border:0 ; background:#f8fafc ; }
#appShell.control-shell #avaluosView:has(#cotizacionesEmbeddedPanel:not([hidden])) .avaluos-section-heading,
#appShell.control-shell #avaluosView:has(#cotizacionesEmbeddedPanel:not([hidden])) .avaluos-choice-grid { display:none ; }
#appShell.control-shell #avaluosView:has(#cotizacionesEmbeddedPanel:not([hidden])) .cotizaciones-embedded-panel { margin-top:0 ; }
@media (max-width:700px) { #appShell.control-shell .cotizaciones-panel-toolbar { height:52px ; padding:6px 12px ; } #appShell.control-shell #cotizacionesFrame { height:calc(100vh - 116px) ; min-height:620px ; } }

/* Homologación CP6 basada en Cotizaciones: campos, buscadores y folios */
#appShell.control-shell input:not([type="checkbox"]):not([type="radio"]),
#appShell.control-shell select,
#appShell.control-shell textarea {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif ;
  font-size: .86rem ;
  color: #0f172a ;
  background: #fff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 10px ;
  min-height: 42px ;
  padding: 10px 13px ;
  box-shadow: 0 1px 2px rgba(15,23,42,.03) ;
}
#appShell.control-shell input:focus,
#appShell.control-shell select:focus,
#appShell.control-shell textarea:focus {
  border-color: #2563eb ;
  outline: 3px solid rgba(37,99,235,.12) ;
}
#appShell.control-shell .filters-bar input,
#appShell.control-shell .search-bar-container input,
#appShell.control-shell input[placeholder*="Buscar"] {
  min-height: 44px ;
  padding-left: 40px ;
  border-radius: 10px ;
  font-size: .84rem ;
}
#appShell.control-shell .filters-bar,
#appShell.control-shell .search-bar-container { gap: 12px ; }
#appShell.control-shell .request-appraisal-number-heading,
#appShell.control-shell .request-appraisal-number-cell { width: 110px ; max-width: 110px ; white-space: nowrap ; }
#appShell.control-shell .request-folio-cell strong { color: #f97316 ; font-weight: 600 ; }
#appShell.control-shell .requester-cell,
#appShell.control-shell .requester-cell strong { font-weight: 400 ; }
#appShell.control-shell .request-table th,
#appShell.control-shell .operational-table th { height: 42px ; padding-top: 10px ; padding-bottom: 10px ; }
#appShell.control-shell .request-table td,
#appShell.control-shell .operational-table td { height: 38px ; padding-top: 8px ; padding-bottom: 8px ; }
#appShell.control-shell .cotizaciones-panel-toolbar > div:empty { flex: 1 ; }

/* Fotografías múltiples por bien */
#appShell.control-shell .mobiliario-item-photo-preview { display:flex ; flex-wrap:wrap ; gap:8px ; }
#appShell.control-shell .mobiliario-item-photo-preview img { width:72px ; height:54px ; object-fit:cover ; border-radius:8px ; border:1px solid #cbd5e1 ; }

/* =========================================================
   CP6 UI/UX — buscadores pill, tablas y formularios modernos
   ========================================================= */
#appShell.control-shell,
#appShell.control-shell input,
#appShell.control-shell select,
#appShell.control-shell textarea,
#appShell.control-shell button,
#appShell.control-shell table {
  font-family: Inter, "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif ;
}

/* Buscadores: cápsula blanca con lupa interna */
#appShell.control-shell input[type="search"],
#appShell.control-shell input[id*="Search"],
#appShell.control-shell input[id*="search"],
#appShell.control-shell input[placeholder*="Buscar"],
#appShell.control-shell input[placeholder*="buscar"],
#appShell.control-shell .filters-bar input,
#appShell.control-shell .search-bar-container input,
#appShell.control-shell .technical-search-panel input {
  height: 44px ;
  min-height: 44px ;
  width: 100% ;
  border: 1px solid #e2e8f0 ;
  border-radius: 9999px ;
  background-color: #ffffff ;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cpath d='m20 20-4-4'%3E%3C/path%3E%3C/svg%3E") ;
  background-repeat: no-repeat ;
  background-position: 14px center ;
  background-size: 17px 17px ;
  padding: 0 16px 0 42px ;
  color: #334155 ;
  font-size: 13px ;
  font-weight: 400 ;
  letter-spacing: 0 ;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03) ;
  transition: border-color .18s ease, box-shadow .18s ease ;
}
#appShell.control-shell input[type="search"]:focus,
#appShell.control-shell input[id*="Search"]:focus,
#appShell.control-shell input[id*="search"]:focus,
#appShell.control-shell input[placeholder*="Buscar"]:focus,
#appShell.control-shell input[placeholder*="buscar"]:focus {
  border-color: #2563eb ;
  outline: none ;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) ;
}
#appShell.control-shell input[type="search"]::placeholder,
#appShell.control-shell input[id*="Search"]::placeholder,
#appShell.control-shell input[id*="search"]::placeholder,
#appShell.control-shell input[placeholder*="Buscar"]::placeholder,
#appShell.control-shell input[placeholder*="buscar"]::placeholder {
  color: #94a3b8 ;
  opacity: 1 ;
  font-size: 13px ;
  font-weight: 400 ;
}

/* Formularios: controles suaves, redondeados y con foco azul */
#appShell.control-shell form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#appShell.control-shell form select,
#appShell.control-shell form textarea,
#appShell.control-shell .form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#appShell.control-shell .form-container select,
#appShell.control-shell .form-container textarea {
  border: 1px solid #cbd5e1 ;
  border-radius: 11px ;
  background-color: #ffffff ;
  color: #0f172a ;
  font-size: 13px ;
  font-weight: 400 ;
  min-height: 42px ;
  padding: 10px 13px 10px 40px ;
  outline: none ;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .025) ;
  transition: border-color .18s ease, box-shadow .18s ease ;
}
#appShell.control-shell form textarea,
#appShell.control-shell .form-container textarea { min-height: 82px ; padding-top: 12px ; }
#appShell.control-shell form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#appShell.control-shell form select:focus,
#appShell.control-shell form textarea:focus,
#appShell.control-shell .form-container input:focus,
#appShell.control-shell .form-container select:focus,
#appShell.control-shell .form-container textarea:focus {
  border-color: #2563eb ;
  outline: none ;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .14) ;
}
#appShell.control-shell form input::placeholder,
#appShell.control-shell form textarea::placeholder,
#appShell.control-shell .form-container input::placeholder,
#appShell.control-shell .form-container textarea::placeholder {
  color: #94a3b8 ;
  opacity: 1 ;
  font-size: 13px ;
}

/* Iconografía de campos: iconos lineales dentro del control */
#appShell.control-shell form input,
#appShell.control-shell form select,
#appShell.control-shell form textarea { background-repeat: no-repeat ; background-size: 17px 17px ; background-position: 12px 12px ; }
#appShell.control-shell form input[type="date"],
#appShell.control-shell form input[id*="fecha"],
#appShell.control-shell form input[name*="fecha"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="folio"],
#appShell.control-shell form input[id*="Folio"],
#appShell.control-shell form input[id*="numero"],
#appShell.control-shell form input[id*="Numero"],
#appShell.control-shell form input[name*="folio"],
#appShell.control-shell form input[name*="numero"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h12v16H6z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="solicitante"],
#appShell.control-shell form input[id*="Solicitante"],
#appShell.control-shell form input[name*="solicitante"],
#appShell.control-shell form input[id*="usuario"],
#appShell.control-shell form input[id*="Usuario"],
#appShell.control-shell form input[name*="usuario"],
#appShell.control-shell form input[id*="asesor"],
#appShell.control-shell form input[name*="asesor"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 21c.7-4 3-6 7-6s6.3 2 7 6'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="ubicacion"],
#appShell.control-shell form input[id*="Ubicacion"],
#appShell.control-shell form input[id*="direccion"],
#appShell.control-shell form input[id*="Direccion"],
#appShell.control-shell form input[name*="ubicacion"],
#appShell.control-shell form input[name*="direccion"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="valor"],
#appShell.control-shell form input[id*="Valor"],
#appShell.control-shell form input[name*="valor"],
#appShell.control-shell form input[id*="precio"],
#appShell.control-shell form input[name*="precio"],
#appShell.control-shell form input[id*="monto"],
#appShell.control-shell form input[name*="monto"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M15 8.5c-.7-.7-1.7-1-3-1-1.8 0-3 .8-3 2s1.2 2 3 2 3 .8 3 2-1.2 2-3 2c-1.3 0-2.4-.3-3.2-1M12 6v12'/%3E%3C/svg%3E") ;
}

/* Datos tabulares: lectura clara, iconos separados y acciones definidas */
#appShell.control-shell .cp6-cell-with-icon { display: inline-flex ; align-items: center ; gap: 9px ; min-width: 0 ; }
#appShell.control-shell .cp6-cell-icon { display: inline-flex ; align-items: center ; justify-content: center ; flex: 0 0 19px ; width: 19px ; height: 19px ; color: #2563eb ; opacity: .9 ; }
#appShell.control-shell .cp6-cell-icon svg { width: 18px ; height: 18px ; stroke: currentColor ; stroke-width: 1.8 ; }
#appShell.control-shell .cp6-cell-icon-money { color: #16a34a ; }
#appShell.control-shell .request-folio-cell strong,
#appShell.control-shell .requester-cell strong { font-weight: 600 ; }
#appShell.control-shell .request-table td,
#appShell.control-shell .operational-table td { font-size: 13px ; color: #334155 ; }
#appShell.control-shell .request-table td:first-child,
#appShell.control-shell .operational-table td:first-child { color: #0f172a ; }
#appShell.control-shell .request-action-cell,
#appShell.control-shell .technical-row-actions,
#appShell.control-shell .reception-actions { display: flex ; align-items: center ; gap: 7px ; }
#appShell.control-shell .request-icon-button,
#appShell.control-shell .action-icon-button,
#appShell.control-shell .technical-row-actions button { display: inline-flex ; align-items: center ; justify-content: center ; width: 32px ; height: 32px ; border-radius: 9px ; color: #2563eb ; border: 1px solid #dbeafe ; background: #eff6ff ; }
#appShell.control-shell .request-delete-button,
#appShell.control-shell .is-danger { color: #dc2626 ; border-color: #fee2e2 ; background: #fff1f2 ; }
#appShell.control-shell .request-icon-button svg,
#appShell.control-shell .action-icon-button svg,
#appShell.control-shell .technical-row-actions button svg { width: 17px ; height: 17px ; stroke-width: 2 ; }

/* =========================================================
   CP6 — Formulario unificado estilo Cotizaciones
   Aplica a todos los formularios de la aplicación, excepto Login.
   ========================================================= */
#appShell.control-shell form,
#appShell.control-shell .form-container,
#appShell.control-shell .form-panel,
#appShell.control-shell .inline-panel {
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif ;
}

#appShell.control-shell form label,
#appShell.control-shell .form-container label,
#appShell.control-shell .form-panel label,
#appShell.control-shell .inline-panel label {
  display: block ;
  color: #475569 ;
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif ;
  font-size: 12px ;
  font-weight: 600 ;
  line-height: 1.35 ;
  margin: 0 0 6px ;
  letter-spacing: 0 ;
}

#appShell.control-shell form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell form select,
#appShell.control-shell form textarea,
#appShell.control-shell .form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell .form-container select,
#appShell.control-shell .form-container textarea,
#appShell.control-shell .form-panel input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell .form-panel select,
#appShell.control-shell .form-panel textarea,
#appShell.control-shell .inline-panel input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell .inline-panel select,
#appShell.control-shell .inline-panel textarea {
  box-sizing: border-box ;
  width: 100% ;
  min-height: 40px ;
  padding: 9px 12px 9px 38px ;
  border: 1px solid #cbd5e1 ;
  border-radius: 9px ;
  background-color: #ffffff ;
  color: #0f172a ;
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif ;
  font-size: 12px ;
  font-weight: 400 ;
  line-height: 1.35 ;
  outline: none ;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .025) ;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease ;
}

#appShell.control-shell form textarea,
#appShell.control-shell .form-container textarea,
#appShell.control-shell .form-panel textarea,
#appShell.control-shell .inline-panel textarea {
  min-height: 82px ;
  resize: vertical ;
  padding-top: 11px ;
  background-position: 12px 12px ;
}

#appShell.control-shell form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
#appShell.control-shell form select:focus,
#appShell.control-shell form textarea:focus,
#appShell.control-shell .form-container input:focus,
#appShell.control-shell .form-container select:focus,
#appShell.control-shell .form-container textarea:focus,
#appShell.control-shell .form-panel input:focus,
#appShell.control-shell .form-panel select:focus,
#appShell.control-shell .form-panel textarea:focus,
#appShell.control-shell .inline-panel input:focus,
#appShell.control-shell .inline-panel select:focus,
#appShell.control-shell .inline-panel textarea:focus {
  border-color: #2563eb ;
  outline: none ;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .15) ;
}

#appShell.control-shell form input::placeholder,
#appShell.control-shell form textarea::placeholder,
#appShell.control-shell .form-container input::placeholder,
#appShell.control-shell .form-container textarea::placeholder,
#appShell.control-shell .form-panel input::placeholder,
#appShell.control-shell .form-panel textarea::placeholder,
#appShell.control-shell .inline-panel input::placeholder,
#appShell.control-shell .inline-panel textarea::placeholder {
  color: #94a3b8 ;
  opacity: 1 ;
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif ;
  font-size: 12px ;
  font-weight: 400 ;
}

/* Un icono base para que ningún campo quede sin referencia visual. */
#appShell.control-shell form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell form select,
#appShell.control-shell form textarea,
#appShell.control-shell .form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#appShell.control-shell .form-container select,
#appShell.control-shell .form-container textarea {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M15 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E") ;
  background-repeat: no-repeat ;
  background-size: 17px 17px ;
  background-position: 12px center ;
}

#appShell.control-shell form input[type="date"],
#appShell.control-shell form input[id*="fecha" i],
#appShell.control-shell form input[name*="fecha" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="folio" i],
#appShell.control-shell form input[name*="folio" i],
#appShell.control-shell form input[id*="numero" i],
#appShell.control-shell form input[name*="numero" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h12v16H6z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="solicitante" i],
#appShell.control-shell form input[name*="solicitante" i],
#appShell.control-shell form input[id*="usuario" i],
#appShell.control-shell form input[name*="usuario" i],
#appShell.control-shell form input[id*="asesor" i],
#appShell.control-shell form input[name*="asesor" i],
#appShell.control-shell form input[id*="cliente" i],
#appShell.control-shell form input[name*="cliente" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 21c.7-4 3-6 7-6s6.3 2 7 6'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="direccion" i],
#appShell.control-shell form input[name*="direccion" i],
#appShell.control-shell form input[id*="ubicacion" i],
#appShell.control-shell form input[name*="ubicacion" i],
#appShell.control-shell form input[id*="domicilio" i],
#appShell.control-shell form input[name*="domicilio" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form input[id*="valor" i],
#appShell.control-shell form input[name*="valor" i],
#appShell.control-shell form input[id*="precio" i],
#appShell.control-shell form input[name*="precio" i],
#appShell.control-shell form input[id*="monto" i],
#appShell.control-shell form input[name*="monto" i],
#appShell.control-shell form input[id*="pago" i],
#appShell.control-shell form input[name*="pago" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M15 8.5c-.7-.7-1.7-1-3-1-1.8 0-3 .8-3 2s1.2 2 3 2 3 .8 3 2-1.2 2-3 2c-1.3 0-2.4-.3-3.2-1M12 6v12'/%3E%3C/svg%3E") ;
}
#appShell.control-shell form textarea,
#appShell.control-shell form textarea[id*="nota" i],
#appShell.control-shell form textarea[name*="nota" i],
#appShell.control-shell form textarea[id*="observ" i],
#appShell.control-shell form textarea[name*="observ" i] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v12H9l-4 4z'/%3E%3Cpath d='M8 8h8M8 11h6'/%3E%3C/svg%3E") ;
  background-position: 12px 12px ;
}

/* No aplicar el patrón de formulario a controles auxiliares de archivos o checks. */
#appShell.control-shell form input[type="checkbox"],
#appShell.control-shell form input[type="radio"],
#appShell.control-shell form input[type="file"],
#appShell.control-shell form input[type="hidden"] {
  min-height: initial ;
  width: auto ;
  padding: initial ;
  border-radius: initial ;
  background-image: none ;
  box-shadow: none ;
}

/* Recepción: columna de solicitud y valor compactas, sin alterar el ancho general. */
#appShell.control-shell #recepcionAvaluosSection .operational-table th:nth-child(2),
#appShell.control-shell #recepcionAvaluosSection .operational-table td:nth-child(2) {
  width: 92px ;
  min-width: 92px ;
  max-width: 92px ;
  white-space: nowrap ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table th:nth-child(5),
#appShell.control-shell #recepcionAvaluosSection .operational-table td:nth-child(5) {
  width: 150px ;
  min-width: 150px ;
  max-width: 150px ;
  white-space: nowrap ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table .money-cell,
#appShell.control-shell #recepcionAvaluosSection .operational-table .money-cell .cp6-cell-with-icon {
  white-space: nowrap ;
  color: #15803d ;
  font-weight: 600 ;
}
#appShell.control-shell #recepcionAvaluosSection .operational-table .money-cell svg,
#appShell.control-shell #recepcionAvaluosSection .operational-table .money-cell .cp6-cell-icon { color: #16a34a ; }



/* Registro de Avalúo — bloque CSS único y limpio */
#appShell.control-shell .app-workspace.is-registration-mode > .workspace-header {
  display: none ;
}

#appShell.control-shell #recordEditor {
  width: 100% ;
  max-width: 100% ;
  margin: 0 ;
  padding: 0 ;
  background: transparent ;
  border: 0 ;
  box-shadow: none ;
  font-family: 'Plus Jakarta Sans', sans-serif ;
}

#appShell.control-shell #recordEditor > .max-w-7xl {
  width: 100% ;
  max-width: 80rem ;
  margin-top: .5rem ;
  padding-top: .5rem ;
  font-family: 'Plus Jakarta Sans', sans-serif ;
}

#appShell.control-shell #recordEditor h1,
#appShell.control-shell #recordEditor h3,
#appShell.control-shell #recordEditor p,
#appShell.control-shell #recordEditor label,
#appShell.control-shell #recordEditor button,
#appShell.control-shell #recordEditor input,
#appShell.control-shell #recordEditor select,
#appShell.control-shell #recordEditor textarea {
  font-family: 'Plus Jakarta Sans', sans-serif ;
}

#appShell.control-shell #recordEditor h3 {
  color: #0f172a ;
  font-size: 1.125rem ;
  font-weight: 700 ;
}

#appShell.control-shell #recordEditor .max-w-7xl > form input:not([type="checkbox"]),
#appShell.control-shell #recordEditor .max-w-7xl > form select,
#appShell.control-shell #recordEditor .max-w-7xl > form textarea {
  box-sizing: border-box ;
  width: 100% ;
  min-height: 42px ;
  height: 42px ;
  padding: 10px 12px 10px 40px ;
  background-color: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: .75rem ;
  color: #0f172a ;
  font-size: .75rem ;
  font-weight: 400 ;
  box-shadow: none ;
}

#appShell.control-shell #recordEditor .max-w-7xl > form select {
  appearance: none ;
  -webkit-appearance: none ;
  background: #ffffff ;
  background-color: #ffffff ;
  background-image: none ;
  border-color: rgba(226, 232, 240, .9) ;
}

#appShell.control-shell #recordEditor .max-w-7xl > form textarea {
  height: auto ;
  min-height: 76px ;
  padding-top: 10px ;
  resize: vertical ;
}

#appShell.control-shell #recordEditor .max-w-7xl > form input:not([type="checkbox"]):focus,
#appShell.control-shell #recordEditor .max-w-7xl > form select:focus,
#appShell.control-shell #recordEditor .max-w-7xl > form textarea:focus {
  outline: none ;
  border-color: #2563eb ;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, .12) ;
}

#appShell.control-shell #recordEditor .max-w-7xl > form label.block {
  display: block ;
  margin-bottom: .375rem ;
  color: #334155 ;
  font-size: .75rem ;
  font-weight: 700 ;
}

#appShell.control-shell #recordEditor #paidInput {
  width: 1rem ;
  min-width: 1rem ;
  height: 1rem ;
  min-height: 1rem ;
  padding: 0 ;
  flex: 0 0 auto ;
  accent-color: #2563eb ;
}

#appShell.control-shell #recordEditor #paymentDetails.is-hidden {
  display: none ;
}

#appShell.control-shell #recordEditor #paymentDetails:not(.is-hidden) {
  display: grid ;
}

@media (max-width: 640px) {
  #appShell.control-shell #recordEditor > .max-w-7xl {
    padding-left: .75rem ;
    padding-right: .75rem ;
  }
}


/* Tarjeta oficial de Solicitudes — plantilla Tailwind integrada */
#requestDetailDialog.client-luxury-detail .request-detail-content,
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] {
  font-family: 'Plus Jakarta Sans', sans-serif ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content > [data-request-card] {
  width: 100% ;
  max-width: none ;
  margin: 0 ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] input,
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] textarea,
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] button {
  font-family: 'Plus Jakarta Sans', sans-serif ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] .request-file-card {
  min-width: 0 ;
}
#requestDetailDialog.client-luxury-detail .request-detail-content [data-request-card] .request-file-card > span {
  max-width: 100% ;
  overflow: hidden ;
  text-overflow: ellipsis ;
  white-space: nowrap ;
}


/* Componente único de detalle de Solicitud — sin estilos heredados */
#requestDetailDialog.cp6-request-detail-dialog {
  background: transparent ;
  border: 0 ;
  border-radius: 0 ;
  box-shadow: none ;
  max-height: calc(100vh - 24px) ;
  max-width: min(1024px, calc(100vw - 24px)) ;
  overflow: visible ;
  padding: 0 ;
  width: min(1024px, calc(100vw - 24px)) ;
}
#requestDetailDialog.cp6-request-detail-dialog::backdrop {
  background: rgba(15, 23, 42, .58) ;
}
#requestDetailDialog.cp6-request-detail-dialog > .cp6-detail-content {
  background: transparent ;
  max-height: calc(100vh - 24px) ;
  overflow-y: auto ;
  overflow-x: hidden ;
  padding: 0 ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-detail-content,
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] {
  font-family: 'Plus Jakarta Sans', sans-serif ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] {
  background: #fff ;
  border: 1px solid #e2e8f0 ;
  border-radius: 24px ;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28) ;
  margin: 0 ;
  overflow: hidden ;
  width: 100% ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-close-request-detail] {
  background: #f1f5f9 ;
  border: 0 ;
  color: #64748b ;
  cursor: pointer ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-close-request-detail]:hover {
  background: #e2e8f0 ;
  color: #0f172a ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-custom-scroll::-webkit-scrollbar { width: 5px; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-custom-scroll::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 8px; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-custom-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-file-card { min-width: 0 ; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-file-card > span { max-width: 100% ; overflow: hidden ; text-overflow: ellipsis ; white-space: nowrap ; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-action-button,
#requestDetailDialog.cp6-request-detail-dialog .cp6-primary-button,
#requestDetailDialog.cp6-request-detail-dialog .cp6-secondary-button,
#requestDetailDialog.cp6-request-detail-dialog .cp6-detail-button {
  background-image: none ;
  font-family: 'Plus Jakarta Sans', sans-serif ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-primary-button,
#requestDetailDialog.cp6-request-detail-dialog .cp6-action-button {
  background-color: #2563eb ;
  border-color: #2563eb ;
  color: #fff ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-secondary-button {
  background-color: #fff ;
  border: 1px solid #cbd5e1 ;
  color: #334155 ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal {
  align-items: center ;
  background: rgba(15, 23, 42, .42) ;
  display: flex ;
  inset: 0 ;
  justify-content: center ;
  position: absolute ;
  z-index: 20 ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal[hidden] { display: none ; }
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card {
  background: #fff ;
  border: 1px solid #dbeafe ;
  border-radius: 16px ;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .22) ;
  color: #0f172a ;
  max-width: 420px ;
  padding: 22px ;
  width: calc(100% - 32px) ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card > input {
  background: #fff ;
  border: 1px solid #cbd5e1 ;
  border-radius: 10px ;
  box-sizing: border-box ;
  color: #0f172a ;
  font-family: 'Plus Jakarta Sans', sans-serif ;
  padding: 10px 12px ;
  width: 100% ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-popup-results,
#requestDetailDialog.cp6-request-detail-dialog .cp6-edit-info-form { font-family: 'Plus Jakarta Sans', sans-serif ; }
@media (max-width: 700px) {
  #requestDetailDialog.cp6-request-detail-dialog { max-width: calc(100vw - 12px) ; width: calc(100vw - 12px) ; }
  #requestDetailDialog.cp6-request-detail-dialog > .cp6-detail-content { max-height: calc(100vh - 12px) ; }
}

#requestDetailDialog.cp6-request-detail-dialog .cp6-danger-button {
  background: #fee2e2 ;
  border: 1px solid #fecaca ;
  color: #b91c1c ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-danger-button:hover {
  background: #fecaca ;
  color: #991b1b ;
}

/* Modales emergentes de asignación: tipografía y controles limpios */
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal,
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card,
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card h3,
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card p,
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card input,
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card button {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card h3 {
  color: #0f172a ;
  font-size: 1rem ;
  font-weight: 700 ;
  margin: 0 0 6px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card p {
  color: #64748b ;
  font-size: .75rem ;
  margin: 0 0 12px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card input {
  border: 1px solid #cbd5e1 ;
  border-radius: 12px ;
  color: #1e293b ;
  font-size: .875rem ;
  font-weight: 700 ;
  outline: none ;
  padding: 8px 12px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card input:focus {
  border-color: #3b82f6 ;
  box-shadow: 0 0 0 2px rgba(59,130,246,.2) ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card > div:last-child {
  display: flex ;
  gap: 8px ;
  justify-content: flex-end ;
  margin-top: 14px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card .cp6-secondary-button {
  background: #f1f5f9 ;
  border: 0 ;
  border-radius: 12px ;
  color: #475569 ;
  font-size: .75rem ;
  font-weight: 700 ;
  padding: 8px 16px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-submodal-card .cp6-primary-button {
  background: #2563eb ;
  border: 0 ;
  border-radius: 12px ;
  box-shadow: 0 4px 10px rgba(37,99,235,.16) ;
  color: #fff ;
  font-size: .75rem ;
  font-weight: 700 ;
  padding: 8px 16px ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-file-delete:hover {
  background: #fef2f2 ;
}

/* Expediente Digital: espacio reservado para seis archivos e iconos sin previsualización */
#requestDetailDialog.cp6-request-detail-dialog .cp6-custom-scroll {
  min-height: 300px ;
  max-height: 360px ;
  overflow-y: auto ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-file-icon {
  width: 40px ;
  height: 40px ;
  flex: 0 0 40px ;
  font-size: 1.1rem ;
}
#requestDetailDialog.cp6-request-detail-dialog .cp6-file-icon i {
  line-height: 1 ;
}
#requestDetailDialog.cp6-request-detail-dialog h2,
#requestDetailDialog.cp6-request-detail-dialog h3,
#requestDetailDialog.cp6-request-detail-dialog h4,
#requestDetailDialog.cp6-request-detail-dialog [data-popup-external-search] {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif ;
}

/* Detalle de solicitud: ancho estable y badges de asignación siempre juntos a la derecha */
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] {
  width: min(1024px, calc(100vw - 32px)) ;
  max-width: 1024px ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] .cp6-custom-scroll {
  width: 100% ;
  min-height: 300px ;
  max-height: 360px ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-open-appraisal-popup],
#requestDetailDialog.cp6-request-detail-dialog [data-open-external-popup] {
  flex-shrink: 0 ;
  white-space: nowrap ;
}

/* Expediente Digital: tarjetas compactas y uniformes aunque haya pocos documentos */
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] {
  width: min(1120px, calc(100vw - 32px)) ;
  max-width: 1120px ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] .cp6-custom-scroll {
  align-content: start ;
  justify-content: start ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] .cp6-file-card {
  height: 64px ;
  min-height: 64px ;
  max-height: 64px ;
  align-self: start ;
  overflow: hidden ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] .cp6-file-card .truncate {
  min-width: 0 ;
  max-width: 190px ;
}
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] .cp6-file-card .text-\[10px\] {
  line-height: 1.2 ;
}

/* Popup de detalle: el ancho se amplía sin rebasar el viewport */
#requestDetailDialog.cp6-request-detail-dialog {
  box-sizing: border-box ;
  width: min(1120px, calc(100vw - 24px)) ;
  max-width: min(1120px, calc(100vw - 24px)) ;
}
#requestDetailDialog.cp6-request-detail-dialog > .cp6-detail-content,
#requestDetailDialog.cp6-request-detail-dialog [data-request-card] {
  box-sizing: border-box ;
  max-width: 100% ;
  width: 100% ;
}
#requestDetailDialog.cp6-request-detail-dialog > .cp6-detail-content {
  overflow-x: hidden ;
}
@media (max-width: 700px) {
  #requestDetailDialog.cp6-request-detail-dialog {
    width: calc(100vw - 12px) ;
    max-width: calc(100vw - 12px) ;
  }
}

/* Nueva solicitud: componente único basado en la plantilla entregada */
#publicRequestDialog.public-request-dialog {
  width: min(960px, calc(100vw - 24px)) ;
  max-width: 960px ;
  padding: 0 ;
  border: 0 ;
  border-radius: 24px ;
  background: transparent ;
  overflow: hidden ;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif ;
}
#publicRequestDialog.public-request-dialog::backdrop { background: rgba(15, 23, 42, .68) ; }
#publicRequestDialog.public-request-dialog form,
#publicRequestDialog.public-request-dialog input,
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea,
#publicRequestDialog.public-request-dialog button { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif; }
#publicRequestDialog.public-request-dialog .step-content.hidden { display: none ; }
#publicRequestDialog.public-request-dialog [data-request-category] { cursor: pointer; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList > ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; font-size: 12px; color: #334155; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList li small { color: #94a3b8; white-space: nowrap; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList li button { border: 0; background: transparent; color: #2563eb; font-size: 11px; cursor: pointer; }
@media (max-width: 720px) {
  #publicRequestDialog.public-request-dialog { width: calc(100vw - 12px) ; border-radius: 16px ; }
  #publicRequestDialog.public-request-dialog > div { height: calc(100vh - 12px) ; max-height: calc(100vh - 12px) ; }
}

/* Ajustes de la plantilla Nueva solicitud v20261021 */
#publicRequestDialog.public-request-dialog > div { height: 94vh ; max-height: 95vh ; }
#publicRequestDialog.public-request-dialog #btn-prev { display: none ; }
#publicRequestDialog.public-request-dialog input:not([type="file"]),
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea { padding-top: .75rem ; padding-bottom: .75rem ; padding-left: 2.75rem ; }
#publicRequestDialog.public-request-dialog [data-request-category] { border-width: 2px; }
#publicRequestDialog.public-request-dialog [data-request-category] i { transition: color .18s ease; }

/* Corrección estricta de Nueva solicitud: Inter, campos blancos y categorías */
#publicRequestDialog.public-request-dialog,
#publicRequestDialog.public-request-dialog form,
#publicRequestDialog.public-request-dialog input,
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea,
#publicRequestDialog.public-request-dialog button,
#publicRequestDialog.public-request-dialog h1,
#publicRequestDialog.public-request-dialog h2,
#publicRequestDialog.public-request-dialog h3,
#publicRequestDialog.public-request-dialog label,
#publicRequestDialog.public-request-dialog span,
#publicRequestDialog.public-request-dialog p {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif ;
}
#publicRequestDialog.public-request-dialog input:not([type="hidden"]):not([type="file"]),
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea {
  background-color: #ffffff ;
  border: 1px solid #cbd5e1 ;
  border-radius: .75rem ;
  padding: .75rem 1rem ;
  color: #0f172a ;
  font-size: .875rem ;
  font-weight: 500 ;
  box-shadow: 0 1px 2px rgba(15,23,42,.08) ;
}
#publicRequestDialog.public-request-dialog input:not([type="hidden"]):not([type="file"]):focus,
#publicRequestDialog.public-request-dialog select:focus,
#publicRequestDialog.public-request-dialog textarea:focus {
  border-color: #2563eb ;
  outline: none ;
  box-shadow: 0 0 0 2px rgba(37,99,235,.18), 0 1px 2px rgba(15,23,42,.08) ;
}
#publicRequestDialog.public-request-dialog select { appearance: none ; }
#publicRequestDialog.public-request-dialog .font-mono,
#publicRequestDialog.public-request-dialog [class*="font-mono"] { font-family: Inter, ui-sans-serif, system-ui, sans-serif ; }
#publicRequestDialog.public-request-dialog [data-request-category] { cursor: pointer; }

/* Corrección estricta de Nueva solicitud: Inter, campos blancos y categorías */
#publicRequestDialog.public-request-dialog,
#publicRequestDialog.public-request-dialog form,
#publicRequestDialog.public-request-dialog input,
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea,
#publicRequestDialog.public-request-dialog button,
#publicRequestDialog.public-request-dialog h1,
#publicRequestDialog.public-request-dialog h2,
#publicRequestDialog.public-request-dialog h3,
#publicRequestDialog.public-request-dialog label,
#publicRequestDialog.public-request-dialog span,
#publicRequestDialog.public-request-dialog p { font-family: Inter, ui-sans-serif, system-ui, sans-serif ; }
#publicRequestDialog.public-request-dialog input:not([type="hidden"]):not([type="file"]),
#publicRequestDialog.public-request-dialog select,
#publicRequestDialog.public-request-dialog textarea { background-color: #fff ; border: 1px solid #cbd5e1 ; border-radius: .75rem ; padding: .75rem 1rem ; color: #0f172a ; font-size: .875rem ; font-weight: 500 ; box-shadow: 0 1px 2px rgba(15,23,42,.08) ; }
#publicRequestDialog.public-request-dialog .relative > input:not([type="hidden"]):not([type="file"]),
#publicRequestDialog.public-request-dialog .relative > select,
#publicRequestDialog.public-request-dialog .relative > textarea { padding-left: 2.75rem ; }
#publicRequestDialog.public-request-dialog input:not([type="hidden"]):not([type="file"]):focus,
#publicRequestDialog.public-request-dialog select:focus,
#publicRequestDialog.public-request-dialog textarea:focus { border-color: #2563eb ; outline: none ; box-shadow: 0 0 0 2px rgba(37,99,235,.18), 0 1px 2px rgba(15,23,42,.08) ; }
#publicRequestDialog.public-request-dialog select { appearance: none ; }
#publicRequestDialog.public-request-dialog .font-mono,
#publicRequestDialog.public-request-dialog [class*="font-mono"] { font-family: Inter, ui-sans-serif, system-ui, sans-serif ; }

/* Ajustes finales Nueva solicitud v3 */
#publicRequestDialog.public-request-dialog { width: min(96vw, 1180px) ; max-width: 1180px ; margin: auto ; }
#publicRequestDialog.public-request-dialog > div { width: 100% ; max-width: 1120px ; height: 96vh ; max-height: 96vh ; margin: auto ; }
#publicRequestDialog.public-request-dialog .bg-slate-900 h1 { color: #fff ; font-family: Inter, ui-sans-serif, system-ui, sans-serif ; }
#publicRequestDialog.public-request-dialog .bg-slate-900 { position: relative; }
#publicRequestDialog.public-request-dialog #btn-next,
#publicRequestDialog.public-request-dialog #btn-prev { background: #2563eb ; color: #fff ; border-color: #2563eb ; }
#publicRequestDialog.public-request-dialog #btn-next:hover,
#publicRequestDialog.public-request-dialog #btn-prev:hover { background: #1d4ed8 ; }
#publicRequestDialog.public-request-dialog #descripcion_bien { height: 42px ; min-height: 42px ; line-height: 1.35 ; overflow-y: hidden ; }
#publicRequestDialog.public-request-dialog [data-request-category] { color: #0f172a ; }
#publicRequestDialog.public-request-dialog [data-request-category] > [data-lucide] { color: #64748b ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-blue-500 > [data-lucide] { color: #2563eb ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-emerald-500 > [data-lucide] { color: #059669 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-amber-500 > [data-lucide] { color: #d97706 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-violet-500 > [data-lucide] { color: #7c3aed ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-rose-500 > [data-lucide] { color: #e11d48 ; }
@media (max-width: 700px) { #publicRequestDialog.public-request-dialog { width: 100vw ; } #publicRequestDialog.public-request-dialog > div { height: 100vh ; max-height: 100vh ; border-radius: 0 ; } }

/* Atrás azul visible sólo desde el paso 2; en el paso 1 permanece oculto. */
#publicRequestDialog.public-request-dialog #btn-prev:not([hidden]) { display: flex ; }
#publicRequestDialog.public-request-dialog #btn-prev[hidden] { display: none ; }
#publicRequestDialog.public-request-dialog #publicRequestAttachments { display: none ; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList { min-height: 74px; }

/* Nueva solicitud v4: stepper, antecedentes y botones */
#publicRequestDialog.public-request-dialog #btn-prev { display: none ; }
#publicRequestDialog.public-request-dialog #btn-prev:not([hidden]) { display: flex ; }
#publicRequestDialog.public-request-dialog #btn-next { margin-left: auto ; }
#publicRequestDialog.public-request-dialog [data-step-connector].bg-brand-600 { background-color: #2563eb ; }
#publicRequestDialog.public-request-dialog #publicRequestAttachments + * { min-height: 178px ; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList { min-height: 96px ; max-height: 220px ; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList li { justify-content: flex-start ; min-height: 58px ; padding: 8px 10px ; }
#publicRequestDialog.public-request-dialog .request-file-icon { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #eff6ff; color: #2563eb; }
#publicRequestDialog.public-request-dialog .request-file-icon-file-text { background: #fef2f2; color: #dc2626; }
#publicRequestDialog.public-request-dialog .request-file-icon-image { background: #ecfdf5; color: #059669; }
#publicRequestDialog.public-request-dialog .request-file-icon-file-type-2 { background: #eff6ff; color: #2563eb; }
#publicRequestDialog.public-request-dialog .request-file-icon-file-spreadsheet { background: #f0fdf4; color: #16a34a; }
#publicRequestDialog.public-request-dialog .request-file-icon-archive { background: #fff7ed; color: #ea580c; }
#publicRequestDialog.public-request-dialog .request-file-meta { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
#publicRequestDialog.public-request-dialog .request-file-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
#publicRequestDialog.public-request-dialog .request-file-meta small { color: #94a3b8; font-size: 10px; }
#publicRequestDialog.public-request-dialog #publicRequestAttachmentsList li > button { margin-left: auto; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; color: #dc2626; background: #fef2f2; border-radius: 8px; }
#publicRequestDialog.public-request-dialog label[for="publicRequestAttachments"] { min-height: 210px ; display: flex ; align-items: center ; justify-content: center ; }
#publicRequestDialog.public-request-dialog label[for="publicRequestAttachments"] > div:first-of-type { width: 68px ; height: 68px ; display: flex ; align-items: center ; justify-content: center ; border-radius: 18px ; }
#publicRequestDialog.public-request-dialog label[for="publicRequestAttachments"] > div:first-of-type svg { width: 34px ; height: 34px ; }

/* Nueva solicitud v4.1: barra como pestañas limpias, sin numeración */
#publicRequestDialog.public-request-dialog .step-tab { flex: 1 1 0; justify-content: center; min-width: 0; padding: 8px 10px; border-radius: 10px; transition: background-color .18s ease, color .18s ease; }
#publicRequestDialog.public-request-dialog .step-tab-label { display: inline-block ; color: #64748b ; font-size: 12px ; font-weight: 500 ; white-space: nowrap; }
#publicRequestDialog.public-request-dialog .step-tab.is-active { background: #eff6ff ; }
#publicRequestDialog.public-request-dialog .step-tab.is-active .step-tab-label { color: #2563eb ; font-weight: 700 ; }
#publicRequestDialog.public-request-dialog .step-tab.is-completed .step-tab-label { color: #059669 ; font-weight: 600 ; }
#publicRequestDialog.public-request-dialog [data-step-connector].bg-brand-600 { background: #2563eb ; }
#publicRequestDialog.public-request-dialog .step-tab:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; }
@media (max-width: 720px) { #publicRequestDialog.public-request-dialog .step-tab { padding-inline: 4px; } #publicRequestDialog.public-request-dialog .step-tab-label { font-size: 10px ; white-space: normal; text-align: center; } }

/* Correcciones solicitadas: categorías legibles, resumen monetario y Recepción más arriba */
#publicRequestDialog.public-request-dialog [data-request-category].border-blue-500,
#publicRequestDialog.public-request-dialog [data-request-category].border-emerald-500,
#publicRequestDialog.public-request-dialog [data-request-category].border-amber-500,
#publicRequestDialog.public-request-dialog [data-request-category].border-violet-500,
#publicRequestDialog.public-request-dialog [data-request-category].border-rose-500 { background: #ffffff ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-blue-500 { color: #1d4ed8 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-emerald-500 { color: #047857 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-amber-500 { color: #b45309 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-violet-500 { color: #6d28d9 ; }
#publicRequestDialog.public-request-dialog [data-request-category].border-rose-500 { color: #be123c ; }
#publicRequestDialog.public-request-dialog #sum-valor-num,
#publicRequestDialog.public-request-dialog #sum-valor-letras { color: #059669 ; font-weight: 400 ; }
#recordEditor > .max-w-7xl { margin-top: 0 ; padding-top: 0 ; }

/* Observaciones: una sola línea, también en la versión popup restaurada */
#publicRequestDialog.public-request-dialog #observaciones_solicitud {
  height: 42px ;
  min-height: 42px ;
  max-height: 42px ;
  resize: none ;
  overflow: hidden ;
}

/* Nueva solicitud: pestañas limpias, sin línea de progreso */
#publicRequestDialog.public-request-dialog [data-step-connector] { display: none ; }
#publicRequestDialog.public-request-dialog .step-tab { flex: 1 1 0 ; border: 1px solid transparent ; background: transparent ; }
#publicRequestDialog.public-request-dialog .step-tab.is-active { background: #eff6ff ; border-color: #bfdbfe ; }
#publicRequestDialog.public-request-dialog .step-tab.is-active .step-tab-label { color: #2563eb ; font-weight: 700 ; }
#publicRequestDialog.public-request-dialog .step-tab.is-completed { background: #ecfdf5 ; border-color: #a7f3d0 ; }
#publicRequestDialog.public-request-dialog .step-tab.is-completed .step-tab-label { color: #059669 ; font-weight: 600 ; }

/* Nueva solicitud: aviso de privacidad y consentimiento obligatorio */
#publicRequestDialog.public-request-dialog .request-privacy-box {
  margin-top: 4px ;
  padding: 14px 16px ;
  border: 1px solid #dbeafe ;
  border-radius: 14px ;
  background: #f8fbff ;
}
#publicRequestDialog.public-request-dialog .request-privacy-box h3 {
  margin: 0 0 6px ;
  color: #1e3a8a ;
  font-size: 12px ;
  font-weight: 700 ;
}
#publicRequestDialog.public-request-dialog .request-privacy-box p {
  margin: 0 ;
  color: #475569 ;
  font-size: 11px ;
  line-height: 1.5 ;
  font-weight: 400 ;
}
#publicRequestDialog.public-request-dialog .request-consent-label {
  display: flex ;
  align-items: flex-start ;
  gap: 9px ;
  margin: 12px 0 0 ;
  color: #1e293b ;
  font-size: 11px ;
  line-height: 1.4 ;
  font-weight: 600 ;
  cursor: pointer ;
}
#publicRequestDialog.public-request-dialog .request-consent-label input[type="checkbox"] {
  width: 16px ;
  height: 16px ;
  min-width: 16px ;
  min-height: 16px ;
  margin: 1px 0 0 ;
  padding: 0 ;
  accent-color: #2563eb ;
  box-shadow: none ;
}
#publicRequestDialog.public-request-dialog #btn-next.is-consent-disabled {
  opacity: .48 ;
  cursor: not-allowed ;
  box-shadow: none ;
}
#publicRequestDialog.public-request-dialog .step-tab,
#publicRequestDialog.public-request-dialog [data-step-connector] {
  display: none ;
}

/* Aviso de privacidad: queda al final del primer paso, justo antes de las acciones */
#publicRequestDialog.public-request-dialog #step-content-1 {
  min-height: calc(94vh - 275px) ;
  display: flex ;
  flex-direction: column ;
}
#publicRequestDialog.public-request-dialog #step-content-1 .request-privacy-box {
  margin-top: auto ;
}

/* Ocultamiento robusto: los pasos inactivos no ocupan espacio ni aparecen al desplazar */
#publicRequestDialog.public-request-dialog .step-content[hidden],
#publicRequestDialog.public-request-dialog .step-content.hidden {
  display: none ;
  visibility: hidden ;
  height: 0 ;
  min-height: 0 ;
  overflow: hidden ;
}

/* Corrección definitiva: el primer paso no conserva espacio cuando se cambia al paso 2 */
#publicRequestDialog.public-request-dialog #step-content-1[hidden],
#publicRequestDialog.public-request-dialog #step-content-1.hidden {
  display: none ;
  visibility: hidden ;
  height: 0 ;
  min-height: 0 ;
  margin: 0 ;
  padding: 0 ;
  overflow: hidden ;
}

/* =========================================================
   Recepción — homologación visual con Cotizaciones
   Conserva las columnas y datos originales; solo cambia la presentación.
   ========================================================= */
#appShell.control-shell .workspace-header.reception-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;margin:0 0 18px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
#appShell.control-shell .workspace-header.reception-header #pageTitle{position:relative;margin:0;padding-left:34px;color:#0f172a;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.035em}
#appShell.control-shell .workspace-header.reception-header #pageTitle:before{content:"\f1ea";position:absolute;left:0;top:50%;width:26px;height:26px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eff6ff;color:#2563eb;font-family:"Font Awesome 6 Free";font-size:13px;font-weight:900}
#appShell.control-shell .workspace-header.reception-header #pageDescription{margin:4px 0 0 34px;color:#94a3b8;font-size:11px;font-weight:400}
#appShell.control-shell .workspace-header.reception-header .workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
#appShell.control-shell .workspace-header.reception-header .workspace-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:8px 14px;border:0;border-radius:11px;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:11px;font-weight:700;box-shadow:none}
#appShell.control-shell .workspace-header.reception-header #receptionRecordsButton{background:#0f172a;color:#fff}
#appShell.control-shell .workspace-header.reception-header #backAvaluosButton{background:#2563eb;color:#fff}
#appShell.control-shell .workspace-header.reception-header #newRecordButton{background:#1d4ed8;color:#fff}
#appShell.control-shell .workspace-header.reception-header .workspace-actions button:hover{transform:translateY(-1px);filter:brightness(1.04)}
#appShell.control-shell #recepcionAvaluosSection{width:100%;max-width:100%}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px rgba(15,23,42,.045);padding:16px 18px;margin:0 0 14px}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex;align-items:center;gap:10px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{position:relative;width:min(360px,100%)}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap:before{content:"\f002";position:absolute;z-index:2;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;font-family:"Font Awesome 6 Free";font-size:11px;font-weight:900;pointer-events:none}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{box-sizing:border-box;min-height:36px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:11px;font-weight:400;box-shadow:none}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{width:100%;padding:9px 14px 9px 38px}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:190px;padding:9px 30px 9px 14px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input:focus,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px rgba(15,23,42,.045);padding:18px;overflow:hidden}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs .status-list-heading{display:none}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table-wrap{width:100%;margin:0;padding:0;overflow-x:auto;background:#fff;border:0;box-shadow:none}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table{width:100%;min-width:880px;border-collapse:collapse;border-spacing:0;background:#fff;table-layout:auto}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table thead tr{background:#fff;border-bottom:1px solid #f1f5f9}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th{height:auto;padding:10px 12px;background:#fff;color:#6b7280;border:0;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-align:left}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td{height:auto;padding:13px 12px;color:#334155;background:#fff;border:0;border-bottom:1px solid #f1f5f9;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:12px;font-weight:400;vertical-align:middle}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table tbody tr:hover td{background:#f8fafc}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-list-number,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .request-folio-cell{color:#2563eb;font-weight:700}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .requester-cell,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .user-cell{color:#334155;font-weight:400}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .money-cell{color:#15803d;font-weight:700}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:600;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-paid,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.pagado{background:#ecfdf5;color:#059669}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-pending,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.pendiente{background:#eff6ff;color:#2563eb}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-delivered{background:#fefce8;color:#ca8a04}
#appShell.control-shell #recepcionAvaluosSection .pagination-bar{margin:14px 0 0;padding-top:12px;border-top:1px solid #f1f5f9}
@media (max-width:700px){#appShell.control-shell .workspace-header.reception-header{align-items:flex-start;flex-direction:column;padding:16px}#appShell.control-shell .workspace-header.reception-header .workspace-actions{width:100%;justify-content:flex-start}#appShell.control-shell .workspace-header.reception-header .workspace-actions button{flex:1 1 auto}#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{align-items:stretch;flex-direction:column}#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%}}

/* Recepción: controles en la misma línea de búsqueda y tabla más compacta */
#appShell.control-shell .workspace-header.reception-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;margin:0 0 18px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{padding:12px 16px;margin:0 0 14px}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex;align-items:center;gap:10px;width:100%}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:142px;min-width:142px;font-size:10px;padding:8px 24px 8px 11px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:min(330px,100%)}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{min-height:34px;padding:8px 12px 8px 36px;font-size:11px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:8px 13px;border:0;border-radius:10px;color:#fff;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:10px;font-weight:700;box-shadow:none}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions #backAvaluosButton{background:#2563eb}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions #backAvaluosButton i{color:#fff}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions #newRecordButton{background:#1d4ed8}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button:hover{transform:translateY(-1px);filter:brightness(1.04)}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs{position:relative;padding-top:22px}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#2563eb 0%,#4f46e5 52%,#1d4ed8 100%);border-radius:16px 16px 0 0}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:first-child,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:first-child{width:70px;max-width:70px;padding-left:10px;padding-right:6px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(2),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(2){width:100px;max-width:100px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(4){font-size:13px;font-weight:400;color:#334155}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(3){font-size:13px;font-weight:400;color:#334155}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status{font-size:12px;font-weight:700;padding:6px 10px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-paid{background:#ecfdf5;color:#047857}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-expired{background:#fef2f2;color:#dc2626}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-pending{background:#eff6ff;color:#2563eb}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status.status-delivered{background:#fffbeb;color:#b45309}
@media (max-width:700px){#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{align-items:stretch;flex-wrap:wrap}#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{flex:1 1 100%;width:100%}#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{flex:1 1 120px;width:auto;min-width:0}#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{flex:1 1 auto;margin-left:0}#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{flex:1 1 auto}}


/* Recepción: refinamiento final de controles y ancho de tabla */
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{
  margin-bottom:0;
  padding:14px 18px;
}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{
  gap:12px;
}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{
  width:min(460px,100%);
  flex:0 1 460px;
}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{
  min-height:42px;
  padding:10px 14px 10px 40px;
  font-size:12px;
}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{
  width:156px;
  min-width:156px;
  min-height:42px;
  padding:10px 28px 10px 12px;
  font-size:11px;
}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{
  margin-left:auto;
  gap:10px;
  flex:0 0 auto;
}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{
  min-height:42px;
  padding:10px 18px;
  border-radius:11px;
  font-size:12px;
  letter-spacing:.01em;
}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs{
  padding-top:5px;
  margin-top:0;
}
#appShell.control-shell #recepcionAvaluosSection>.dashboard-tabs:before{
  height:5px;
}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList{
  width:calc(100% - 48px);
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table{
  width:100%;
  table-layout:auto;
}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(4),
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(4){
  min-width:190px;
  width:220px;
}
@media (max-width:700px){
  #appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{flex:1 1 100%;width:100%}
  #appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%;min-width:0}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{width:100%;display:flex}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{flex:1 1 0}
  #appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:100%}
}


/* Recepción: barra identificadora y controles centrados */
#appShell.control-shell .workspace-header.reception-header{display:none}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{margin-top:0;margin-bottom:12px;padding:14px 18px}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:nowrap;width:100%}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;color:#0f172a;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;font-size:17px;font-weight:800;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eff6ff;color:#2563eb;font-size:16px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:420px;flex:0 1 420px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{min-height:44px;padding:11px 14px 11px 40px;font-size:13px}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:165px;min-width:165px;min-height:44px;padding:11px 28px 11px 13px;font-size:12px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-left:0;flex:0 0 auto}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{min-height:44px;padding:11px 18px;border-radius:11px;font-size:14px;font-weight:800;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button i{font-size:14px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList{margin-top:0}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th{font-size:12px;padding:14px 16px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td{font-size:14px;padding:15px 16px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .avaluo-list-number{font-size:16px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .avaluo-list-request-folio{font-size:14px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .cp6-cell-with-icon{gap:9px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .cp6-cell-icon{width:21px;height:21px;min-width:21px;font-size:14px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .cp6-cell-icon svg{width:19px;height:19px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td .money-cell,#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td.money-cell{font-size:14px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status{font-size:13px;padding:7px 11px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .reception-actions .record-action{width:34px;height:34px;min-width:34px;margin-left:5px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .reception-actions .record-action svg{width:19px;height:19px}
@media (max-width:900px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{flex-wrap:wrap}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title{flex:1 1 100%;justify-content:center}
  #appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{flex:1 1 300px;width:auto}
}
@media (max-width:700px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{align-items:stretch}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title,#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect,#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{width:100%;flex:1 1 100%}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{flex:1 1 0}
}


/* Recepción: ancho final y eliminación del desplazamiento horizontal */
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{overflow:visible}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{font-size:20px;gap:10px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title-icon{width:42px;height:42px;border-radius:12px;font-size:20px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:520px;flex-basis:520px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{font-size:14px;min-height:46px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:calc(100% - 32px);max-width:1480px;overflow-x:hidden}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table-wrap{width:100%;max-width:100%;overflow-x:hidden}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table{width:100%;max-width:100%;table-layout:fixed}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th,
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(1),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(1){width:8%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(2),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(2){width:14%;max-width:none}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(3),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(3){width:22%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(4),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(4){width:22%;min-width:0;max-width:none}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(5),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(5){width:14%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(6),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(6){width:13%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(7),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(7){width:7%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td.reception-actions{overflow:visible;text-overflow:clip;white-space:nowrap;padding-left:8px;padding-right:8px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .reception-actions .record-action{width:32px;height:32px;min-width:32px;margin-left:3px}
@media (max-width:900px){#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:auto;flex-basis:360px}}


/* Recepción: barra en tres zonas y columnas sin empalmes */
#appShell.control-shell #recepcionAvaluosSection{padding-top:4px}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{margin-top:0;padding:10px 18px}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto minmax(180px,1fr);align-items:center;gap:9px;justify-content:initial}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{justify-self:start;font-size:21px;text-shadow:0 3px 8px rgba(37,99,235,.22)}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title-icon{width:44px;height:44px;font-size:21px;box-shadow:0 5px 12px rgba(37,99,235,.24)}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:480px;flex:none}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap input{min-height:43px;font-size:13px}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:158px;min-width:158px;min-height:43px;font-size:11px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-self:end;margin-left:0;gap:8px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:calc(100% - 24px);max-width:1520px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(1),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(1){width:8%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(2),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(2){width:14%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(3),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(3){width:19%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(4),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(4){width:19%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(5),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(5){width:13%}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(6),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(6){width:17%;min-width:0}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(7),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(7){width:10%;min-width:120px}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .avaluo-status{font-size:12px;padding:7px 9px;white-space:normal;line-height:1.25;display:inline-block}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList .reception-actions .record-action{width:31px;height:31px;min-width:31px;margin-left:2px}
@media (max-width:1100px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:1fr 1fr;gap:8px 12px}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title{justify-self:start}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-self:end}
  #appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:100%}
  #appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%}
}
@media (max-width:700px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex;flex-wrap:wrap;justify-content:center}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title,#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect,#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{width:100%;flex:1 1 100%;justify-self:stretch}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title{justify-content:center}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-content:center}
  #appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:100%}
  #appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table th:nth-child(7),#appShell.control-shell #recepcionAvaluosSection #statusRecordList .operational-table td:nth-child(7){min-width:105px}
}

/* Recepción: panel superior normal, ancho de la tabla y no fijo al hacer scroll */
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{
  position:static; top:auto; inset:auto; z-index:auto;
  width:calc(100% - 24px); max-width:1520px; margin:0 auto 10px;
  box-sizing:border-box; padding:9px 16px;
}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{
  display:grid; grid-template-columns:minmax(210px,1fr) minmax(330px,520px) 165px minmax(300px,1fr);
  align-items:center; gap:10px; width:100%;
}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{justify-self:start}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:100%; max-width:none; flex:none}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%; min-width:0}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-self:end; margin-left:0; gap:8px; white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:calc(100% - 24px); max-width:1520px; margin:0 auto}
@media(max-width:1100px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:minmax(180px,1fr) minmax(260px,1fr) 150px}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{grid-column:1/-1; justify-self:end}
  #appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:100%}
  #appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%}
}
@media(max-width:700px){
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel,#appShell.control-shell #recepcionAvaluosSection #statusRecordList{width:100%}
  #appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex; flex-wrap:wrap}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-title,#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap,#appShell.control-shell #recepcionAvaluosSection #statusViewSelect,#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{width:100%; flex:1 1 100%; justify-self:stretch}
  #appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-content:center}
}

/* Validación: tabla de números autorizados/validados */
#appShell.control-shell .validation-registry-section{margin-top:20px; padding:18px; background:#fff; border:1px solid #e2e8f0; border-radius:16px; box-shadow:0 6px 18px rgba(15,23,42,.05)}
#appShell.control-shell .validation-registry-heading{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:14px}
#appShell.control-shell .validation-registry-heading h4{margin:0; color:#0f172a; font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif; font-size:16px; font-weight:800}
#appShell.control-shell .validation-registry-heading p{margin:4px 0 0; color:#64748b; font-size:12px}
#appShell.control-shell .validation-registry-filter-label{display:flex; align-items:center; gap:8px; color:#64748b; font-size:11px; font-weight:700; white-space:nowrap}
#appShell.control-shell #validationRegistryFilter{min-width:150px; padding:9px 28px 9px 12px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#334155; font-size:12px}
#appShell.control-shell .validation-registry-table-wrap{overflow-x:auto}
#appShell.control-shell .validation-registry-table{width:100%; border-collapse:collapse; font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
#appShell.control-shell .validation-registry-table th{padding:11px 12px; border-bottom:1px solid #e2e8f0; color:#64748b; font-size:10px; letter-spacing:.06em; text-transform:uppercase; text-align:left}
#appShell.control-shell .validation-registry-table td{padding:13px 12px; border-bottom:1px solid #f1f5f9; color:#334155; font-size:12px}
#appShell.control-shell .validation-registry-table tbody tr:hover td{background:#f8fafc}
#appShell.control-shell .validation-registry-table td:first-child strong{color:#2563eb; font-size:14px}
#appShell.control-shell .validation-registry-table td:last-child{text-align:right}


/* Ajuste final Recepción + Validación — 2026-10-22 */
#appShell.control-shell #recepcionAvaluosSection > .search-panel.request-style-filter-panel{position:static;width:min(100%,1500px);max-width:1500px;margin:0 auto 10px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 5px 16px rgba(15,23,42,.06)}
#appShell.control-shell #recepcionAvaluosSection .search-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(300px,1.55fr) minmax(150px,.7fr) auto;align-items:center;gap:10px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{justify-self:start}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title strong{font-size:1.12rem;text-shadow:0 1px 5px rgba(37,99,235,.18)}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-title-icon{width:38px;height:38px;font-size:1.05rem;box-shadow:0 4px 10px rgba(37,99,235,.16)}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{width:100%}
#appShell.control-shell #recepcionAvaluosSection #searchInput{width:100%;min-width:0}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%;min-width:0}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-content:flex-end;gap:8px;white-space:nowrap}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{font-size:.88rem;padding:11px 16px;min-height:42px}
#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions #backAvaluosButton{color:#fff}
#appShell.control-shell #recepcionAvaluosSection .operational-table-wrap{width:min(100%,1500px);max-width:1500px;margin:0 auto;overflow-x:hidden}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact thead th{background:#eff6ff;color:#64748b;border-top:3px solid #2563eb;padding-top:9px;padding-bottom:9px}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td{font-size:.9rem}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact th:nth-child(2),#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td:nth-child(2){width:175px;min-width:175px;max-width:175px}
#appShell.control-shell #recepcionAvaluosSection .operational-table-compact th:nth-child(6),#appShell.control-shell #recepcionAvaluosSection .operational-table-compact td:nth-child(6){width:190px;min-width:190px}
#appShell.control-shell #recepcionAvaluosSection .avaluo-list-user,#appShell.control-shell #recepcionAvaluosSection .avaluo-list-requester{font-size:.9rem}
#appShell.control-shell #recepcionAvaluosSection .reception-actions .record-action{width:34px;height:34px}
#appShell.control-shell #validationRegistrySection,#appShell.control-shell .validation-registry-section,#appShell.control-shell #validationRegistryList,#appShell.control-shell #validationRegistryFilter{display:revert}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-hidden-list,#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-pending-section{display:none}
#appShell.control-shell #validationRegistrySection{display:block;margin-top:18px}
#appShell.control-shell .validation-registry-table-wrap{display:block;overflow-x:auto}
#appShell.control-shell .validation-registry-table{width:100%;border-collapse:collapse;background:#fff}
#appShell.control-shell .cp6-inline-edit-button{border:0;background:#eff6ff;color:#2563eb;border-radius:7px;padding:3px 6px;cursor:pointer}
#appShell.control-shell [data-valuator-popup] select{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;font:400 .86rem "Plus Jakarta Sans",system-ui,sans-serif}
@media(max-width:980px){#appShell.control-shell #recepcionAvaluosSection .search-row{grid-template-columns:1fr 1fr}#appShell.control-shell #recepcionAvaluosSection .reception-filter-title{grid-column:1/-1}#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-content:flex-end}}
@media(max-width:640px){#appShell.control-shell #recepcionAvaluosSection .search-row{grid-template-columns:1fr}#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions{justify-content:stretch}#appShell.control-shell #recepcionAvaluosSection .reception-filter-actions button{flex:1}}


/* Ajuste solicitado: filtro compacto y tabla de Validación visible */
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.15fr) 132px auto;gap:8px}
#appShell.control-shell #recepcionAvaluosSection .reception-search-input-wrap{max-width:100%}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:132px;min-width:132px;padding-left:10px;padding-right:22px;font-size:10px;white-space:nowrap}
#appShell.control-shell #avaluosAuthorizedFoliosPanel[data-open="true"]{display:block;visibility:visible;opacity:1;height:auto;max-height:none;overflow:visible}
#appShell.control-shell #avaluosAuthorizedFoliosPanel[data-open="true"] #validationRegistrySection{display:block;visibility:visible;height:auto;max-height:none;overflow:visible}
#appShell.control-shell #avaluosAuthorizedFoliosPanel[data-open="true"] #validationRegistryList{display:block;visibility:visible;min-height:58px}
@media(max-width:1100px){#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr) 125px auto}}
@media(max-width:700px){#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:1fr}#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{width:100%;min-width:0}}


/* Validación y filtros: ajuste visual solicitado 2026-10-22 */
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect{height:38px;min-height:38px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
#appShell.control-shell #recepcionAvaluosSection #searchInput{max-width:380px}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-authorize-form{display:flex;align-items:flex-end;justify-content:center;gap:12px;max-width:620px;margin:0 auto}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-authorize-form .validation-field{flex:0 1 310px;margin:0}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-actions{margin:0;display:flex;align-items:flex-end}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-actions button{height:40px;min-width:112px}
#appShell.control-shell .validation-registry-section{padding:14px 18px;margin-top:14px}
#appShell.control-shell .validation-registry-heading{align-items:center;justify-content:center;margin-bottom:12px;gap:10px}
#appShell.control-shell .validation-registry-search-wrap{position:relative;display:flex;align-items:center;width:min(100%,380px)}
#appShell.control-shell .validation-registry-search-wrap i{position:absolute;left:14px;color:#94a3b8;font-size:12px;pointer-events:none}
#appShell.control-shell #validationRegistrySearch{width:100%;height:36px;padding:0 14px 0 36px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font:400 12px "Plus Jakarta Sans",Inter,system-ui,sans-serif;outline:none}
#appShell.control-shell #validationRegistrySearch:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
#appShell.control-shell .validation-registry-filter-label{font-size:11px}
#appShell.control-shell #validationRegistryFilter{height:36px;padding-top:6px;padding-bottom:6px}
#appShell.control-shell .validation-registry-table th{padding:8px 11px;font-size:9px}
#appShell.control-shell .validation-registry-table td{padding:7px 11px;font-size:11px;line-height:1.15}
#appShell.control-shell .validation-registry-table td:first-child strong{font-size:12px}
#appShell.control-shell .validation-delete-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:#fff1f2;color:#dc2626;cursor:pointer}
#appShell.control-shell .validation-delete-button:hover{background:#fee2e2;color:#b91c1c}
@media(max-width:700px){#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-authorize-form{align-items:stretch;flex-direction:column;max-width:100%}#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-authorize-form .validation-field{flex-basis:auto}#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-actions button{width:100%}#appShell.control-shell .validation-registry-heading{flex-direction:column;align-items:stretch}#appShell.control-shell .validation-registry-search-wrap{width:100%}}


/* Validación: buscador y filtro en columna, alineados al centro */
#appShell.control-shell .validation-registry-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
#appShell.control-shell .validation-registry-search-wrap{width:min(100%,420px);height:38px}
#appShell.control-shell .validation-registry-search-wrap i{left:13px;top:50%;transform:translateY(-50%);z-index:2}
#appShell.control-shell #validationRegistrySearch{height:38px;box-sizing:border-box}
#appShell.control-shell .validation-registry-filter-label{display:flex;align-items:center;justify-content:center;gap:8px}
#appShell.control-shell #validationRegistryFilter{min-width:150px;height:34px}

/* Corrección Recepción: selectores de pago completos y checkbox en una sola línea */
#appShell.control-shell #recordEditor #paymentDetails .relative:has(> select) {
  width: 100% ;
  min-width: 0 ;
  overflow: visible ;
}
#appShell.control-shell #recordEditor #paymentDetails select#methodInput,
#appShell.control-shell #recordEditor #paymentDetails select#paymentDeliveredToInput {
  display: block ;
  width: 100% ;
  min-width: 0 ;
  max-width: none ;
  height: 42px ;
  min-height: 42px ;
  box-sizing: border-box ;
  padding-left: 2.5rem ;
  padding-right: 2.5rem ;
  white-space: nowrap ;
  overflow: visible ;
  text-overflow: clip ;
  background: #ffffff ;
  background-color: #ffffff ;
  color: #334155 ;
  font-family: 'Plus Jakarta Sans', sans-serif ;
  font-size: .75rem ;
  font-weight: 400 ;
}
#appShell.control-shell #recordEditor #paymentDetails select#methodInput option,
#appShell.control-shell #recordEditor #paymentDetails select#paymentDeliveredToInput option {
  white-space: nowrap ;
  color: #0f172a ;
  background: #ffffff ;
}
#appShell.control-shell #recordEditor label[for="paidInput"],
#appShell.control-shell #recordEditor #paidInput {
  box-sizing: border-box ;
}
#appShell.control-shell #recordEditor label:has(> #paidInput) {
  display: flex ;
  flex-direction: row ;
  flex-wrap: nowrap ;
  align-items: center ;
  justify-content: flex-start ;
  gap: .75rem ;
  width: 100% ;
  min-height: 48px ;
  white-space: nowrap ;
}
#appShell.control-shell #recordEditor label:has(> #paidInput) > span {
  display: inline-flex ;
  align-items: center ;
  flex: 1 1 auto ;
  min-width: 0 ;
  white-space: nowrap ;
}
#appShell.control-shell #recordEditor label:has(> #paidInput) > span i {
  flex: 0 0 auto ;
}

/* Filtro de estados de Recepción: una línea legible y opciones completas */
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect {
  width: 190px ;
  min-width: 190px ;
  max-width: 190px ;
  height: 40px ;
  min-height: 40px ;
  padding-left: .75rem ;
  padding-right: 2rem ;
  font-size: .75rem ;
  line-height: 1.2 ;
  white-space: nowrap ;
  overflow: visible ;
  text-overflow: clip ;
}
#appShell.control-shell #recepcionAvaluosSection #statusViewSelect option {
  white-space: nowrap ;
  min-width: 190px ;
  color: #0f172a ;
  background: #ffffff ;
}
@media (max-width: 700px) {
  #appShell.control-shell #recepcionAvaluosSection #statusViewSelect {
    width: 100% ;
    min-width: 0 ;
    max-width: none ;
  }
}

/* La cuadrícula reserva el ancho real del filtro para evitar recortes o empalmes */
@media (min-width: 701px) {
  #appShell.control-shell #recepcionAvaluosSection > .request-style-filter-panel .search-row {
    grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr) 190px auto ;
  }
}


/* ============================================================================
   CP6 · NUEVO DISEÑO OPERATIVO AISLADO · v1.0.35
   Solo afecta al shell autenticado. No toca login, portal externo ni modales públicos.
   ============================================================================ */
#appShell.control-shell{--cp6-blue:#2563eb;--cp6-navy:#0f172a;--cp6-ink:#172033;--cp6-muted:#64748b;--cp6-line:#e5eaf2;--cp6-surface:#fff;--cp6-canvas:#f6f8fb;background:var(--cp6-canvas);color:var(--cp6-ink)}
#appShell.control-shell .app-workspace{background:var(--cp6-canvas);max-width:none;padding:28px clamp(18px,3vw,48px) 56px;width:100%}
#appShell.control-shell .workspace-header{align-items:flex-end;background:transparent;border:0;box-shadow:none;margin:0 auto 20px;max-width:1520px;padding:0 0 2px}
#appShell.control-shell .workspace-header h1,#appShell.control-shell .avaluos-section-heading h2,#appShell.control-shell .solicitudes-heading h2,#appShell.control-shell .section-heading h2{color:var(--cp6-navy);font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,sans-serif;letter-spacing:-.035em}
#appShell.control-shell .workspace-header h1{font-size:clamp(1.5rem,2vw,2rem)}
#appShell.control-shell .workspace-description,#appShell.control-shell .avaluos-section-heading p,#appShell.control-shell .solicitudes-heading p,#appShell.control-shell .section-heading p{color:var(--cp6-muted);font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,sans-serif}
#appShell.control-shell #avaluosView,#appShell.control-shell #avaluosMenuSection,#appShell.control-shell #recepcionAvaluosSection,#appShell.control-shell #crearAvaluoSection,#appShell.control-shell #solicitudesView,#appShell.control-shell #avaluosAuthorizedFoliosPanel{max-width:1520px;margin-left:auto;margin-right:auto;width:100%}
#appShell.control-shell .avaluos-section-heading{margin:0 0 22px;padding:0}
#appShell.control-shell .avaluos-section-heading h2{font-size:clamp(1.55rem,2.4vw,2.25rem);font-weight:800;margin:0}
#appShell.control-shell .avaluos-section-heading h2 span{color:var(--cp6-blue)}
#appShell.control-shell .avaluos-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:100%}
#appShell.control-shell .avaluos-choice-card{align-items:flex-start;background:var(--cp6-surface);border:1px solid var(--cp6-line);border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.055);color:var(--cp6-ink);min-height:190px;padding:22px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
#appShell.control-shell .avaluos-choice-card:hover,#appShell.control-shell .avaluos-choice-card:focus-visible{border-color:rgba(37,99,235,.38);box-shadow:0 18px 38px rgba(37,99,235,.12);transform:translateY(-3px)}
#appShell.control-shell .avaluos-choice-icon{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;color:var(--cp6-blue);display:inline-flex;height:54px;justify-content:center;margin-bottom:18px;width:54px}
#appShell.control-shell .avaluos-choice-icon svg{height:27px;width:27px}
#appShell.control-shell .avaluos-choice-copy{display:flex;flex:1;flex-direction:column;gap:7px}
#appShell.control-shell .avaluos-choice-copy strong{color:var(--cp6-navy);font:700 1rem/1.25 "Plus Jakarta Sans",Inter,system-ui,sans-serif}
#appShell.control-shell .avaluos-choice-copy small{color:var(--cp6-muted);font:400 .78rem/1.55 "Plus Jakarta Sans",Inter,system-ui,sans-serif}
#appShell.control-shell .avaluos-choice-arrow{color:var(--cp6-blue);font-size:1.45rem;margin-left:auto;margin-top:auto}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel,#appShell.control-shell #crearAvaluoSection>.technical-search-panel,#appShell.control-shell .solicitudes-heading,#appShell.control-shell .request-filter-row{background:var(--cp6-surface);border:1px solid var(--cp6-line);border-radius:20px;box-shadow:0 10px 26px rgba(15,23,42,.055)}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel{margin:0 0 14px;padding:14px 18px;position:static}
#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{align-items:center;display:grid;gap:14px;grid-template-columns:auto minmax(260px,1fr) minmax(180px,220px) auto;width:100%}
#appShell.control-shell .reception-filter-title{gap:11px}
#appShell.control-shell .reception-filter-title strong{color:var(--cp6-navy);font:800 1.18rem/1 "Plus Jakarta Sans",Inter,system-ui,sans-serif;text-shadow:none}
#appShell.control-shell .reception-filter-title-icon{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;box-shadow:none;color:var(--cp6-blue);height:42px;width:42px}
#appShell.control-shell .reception-search-input-wrap{max-width:none;width:100%}
#appShell.control-shell #searchInput,#appShell.control-shell #technicalSearchInput,#appShell.control-shell #requestSearchInput,#appShell.control-shell #validationRegistrySearch{background:#fff;border:1px solid #dbe3ee;border-radius:999px;box-shadow:none;color:var(--cp6-ink);font:400 .78rem/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;min-height:42px;outline:0;padding:0 16px 0 40px;transition:border-color .18s ease,box-shadow .18s ease;width:100%}
#appShell.control-shell #searchInput:focus,#appShell.control-shell #technicalSearchInput:focus,#appShell.control-shell #requestSearchInput:focus,#appShell.control-shell #validationRegistrySearch:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
#appShell.control-shell #statusViewSelect,#appShell.control-shell #technicalStatusFilter,#appShell.control-shell #requestStatusFilter,#appShell.control-shell #validationRegistryFilter{background:#fff;border:1px solid #dbe3ee;border-radius:12px;color:#334155;font:500 .75rem/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;height:42px;min-height:42px;max-width:none;white-space:nowrap}
#appShell.control-shell #statusViewSelect{min-width:0;width:100%}
#appShell.control-shell .reception-filter-actions{gap:9px;justify-content:flex-end;white-space:nowrap}
#appShell.control-shell .reception-filter-actions button,#appShell.control-shell .solicitudes-heading-actions button,#appShell.control-shell .workspace-actions button{border-radius:12px;font:700 .78rem/1 "Plus Jakarta Sans",Inter,system-ui,sans-serif;min-height:42px;padding:0 16px}
#appShell.control-shell #backAvaluosButton{background:var(--cp6-navy);color:#fff}
#appShell.control-shell #newRecordButton,#appShell.control-shell #newTechnicalAppraisalButton,#appShell.control-shell #newInternalRequestButton{background:var(--cp6-blue);color:#fff}
#appShell.control-shell #statusRecordList,#appShell.control-shell #technicalAppraisalList,#appShell.control-shell #serviceRequestsTable{width:100%}
#appShell.control-shell .operational-table-wrap,#appShell.control-shell #serviceRequestsTable .request-table-wrap,#appShell.control-shell .request-table-wrap{background:var(--cp6-surface);border:1px solid var(--cp6-line);border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.055);overflow-x:auto;overflow-y:hidden;position:relative;width:100%}
#appShell.control-shell .operational-table-wrap:before,#appShell.control-shell #serviceRequestsTable .request-table-wrap:before,#appShell.control-shell .request-table-wrap:before{background:linear-gradient(90deg,#2563eb,#60a5fa);content:"";display:block;height:4px;left:0;position:absolute;right:0;top:0;z-index:1}
#appShell.control-shell .operational-table,#appShell.control-shell .request-table-wrap table,#appShell.control-shell #serviceRequestsTable table{border-collapse:separate;border-spacing:0;min-width:980px;width:100%}
#appShell.control-shell .operational-table thead th,#appShell.control-shell .request-table-wrap thead th,#appShell.control-shell #serviceRequestsTable thead th{background:#f8fbff;border-bottom:1px solid #e8eef6;color:#64748b;font:700 .66rem/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;letter-spacing:.08em;padding:15px 17px;text-transform:uppercase;white-space:nowrap}
#appShell.control-shell .operational-table tbody td,#appShell.control-shell .request-table-wrap tbody td,#appShell.control-shell #serviceRequestsTable tbody td{background:#fff;border-bottom:1px solid #eef2f7;color:#334155;font:400 .78rem/1.35 "Plus Jakarta Sans",Inter,system-ui,sans-serif;padding:13px 17px;vertical-align:middle;white-space:nowrap}
#appShell.control-shell .operational-table tbody tr:last-child td,#appShell.control-shell .request-table-wrap tbody tr:last-child td,#appShell.control-shell #serviceRequestsTable tbody tr:last-child td{border-bottom:0}
#appShell.control-shell .operational-table tbody tr:hover td,#appShell.control-shell .request-table-wrap tbody tr:hover td,#appShell.control-shell #serviceRequestsTable tbody tr:hover td{background:#f8fbff}
#appShell.control-shell .operational-table .request-folio-cell,#appShell.control-shell .request-table-wrap .request-folio-cell,#appShell.control-shell .request-table-wrap td:first-child{color:var(--cp6-blue);font-weight:800}
#appShell.control-shell .operational-table .money-cell,#appShell.control-shell .request-table-wrap .money-cell{color:#059669;font-weight:700}
#appShell.control-shell .cp6-cell-with-icon{align-items:center;display:inline-flex;gap:9px}
#appShell.control-shell .cp6-cell-with-icon svg,#appShell.control-shell .cp6-cell-with-icon i{color:#60a5fa;font-size:.82rem}
#appShell.control-shell .avaluo-status,#appShell.control-shell .status-badge,#appShell.control-shell .status-dot,#appShell.control-shell .request-status-badge{border-radius:999px;display:inline-flex;font:700 .68rem/1 "Plus Jakarta Sans",Inter,system-ui,sans-serif;padding:7px 10px;white-space:nowrap}
#appShell.control-shell .table-action-cell{text-align:right}
#appShell.control-shell .table-action-cell button,#appShell.control-shell .record-action,#appShell.control-shell .table-action-button{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:9px;color:var(--cp6-blue);display:inline-flex;height:32px;justify-content:center;margin-left:5px;width:32px}
#appShell.control-shell .table-action-cell button:hover,#appShell.control-shell .record-action:hover,#appShell.control-shell .table-action-button:hover{background:#dbeafe;transform:translateY(-1px)}
#appShell.control-shell .table-pagination{color:#64748b;font:500 .7rem "Plus Jakarta Sans",Inter,system-ui,sans-serif;padding:13px 17px}
#appShell.control-shell #crearAvaluoSection>.technical-search-panel{margin:0 0 14px;padding:14px 18px}
#appShell.control-shell #crearAvaluoSection>.technical-search-panel .search-row{display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) 220px}
#appShell.control-shell #technicalListPanel .dashboard-tabs{margin:0}
#appShell.control-shell #technicalListPanel .status-list-heading{background:transparent;border:0;box-shadow:none;margin:0 0 12px;padding:0}
#appShell.control-shell #technicalListPanel .status-list-heading h2{font-size:1.05rem}
#appShell.control-shell .solicitudes-heading{align-items:center;margin:0 0 14px;padding:18px 20px}
#appShell.control-shell .solicitudes-heading h2{font-size:1.35rem;margin:0 0 4px}
#appShell.control-shell .solicitudes-heading-actions{gap:9px}
#appShell.control-shell .request-filter-row{display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) 220px;margin:0 0 14px;padding:12px 16px}
#appShell.control-shell .request-filter-row input{min-height:42px}
#appShell.control-shell #avaluosAuthorizedFoliosPanel{background:transparent;border:0;box-shadow:none;padding:0}
#appShell.control-shell #avaluosAuthorizedFoliosPanel .validation-authorize-form{background:var(--cp6-ui-surface,#fff);border:1px solid var(--cp6-line);border-radius:20px;box-shadow:0 10px 26px rgba(15,23,42,.055);padding:18px}
#appShell.control-shell #validationRegistrySection{background:transparent;border:0;box-shadow:none;padding:0}
#appShell.control-shell #validationRegistryList{background:#fff;border:1px solid var(--cp6-line);border-radius:20px;box-shadow:0 12px 30px rgba(15,23,42,.055);margin-top:12px;overflow-x:auto}
@media(max-width:1100px){#appShell.control-shell .avaluos-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{grid-template-columns:auto minmax(220px,1fr) 180px}#appShell.control-shell .reception-filter-actions{grid-column:1/-1;justify-self:end}}
@media(max-width:700px){#appShell.control-shell .app-workspace{padding:20px 12px 40px}#appShell.control-shell .avaluos-choice-grid,#appShell.control-shell #crearAvaluoSection>.technical-search-panel .search-row,#appShell.control-shell .request-filter-row{grid-template-columns:1fr}#appShell.control-shell #recepcionAvaluosSection>.request-style-filter-panel .search-row{display:flex;flex-wrap:wrap}#appShell.control-shell .reception-filter-title,#appShell.control-shell .reception-search-input-wrap,#appShell.control-shell #statusViewSelect,#appShell.control-shell .reception-filter-actions{flex:1 1 100%;width:100%}#appShell.control-shell .reception-filter-actions{justify-content:stretch}#appShell.control-shell .reception-filter-actions button{flex:1}#appShell.control-shell .solicitudes-heading{align-items:stretch;flex-direction:column}#appShell.control-shell .solicitudes-heading-actions{display:flex}#appShell.control-shell .solicitudes-heading-actions button{flex:1}}


/* CP6 Home administrativo — integración visual aislada, sin tocar Login ni portal externo */
#appShell.control-shell #inicioView.cp6-home-view { align-items: stretch ; display: block ; font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif ; max-width: none ; padding: 22px clamp(22px, 3vw, 52px) 42px ; width: 100% ; }
#appShell.control-shell #inicioView.cp6-home-view > * { max-width: none ; width: 100% ; }
.cp6-home-hero { background: linear-gradient(115deg, #0f172a 0%, #172554 57%, #2563eb 100%); border-radius: 26px; color: #fff; display: flex; justify-content: space-between; min-height: 240px; overflow: hidden; padding: clamp(28px, 4vw, 48px); position: relative; box-shadow: 0 22px 48px rgba(15,23,42,.18); }
.cp6-home-hero-copy { max-width: 650px; position: relative; z-index: 2; }
.cp6-home-eyebrow,.cp6-section-kicker { color: #93c5fd; font-size: .67rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.cp6-home-eyebrow { align-items: center; display: inline-flex; gap: 8px; }
.cp6-live-dot { background: #4ade80; border-radius: 999px; box-shadow: 0 0 0 5px rgba(74,222,128,.16); height: 7px; width: 7px; }
.cp6-home-hero h2 { color: #fff ; font-family: "Plus Jakarta Sans", Inter, sans-serif ; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 ; letter-spacing: -.055em; line-height: 1.03; margin: 18px 0 12px; max-width: 650px; }
.cp6-home-hero h2 span { color: #93c5fd; }
.cp6-home-hero .welcome-copy { color: #cbd5e1 ; font-size: .92rem; line-height: 1.6; margin: 0; max-width: 530px; }
.cp6-home-user { align-items: center; color: #cbd5e1; display: flex; font-size: .77rem; gap: 9px; margin-top: 22px; }
.cp6-home-user strong { color: #fff; font-weight: 600; }
.cp6-avatar { align-items: center; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; display: inline-flex; height: 28px; justify-content: center; width: 28px; }
.cp6-avatar i { color: #bfdbfe; font-size: 12px; }
.cp6-home-hero-art { height: 220px; position: absolute; right: 6%; top: 10px; width: 360px; }
.cp6-orbit { border: 1px solid rgba(191,219,254,.22); border-radius: 50%; position: absolute; transform: rotate(-22deg); }
.cp6-orbit-one { height: 340px; right: -25px; top: -56px; width: 340px; }.cp6-orbit-two { height: 250px; right: 24px; top: -12px; width: 250px; }
.cp6-hero-chart { align-items: end; bottom: 30px; display: flex; gap: 10px; height: 120px; position: absolute; right: 72px; transform: rotate(-8deg); width: 180px; }
.cp6-hero-chart span { background: linear-gradient(180deg, #bfdbfe, rgba(147,197,253,.18)); border-radius: 8px 8px 2px 2px; box-shadow: 0 8px 24px rgba(147,197,253,.18); flex: 1; min-height: 20px; }
.cp6-floating-badge { align-items: center; backdrop-filter: blur(12px); background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #e0f2fe; display: inline-flex; font-size: .68rem; gap: 7px; padding: 9px 12px; position: absolute; white-space: nowrap; }.cp6-badge-top { right: 6px; top: 34px; }.cp6-badge-bottom { bottom: 24px; left: 0; }.cp6-floating-badge i { color: #bfdbfe; }
.cp6-home-grid { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .85fr); margin-top: 22px; }
.cp6-home-main-column,.cp6-home-side-column { display: grid; gap: 22px; min-width: 0; }.cp6-section-heading,.cp6-card-heading { align-items: center; display: flex; justify-content: space-between; gap: 16px; }.cp6-section-heading h3,.cp6-card-heading h3 { color: #0f172a; font-size: 1.05rem; font-weight: 700; letter-spacing: -.025em; margin: 4px 0 0; }.cp6-section-kicker { color: #64748b; display: block; font-size: .61rem; }.cp6-status-badge { align-items: center; background: #ecfdf5; border: 1px solid #bbf7d0; border-radius: 999px; color: #15803d; display: inline-flex; font-size: .68rem; gap: 7px; padding: 7px 10px; white-space: nowrap; }.cp6-status-badge span { background: #22c55e; border-radius: 50%; height: 6px; width: 6px; }.cp6-status-badge.is-offline { background: #fff7ed; border-color: #fed7aa; color: #c2410c; }.cp6-status-badge.is-offline span { background: #f97316; }
.cp6-kpi-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }.cp6-kpi-card,.cp6-chart-card,.cp6-requests-card,.cp6-quick-card,.cp6-activity-card,.cp6-install-card { background: rgba(255,255,255,.96); border: 1px solid #e2e8f0; border-radius: 20px; box-shadow: 0 12px 30px rgba(15,23,42,.055); }.cp6-kpi-card { align-items: flex-start; display: flex; gap: 11px; min-width: 0; padding: 17px 15px; position: relative; transition: transform .2s ease, box-shadow .2s ease; }.cp6-kpi-card:hover { box-shadow: 0 18px 36px rgba(15,23,42,.1); transform: translateY(-3px); }.cp6-kpi-icon,.cp6-quick-icon { align-items: center; border-radius: 12px; display: inline-flex; flex: 0 0 auto; height: 37px; justify-content: center; width: 37px; }.cp6-kpi-icon { background: #eff6ff; color: #2563eb; }.cp6-kpi-amber .cp6-kpi-icon { background: #fff7ed; color: #ea580c; }.cp6-kpi-green .cp6-kpi-icon { background: #ecfdf5; color: #16a34a; }.cp6-kpi-violet .cp6-kpi-icon { background: #f5f3ff; color: #7c3aed; }.cp6-kpi-card span,.cp6-kpi-card small { color: #64748b; display: block; font-size: .66rem; line-height: 1.35; }.cp6-kpi-card strong { color: #0f172a; display: block; font-size: 1.55rem; letter-spacing: -.04em; line-height: 1.05; margin: 4px 0; }.cp6-kpi-corner { color: #cbd5e1; font-size: 10px; margin-left: auto; }
.cp6-chart-card,.cp6-requests-card,.cp6-quick-card,.cp6-activity-card { padding: 21px; }.cp6-card-caption { color: #94a3b8; font-size: .69rem; }.cp6-bars-chart { align-items: end; display: flex; gap: clamp(11px, 2vw, 24px); height: 170px; justify-content: space-around; margin-top: 24px; padding: 0 10px 0 4px; }.cp6-bar-column { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: end; max-width: 60px; }.cp6-bar-value { color: #2563eb; font-size: .68rem; height: 16px; }.cp6-bar-track { align-items: end; background: #f1f5f9; border-radius: 8px 8px 3px 3px; display: flex; height: 126px; margin: 3px 0 8px; overflow: hidden; width: 100%; }.cp6-bar-track span { animation: cp6BarRise .65s cubic-bezier(.23,1,.32,1) both; background: linear-gradient(180deg,#60a5fa,#2563eb); border-radius: 8px 8px 3px 3px; display: block; width: 100%; }.cp6-bar-column small { color: #94a3b8; font-size: .65rem; text-transform: capitalize; }@keyframes cp6BarRise { from { transform: scaleY(.08); transform-origin: bottom; } to { transform: scaleY(1); transform-origin: bottom; } }
.cp6-text-action { background: transparent; border: 0; color: #2563eb; cursor: pointer; font-size: .72rem; font-weight: 700; padding: 5px; }.cp6-text-action i { margin-left: 4px; }.cp6-home-request-table { margin-top: 16px; overflow: auto; }.cp6-home-request-table .request-table-wrap,.cp6-home-request-table .request-table { min-width: 0 ; width: 100% ; }.cp6-home-request-table .request-table th { background: #f8fafc ; color: #64748b ; font-size: .62rem ; }.cp6-home-request-table .request-table td { font-size: .74rem ; padding: 10px 12px ; }
.cp6-quick-card { background: linear-gradient(145deg,#ffffff,#f8fbff); }.cp6-quick-grid { display: grid; gap: 8px; margin-top: 18px; }.cp6-quick-grid button { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 14px; cursor: pointer; display: flex; gap: 10px; padding: 10px 8px; text-align: left; transition: background .18s ease, border-color .18s ease, transform .18s ease; width: 100%; }.cp6-quick-grid button:hover { background: #fff; border-color: #dbeafe; transform: translateX(3px); }.cp6-quick-grid button > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }.cp6-quick-grid strong { color: #0f172a; font-size: .75rem; }.cp6-quick-grid small { color: #94a3b8; font-size: .65rem; }.cp6-quick-grid button > i:last-child { color: #94a3b8; font-size: 11px; margin-left: auto; }.cp6-quick-icon { height: 34px; width: 34px; }.cp6-quick-icon.blue { background: #eff6ff; color: #2563eb; }.cp6-quick-icon.indigo { background: #eef2ff; color: #4f46e5; }.cp6-quick-icon.sky { background: #ecfeff; color: #0891b2; }.cp6-quick-icon.violet { background: #f5f3ff; color: #7c3aed; }
.cp6-activity-list { display: grid; gap: 2px; margin-top: 14px; }.cp6-activity-item { align-items: center; display: flex; gap: 10px; padding: 9px 0; }.cp6-activity-icon { align-items: center; border-radius: 10px; display: inline-flex; flex: 0 0 auto; height: 31px; justify-content: center; width: 31px; }.cp6-activity-icon.blue { background: #eff6ff; color: #2563eb; }.cp6-activity-icon.green { background: #ecfdf5; color: #16a34a; }.cp6-activity-icon.violet { background: #f5f3ff; color: #7c3aed; }.cp6-activity-item > div { display: grid; gap: 2px; min-width: 0; }.cp6-activity-item strong { color: #334155; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.cp6-activity-item small,.cp6-activity-item time { color: #94a3b8; font-size: .63rem; }.cp6-activity-item time { margin-left: auto; white-space: nowrap; }.cp6-empty-state { color: #94a3b8; font-size: .76rem; margin: 14px 0 0; }.cp6-install-card { align-items: center; display: flex; gap: 12px; justify-content: space-between; padding: 18px; }.cp6-install-card h3 { color: #0f172a; font-size: .9rem; margin: 5px 0; }.cp6-install-card p { color: #64748b; font-size: .68rem; line-height: 1.45; margin: 0; }.cp6-install-card .mobile-qr-wrap { border: 0; padding: 0; }.cp6-install-card .mobile-qr-wrap img { height: 88px; width: 88px; }
@media (max-width: 1120px) { .cp6-home-grid { grid-template-columns: 1fr; }.cp6-home-side-column { grid-template-columns: repeat(2,minmax(0,1fr)); }.cp6-install-card { grid-column: span 2; } }
@media (max-width: 760px) { #appShell.control-shell #inicioView.cp6-home-view { padding: 14px 14px 30px ; }.cp6-home-hero { min-height: 270px; padding: 25px 22px; }.cp6-home-hero-art { opacity: .45; right: -115px; }.cp6-home-grid,.cp6-home-side-column { grid-template-columns: 1fr; }.cp6-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.cp6-install-card { grid-column: auto; }.cp6-home-hero h2 { font-size: 2rem; }.cp6-section-heading { align-items: flex-start; flex-direction: column; } }

}
