:root{
    --bg:#f3f3f3;
    --surface:#ffffff;
    --text:#1d2531;
    --muted:#6c7285;
    --line:#eaecef;
    --line-strong:#c7cad1;
    --nav:#1d2531;
    --nav-active:#384359;
    --nav-text:#eaecef;
    --secondary:#384359;
    --secondary-soft:#eef0f4;
    --primary:#ee4665;
    --primary-dark:#d83a58;
    --primary-soft:#fde9ee;
    --warning:#8a6419;
    --warning-bg:#fff4d8;
    --danger:#9b3737;
    --danger-bg:#fbe7e7;
    --shadow:0 12px 34px rgba(29,37,49,.08)
}
*{box-sizing:border-box}
body{margin:0;font-family:Calibri,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:var(--nav-text);padding:28px 20px;display:flex;flex-direction:column}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-decoration:none;padding:1px 8px 28px}
.brand-logo{display:block;max-width:100%;height:auto}
.brand-logo-white{width:158px}
.brand-caption{font-size:12px;line-height:1;color:var(--line-strong);letter-spacing:.045em;text-transform:uppercase}
.nav{display:grid;gap:7px}
.nav a{padding:12px 14px;border-radius:9px;text-decoration:none;color:var(--nav-text);transition:background-color .18s ease,color .18s ease}
.nav a:hover,.nav a.active{background:var(--nav-active);color:#fff}
.sidebar-footer{margin-top:auto;padding:18px 10px 0;border-top:1px solid rgba(234,236,239,.18)}
.sidebar-footer span,.sidebar-footer small{display:block}
.sidebar-footer small{color:var(--line-strong);margin:3px 0 10px}
.link-button{border:0;background:none;color:var(--nav-text);padding:0;cursor:pointer}
.link-button:hover{color:#fff}
.main-content{min-width:0}
.topbar{padding:28px 34px 21px;background:rgba(255,255,255,.78);border-bottom:1px solid var(--line)}
.topbar h1{margin:0;font-size:28px;color:var(--text)}
.topbar p{margin:6px 0 0;color:var(--muted)}
.page-content{padding:28px 34px 50px}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:21px;box-shadow:0 5px 20px rgba(29,37,49,.04)}
.kpi span,.kpi small{display:block;color:var(--muted)}
.kpi strong{display:block;font-size:34px;margin:8px 0 4px;color:var(--text)}
.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);gap:20px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 20px rgba(29,37,49,.04);padding:22px}
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.panel-header h2{margin:0;font-size:20px}
.panel-header p{margin:4px 0 0;color:var(--muted)}
.bar-list{display:grid;gap:11px}
.bar-row{display:grid;grid-template-columns:minmax(165px,1fr) 1.5fr 34px;align-items:center;gap:12px;font-size:14px}
.bar-track{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.bar-track i{display:block;height:100%;background:var(--primary);border-radius:99px}
.task-list{display:grid;gap:10px}
.task-list a{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;text-decoration:none;border:1px solid var(--line);padding:13px;border-radius:10px;transition:.18s ease}
.task-list a:hover{border-color:var(--primary);background:var(--primary-soft)}
.task-list strong{font-size:23px;color:var(--primary)}
.note-box{margin-top:18px;padding:15px;background:var(--secondary-soft);border-radius:10px}
.note-box p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.filters{display:grid;grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(175px,.72fr));gap:12px;align-items:end;margin-bottom:18px}
.filters>div,.filters>label{min-width:0}
.filters label:not(.checkbox){display:block;margin:0 0 6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}
.filters input,.filters select,.form-stack input{width:100%;font:inherit;color:var(--text);border:1px solid var(--line-strong);border-radius:9px;padding:11px 12px;background:#fff;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.filters input:focus,.filters select:focus,.form-stack input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.13)}
.checkbox{display:flex;align-items:center;gap:8px;min-height:43px;padding:0 5px;color:var(--text)}
.checkbox input{width:auto;accent-color:var(--primary)}
.filter-actions{display:flex;gap:9px;grid-column:1/-1}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:9px;padding:10px 15px;background:#fff;text-decoration:none;color:var(--text);font:inherit;cursor:pointer;transition:.18s ease}
.button:hover{border-color:var(--secondary);background:var(--secondary-soft)}
.button-primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.button-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.button-ghost{background:transparent}
.table-panel{padding:0;overflow:hidden}
.table-panel .panel-header{padding:21px 22px 0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:13px 14px;text-align:left;border-top:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);background:#f8f8f9;font-weight:700;white-space:nowrap}
td small{display:block;color:var(--muted);margin-top:3px}
.table-link{font-weight:700;color:var(--secondary);text-decoration:none}
.table-link:hover{color:var(--primary)}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--secondary-soft);border-radius:6px;padding:4px 7px;white-space:nowrap;color:var(--secondary)}
.badge{display:inline-block;border-radius:99px;padding:5px 9px;font-size:12px;line-height:1.2;background:var(--secondary-soft);color:var(--secondary)}
.badge-primary{background:var(--primary-soft);color:#b92d49}
.badge-success{background:var(--secondary-soft);color:var(--secondary)}
.badge-warning{background:var(--warning-bg);color:var(--warning)}
.badge-danger{background:var(--danger-bg);color:var(--danger)}
.badge-neutral{background:#eef0f3;color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:28px}
.pagination{display:flex;gap:5px;flex-wrap:wrap;padding:16px 22px;border-top:1px solid var(--line)}
.pagination a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;text-decoration:none}
.pagination a:hover{border-color:var(--primary);color:var(--primary)}
.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.toolbar{margin-bottom:15px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:20px}
.entity-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}
.entity-heading h2{font-size:30px;margin:11px 0 4px}
.entity-heading p{margin:0;color:var(--muted)}
.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
.detail-list div{padding:16px 0;border-bottom:1px solid var(--line)}
.detail-list div:nth-child(odd){padding-right:20px}
.detail-list dt{font-size:13px;color:var(--muted);margin-bottom:6px}
.detail-list dd{margin:0}
.text-block{padding-top:20px}
.text-block h3{font-size:16px;margin:0 0 8px}
.text-block p{line-height:1.55;margin:0}
.source-list{display:grid;gap:9px}
.source-list a{border:1px solid var(--line);border-radius:9px;padding:12px;text-decoration:none;overflow-wrap:anywhere;transition:.18s ease}
.source-list a:hover{background:var(--primary-soft);border-color:var(--primary)}
.source-list span,.source-list small{display:block}
.source-list small{color:var(--muted);margin-top:5px}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;box-shadow:0 5px 20px rgba(29,37,49,.04);transition:.18s ease}
.project-card:hover{border-color:var(--primary);transform:translateY(-1px)}
.project-card h2{margin:15px 0 4px}
.project-card>p{margin:0 0 20px;color:var(--muted)}
.project-card dl{margin:0;display:grid;gap:11px}
.project-card dl div{display:grid;grid-template-columns:90px 1fr;gap:10px}
.project-card dt{color:var(--muted)}
.project-card dd{margin:0}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.tag-list span{background:var(--secondary-soft);color:var(--secondary);border-radius:99px;padding:7px 10px;font-size:13px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at top,#fff,var(--bg) 56%)}
.auth-card{width:100%;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:var(--shadow)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.auth-brand-stacked{display:block}
.auth-logo{display:block;width:225px;max-width:100%;height:auto;margin-bottom:12px}
.auth-brand-stacked>span{display:block;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.055em}
.auth-card h1{margin:0 0 7px;font-size:28px}
.auth-card>p{margin:0 0 22px;color:var(--muted)}
.form-stack{display:grid;gap:14px}
.form-stack label{display:grid;gap:6px;font-weight:700}
.alert{padding:12px 14px;border-radius:9px;margin:0 0 16px}
.alert-danger{background:var(--danger-bg);color:var(--danger)}
.alert-success{background:var(--secondary-soft);color:var(--secondary)}
.security-note{margin-top:18px!important;font-size:14px}
.auth-card .button{width:100%}
@media(max-width:1180px){.filters{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(170px,.7fr))}.filters>div:nth-of-type(4){grid-column:auto}.filter-actions{grid-column:1/-1}}
@media(max-width:1000px){.app-shell{grid-template-columns:190px 1fr}.brand-logo-white{width:140px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.detail-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}.page-content,.topbar{padding-left:22px;padding-right:22px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:1/-1}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:15px}.brand{padding:0 7px 15px}.brand-logo-white{width:135px}.nav{grid-template-columns:repeat(3,1fr)}.nav a{text-align:center;padding:10px 5px}.sidebar-footer{display:none}.kpi-grid{grid-template-columns:1fr}.page-content{padding:18px 14px}.topbar{padding:20px 15px}.filters{grid-template-columns:1fr}.filter-search,.filter-actions{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.detail-list{grid-template-columns:1fr}.detail-list div:nth-child(odd){padding-right:0}.bar-row{grid-template-columns:130px 1fr 30px}}


/* ---------- Proyectos v0.3 ---------- */
.toolbar-split{display:flex;align-items:center;justify-content:space-between;gap:12px}
.page-alert{margin-bottom:16px}
.project-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-card-v03{display:flex;flex-direction:column;min-height:330px}
.project-card-head{margin-bottom:20px}
.project-card-subtitle{display:block;margin-top:16px;font-size:14px;font-weight:700;color:var(--text)}
.project-card-v03 h2{margin:3px 0 4px;font-size:26px}
.project-card-v03 .project-card-head>p{margin:0;color:var(--muted);line-height:1.4}
.project-card-data{display:grid;gap:10px;margin:0 0 22px}
.project-card-data div{display:grid;grid-template-columns:145px 1fr;gap:12px}
.project-card-data dt{color:var(--muted)}
.project-card-data dd{margin:0;font-weight:700}
.project-card-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.project-card-footer span,.project-card-footer strong{display:block}
.project-card-footer span{font-size:12px;color:var(--muted);margin-bottom:4px}
.project-card-footer strong{font-size:16px}
.project-mini-progress{height:7px;margin-top:14px;border-radius:99px;background:var(--line);overflow:hidden}
.project-mini-progress i{display:block;height:100%;background:var(--primary);border-radius:99px}
.project-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:20px}
.project-summary-panel{padding:28px}
.project-heading{border-bottom:0;padding-bottom:0}
.project-heading .project-eyebrow{display:block;margin-top:15px;font-size:14px;font-weight:700}
.project-heading h2{margin:3px 0 5px}
.project-summary-text{margin:22px 0;line-height:1.55;color:var(--text)}
.project-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin:22px 0}
.project-stats div{padding:15px 12px;text-align:center;border-right:1px solid var(--line-strong)}
.project-stats div:last-child{border-right:0}
.project-stats span,.project-stats strong{display:block}
.project-stats span{font-size:12px;color:var(--muted);min-height:30px}
.project-stats strong{font-size:22px;margin-top:5px}
.lease-summary-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px;background:#f8f8fa;border:1px solid var(--line);border-radius:12px}
.lease-kpi>span,.lease-kpi>strong,.lease-kpi>small{display:block}
.lease-kpi>span{font-size:13px;color:var(--muted)}
.lease-kpi>strong{font-size:24px;margin-top:6px}
.lease-kpi>small{color:var(--muted);margin-top:5px}
.segmented-progress{display:flex;height:10px;margin-top:10px;border:1px solid var(--line-strong);background:#fff;overflow:hidden}
.segmented-progress i{display:block;height:100%;min-width:0}
.segmented-progress .status-leased,.progress-legend .status-leased{background:#ee4665}
.segmented-progress .status-reserved,.progress-legend .status-reserved{background:#9eabc4}
.segmented-progress .status-negotiation,.progress-legend .status-negotiation{background:#f4b2c0}
.segmented-progress .status-available,.progress-legend .status-available{background:#eaecef}
.progress-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px;font-size:11px;color:var(--muted)}
.progress-legend span{display:flex;align-items:center;gap:5px}
.progress-legend i{width:8px;height:8px;border-radius:2px}
.project-status-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.project-status-summary div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.project-status-summary span,.project-status-summary strong,.project-status-summary small{display:block}
.project-status-summary span{font-size:12px;color:var(--muted)}
.project-status-summary strong{margin:5px 0 2px}
.project-status-summary small{color:var(--muted)}
.project-categories-panel{min-height:100%}
.tag-list-links a{background:var(--secondary-soft);color:var(--secondary);border:1px solid transparent;border-radius:99px;padding:8px 11px;font-size:13px;text-decoration:none;transition:.18s ease}
.tag-list-links a:hover{border-color:var(--primary);background:var(--primary-soft);color:#b92d49}
.category-help{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.inventory-section{margin-top:25px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.section-heading h2{margin:0 0 5px}
.section-heading p{margin:0;color:var(--muted)}
.inventory-live-note{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px}
.inventory-live-note span{width:8px;height:8px;border-radius:50%;background:var(--primary)}
.unit-floor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.unit-floor-grid.single-floor{grid-template-columns:1fr}
.floor-panel{padding:0;overflow:hidden}
.floor-header{padding:20px 20px 14px}
.floor-header h3{margin:0 0 4px;font-size:18px}
.floor-header p{margin:0;color:var(--muted)}
.unit-table{font-size:13px}
.unit-table th,.unit-table td{padding:9px 10px}
.unit-table td:first-child{min-width:82px}
.unit-table td small{font-size:11px}
.unit-area{white-space:nowrap;font-weight:700}
.unit-status-select{width:100%;min-width:138px;border:1px solid var(--line-strong);border-radius:6px;padding:7px 27px 7px 9px;font:inherit;color:var(--text);outline:none;transition:.15s ease;background-color:#fff}
.unit-status-select:focus{box-shadow:0 0 0 3px rgba(238,70,101,.12);border-color:var(--primary)}
.unit-status-select.status-available{background-color:#f3f3f3}
.unit-status-select.status-negotiation{background-color:#f8dbe2;border-color:#ebb5c1}
.unit-status-select.status-reserved{background-color:#e3e8f1;border-color:#b6c0d2}
.unit-status-select.status-leased{background-color:#ee4665;border-color:#ee4665;color:#fff;font-weight:700}
.unit-status-select.is-saving,.unit-operator-input.is-saving{opacity:.55}
.operator-cell{display:grid;grid-template-columns:minmax(145px,1fr) 24px;gap:5px;align-items:center;position:relative}
.unit-operator-input{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:7px 8px;font:inherit;color:var(--text);outline:none}
.unit-operator-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.12)}
.operator-open-link{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;text-decoration:none;background:var(--secondary-soft);color:var(--secondary);font-weight:700}
.operator-open-link:hover{background:var(--primary-soft);color:var(--primary)}
.operator-unlinked-mark{display:grid;place-items:center;position:absolute;right:30px;width:19px;height:19px;border-radius:50%;background:var(--warning-bg);color:var(--warning);font-size:11px;font-weight:700}
.operator-cell.is-unlinked .unit-operator-input{padding-right:30px;border-color:#d4bc83}
.is-hidden{display:none!important}
.project-notes{margin-top:20px}
.project-notes h2{margin:0 0 8px;font-size:17px}
.project-notes p{margin:0;line-height:1.5;color:var(--muted)}
.empty-state{padding:18px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted)}
.empty-state strong{color:var(--text)}
.empty-state p{margin:5px 0 0}
.empty-state.large{text-align:center;padding:35px}
.context-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:10px;background:#fff}
.context-banner span,.context-banner strong{display:block}
.context-banner span{font-size:12px;color:var(--muted);margin-bottom:3px}
.context-banner strong{font-size:17px}
.toast{position:fixed;right:24px;bottom:24px;z-index:1000;max-width:360px;padding:13px 16px;border-radius:10px;background:var(--text);color:#fff;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;transition:.2s ease}
.toast.is-visible{transform:translateY(0);opacity:1}
.toast.is-error{background:#9b3737}

/* ---------- Edición de proyectos ---------- */
.project-edit-form{max-width:1180px}
.form-section{padding:5px 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.form-section:last-of-type{margin-bottom:10px}
.form-section-heading{margin-bottom:17px}
.form-section-heading h2{margin:0 0 4px;font-size:19px}
.form-section-heading p{margin:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.form-grid .span-2{grid-column:1/-1}
.project-edit-form label{display:grid;gap:7px;font-weight:700}
.project-edit-form label>span{font-size:13px}
.project-edit-form label>small{font-weight:400;color:var(--muted)}
.project-edit-form input,.project-edit-form select,.project-edit-form textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:10px 11px;background:#fff;outline:none}
.project-edit-form textarea{resize:vertical;line-height:1.45}
.project-edit-form input:focus,.project-edit-form select:focus,.project-edit-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.12)}
.form-actions{display:flex;justify-content:flex-end;gap:10px}

@media(max-width:1250px){
    .project-stats{grid-template-columns:repeat(3,1fr)}
    .project-stats div:nth-child(3){border-right:0}
    .project-stats div:nth-child(n+4){border-top:1px solid var(--line-strong)}
    .project-stats div:nth-child(5){border-right:0}
    .form-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1080px){
    .project-card-grid,.project-overview-grid,.unit-floor-grid{grid-template-columns:1fr}
    .project-summary-panel{padding:22px}
}
@media(max-width:760px){
    .toolbar-split,.section-heading,.context-banner{align-items:stretch;flex-direction:column}
    .lease-summary-card,.project-status-summary,.project-card-footer,.form-grid,.form-grid-five{grid-template-columns:1fr}
    .project-stats{grid-template-columns:repeat(2,1fr)}
    .project-stats div{border-right:1px solid var(--line-strong)!important;border-top:1px solid var(--line-strong)}
    .project-stats div:nth-child(2n){border-right:0!important}
    .project-stats div:first-child,.project-stats div:nth-child(2){border-top:0}
    .unit-table{min-width:680px}
}

/* ---------- Operadores v0.4 ---------- */
.operator-form{max-width:1180px}
.operator-form label,.inline-editor label,.opportunity-row label{display:grid;gap:7px;font-weight:700}
.operator-form label>span,.inline-editor label>span,.opportunity-row label>span{font-size:13px;color:var(--muted)}
.operator-form input,.operator-form select,.operator-form textarea,.inline-editor input,.inline-editor select,.inline-editor textarea,.opportunity-row input,.opportunity-row select,.history-note-form textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:10px 11px;background:#fff;outline:none}
.operator-form input:focus,.operator-form select:focus,.operator-form textarea:focus,.inline-editor input:focus,.inline-editor select:focus,.inline-editor textarea:focus,.opportunity-row input:focus,.opportunity-row select:focus,.history-note-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.12)}
.operator-form textarea,.inline-editor textarea,.history-note-form textarea{resize:vertical;line-height:1.45}
.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid .span-3{grid-column:1/-1}
.operator-active-check{align-self:end;min-height:42px}
.operator-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:18px}
.operator-identity{display:flex;align-items:center;gap:18px;min-width:0}
.operator-identity h2{margin:0 0 4px;font-size:30px}
.operator-identity p{margin:0;color:var(--muted)}
.operator-badges{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr));gap:12px}
.operator-badges>div{display:grid;gap:7px;padding-left:14px;border-left:1px solid var(--line)}
.operator-badges span{font-size:12px;color:var(--muted)}
.operator-badges strong{justify-self:start}
.operator-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px rgba(29,37,49,.04)}
.operator-tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;padding:10px 14px;border-radius:8px;cursor:pointer}
.operator-tabs button:hover,.operator-tabs button.is-active{background:var(--nav-active);color:#fff}
.operator-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:99px;background:var(--line);color:var(--text);font-size:11px}
.operator-tabs button.is-active span{background:rgba(255,255,255,.2);color:#fff}
.operator-tab-panel{display:none}
.operator-tab-panel.is-active{display:block}
.operator-summary-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr)}
.operator-quick-contact h3{margin:5px 0 4px;font-size:22px}
.operator-quick-contact>p{margin:0 0 16px;color:var(--muted)}
.quick-contact-data{display:grid;gap:9px;margin-bottom:18px;color:var(--text)}
.contact-card-grid,.source-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card.is-inactive{opacity:.68}
.contact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.contact-card-head h3{margin:0 0 4px;font-size:20px}
.contact-card-head p{margin:0;color:var(--muted)}
.contact-badge-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.contact-data{display:grid;gap:0;margin:0}
.contact-data div{padding:12px 0;border-bottom:1px solid var(--line)}
.contact-data dt{font-size:12px;color:var(--muted);margin-bottom:4px}
.contact-data dd{margin:0;overflow-wrap:anywhere}
.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.contact-actions .button{min-width:110px}
.inline-editor{margin-top:18px}
.source-card{text-decoration:none;display:grid;gap:6px;transition:.18s ease}
.source-card:hover{border-color:var(--primary);transform:translateY(-1px)}
.source-card span,.source-card small{color:var(--muted)}
.project-opportunity-list{display:grid;gap:12px}
.opportunity-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(150px,.8fr) 130px minmax(220px,1fr) 150px auto;gap:12px;align-items:end;padding:16px}
.opportunity-project{align-self:center}
.opportunity-project a{display:block;font-size:17px;font-weight:700;text-decoration:none}
.opportunity-project a:hover{color:var(--primary)}
.opportunity-project small{display:block;margin-top:4px;color:var(--muted)}
.history-note-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:18px}
.history-list{display:grid;gap:0}
.history-item{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.history-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.history-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.history-meta span{color:var(--muted);font-size:13px}
.history-item p{margin:7px 0 0;line-height:1.45}

@media(max-width:1250px){
    .operator-hero{align-items:flex-start;flex-direction:column}
    .operator-badges{width:100%}
    .opportunity-row{grid-template-columns:repeat(3,minmax(0,1fr))}
    .opportunity-project{grid-column:1/-1}
}
@media(max-width:900px){
    .operator-badges,.form-grid-three,.contact-card-grid,.source-card-grid{grid-template-columns:1fr 1fr}
    .operator-summary-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
    .operator-badges,.form-grid-three,.contact-card-grid,.source-card-grid,.opportunity-row{grid-template-columns:1fr}
    .operator-badges>div{padding:10px 0;border-left:0;border-bottom:1px solid var(--line)}
    .history-note-form{grid-template-columns:1fr}
    .history-meta{align-items:flex-start;flex-direction:column}
}

/* v0.5 · Seguimiento comercial */
.commercial-tracking-section{margin-top:24px}
.tracking-heading{margin-bottom:14px}
.tracking-heading h2{margin:0;font-size:22px}
.tracking-heading p{margin:5px 0 0;color:var(--muted)}
.tracking-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.tracking-kpi{padding:15px 17px}
.tracking-kpi span,.tracking-kpi strong{display:block}
.tracking-kpi span{font-size:12px;color:var(--muted)}
.tracking-kpi strong{font-size:26px;margin-top:4px}
.tracking-add-panel{padding:0;margin-bottom:14px;overflow:hidden}
.tracking-add-panel>summary{cursor:pointer;padding:15px 18px;font-weight:700;list-style:none}
.tracking-add-panel>summary::-webkit-details-marker{display:none}
.tracking-add-panel[open]>summary{border-bottom:1px solid var(--line);background:#fafafb}
.tracking-add-form{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,.8fr) 130px minmax(240px,1.3fr) auto;gap:10px;align-items:end;padding:16px 18px}
.tracking-add-form label,.tracking-row label,.tracking-log-form label{display:grid;gap:6px;font-weight:700}
.tracking-add-form label>span,.tracking-row label>span,.tracking-log-form label>span{font-size:12px;color:var(--muted)}
.tracking-add-form input,.tracking-add-form select,.tracking-row input,.tracking-row select,.tracking-log-form input,.tracking-log-form select,.tracking-log-form textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;background:#fff;outline:none}
.tracking-add-form input:focus,.tracking-add-form select:focus,.tracking-row input:focus,.tracking-row select:focus,.tracking-log-form input:focus,.tracking-log-form select:focus,.tracking-log-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.11)}
.tracking-list{display:grid;gap:12px}
.tracking-card{padding:0;overflow:hidden}
.tracking-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(175px,.85fr) 110px minmax(150px,.75fr) minmax(190px,1fr) 145px auto;gap:10px;align-items:end;padding:16px}
.tracking-operator{align-self:center;min-width:0}
.tracking-operator a{display:block;font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracking-operator a:hover{color:var(--primary)}
.tracking-operator small{display:block;color:var(--muted);margin-top:4px;line-height:1.3}
.tracking-status-select{font-weight:700}
.tracking-save{height:39px}
.tracking-meta-row{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(150px,.6fr) auto auto;gap:16px;align-items:center;padding:12px 16px;background:#fafafb;border-top:1px solid var(--line)}
.tracking-last-contact span,.tracking-responsible span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);margin-bottom:3px}
.tracking-last-contact strong,.tracking-responsible strong{display:block;font-size:13px}
.tracking-last-contact small{display:block;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:700px}
.tracking-log-form>summary{cursor:pointer;color:var(--secondary);font-weight:700;white-space:nowrap}
.tracking-log-form[open]{grid-column:1/-1;margin-top:5px;padding-top:12px;border-top:1px solid var(--line)}
.tracking-log-form form{display:grid;grid-template-columns:130px 190px minmax(220px,1fr) minmax(180px,.85fr) minmax(170px,.8fr);gap:10px;align-items:end;margin-top:10px}
.tracking-log-form textarea{resize:vertical;min-height:76px}
.tracking-log-notes{grid-column:1/-1}
.tracking-log-form .button{min-height:39px}
.tracking-plan-field{transition:opacity .18s ease}
.tracking-remove{color:var(--muted)}
.tracking-remove:hover{color:var(--danger)}
.tracking-empty{margin-top:0}
.group-contact-box{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.group-contact-box .group-contact-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}
.group-contact-box h3{margin:0 0 4px}
.group-contact-box p{margin:0 0 10px;color:var(--muted)}

@media (max-width:1280px){
    .tracking-row{grid-template-columns:1.2fr 1fr 110px 1fr 1fr 135px}
    .tracking-log-form form{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tracking-log-notes{grid-column:1/-1}
}
@media (max-width:900px){
    .tracking-kpis{grid-template-columns:repeat(2,1fr)}
    .tracking-add-form,.tracking-row{grid-template-columns:1fr 1fr}
    .tracking-operator,.tracking-notes-field{grid-column:1/-1}
    .tracking-meta-row{grid-template-columns:1fr 1fr}
    .tracking-log-form,.tracking-remove-form{grid-column:auto}
    .tracking-log-form[open]{grid-column:1/-1}
}
@media (max-width:620px){
    .tracking-kpis,.tracking-add-form,.tracking-row,.tracking-meta-row,.tracking-log-form form{grid-template-columns:1fr}
    .tracking-operator,.tracking-notes-field,.tracking-log-notes,.tracking-log-form[open]{grid-column:1}
}

/* v0.5.3 · Rubros objetivo / mix comercial */
.filters{grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(150px,.7fr))}
.context-banner small{display:block;margin-top:4px;color:var(--muted)}
.button-small{padding:8px 11px;font-size:13px}
.target-mix-header{align-items:flex-start;gap:12px}
.target-mix-header .button{flex:0 0 auto}
.target-priority-groups{display:grid;gap:17px}
.target-priority-group{display:grid;gap:8px}
.target-priority-label{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--secondary-soft);color:var(--secondary)}
.target-priority-label.priority-a{background:var(--primary-soft);color:var(--primary-dark)}
.target-priority-label.priority-c{background:var(--warning-bg);color:var(--warning)}
.target-rubro-list{display:grid;gap:8px}
.target-rubro-chip{display:block;padding:10px 11px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff;transition:border-color .18s ease,transform .18s ease,background-color .18s ease}
.target-rubro-chip:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}
.target-rubro-chip strong,.target-rubro-chip small{display:block}
.target-rubro-chip strong{font-size:14px}
.target-rubro-chip small{margin-top:3px;color:var(--muted);font-size:11px}
.target-rubro-chip.priority-a{border-left:4px solid var(--primary)}
.target-rubro-chip.priority-b{border-left:4px solid var(--secondary)}
.target-rubro-chip.priority-c{border-left:4px solid var(--warning)}
.target-general-categories{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.target-general-categories>span{display:block;margin-bottom:10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}

.target-dialog{width:min(980px,calc(100vw - 40px));max-height:88vh;padding:0;border:0;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(29,37,49,.26)}
.target-dialog::backdrop{background:rgba(29,37,49,.55)}
.target-dialog-form{display:flex;flex-direction:column;max-height:88vh}
.target-dialog-header{display:flex;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}
.target-dialog-header h2{margin:4px 0 6px;font-size:25px}
.target-dialog-header p{margin:0;color:var(--muted);line-height:1.45;max-width:760px}
.target-dialog-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary)}
.target-dialog-close{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:26px;line-height:1;cursor:pointer}
.target-dialog-search{padding:16px 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.target-dialog-search input{width:100%;padding:12px 13px;border:1px solid var(--line-strong);border-radius:9px;font:inherit;color:var(--text)}
.target-dialog-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.13)}
.target-dialog-search small{color:var(--muted)}
.target-dialog-body{overflow:auto;padding:20px 26px 24px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px}
.target-dialog-section{min-width:0}
.target-dialog-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.target-dialog-section-title h3{margin:0;font-size:17px}
.target-dialog-section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}
.target-dialog-section-title>span{color:var(--muted);font-size:12px}
.target-option-list{display:grid;gap:7px}
.target-option-row{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}
.target-option-row.is-hidden{display:none}
.target-option-main{display:flex;align-items:flex-start;gap:10px;cursor:pointer;min-width:0}
.target-option-main input{margin-top:3px;accent-color:var(--primary)}
.target-option-main span{min-width:0}
.target-option-main strong,.target-option-main small{display:block}
.target-option-main strong{font-size:13px}
.target-option-main small{margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.target-option-row select{width:64px;padding:8px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font:inherit;font-weight:700;color:var(--text)}
.target-option-row:has(input:checked){border-color:rgba(238,70,101,.38);background:var(--primary-soft)}
.target-category-section{border-left:1px solid var(--line);padding-left:22px}
.target-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--line);background:#fff}
.operator-track-cell{white-space:nowrap}
.operator-track-cell form{margin:0}

@media (max-width:1280px){
    .filters{grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(160px,.7fr))}
    .target-dialog-body{grid-template-columns:1fr}
    .target-category-section{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:20px}
}
@media (max-width:760px){
    .target-dialog{width:calc(100vw - 20px);max-height:94vh}
    .target-dialog-form{max-height:94vh}
    .target-dialog-header,.target-dialog-search,.target-dialog-body,.target-dialog-footer{padding-left:16px;padding-right:16px}
    .target-dialog-search{grid-template-columns:1fr}
    .target-mix-header{display:grid}
}
.target-new-rubro-box{margin-top:14px;padding:14px;border:1px dashed var(--line-strong);border-radius:11px;background:var(--secondary-soft);display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(170px,.7fr) 64px;gap:9px;align-items:end}
.target-new-rubro-box strong,.target-new-rubro-box small{display:block}
.target-new-rubro-box small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}
.target-new-rubro-box input,.target-new-rubro-box select{width:100%;padding:9px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font:inherit;color:var(--text)}
@media (max-width:760px){.target-new-rubro-box{grid-template-columns:1fr}.target-new-rubro-box>div{grid-column:1}}

/* v0.5.4 · catálogo de rubros limpio + prioridad solo al seleccionar */
.target-option-row{grid-template-columns:minmax(0,1fr) auto}
.target-option-priority{display:flex;align-items:center;gap:7px}
.target-option-priority>span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.target-option-priority select{width:64px}
@media (max-width:760px){
    .target-option-row{grid-template-columns:1fr}
    .target-option-priority{justify-content:flex-end;padding-top:7px;border-top:1px solid var(--line)}
}

/* v0.5.5 · Navegación por secciones del proyecto */
.project-section-tabs{display:flex;gap:8px;margin:0 0 18px;padding:5px;background:#e9eaee;border:1px solid var(--line);border-radius:12px;width:max-content;max-width:100%}
.project-section-tab{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:8px;color:var(--secondary);text-decoration:none;font-weight:700;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.project-section-tab:hover{background:rgba(255,255,255,.58);color:var(--text)}
.project-section-tab.is-active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(29,37,49,.08)}
.project-section-tab b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#dfe1e7;color:var(--secondary);font-size:12px;line-height:1}
.project-section-tab.is-active b{background:rgba(238,70,101,.12);color:var(--primary)}
.tracking-page-section{margin-top:0}
.tracking-page-section .tracking-heading{margin-top:2px}
.tracking-save{width:auto;min-width:118px;justify-self:end}
@media (max-width:720px){
    .project-section-tabs{width:100%;overflow-x:auto}
    .project-section-tab{flex:0 0 auto}
}

/* v0.5.6 · Seguimiento ejecutivo compacto */
.tracking-kpi{appearance:none;text-align:left;cursor:pointer;color:var(--text);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.tracking-kpi:hover{border-color:var(--line-strong)}
.tracking-kpi.is-active{border-color:rgba(238,70,101,.36);box-shadow:0 0 0 2px rgba(238,70,101,.08);background:#fff}
.tracking-card{padding:0;overflow:hidden;transition:opacity .18s ease,transform .18s ease}
.tracking-card.is-filtered-out{display:none}
.tracking-card.is-closed{background:#f1f2f4;border-color:#dfe1e6;box-shadow:none;color:#626978}
.tracking-card.is-closed .tracking-operator a{color:#555d6c}
.tracking-card.is-closed .tracking-last-contact-readable{background:#eceef1}
.tracking-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px 12px}
.tracking-operator-main{min-width:220px}
.tracking-card-statuses{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.tracking-state{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:var(--secondary-soft);color:var(--secondary)}
.tracking-state.is-open{background:rgba(238,70,101,.10);color:var(--primary)}
.tracking-state.is-closed{background:#dfe2e7;color:#636b78}
.tracking-mini-meta{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;color:var(--muted);white-space:nowrap}
.tracking-card.is-closed .tracking-mini-meta{background:#f5f6f7;border-color:#dfe1e6}
.tracking-mini-meta b{color:var(--text);font-weight:700}
.tracking-next-summary{margin:0 18px 12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.tracking-next-summary>span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.tracking-next-summary>strong{font-size:13px}
.tracking-next-summary>small{color:var(--muted);font-weight:700}
.tracking-next-summary.is-empty{background:#fafafb;border-style:dashed}
.tracking-last-contact-readable{padding:13px 18px 14px;background:#fafafb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tracking-last-contact-readable>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:700;margin-bottom:6px}
.tracking-interaction-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tracking-interaction-title strong{font-size:13px;color:var(--text)}
.tracking-card.is-closed .tracking-interaction-title strong{color:#596170}
.tracking-interaction-title em{font-style:normal;font-size:12px;color:var(--muted)}
.tracking-interaction-note{margin:6px 0 0;max-width:1050px;color:var(--secondary);line-height:1.45;font-size:13px}
.tracking-card.is-closed .tracking-interaction-note{color:#737b88}
.tracking-note-detail{margin-top:7px}
.tracking-note-detail>summary{cursor:pointer;width:max-content;color:var(--primary);font-size:12px;font-weight:700;list-style:none}
.tracking-note-detail>summary::-webkit-details-marker{display:none}
.tracking-note-detail>p{margin:8px 0 0;padding:10px 12px;max-width:1050px;border-left:3px solid var(--line-strong);background:#fff;border-radius:0 8px 8px 0;color:var(--secondary);line-height:1.5}
.tracking-card-actions,.tracking-closed-actions{display:flex;align-items:center;gap:12px;padding:11px 18px}
.tracking-card-actions>details{min-width:0}
.tracking-plan-editor>summary,.tracking-log-form>summary{cursor:pointer;color:var(--secondary);font-weight:700;white-space:nowrap;list-style:none;font-size:13px}
.tracking-plan-editor>summary::-webkit-details-marker,.tracking-log-form>summary::-webkit-details-marker{display:none}
.tracking-plan-editor>summary:hover,.tracking-log-form>summary:hover{color:var(--primary)}
.tracking-plan-editor[open],.tracking-log-form[open]{flex:1 0 100%;width:100%;margin-top:5px;padding-top:12px;border-top:1px solid var(--line)}
.tracking-card-actions:has(.tracking-plan-editor[open]),.tracking-card-actions:has(.tracking-log-form[open]){flex-wrap:wrap}
.tracking-plan-editor form{display:grid;grid-template-columns:minmax(175px,.9fr) 115px minmax(160px,.8fr) minmax(220px,1fr) 150px auto;gap:10px;align-items:end;margin-top:10px}
.tracking-plan-hint{margin:9px 0 0;color:var(--muted);font-size:12px}
.tracking-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.tracking-plan-actions .button{min-height:39px}
.tracking-plan-editor label{display:grid;gap:6px;font-weight:700}
.tracking-plan-editor label>span{font-size:12px;color:var(--muted)}
.tracking-plan-editor input,.tracking-plan-editor select{width:100%;font:inherit;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;background:#fff;outline:none}
.tracking-plan-editor input:focus,.tracking-plan-editor select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(238,70,101,.11)}
.tracking-log-form form{grid-template-columns:130px 190px minmax(260px,1.2fr) minmax(175px,.8fr) minmax(160px,.75fr)}
.tracking-remove-form{margin-left:auto}
.tracking-closed-actions{justify-content:flex-end;background:#f1f2f4}
.tracking-closed-actions form{margin:0}
.tracking-filter-empty{display:none;padding:24px;text-align:center;color:var(--muted)}
.tracking-filter-empty.is-visible{display:block}

@media(max-width:1280px){
    .tracking-card-head{align-items:flex-start}
    .tracking-card-statuses{max-width:62%}
    .tracking-plan-editor form{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tracking-plan-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:900px){
    .tracking-card-head{display:grid}
    .tracking-card-statuses{justify-content:flex-start;max-width:none}
    .tracking-next-summary{grid-template-columns:1fr}
    .tracking-card-actions{flex-wrap:wrap}
    .tracking-remove-form{margin-left:0}
    .tracking-plan-editor[open],.tracking-log-form[open]{order:10}
    .tracking-plan-editor form,.tracking-log-form form{grid-template-columns:1fr 1fr}
    .tracking-plan-actions{grid-column:1/-1}
    .tracking-log-notes{grid-column:1/-1}
}
@media(max-width:620px){
    .tracking-card-statuses{display:grid;grid-template-columns:1fr}
    .tracking-mini-meta,.tracking-state{width:max-content;max-width:100%}
    .tracking-plan-editor form,.tracking-log-form form{grid-template-columns:1fr}
    .tracking-plan-actions{grid-column:1;justify-content:flex-start;flex-wrap:wrap}
    .tracking-log-notes{grid-column:1}
    .tracking-card-actions,.tracking-closed-actions{align-items:flex-start}
}

/* v0.5.7 · Dashboard ejecutivo */
.dashboard-kpi-grid{margin-bottom:20px}
.dashboard-kpi{position:relative;min-height:124px}
.dashboard-kpi.needs-attention{border-color:rgba(238,70,101,.38);box-shadow:0 0 0 2px rgba(238,70,101,.06),0 5px 20px rgba(29,37,49,.04)}
.dashboard-kpi.needs-attention strong{color:var(--primary)}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.72fr);gap:20px;margin-bottom:20px;align-items:start}
.dashboard-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:20px;align-items:start}
.dashboard-panel-header{gap:20px}
.dashboard-panel-header h2{font-size:19px}
.dashboard-text-link{color:var(--secondary);font-weight:700;text-decoration:none;white-space:nowrap;font-size:13px}
.dashboard-text-link:hover{color:var(--primary)}
.dashboard-projects-panel{padding:0;overflow:hidden}
.dashboard-projects-panel>.panel-header{padding:22px 22px 0}
.dashboard-project-table-wrap{overflow:auto;margin-top:4px}
.dashboard-project-table th{font-size:12px;text-transform:uppercase;letter-spacing:.025em}
.dashboard-project-table td{padding-top:14px;padding-bottom:14px}
.dashboard-project-name{font-weight:800;text-decoration:none;color:var(--text)}
.dashboard-project-name:hover{color:var(--primary)}
.dashboard-progress-cell{min-width:145px}
.dashboard-progress-cell>strong{display:block;margin-bottom:6px}
.dashboard-mini-progress{width:116px;max-width:100%;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.dashboard-mini-progress i{display:block;height:100%;border-radius:99px;background:var(--primary)}
.dashboard-count-link{display:inline-grid;text-decoration:none;color:var(--text);line-height:1.25}
.dashboard-count-link strong{font-size:17px}
.dashboard-count-link small{margin-top:2px}
.dashboard-count-link:hover strong{color:var(--primary)}
.dashboard-attention-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--primary-soft);color:#b92d49;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.dashboard-attention-badge:hover{background:#fbdce5}
.dashboard-ok-label{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--secondary-soft);color:var(--muted);font-size:12px;font-weight:700}
.dashboard-attention-list{display:grid;gap:9px}
.dashboard-attention-item{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;transition:.18s ease;background:#fff}
.dashboard-attention-item:hover{border-color:rgba(238,70,101,.45);background:var(--primary-soft)}
.dashboard-attention-topline{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dashboard-attention-item>span{font-size:13px;color:var(--secondary);line-height:1.35}
.dashboard-attention-item>small{color:var(--muted)}
.dashboard-date-tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--secondary-soft);font-size:10px;font-weight:800;color:var(--secondary);white-space:nowrap}
.dashboard-date-tag.is-overdue,.dashboard-date-tag.is-today{background:var(--primary-soft);color:#b92d49}
.dashboard-empty-state{display:grid;gap:5px;padding:22px;border:1px dashed var(--line-strong);border-radius:10px;background:#fafafb;color:var(--muted)}
.dashboard-empty-state strong{color:var(--text)}
.dashboard-funnel-list{display:grid;gap:10px}
.dashboard-funnel-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(160px,1.5fr) 35px;gap:12px;align-items:center;font-size:13px}
.dashboard-funnel-track{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.dashboard-funnel-track i{display:block;height:100%;border-radius:99px;background:var(--primary)}
.dashboard-funnel-row strong{text-align:right}
.dashboard-funnel-footnote{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.dashboard-funnel-footnote strong{font-size:16px;color:var(--text)}
.dashboard-activity-list{display:grid}
.dashboard-activity-item{display:grid;gap:6px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}
.dashboard-activity-item:first-child{border-top:0;padding-top:0}
.dashboard-activity-item:last-child{padding-bottom:0}
.dashboard-activity-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.dashboard-activity-item>div span{font-size:11px;color:var(--muted);white-space:nowrap}
.dashboard-activity-item p{margin:0;color:var(--secondary);font-size:13px;line-height:1.38}
.dashboard-activity-item small{color:var(--muted)}
.dashboard-activity-item:hover strong{color:var(--primary)}
.dashboard-base-panel{margin-bottom:0}
.dashboard-base-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:20px}
.dashboard-base-summary>div{padding:15px 16px;border-right:1px solid var(--line)}
.dashboard-base-summary>div:last-child{border-right:0}
.dashboard-base-summary span,.dashboard-base-summary strong{display:block}
.dashboard-base-summary span{font-size:12px;color:var(--muted)}
.dashboard-base-summary strong{font-size:23px;margin-top:5px}
.dashboard-category-section{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:24px;align-items:start}
.dashboard-category-title{display:grid;gap:4px}
.dashboard-category-title span{font-size:12px;color:var(--muted)}
.dashboard-category-bars .bar-row{font-size:12px;grid-template-columns:minmax(170px,.9fr) 1.5fr 34px}
@media(max-width:1150px){
    .dashboard-main-grid,.dashboard-secondary-grid{grid-template-columns:1fr}
    .dashboard-base-summary{grid-template-columns:repeat(2,1fr)}
    .dashboard-base-summary>div:nth-child(2){border-right:0}
    .dashboard-base-summary>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:720px){
    .dashboard-kpi{min-height:auto}
    .dashboard-category-section{grid-template-columns:1fr}
    .dashboard-base-summary{grid-template-columns:1fr}
    .dashboard-base-summary>div{border-right:0;border-top:1px solid var(--line)}
    .dashboard-base-summary>div:first-child{border-top:0}
    .dashboard-funnel-row{grid-template-columns:125px 1fr 28px;gap:8px}
    .dashboard-project-table{min-width:740px}
}

/* v0.5.8 · Rediseño visual según maqueta Sustenta 03/09/2026 */
:root{
    --bg:#e0e5ea;
    --surface:#ffffff;
    --text:#1d2531;
    --muted:#697289;
    --line:#d4d5d8;
    --line-strong:#aeb5c2;
    --nav:#1d2531;
    --nav-active:#384359;
    --nav-text:#f2f2f2;
    --secondary:#31435d;
    --secondary-soft:#eef0f4;
    --primary:#ee4665;
    --primary-dark:#d83a58;
    --primary-soft:#ffe8ee;
    --shadow:0 3px 11px rgba(29,37,49,.12);
}
body{background:var(--bg)}
.app-shell{grid-template-columns:230px minmax(0,1fr)}
.sidebar{padding:30px 24px 20px;background:#1d2531}
.brand{padding:0 4px 34px;gap:0}
.brand-logo-white{width:166px}
.brand-caption{display:none}
.nav{gap:10px}
.nav a{padding:14px 16px;border-radius:9px;font-weight:700}
.sidebar-footer{padding:20px 10px 0}
.topbar{
    min-height:104px;
    padding:24px 42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    background:#697289;
    border-bottom:0;
}
.topbar h1{font-size:30px;color:#fff;line-height:1.08}
.topbar p{margin-top:6px;color:#fff;font-weight:600}
.topbar-logo{display:block;width:205px;max-height:55px;object-fit:contain;object-position:right center}
.page-content{padding:28px 24px 52px}
.panel,.kpi,.project-card{border-color:#d4d5d8;box-shadow:var(--shadow)}
.button{border-color:#8d99ad;color:#31435d;font-weight:700}
.button-primary{border-color:var(--primary);color:#fff}

/* Dashboard: KPI cards con iconografía entregada */
.dashboard-kpi-grid{gap:18px;margin-bottom:18px}
.dashboard-kpi{
    min-height:118px;
    padding:21px 24px;
    display:grid;
    grid-template-columns:62px minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    border-radius:12px;
}
.dashboard-kpi-icon{height:58px;padding-right:18px;border-right:1px solid #aeb5c2;display:grid;place-items:center}
.dashboard-kpi-icon img{display:block;width:45px;height:45px;object-fit:contain}
.dashboard-kpi-copy{min-width:0}
.dashboard-kpi-copy span{display:block;color:#111820;font-size:15px;font-weight:800;line-height:1.25}
.dashboard-kpi-copy small{display:block;margin-top:5px;color:#697289;font-size:11px;line-height:1.25}
.dashboard-kpi>strong{margin:0;font-size:35px;line-height:1;color:#050608;white-space:nowrap}
.dashboard-kpi.needs-attention>strong{color:var(--primary)}
.dashboard-main-grid{grid-template-columns:minmax(0,1.72fr) minmax(330px,.72fr);gap:18px;align-items:stretch}
.dashboard-projects-panel{min-height:520px;border-radius:12px}
.dashboard-projects-panel>.panel-header{padding:28px 30px 18px;margin:0}
.dashboard-panel-header h2{font-size:23px}
.dashboard-panel-header p{font-size:13px}
.dashboard-project-table th{height:48px;padding-left:30px;padding-right:30px;background:#fbfbfc;color:#697289}
.dashboard-project-table td{height:102px;padding-left:30px;padding-right:30px}
.dashboard-project-name{font-size:15px}
.dashboard-mini-progress{width:100px;height:7px}
.dashboard-attention-panel{
    min-height:520px;
    padding:28px 24px;
    border:0;
    border-radius:12px;
    background:#31435d;
    color:#fff;
    box-shadow:var(--shadow);
}
.dashboard-attention-panel .panel-header{margin-bottom:24px}
.dashboard-attention-panel .panel-header h2,.dashboard-attention-panel .panel-header p{color:#fff}
.dashboard-attention-panel .dashboard-attention-list{gap:12px}
.dashboard-attention-panel .dashboard-attention-item{padding:17px 18px;border:0;border-radius:12px;background:#fff;color:#1d2531}
.dashboard-attention-panel .dashboard-attention-item:hover{background:#fff;transform:translateY(-1px)}
.dashboard-attention-panel .dashboard-attention-item>span{color:#697289;font-weight:700}
.dashboard-attention-panel .dashboard-attention-item>small{color:#697289}
.dashboard-attention-panel .dashboard-empty-state{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff}
.dashboard-attention-panel .dashboard-empty-state strong{color:#fff}
.dashboard-secondary-grid{margin-top:18px}

/* Proyectos: tarjetas según maqueta */
.project-card-grid{gap:20px}
.project-card-v03{min-height:470px;padding:30px;border-radius:12px}
.project-card-head{margin-bottom:32px}
.project-card-head>.badge{margin-bottom:22px;padding:6px 15px;background:#f1f2f4;color:#697289}
.project-card-icon{display:block;width:46px;height:46px;object-fit:contain;margin:0 0 12px}
.project-card-subtitle{display:none}
.project-card-v03 h2{margin:0 0 7px;font-size:29px;line-height:1.1;color:#050608}
.project-card-v03 .project-card-head>p{font-size:14px;font-weight:700;color:#697289}
.project-card-data{gap:11px;margin-bottom:34px}
.project-card-data div{grid-template-columns:170px 1fr}
.project-card-data dt{font-weight:700;color:#697289}
.project-card-data dd{font-weight:800;color:#111820}
.project-card-footer{padding-top:24px;border-top:1px solid #cfd3da}
.project-card-footer span{font-size:12px;font-weight:700;color:#697289}
.project-card-footer strong{font-size:17px;color:#111820}
.project-mini-progress{height:7px;margin-top:18px}

/* Ficha de proyecto: toolbar y pestañas */
.toolbar-split{margin-bottom:24px}
.project-section-tabs{
    width:100%;
    max-width:none;
    margin:0 0 38px;
    padding:0;
    gap:0;
    border:1px solid #d4d5d8;
    border-radius:12px;
    background:#fff;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.project-section-tab{
    position:relative;
    min-width:230px;
    padding:20px 28px;
    border-radius:0;
    color:#31435d;
    justify-content:center;
}
.project-section-tab.is-active{background:#fff;color:#31435d;box-shadow:none}
.project-section-tab.is-active::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:4px;background:var(--primary);border-radius:4px 4px 0 0}
.project-section-tab b{background:var(--primary-soft);color:var(--primary);padding:6px 10px}
.project-overview-grid{gap:20px}
.project-summary-panel,.project-categories-panel{border-radius:12px}

/* Seguimiento comercial según maqueta */
.tracking-heading h2{font-size:31px;color:#050608}
.tracking-heading p{font-size:14px;color:#697289}
.tracking-kpis{gap:14px;margin-bottom:18px}
.tracking-kpi{min-height:92px;padding:20px 24px;border-radius:12px;box-shadow:var(--shadow)}
.tracking-kpi span{font-size:13px;font-weight:700;color:#697289}
.tracking-kpi strong{font-size:31px;color:#050608}
.tracking-add-panel{margin-bottom:18px;border:1px solid #7d8ca3;border-radius:12px;background:#fff;box-shadow:none}
.tracking-add-panel>summary{padding:20px 24px;color:#31435d;font-size:15px}
.tracking-list{gap:18px}
.tracking-card{border-radius:12px;border-color:#d4d5d8;box-shadow:var(--shadow);background:#fff}
.tracking-card-head{padding:20px 28px 14px}
.tracking-operator-main a{font-size:19px;color:#050608}
.tracking-operator-main small{font-size:13px;font-weight:700;color:#697289}
.tracking-card-statuses{gap:8px}
.tracking-state,.tracking-mini-meta{min-height:28px;padding:6px 11px}
.tracking-state.is-open{background:#ffe8ee;color:var(--primary)}
.tracking-mini-meta{border-color:#7d8ca3;color:#697289}
.tracking-mini-meta b{color:#111820}
.tracking-next-summary{margin:0 28px 16px;padding:12px 18px;border:1px solid #7d8ca3;border-radius:10px;background:#fff}
.tracking-next-summary>span{font-size:11px;color:#697289}
.tracking-next-summary>strong{font-size:14px;color:#111820}
.tracking-next-summary>small{font-size:13px;color:#697289}
.tracking-last-contact-readable{
    margin:0;
    padding:17px 28px 18px;
    border-top:1px solid #efc5cf;
    border-bottom:1px solid #efc5cf;
    background:#ffe8ee;
}
.tracking-last-contact-readable>span{color:var(--primary);font-size:11px}
.tracking-interaction-title strong{font-size:13px;color:#111820}
.tracking-interaction-title em{color:var(--primary);font-weight:700}
.tracking-interaction-note{max-width:none;font-size:13px;color:#111820;font-weight:600}
.tracking-card-actions{padding:15px 28px 17px}
.tracking-plan-editor>summary,.tracking-log-form>summary{font-size:13px;color:#31435d}
.tracking-remove{color:#697289}
.tracking-card.is-closed{background:#f2f2f2;border-color:#d3d5da;color:#697289}
.tracking-card.is-closed .tracking-card-head{background:#f2f2f2}
.tracking-card.is-closed .tracking-state.is-closed{background:#e2e5ea;color:#697289}
.tracking-card.is-closed .tracking-mini-meta{background:#f7f7f7;border-color:#7d8ca3}
.tracking-card.is-closed .tracking-last-contact-readable{margin:0 20px;background:#e6e6e6;border:1px solid #d1d3d7;border-radius:0;padding:17px 20px}
.tracking-card.is-closed .tracking-last-contact-readable>span{color:#697289}
.tracking-card.is-closed .tracking-interaction-title em,.tracking-card.is-closed .tracking-interaction-note{color:#697289}
.tracking-closed-actions{padding:15px 28px;background:#f2f2f2}

@media(max-width:1100px){
    .app-shell{grid-template-columns:195px minmax(0,1fr)}
    .topbar{padding-left:28px;padding-right:28px}
    .topbar-logo{width:175px}
    .dashboard-kpi{grid-template-columns:52px minmax(0,1fr) auto;padding:18px;gap:13px}
    .dashboard-kpi-icon{height:48px;padding-right:13px}
    .dashboard-kpi-icon img{width:38px;height:38px}
    .dashboard-kpi>strong{font-size:30px}
}
@media(max-width:900px){
    .topbar-logo{display:none}
    .dashboard-main-grid{grid-template-columns:1fr}
    .dashboard-attention-panel{min-height:auto}
    .project-section-tab{min-width:190px}
}
@media(max-width:720px){
    .app-shell{display:block}
    .topbar{min-height:auto;padding:20px 16px}
    .topbar h1{font-size:25px}
    .dashboard-kpi{grid-template-columns:48px minmax(0,1fr) auto}
    .dashboard-kpi-grid{grid-template-columns:1fr}
    .project-card-v03{min-height:auto;padding:22px}
    .project-section-tabs{margin-bottom:24px;overflow-x:auto}
    .tracking-card-head{padding:18px}
    .tracking-next-summary{margin-left:18px;margin-right:18px}
    .tracking-last-contact-readable{padding-left:18px;padding-right:18px}
    .tracking-card-actions,.tracking-closed-actions{padding-left:18px;padding-right:18px}
}

/* v0.5.9 · piloto renta UF por proyecto */
.project-rent-panel{
    margin:18px 0 22px;
    padding:22px 24px;
}
.project-rent-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}
.project-rent-header h2{
    margin:3px 0 3px;
}
.project-rent-header p{
    margin:0;
    color:var(--muted, #6c7285);
}
.project-rent-eyebrow{
    display:block;
    color:#ee4665;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.project-rent-capture{
    min-width:150px;
    text-align:right;
}
.project-rent-capture span{
    display:block;
    color:var(--muted, #6c7285);
    font-size:12px;
}
.project-rent-capture strong{
    display:block;
    margin-top:2px;
    font-size:28px;
    line-height:1;
}
.project-rent-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.project-rent-kpi{
    border:1px solid #d9dde4;
    border-radius:12px;
    padding:15px 16px;
    background:#fff;
}
.project-rent-kpi>span{
    display:block;
    color:#6c7285;
    font-size:12px;
    font-weight:700;
    margin-bottom:6px;
}
.project-rent-kpi>strong{
    display:block;
    color:#1d2531;
    font-size:22px;
    line-height:1.15;
}
.project-rent-kpi>strong small{
    display:inline;
    margin-left:4px;
    color:#6c7285;
    font-size:11px;
    font-weight:600;
}
.project-rent-kpi>small{
    display:block;
    color:#8b91a0;
    font-size:11px;
    line-height:1.25;
    margin-top:7px;
}
.project-rent-kpi.is-signed{
    border-color:#f3a8b6;
    background:#fff8fa;
}
.project-rent-kpi.is-signed>strong{
    color:#ee4665;
}
.project-rent-breakdown{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:12px;
    border:1px solid #e0e3e8;
    border-radius:10px;
    overflow:hidden;
    background:#f8f9fb;
}
.project-rent-breakdown>div{
    padding:11px 14px;
    border-right:1px solid #e0e3e8;
}
.project-rent-breakdown>div:last-child{border-right:0}
.project-rent-breakdown span{
    display:block;
    color:#6c7285;
    font-size:11px;
    margin-bottom:3px;
}
.project-rent-breakdown strong{
    font-size:13px;
    color:#1d2531;
}
.unit-rent-number{
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.unit-rent-status{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:750;
    white-space:nowrap;
}
.rent-status-signed{background:#fde7ec;color:#d93055}
.rent-status-to-sign{background:#fff3d7;color:#8c6515}
.rent-status-reserved{background:#e9edf5;color:#516078}
.rent-status-negotiation{background:#f8e8ee;color:#9f4960}
.rent-status-available{background:#eef0f3;color:#6c7285}
.unit-rent-note{
    display:block;
    margin-top:3px;
    color:#8b91a0;
    font-size:10px;
}
@media (max-width:1100px){
    .project-rent-kpis,.project-rent-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
    .project-rent-breakdown>div:nth-child(2){border-right:0}
    .project-rent-breakdown>div:nth-child(-n+2){border-bottom:1px solid #e0e3e8}
}
@media (max-width:720px){
    .project-rent-header{display:block}
    .project-rent-capture{text-align:left;margin-top:12px}
    .project-rent-kpis,.project-rent-breakdown{grid-template-columns:1fr}
    .project-rent-breakdown>div{border-right:0;border-bottom:1px solid #e0e3e8}
    .project-rent-breakdown>div:last-child{border-bottom:0}
}

/* v0.5.9.1 · Estado único del local + ajuste visual tarjetas de proyectos */
.segmented-progress .status-to-sign,.progress-legend .status-to-sign{background:#f1c875}
.unit-status-select.status-to-sign{background-color:#fff3d7;border-color:#e2bf6d;color:#7a5a16;font-weight:700}
.project-status-summary{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Las etiquetas ejecutivas de la tarjeta deben leerse de una sola mirada. */
.project-card-data div{grid-template-columns:220px minmax(0,1fr)}
.project-card-data dt{white-space:nowrap}

@media (max-width:900px){
    .project-status-summary{grid-template-columns:1fr 1fr}
    .project-card-data div{grid-template-columns:1fr}
    .project-card-data dt{white-space:normal}
}

/* v0.5.9.2 · Alta rápida de operadores + corrección tarjetas de proyectos */
.project-card-v03 .project-card-data > div{
    grid-template-columns:210px minmax(0,1fr);
    column-gap:30px;
    align-items:baseline;
}
.project-card-v03 .project-card-data dt{
    white-space:nowrap;
    min-width:0;
}
.project-card-v03 .project-card-data dd{
    min-width:0;
    overflow-wrap:anywhere;
}

.operator-quick-create{
    grid-column:1 / -1;
    justify-self:start;
    margin-top:1px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--primary);
    font:inherit;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}
.operator-quick-create:hover{text-decoration:underline}

.quick-operator-dialog{
    width:min(720px,calc(100vw - 36px));
    padding:0;
    border:0;
    border-radius:16px;
    background:#fff;
    color:var(--text);
    box-shadow:0 24px 80px rgba(29,37,49,.28);
}
.quick-operator-dialog::backdrop{background:rgba(29,37,49,.55)}
.quick-operator-form{padding:0}
.quick-operator-header{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:24px 26px 19px;
    border-bottom:1px solid var(--line);
}
.quick-operator-header h2{margin:4px 0 5px;font-size:25px}
.quick-operator-header p{margin:0;color:var(--muted);line-height:1.45}
.quick-operator-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:22px 26px 10px;
}
.quick-operator-grid label{display:grid;gap:7px}
.quick-operator-grid label>span{font-size:12px;font-weight:800;color:var(--muted)}
.quick-operator-grid input,.quick-operator-grid select{
    width:100%;
    min-height:43px;
    padding:10px 12px;
    border:1px solid var(--line-strong);
    border-radius:9px;
    background:#fff;
    color:var(--text);
    font:inherit;
}
.quick-operator-grid input:focus,.quick-operator-grid select:focus{
    outline:none;
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(238,70,101,.12);
}
.quick-operator-brand{grid-column:1 / -1}
.quick-operator-note{
    margin:10px 26px 0;
    padding:12px 14px;
    border-radius:10px;
    background:#f5f6f8;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}
.quick-operator-note strong{display:block;color:var(--text);margin-bottom:2px}
.quick-operator-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:18px 26px 22px;
}

@media (max-width:1100px){
    .project-card-v03 .project-card-data > div{grid-template-columns:185px minmax(0,1fr);column-gap:20px}
}
@media (max-width:900px){
    .project-card-v03 .project-card-data > div{grid-template-columns:1fr;gap:3px}
    .project-card-v03 .project-card-data dt{white-space:normal}
}
@media (max-width:620px){
    .quick-operator-grid{grid-template-columns:1fr}
    .quick-operator-brand{grid-column:auto}
    .quick-operator-header,.quick-operator-grid,.quick-operator-actions{padding-left:16px;padding-right:16px}
    .quick-operator-note{margin-left:16px;margin-right:16px}
}

/* v0.5.9.3 · Contactos */
.button-danger{
    background:#fff;
    color:var(--danger);
    border:1px solid #d8a6a6;
}
.button-danger:hover{
    background:var(--danger-bg);
    border-color:var(--danger);
}
.contact-editor-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.form-actions-spacer{flex:1 1 auto}
.checkbox small{
    display:block;
    margin-left:24px;
    margin-top:3px;
    color:var(--muted);
    font-weight:400;
    line-height:1.35;
}

/* v0.5.9.4 · Resumen ejecutivo exportable */
.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.toolbar-actions{width:100%;justify-content:stretch}.toolbar-actions .button{flex:1 1 auto;text-align:center}}

/* v0.5.9.8 · Reactivación guiada del seguimiento comercial */
.tracking-reactivation-hint {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #f7f8fa;
    color: #566078;
    font-size: 13px;
    line-height: 1.35;
}

/* v0.5.9.10 · acciones de operador */
.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.toolbar-actions form{margin:0;}
@media (max-width:720px){.toolbar-actions{width:100%;}.toolbar-actions .button,.toolbar-actions form{flex:1 1 auto;}.toolbar-actions form .button{width:100%;}}


/* v0.5.9.11 · Eliminar operador menos prominente */
.operator-delete-footer{
    display:flex;
    justify-content:flex-end;
    margin-top:24px;
    padding:0 0 8px;
}
.operator-delete-footer form{margin:0;}
@media(max-width:720px){
    .operator-delete-footer{justify-content:stretch;}
    .operator-delete-footer form,.operator-delete-footer .button{width:100%;}
}

/* v0.5.9.14 — jerarquía de acciones y historial comercial */
.tracking-register-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 15px;
    border:1px solid var(--primary);
    border-radius:8px;
    background:var(--primary);
    color:#fff !important;
    font-size:13px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
}
.tracking-register-action:hover{filter:brightness(.97);color:#fff !important}
.tracking-plan-editor>summary,.tracking-history>summary{
    cursor:pointer;
    color:#31435d;
    font-weight:700;
    white-space:nowrap;
    list-style:none;
    font-size:13px;
}
.tracking-history>summary::-webkit-details-marker{display:none}
.tracking-history>summary:hover,.tracking-plan-editor>summary:hover{color:var(--primary)}
.tracking-plan-editor form{
    grid-template-columns:115px minmax(180px,.8fr) minmax(250px,1.15fr) 160px auto;
}
.tracking-history[open]{
    flex:1 0 100%;
    width:100%;
    margin-top:5px;
    padding-top:12px;
    border-top:1px solid var(--line);
}
.tracking-card-actions:has(.tracking-history[open]),
.tracking-closed-actions:has(.tracking-history[open]){flex-wrap:wrap}
.tracking-history-list{
    display:grid;
    gap:8px;
    margin-top:10px;
    max-height:360px;
    overflow:auto;
    padding-right:4px;
}
.tracking-history-item{
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fafafb;
}
.tracking-history-head{
    display:flex;
    align-items:baseline;
    gap:10px;
    flex-wrap:wrap;
}
.tracking-history-head strong{font-size:13px;color:var(--text)}
.tracking-history-head span{font-size:12px;color:var(--primary);font-weight:700}
.tracking-history-item p{margin:6px 0 0;color:var(--secondary);font-size:13px;line-height:1.45}
.tracking-history-item small{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:700}
.tracking-history-closed{margin-right:auto}
.tracking-card.is-closed .tracking-history-item{background:#f7f7f7;border-color:#d6d9de}
.tracking-card.is-closed .tracking-history-head span,
.tracking-card.is-closed .tracking-history-item p{color:#697289}

@media (max-width:1100px){
    .tracking-plan-editor form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tracking-plan-actions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:720px){
    .tracking-plan-editor form{grid-template-columns:1fr}
    .tracking-plan-actions{grid-column:1}
    .tracking-register-action{width:100%}
}


/* v0.5.9.15 · Eliminar gestiones puntuales del historial */
.tracking-history-delete-form{
    margin-left:auto;
    display:inline-flex;
}
.tracking-history-delete{
    padding:0;
    border:0;
    background:transparent;
    color:#8a91a0;
    font:inherit;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.tracking-history-delete:hover{
    color:var(--primary);
    text-decoration:underline;
}

/* v0.5.9.16 · Ajustes responsive móvil ficha de proyecto */
@media (max-width:720px){
    /* Pestañas: ambas quedan completas dentro del ancho del teléfono. */
    .project-section-tabs{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        width:100%;
        overflow:visible;
    }
    .project-section-tab{
        min-width:0!important;
        width:100%;
        padding:15px 8px;
        gap:5px;
        font-size:14px;
        line-height:1.15;
        white-space:normal;
        text-align:center;
        overflow-wrap:anywhere;
    }
    .project-section-tab b{
        flex:0 0 auto;
        min-width:21px;
        height:21px;
        padding:0 6px;
        font-size:10px;
    }

    /* Inventario: no se corta. Se desplaza horizontalmente dentro de la tarjeta. */
    .floor-header::after{
        content:"Desliza horizontalmente para ver todas las columnas →";
        display:block;
        margin-top:10px;
        color:var(--muted);
        font-size:11px;
        font-weight:700;
    }
    .unit-table-wrap{
        width:100%;
        max-width:100%;
        overflow-x:auto!important;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        scrollbar-width:thin;
    }
    .unit-table{
        width:max-content;
        min-width:940px;
    }
    .unit-table th,
    .unit-table td{
        white-space:nowrap;
    }
    .unit-status-select{min-width:160px}
    .operator-cell{min-width:235px}

    /* Mantiene visible el local mientras se recorre la tabla hacia la derecha. */
    .unit-table th:first-child,
    .unit-table td:first-child{
        position:sticky;
        left:0;
        z-index:3;
        background:#fff;
        box-shadow:1px 0 0 var(--line);
    }
    .unit-table th:first-child{
        z-index:4;
        background:#f8f8f9;
    }
}
