:root {
  --green: #2b544c;
  --green-deep: #1f403a;
  --green-soft: #e8efed;
  --gold: #bf9328;
  --gold-soft: #f7efd9;
  --ink: #17211f;
  --muted: #66736f;
  --line: #e1e7e5;
  --surface: #ffffff;
  --canvas: #f4f6f5;
  --shadow: 0 18px 45px rgba(30, 63, 57, .08);
}

.login-page { min-height: 100vh; display: grid; place-items: center; background: #edf2ef; padding: 24px; }
.login-card { width: min(430px, 100%); background: white; border-radius: 22px; padding: 34px; box-shadow: 0 18px 55px rgba(22, 57, 50, .15); }
.login-card img { width: 230px; height: auto; max-height: 76px; object-fit: contain; object-position: center; display: block; margin: 0 auto 28px; }
.login-card h1 { margin: 4px 0 8px; color: #2b544c; }
.login-card form, .crm-form { display: grid; gap: 14px; }
.login-card label, .crm-form label { display: grid; gap: 6px; color: #365a53; font-size: .83rem; font-weight: 700; }
.login-card input, .crm-form input, .crm-form select, .crm-form textarea { width: 100%; border: 1px solid #cddbd6; border-radius: 9px; padding: 10px 12px; background: #fff; color: #173b34; font: inherit; box-sizing: border-box; }
.crm-form textarea { resize: vertical; }
.primary-button, .secondary-button { border: 0; border-radius: 9px; padding: 10px 15px; font-weight: 700; cursor: pointer; }
.primary-button { color: white; background: #2b544c; }
.quote-whatsapp-button { position: relative; padding-left: 34px; background: #237a5b; }
.quote-whatsapp-button:before { content: "↗"; position: absolute; left: 13px; top: 50%; color: #d8f5e8; font-size: 14px; font-weight: 900; transform: translateY(-52%); }
.secondary-button { color: #2b544c; background: #e6efeb; }
.primary-button:disabled { opacity: .45; cursor: not-allowed; }
.secondary-button.compact { padding: 7px 10px; font-size: .76rem; }
.form-alert { margin: 0 0 18px; padding: 11px 14px; border-radius: 9px; font-weight: 650; }
.form-alert.success { background: #e0f2e8; color: #226044; }
.form-alert.error { background: #fde8e5; color: #9b372d; }
.operations-card { margin: 18px 0; border: 1px solid #d8e4df; border-radius: 14px; background: #f8fbf9; }
.operations-card summary { cursor: pointer; padding: 14px 16px; color: #2b544c; font-weight: 800; }
.operations-card summary:focus { outline: none; }
.operations-card summary:focus-visible { box-shadow: inset 0 0 0 2px #bf9328; border-radius: 12px; }
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0 16px 16px; }
.crm-form { align-content: start; padding: 15px; border-radius: 12px; background: white; border: 1px solid #e0e9e5; }
.crm-form.wide { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.crm-form h3, .crm-form p, .crm-form button { grid-column: 1 / -1; margin: 0; }
.crm-form .full { grid-column: 1 / -1; }
@media (max-width: 860px) { .operations-grid, .crm-form.wide { grid-template-columns: 1fr; } .crm-form.wide > * { grid-column: 1; } }
.quote-module > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; }
.quote-module > summary::-webkit-details-marker { display: none; }
.quote-module > summary::before { content: "▸"; color: #bf9328; margin-right: 8px; }
.quote-module[open] > summary::before { content: "▾"; }
.quote-module > summary span { flex: 1; }
.quote-module > summary em { padding: 5px 9px; border-radius: 999px; background: #edf3f0; color: #54706a; font-size: .72rem; font-style: normal; }
.quote-module > summary em b { font: inherit; }
.quote-module > summary .close-label { display: none; }
.quote-module[open] > summary .open-label { display: none; }
.quote-module[open] > summary .close-label { display: inline; }
body:has(.quote-module[open]) { overflow: hidden; }
body:has(.quote-module[open])::after { content: ""; position: fixed; inset: 0; z-index: 900; background: rgba(17, 43, 38, .64); backdrop-filter: blur(3px); }
.quote-module[open] { position: fixed; z-index: 1000; top: 24px; bottom: 24px; left: 50%; transform: translateX(-50%); width: min(1120px, calc(100vw - 40px)); margin: 0; overflow: auto; border: 0; border-radius: 18px; background: #f4f8f6; box-shadow: 0 24px 80px rgba(5, 28, 23, .34); }
.quote-module[open] > summary { position: sticky; top: 0; z-index: 3; padding: 18px 22px; background: #2b544c; color: white; border-radius: 18px 18px 0 0; }
.quote-module[open] > summary em { background: rgba(255,255,255,.14); color: white; }
.quote-workspace { display: grid; gap: 18px; padding: 20px; }
.quote-create { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 20px; }
.quote-create h3, .quote-create button, .quote-create .full { grid-column: 1 / -1; }
.quote-card { padding: 16px; border: 1px solid #dce7e3; border-radius: 13px; background: white; }
.quote-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.quote-card-head h3 { margin: 3px 0 0; color: #2b544c; }
.quote-card-head small { color: #bf9328; font-weight: 800; }
.quote-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.quote-meta span { padding: 7px 10px; border-radius: 8px; background: #edf3f0; color: #45645e; font-size: .8rem; }
.quote-meta .internal-value { background: #fff3d9; color: #775a16; }
.quote-items { border-block: 1px solid #e1e9e6; margin: 12px 0; }
.quote-item-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 9px 2px; border-bottom: 1px solid #edf2f0; }
.quote-item-row:last-child { border-bottom: 0; }
.quote-item-row span { color: #284e47; }
.quote-item-row small { display: block; margin-top: 2px; color: #70837f; }
.quote-item-form { display: grid; grid-template-columns: 2.5fr .55fr .7fr .8fr .8fr auto; gap: 7px; margin-top: 12px; }
.quote-item-form input { min-width: 0; border: 1px solid #cddbd6; border-radius: 8px; padding: 8px; font: inherit; }
.quote-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 14px; }
.quote-actions form { margin: 0; }
.link-button { display: inline-block; text-decoration: none; }
.icon-button { width: 28px; height: 28px; border: 0; border-radius: 50%; color: #9b372d; background: #fde8e5; cursor: pointer; font-size: 1rem; }
.status-pill.approved { background: #e0f2e8; color: #226044; }
.status-pill.draft { background: #fff3d9; color: #775a16; }
.status-pill.sent { background: #e5ecfa; color: #2b4f8b; }
@media (max-width: 980px) { .quote-item-form { grid-template-columns: 1fr 1fr; } .quote-item-form > :first-child { grid-column: 1 / -1; } }
@media (max-width: 820px) { .quote-create { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .quote-module[open] { top: 8px; bottom: 8px; width: calc(100vw - 16px); } .quote-create, .quote-item-form { grid-template-columns: 1fr; } .quote-create > *, .quote-item-form > * { grid-column: 1; } }

.quote-apu-form { display:grid; grid-template-columns:minmax(320px,1fr) 120px auto; gap:10px; align-items:end; padding:14px; margin-top:14px; background:#edf3f0; border:1px solid #d6e2dd; border-radius:11px; }
.quote-apu-form label { display:grid; gap:5px; color:#365a53; font-size:.75rem; font-weight:800; }
.quote-apu-form select,.quote-apu-form input { width:100%; border:1px solid #c5d5cf; border-radius:8px; padding:10px; background:white; font:inherit; }
.quote-apu-form small { grid-column:1/-1; color:#775a16; }
.manual-item { margin-top:10px; }
.manual-item summary { cursor:pointer; color:#54706a; font-size:.78rem; font-weight:700; }

.catalog-layout,.apu-list { display:grid; gap:18px; }
.catalog-create,.apu-create { margin-bottom:18px; }
.catalog-form-grid { padding:20px; display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)) auto; gap:12px; align-items:end; }
.catalog-form-grid label,.apu-card-head label { display:grid; gap:6px; color:#365a53; font-size:.75rem; font-weight:800; }
.catalog-form-grid input,.catalog-row input,.apu-card input,.apu-card select { width:100%; border:1px solid #cddbd6; border-radius:8px; padding:9px 10px; background:white; color:#173b34; font:inherit; }
.catalog-table { overflow-x:auto; }
.catalog-row { min-width:900px; padding:10px 18px; display:grid; grid-template-columns:1fr 2fr 90px 130px 90px 90px; gap:9px; align-items:center; border-bottom:1px solid #edf1ef; }
.catalog-head { color:#70837f; background:#f7f9f8; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.switch-label { display:flex!important; align-items:center; gap:6px!important; }
.switch-label input { width:auto!important; }
.apu-fields { grid-template-columns:110px 1fr 2fr 90px 150px auto; }
.apu-card { overflow:visible; }
.apu-create-wizard { overflow:hidden; border-color:#d4e0dc; }
.apu-create-header { padding:24px 26px 21px; display:flex; justify-content:space-between; gap:24px; align-items:center; color:white; background:linear-gradient(125deg,#21483f,#35685c); }
.apu-create-header h2 { margin:3px 0 7px; font-size:1.55rem; }.apu-create-header p { margin:0; color:rgba(255,255,255,.72); font-size:.8rem; }.apu-create-header .eyebrow { color:#e2bc55; }
.apu-create-steps { display:flex; align-items:center; gap:5px; }.apu-create-steps span { display:flex; align-items:center; gap:6px; padding:7px 10px; color:rgba(255,255,255,.55); font-size:.67rem; font-weight:800; }.apu-create-steps span+span::before { content:""; width:22px; height:1px; margin-right:5px; background:rgba(255,255,255,.22); }.apu-create-steps b { width:23px; height:23px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.apu-create-steps .active { color:white; }.apu-create-steps .active b { color:#21483f; background:#d7ad42; border-color:#d7ad42; }
.apu-code-studio { padding:22px 24px; background:#f8faf9; border-bottom:1px solid #dfe8e4; }.apu-code-studio .apu-section-heading { margin-bottom:14px; }.apu-code-builder { display:grid; grid-template-columns:minmax(150px,1fr) 18px minmax(160px,1fr) 18px 110px minmax(230px,1.35fr); gap:9px; align-items:end; }.apu-code-builder label,.apu-code-result { display:grid; gap:6px; }.apu-code-builder label>span,.apu-code-result>span { color:#526e67; font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }.apu-code-builder select,.apu-code-builder input { width:100%; min-width:0; padding:10px 11px; color:#244a41; background:white; border:1px solid #cbd9d4; border-radius:8px; font:inherit; }.code-separator { padding-bottom:10px; color:#a4b2ad; font-weight:900; text-align:center; }.apu-code-result { padding:10px 12px; background:#294f46; border-radius:10px; }.apu-code-result>span { color:#e4bd55; }.apu-code-result input { padding:8px 9px; color:white; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.18); font-weight:900; letter-spacing:.08em; }.apu-code-result small { color:rgba(255,255,255,.6); font-size:.56rem; line-height:1.35; }.apu-code-legend { margin-top:12px; display:flex; align-items:center; gap:7px; color:#748681; font-size:.62rem; }.apu-code-legend span { padding:5px 7px; background:white; border:1px solid #dce5e2; border-radius:6px; }.apu-code-legend span b { color:#9a741b; }.apu-code-legend i { color:#a2b0ac; font-style:normal; }.apu-code-legend em { margin-left:auto; color:#617870; font-style:normal; }
.apu-create-body { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 290px; }.apu-create-section { padding:24px; border-right:1px solid #e1e9e6; }.apu-section-heading { display:flex; gap:10px; align-items:flex-start; margin-bottom:18px; }.apu-section-heading>span { flex:0 0 27px; height:27px; display:grid; place-items:center; color:white; background:#2b5a50; border-radius:8px; font-size:.72rem; font-weight:900; }.apu-section-heading h3 { margin:1px 0 4px; color:#284c44; font-size:.95rem; }.apu-section-heading p { margin:0; color:#7b8c87; font-size:.7rem; line-height:1.4; }
.apu-identity-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.apu-identity-grid label { display:grid; gap:6px; color:#49675f; font-size:.72rem; font-weight:800; }.apu-identity-grid label.wide { grid-column:1/-1; }.apu-identity-grid label strong { color:#b98718; }.apu-identity-grid input { width:100%; padding:11px 12px; color:#23463e; background:#fbfcfc; border:1px solid #cddbd6; border-radius:8px; font:inherit; }.apu-identity-grid input:focus,.apu-create-prices input:focus { outline:2px solid rgba(191,147,40,.24); border-color:#b88c21; }.apu-identity-grid small { color:#8a9894; font-size:.62rem; font-weight:500; }
.apu-create-prices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.apu-create-prices label { min-width:0; padding:12px; display:grid; gap:4px; background:#f7faf9; border:1px solid #dbe5e1; border-radius:10px; }.apu-create-prices label>span { color:#94701d; font-size:.62rem; font-weight:900; letter-spacing:.05em; }.apu-create-prices label>b { color:#31574e; font-size:.8rem; }.apu-create-prices label>div { display:flex; align-items:center; gap:5px; }.apu-create-prices input { width:100%; min-width:0; padding:8px; color:#1f463d; background:white; border:1px solid #cedbd7; border-radius:6px; font:inherit; font-weight:800; }.apu-create-prices i { color:#788984; font-style:normal; }.apu-create-prices small { color:#83918d; font-size:.59rem; line-height:1.35; }.apu-create-prices .margin-card { border-left:3px solid #3b6b60; }.apu-create-prices .floor-card { border-left:3px solid #c19a3b; }
.apu-price-rule { margin:12px 0 0; padding:10px 12px; color:#42655d; background:#edf6f1; border-radius:8px; font-size:.65rem; }.apu-price-rule span { width:18px; height:18px; margin-right:6px; display:inline-grid; place-items:center; color:white; background:#4a8067; border-radius:50%; }.apu-price-rule.invalid { color:#8b3e34; background:#fff0ed; }.apu-price-rule.invalid span { background:#b64c3d; }
.apu-next-step { padding:24px; color:white; background:#294e46; }.apu-next-step h3 { margin:5px 0 18px; font-size:1.05rem; }.apu-next-step .eyebrow { color:#e1b84e; }.apu-next-step ol { margin:0; padding:0; display:grid; gap:13px; list-style:none; counter-reset:next; }.apu-next-step li { display:grid; grid-template-columns:25px 1fr; column-gap:9px; counter-increment:next; }.apu-next-step li::before { content:counter(next); grid-row:1/3; width:24px; height:24px; display:grid; place-items:center; color:#2c5149; background:#e0b84e; border-radius:7px; font-size:.66rem; font-weight:900; }.apu-next-step li b { font-size:.74rem; }.apu-next-step li span { color:rgba(255,255,255,.62); font-size:.62rem; line-height:1.4; }.apu-create-summary { margin:21px 0 14px; padding:12px; display:grid; gap:3px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:9px; }.apu-create-summary span { color:#d8b24c; font-size:.59rem; font-weight:900; text-transform:uppercase; }.apu-create-summary b { font-size:.7rem; line-height:1.4; }.apu-create-submit { width:100%; padding:12px 10px; color:#243f39; background:#d8ad3f; border-color:#d8ad3f; }.apu-create-submit:hover { background:#e2bc55; }
.apu-summary { min-height:100px; padding:18px 20px; display:grid; grid-template-columns:34px minmax(250px,1fr) auto 105px; gap:15px; align-items:center; cursor:pointer; list-style:none; border-radius:18px; outline:none; transition:.18s ease; }.apu-summary::-webkit-details-marker { display:none; }.apu-summary:hover { background:#f8fbfa; }.apu-summary:focus-visible { box-shadow:inset 0 0 0 2px #c49a35; }.apu-chevron { width:30px; height:30px; display:grid; place-items:center; color:#365e55; background:#e8f0ed; border-radius:50%; font-size:1.35rem; font-weight:700; transition:.18s; }.apu-card[open]>.apu-summary .apu-chevron { color:white; background:#b88c21; transform:rotate(90deg); }.apu-summary-copy { min-width:0; }.apu-summary-copy>b { margin-top:8px; display:block; overflow:hidden; color:#21463d; font-size:1rem; text-overflow:ellipsis; white-space:nowrap; }.apu-summary-tags { display:flex; gap:6px; flex-wrap:wrap; }.apu-summary-tags small { padding:4px 7px; color:#56716a; background:#edf3f1; border-radius:999px; font-size:.59rem; font-weight:800; }.apu-summary-tags small:last-child { color:#826219; background:#f8efd7; }.apu-summary-prices { display:flex; gap:8px; }.apu-summary-prices>span { min-width:82px; padding:9px 10px; display:grid; gap:2px; text-align:right; background:#f5f8f7; border:1px solid #e0e8e5; border-radius:9px; }.apu-summary-prices small { color:#7b8d87; font-size:.56rem; font-weight:900; text-transform:uppercase; }.apu-summary-prices b { color:#2e574e; font-size:.78rem; }.apu-summary-prices .floor { border-color:#e7d6a8; background:#fbf7ec; }.apu-summary-prices .floor b { color:#8b691c; }.apu-open-label { color:#6e817b; font-size:.65rem; font-style:normal; font-weight:800; text-align:right; }.apu-card[open]>.apu-summary { border-radius:18px 18px 0 0; border-bottom:1px solid #dfe8e4; }.apu-card[open]>.apu-summary .apu-open-label { color:#9a751d; }.apu-card[open]>.apu-summary .apu-open-label::before { content:"Ocultar "; }.apu-card[open]>.apu-summary .apu-open-label { font-size:0; }.apu-card[open]>.apu-summary .apu-open-label::before { font-size:.65rem; }
.apu-card-head { padding:17px; display:grid; grid-template-columns:minmax(350px,1fr) 80px 100px 110px auto; gap:10px; align-items:end; }
.apu-main-fields { display:grid; grid-template-columns:100px 2fr 1fr; gap:8px; }
.apu-source-input { grid-column:1/-1; }
.apu-name { font-weight:800!important; }
.apu-totals { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:13px 17px; background:#f6f9f8; border-block:1px solid #e1e9e6; }
.apu-totals span { padding:8px 11px; background:white; border:1px solid #dce7e3; border-radius:8px; color:#54706a; font-size:.78rem; }
.apu-totals .sale-price { color:white; background:#2b544c; border-color:#2b544c; }
.apu-resource-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px 16px; border-top:1px solid #e4ebe8; }
.apu-resource-toolbar h3,.apu-builder-head h3 { margin:3px 0; color:#173c34; }
.apu-resource-toolbar p:not(.eyebrow),.apu-builder-head p:not(.eyebrow) { margin:0; color:#71837e; font-size:.78rem; }
.apu-components { overflow-x:auto; margin:0 18px; border:1px solid #e1e9e6; border-radius:14px; }
.apu-component { min-width:1120px; display:grid; grid-template-columns:120px 2fr 1.5fr 105px 135px 105px 130px; gap:9px; align-items:center; padding:10px 12px; border-bottom:1px solid #edf1ef; font-size:.8rem; }
.apu-component small { display:block; color:#769088; font-size:.65rem; }
.apu-component-head { color:#70837f; background:#fafbfa; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.apu-component-edit select,.apu-component-edit input,.apu-batch-row select,.apu-batch-row input { min-width:0; width:100%; }
.apu-component-edit:focus-within { background:#f8fbfa; }
.cost-field { position:relative; }
.cost-field span { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#789089; }
.cost-field input { padding-left:24px; }
.apu-row-actions { display:flex; gap:6px; align-items:center; }
.save-row-button,.delete-row-button,.remove-batch-row { border:0; border-radius:8px; cursor:pointer; font-weight:800; }
.save-row-button { padding:9px 11px; color:#214d43; background:#dcebe6; }
.delete-row-button,.remove-batch-row { width:34px; height:34px; color:#a33a3a; background:#fdeaea; font-size:1rem; }
.apu-empty-components { padding:25px; text-align:center; color:#71837e; }
.apu-batch-builder { margin:16px 18px 22px; padding:18px; border:1px solid #dbe7e2; border-radius:16px; background:linear-gradient(135deg,#f8fbfa,#f1f7f4); }
.apu-builder-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.apu-material-search { width:min(390px,45%); }
.apu-material-search span { display:block; margin-bottom:5px; color:#55716a; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.apu-material-search input { width:100%; background:white; }
.apu-batch-labels,.apu-batch-row { display:grid; grid-template-columns:120px 2.2fr 1.7fr 105px 145px 36px; gap:8px; align-items:center; }
.apu-batch-labels { padding:0 4px 7px; color:#6f837d; font-size:.67rem; font-weight:800; text-transform:uppercase; }
.apu-batch-row { padding:9px; margin-bottom:8px; border:1px solid #e0e9e5; border-radius:11px; background:white; }
.apu-builder-actions { display:flex; justify-content:space-between; gap:12px; padding-top:8px; }
.apu-search-match { background:#fff5ce; }
@media(max-width:1150px){.apu-create-body{grid-template-columns:1fr 1fr}.apu-next-step{grid-column:1/-1}.apu-next-step ol{grid-template-columns:repeat(3,1fr)}.apu-summary{grid-template-columns:34px 1fr auto}.apu-open-label{display:none}.apu-code-builder{grid-template-columns:1fr 16px 1fr 16px 100px}.apu-code-result{grid-column:1/-1}.apu-code-legend em{display:none}}
@media(max-width:1000px){.catalog-form-grid,.apu-fields{grid-template-columns:repeat(2,1fr)}.apu-card-head{grid-template-columns:1fr 1fr}.apu-main-fields{grid-column:1/-1}.quote-apu-form{grid-template-columns:1fr 120px}.quote-apu-form button{grid-column:1/-1}.apu-create-header{align-items:flex-start}.apu-create-steps{display:none}.apu-summary-prices>span:nth-child(2){display:none}.apu-builder-head{align-items:stretch;flex-direction:column}.apu-material-search{width:100%}.apu-batch-builder{overflow-x:auto}.apu-batch-labels,.apu-batch-row{min-width:900px}}
@media(max-width:720px){.apu-create-body{grid-template-columns:1fr}.apu-create-section{border-right:0;border-bottom:1px solid #e1e9e6}.apu-pricing-setup{grid-column:1}.apu-next-step{grid-column:1}.apu-next-step ol{grid-template-columns:1fr}.apu-summary{grid-template-columns:30px 1fr}.apu-summary-prices{grid-column:2}.apu-summary-prices>span:nth-child(2){display:grid}.apu-code-builder{grid-template-columns:1fr}.code-separator{display:none}.apu-code-result{grid-column:1}.apu-code-legend{flex-wrap:wrap}}
@media(max-width:650px){.catalog-form-grid,.apu-fields,.apu-card-head,.apu-main-fields,.quote-apu-form{grid-template-columns:1fr}.apu-card-head>*{grid-column:1}.quote-apu-form>*{grid-column:1}.apu-identity-grid,.apu-create-prices{grid-template-columns:1fr}.apu-identity-grid label.wide{grid-column:1}.apu-summary-prices>span{min-width:72px}.apu-resource-toolbar{align-items:stretch;flex-direction:column}.apu-builder-actions{flex-direction:column}}

.proforma-body { background:#f2f5f7; }
.proforma-rail { position:fixed; inset:0 auto 0 0; width:58px; padding:10px 7px; display:grid; align-content:start; gap:10px; background:#2b544c; z-index:10; }
.proforma-rail a { height:42px; display:grid; place-items:center; color:rgba(255,255,255,.75); text-decoration:none; border-radius:8px; font-size:1.1rem; }
.proforma-rail a:hover,.proforma-rail a.active { color:white; background:rgba(255,255,255,.13); box-shadow:inset 3px 0 #bf9328; }
.proforma-main { margin-left:58px; padding:24px 28px 50px; }
.proforma-title { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.proforma-title>div:last-child { display:flex; gap:10px; align-items:center; }
.proforma-title h1 { margin:0; font-size:28px; }
.proforma-panel { margin-bottom:18px; background:white; border:1px solid #dce4e1; border-radius:7px; box-shadow:0 2px 8px rgba(25,53,46,.04); overflow:hidden; }
.proforma-section-title { padding:15px 20px; color:#294a44; border-bottom:1px solid #e6ece9; font-weight:800; }
.document-grid { padding:20px; display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:14px 22px; align-items:end; }
.document-grid label { display:grid; grid-template-columns:110px 1fr; gap:10px; align-items:center; color:#596d68; font-size:.8rem; }
.document-grid input,.document-grid textarea,.proforma-entry input,.proforma-entry select,.editable-quote-row input,.editable-quote-row select { width:100%; min-width:0; border:1px solid #cfdad6; border-radius:5px; padding:9px 10px; background:white; color:#173b34; font:inherit; }
.document-grid input:disabled,.document-grid textarea:disabled { background:#f4f6f5; color:#65736f; }
.document-description { grid-column:1/3; }
.proforma-tabs { padding:15px 20px; display:flex; justify-content:space-between; gap:20px; align-items:center; border-bottom:3px solid #bf9328; }
.proforma-tabs div { display:grid; gap:4px; }
.proforma-tabs span { color:#7c8b87; font-size:.75rem; }
.proforma-tabs em { color:#8d7328; font-size:.68rem; font-style:normal; font-weight:800; }
.proforma-table { overflow-x:auto; }
.proforma-row { min-width:1420px; display:grid; grid-template-columns:95px 180px 130px minmax(260px,2fr) 70px 115px 85px 60px 105px 190px; gap:8px; align-items:center; padding:9px 14px; border-bottom:1px solid #e7ecea; color:#435c56; font-size:.8rem; }
.proforma-row small { display:block; margin-top:3px; color:#84948f; font-size:.65rem; }
.proforma-head { padding-block:12px; background:#f0f3f2; color:#536761; font-size:.72rem; font-weight:800; }
.proforma-group-row { min-width:1420px; padding:9px 14px; display:flex; align-items:center; gap:10px; color:#2b544c; background:#edf4f1; border-bottom:1px solid #d8e4df; }
.proforma-group-row b { font-size:.78rem; }.proforma-group-row span { color:#758882; font-size:.65rem; text-transform:uppercase; }
.proforma-entry { background:#fafcfc; }
.proforma-entry .primary-button { padding:9px; }
.quote-draft-row { background:#fbfdfc; }
.quote-draft-row:nth-last-child(-n+4) { border-left:3px solid #d9e5e0; }
.resource-choice,.resource-price-control { min-width:0; display:grid; gap:5px; }
.quote-resource-selector,.resource-type-selector { cursor:pointer; }
.manual-resource-description[hidden],.line-price-tier[hidden],.resource-unit-price[hidden] { display:none; }
.blank-row-state { color:#7a8d87; font-size:.62rem; font-weight:800; text-align:center; }
.blank-row-state.pending { color:#9a761c; }
.blank-row-state.saving { color:#53736b; }
.blank-row-state.saved { color:#3b765f; }
.blank-row-state.error { color:#ad3f3f; }
.custom-rubric { margin:13px 16px 17px; }
.custom-rubric summary { cursor:pointer; color:#56716a; font-size:.78rem; font-weight:700; }
.quote-item-form-v2 { margin-top:12px; padding:16px; display:grid; grid-template-columns:1.2fr 1fr 2fr .65fr .75fr .9fr .9fr auto; gap:10px; align-items:end; background:#f7faf8; border:1px solid #dce6e2; border-radius:9px; }
.quote-item-form-v2 label { display:grid; gap:5px; color:#60746e; font-size:.68rem; font-weight:800; }.quote-item-form-v2 input,.quote-item-form-v2 select { width:100%; min-width:0; padding:9px; border:1px solid #cfdad6; border-radius:6px; background:white; color:#173b34; font:inherit; }.quote-item-form-v2 .wide { min-width:220px; }
.technical-review-grid { padding:20px; display:grid; grid-template-columns:minmax(300px,.9fr) minmax(360px,1.4fr); gap:22px; align-items:start; }
.technical-comment-form { display:grid; gap:12px; }.technical-comment-form label { display:grid; gap:6px; color:#536d65; font-size:.7rem; font-weight:850; }.technical-comment-form input,.technical-comment-form textarea { width:100%; padding:10px 11px; color:#244b42; background:#fbfcfc; border:1px solid #cbd9d4; border-radius:7px; font:inherit; resize:vertical; }.technical-comment-form .primary-button { justify-self:start; }
.technical-comment-history { max-height:340px; overflow:auto; display:grid; gap:9px; }.comment-history-title { display:flex; justify-content:space-between; color:#355b52; }.comment-history-title span { color:#83928e; font-size:.68rem; }.technical-comment-history article { padding:12px 14px; background:#f7faf8; border:1px solid #dfe8e4; border-left:3px solid #bf9328; border-radius:7px; }.technical-comment-history article header { display:flex; justify-content:space-between; gap:12px; color:#385e55; font-size:.72rem; }.technical-comment-history article time { color:#879691; font-size:.62rem; }.technical-comment-history article p { margin:8px 0 0; color:#5e746d; font-size:.76rem; line-height:1.5; white-space:pre-wrap; }
.proforma-bottom { display:grid; grid-template-columns:1fr 360px; gap:18px; align-items:start; }
.proforma-notes,.proforma-totals { padding:19px; background:white; border:1px solid #dce4e1; border-radius:7px; }
.proforma-notes p { margin:10px 0 0; color:#687b76; font-size:.82rem; line-height:1.55; }
.proforma-totals div { padding:10px 4px; display:flex; justify-content:space-between; border-bottom:1px solid #e9eeec; color:#506761; }
.proforma-totals .grand-total { color:#173b34; font-size:1.18rem; border-bottom:0; }
.proforma-totals small { display:block; margin-top:10px; color:#8c742e; text-align:right; }
.proforma-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.proforma-actions form { margin:0; }
@media(max-width:1180px){.quote-item-form-v2{grid-template-columns:repeat(4,1fr)}.quote-item-form-v2 .wide{min-width:0}}
@media(max-width:900px){.document-grid{grid-template-columns:1fr 1fr}.document-description{grid-column:1/-1}.proforma-bottom{grid-template-columns:1fr}.proforma-title{align-items:flex-start}.proforma-title>div:last-child{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:620px){.proforma-rail{position:static;width:100%;height:54px;grid-auto-flow:column;grid-template-columns:repeat(4,44px)}.proforma-main{margin-left:0;padding:18px 12px}.proforma-title{display:block}.proforma-title>div:last-child{justify-content:flex-start;margin-top:12px}.document-grid{grid-template-columns:1fr}.document-grid label{grid-template-columns:1fr}.document-description{grid-column:1}.proforma-actions{flex-wrap:wrap}}
@media(max-width:760px){.technical-review-grid,.quote-item-form-v2{grid-template-columns:1fr}.quote-item-form-v2>*{grid-column:1}.technical-comment-history article header{display:grid}}

.inventory-search { margin-bottom:18px; }
.inventory-search form { padding:18px 22px; display:grid; grid-template-columns:2fr 1fr 1fr auto auto; gap:14px; align-items:end; }
.inventory-search label,.inventory-dialog label { display:grid; gap:6px; color:#536b65; font-size:.76rem; font-weight:800; }
.inventory-search input,.inventory-search select,.inventory-dialog input,.inventory-dialog select,.inventory-dialog textarea { width:100%; padding:10px 11px; border:1px solid #ccd9d4; border-radius:7px; background:white; color:#173b34; font:inherit; }
.inventory-groups { display:grid; gap:11px; }
.inventory-category>summary { padding:16px 20px; display:flex; align-items:center; gap:13px; cursor:pointer; list-style:none; }
.inventory-category>summary::-webkit-details-marker { display:none; }
.inventory-category>summary span { color:#bf9328; font-size:1.35rem; transition:.2s; }
.inventory-category[open]>summary span { transform:rotate(90deg); }
.inventory-category>summary b { color:#294a44; }
.inventory-category>summary em { margin-left:auto; color:#80908c; font-size:.7rem; font-style:normal; }
.inventory-table { overflow-x:auto; border-top:1px solid #e4ebe8; }
.inventory-row { min-width:1180px; padding:9px 14px; display:grid; grid-template-columns:95px 2fr 1fr 75px 100px 100px 90px 110px 80px; gap:7px; align-items:center; border-bottom:1px solid #eaf0ed; }
.inventory-row input { width:100%; min-width:0; padding:8px; border:1px solid #d2deda; border-radius:6px; color:#294a44; font:inherit; }
.inventory-head { padding-block:11px; color:#687c76; background:#f3f6f5; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.stock-state { display:flex; align-items:center; gap:5px; padding:6px 7px; border-radius:999px; font-size:.63rem; font-weight:800; white-space:nowrap; }
.stock-state input { width:auto; }
.stock-state.available { color:#226044; background:#e0f2e8; }.stock-state.low { color:#805d08; background:#fff3d9; }.stock-state.out { color:#9b372d; background:#fde8e5; }.stock-state.untracked,.stock-state.inactive { color:#65736f; background:#e9edeb; }
.inventory-dialog { width:min(760px,calc(100vw - 30px)); padding:0; border:0; border-radius:16px; box-shadow:0 24px 80px rgba(5,28,23,.35); }
.inventory-dialog::backdrop { background:rgba(17,43,38,.65); backdrop-filter:blur(3px); }
.inventory-dialog header,.inventory-dialog footer { padding:18px 21px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e2e9e6; }
.inventory-dialog footer { justify-content:flex-end; gap:10px; border-top:1px solid #e2e9e6; border-bottom:0; }
.dialog-grid { padding:22px; display:grid; grid-template-columns:1fr 1fr; gap:15px; }.dialog-grid .wide { grid-column:1/-1; }
@media(max-width:900px){.inventory-search form{grid-template-columns:1fr 1fr}.inventory-search form>*{min-width:0}}
@media(max-width:600px){.inventory-search form,.dialog-grid{grid-template-columns:1fr}.dialog-grid .wide{grid-column:1}}

.admin-login-card img { width:230px; max-height:100px; object-fit:contain; margin:0 auto 14px; display:block; }
.admin-login-card p:not(.eyebrow) { color:#687b76; line-height:1.5; }
.admin-login-card .link-button { width:100%; text-align:center; }
.quotes-catalog { overflow:hidden; }
.quote-list-head,.quote-list-row { min-width:850px; display:grid; grid-template-columns:140px minmax(280px,2fr) 110px 120px 120px 80px; gap:12px; align-items:center; padding:13px 18px; }
.quote-list-head { color:#687b76; background:#f3f6f5; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.quote-list-row { border-top:1px solid #e7ecea; color:#3f5b54; font-size:.78rem; }
.quote-list-row div strong,.quote-list-row div small { display:block; }.quote-list-row div small { margin-top:4px; color:#81908c; }
.admin-margin { display:block; }
.apu-price-fields { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(170px,1fr)); gap:12px; padding:14px; border:1px solid #dce5e1; border-radius:10px; background:#f7faf8; }
.apu-price-fields label { display:grid; gap:5px; }
.apu-price-fields small { color:#74857f; }
.apu-price-fields em { color:#527067; font-size:.68rem; font-style:normal; font-weight:800; }
.apu-price-fields .floor-price { padding-left:12px; border-left:3px solid #bf9328; }
.apu-price-preview { color:#2b544c; font-weight:900; }
.price-tier-selector { font-weight:700; }
.line-price-tier { width:100%; min-width:118px; border-color:#c5a74d; background:#fffaf0; color:#254b42; font-weight:800; cursor:pointer; }
.line-price-tier:focus { border-color:#b08e2c; box-shadow:0 0 0 3px rgba(197,167,77,.16); }
.quote-item-code,.apu-code-preview { color:#345a51; font-size:.72rem; font-weight:850; letter-spacing:.02em; }
.quote-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.quote-row-actions .icon-button { min-width:28px; padding:6px; }.quote-row-actions .danger { color:#a23d36; }
.autosave-state { min-width:42px; color:#6e837d; font-size:.58rem!important; font-weight:750; text-align:right; }
.autosave-state.pending { color:#9a761c; }
.autosave-state.saving { color:#53736b; }
.autosave-state.saved { color:#3b765f; }
.autosave-state.error { color:#ad3f3f; }
@media(max-width:760px){.apu-price-fields{grid-template-columns:1fr}.apu-price-fields .floor-price{padding-left:0;border-left:0;border-top:3px solid #bf9328;padding-top:10px}}

.quote-catalog-cards { display:grid; gap:12px; }
.quote-record>summary { padding:17px 20px; display:grid; grid-template-columns:minmax(240px,1fr) minmax(150px,auto) 110px 120px 110px; gap:15px; align-items:center; cursor:pointer; list-style:none; }
.quote-record>summary::-webkit-details-marker { display:none; }
.quote-record>summary div small,.quote-record>summary div b,.quote-record>summary div span { display:block; }
.quote-record>summary div small { color:#bf9328; font-size:.65rem; font-weight:800; }.quote-record>summary div b { margin:5px 0 3px; color:#294a44; }.quote-record>summary div span { color:#71847e; font-size:.75rem; }
.quote-record>summary>strong { color:#2b544c; font-size:1.05rem; text-align:right; }.quote-record>summary>em { color:#70837f; font-size:.7rem; font-style:normal; font-weight:800; text-align:right; }
.quote-record[open]>summary { background:#f7faf8; border-bottom:1px solid #dfe8e4; }.quote-record[open]>summary>em { color:#bf9328; }
.quote-record-body { padding:16px 20px 19px; }
.quote-breakdown-head,.quote-breakdown-row { display:grid; grid-template-columns:100px minmax(260px,2fr) 90px 130px 130px; gap:12px; align-items:center; padding:10px 12px; }
.quote-breakdown-head { color:#71827e; background:#eef3f1; font-size:.67rem; font-weight:800; text-transform:uppercase; }.quote-breakdown-row { border-bottom:1px solid #e8eeeb; color:#415d56; font-size:.78rem; }.quote-breakdown-row small { display:block; margin-top:3px; color:#879692; font-size:.63rem; }
.quote-record-totals { margin-top:12px; display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }.quote-record-totals span { padding:9px 12px; color:#526a64; background:#f0f4f2; border-radius:8px; font-size:.75rem; }.quote-record-totals span:last-child { color:white; background:#2b544c; }
.quote-record-actions { margin-top:14px; display:flex; justify-content:flex-end; gap:9px; }
@media(max-width:760px){.quote-record>summary{grid-template-columns:1fr auto}.quote-record>summary>strong,.quote-record>summary>em{text-align:left}.quote-breakdown-head,.quote-breakdown-row{min-width:720px}.quote-record-body{overflow-x:auto}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Glancyr", "Segoe UI", Arial, sans-serif;
}

/* NovaCore Field · Consultorías */
.consulting-project-title>div:last-child { display:flex; gap:9px; align-items:center; }
.consulting-metrics { margin-bottom:20px; display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.consulting-metrics article { padding:18px; display:grid; gap:5px; background:white; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
.consulting-metrics span { color:#6b7f79; font-size:.68rem; font-weight:800; text-transform:uppercase; }.consulting-metrics b { color:#234b42; font-size:1.75rem; }.consulting-metrics small { color:#899792; font-size:.65rem; }.consulting-metrics .critical { border-left:4px solid #c65949; }.consulting-metrics .critical b { color:#a53e32; }
.consulting-project-grid { display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); gap:15px; }.consulting-project-card { padding:20px; display:block; color:inherit; text-decoration:none; transition:.18s; }.consulting-project-card:hover { transform:translateY(-2px); box-shadow:0 14px 35px rgba(24,55,48,.13); }.consulting-project-card header { display:flex; justify-content:space-between; gap:10px; }.consulting-project-card header span { color:#a37a1d; font-size:.65rem; font-weight:900; }.consulting-project-card header em { padding:4px 7px; color:#347156; background:#e7f4ed; border-radius:999px; font-size:.58rem; font-style:normal; font-weight:800; }.consulting-project-card h2 { margin:18px 0 5px; color:#244c43; font-size:1.05rem; }.consulting-project-card>p { min-height:34px; margin:0 0 18px; color:#748680; font-size:.72rem; }.consulting-project-card>div { display:flex; gap:8px; }.consulting-project-card>div span { flex:1; padding:9px; color:#657a74; background:#f3f7f5; border-radius:8px; font-size:.65rem; }.consulting-project-card>div b { color:#2f5b51; font-size:.9rem; }.consulting-project-card>div .attention { color:#8d463c; background:#fff0ed; }.consulting-project-card footer { margin-top:18px; padding-top:13px; display:flex; justify-content:space-between; color:#486961; border-top:1px solid #e5ece9; font-size:.69rem; font-weight:800; }
.project-progress { margin-bottom:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.project-progress article { padding:16px 18px; display:flex; align-items:center; gap:12px; background:#294f46; border-radius:12px; }.project-progress b { color:#e1b64b; font-size:1.35rem; }.project-progress span { color:white; font-size:.72rem; font-weight:700; }
.asset-catalog { overflow-x:auto; }.asset-row { min-width:950px; padding:13px 18px; display:grid; grid-template-columns:1.35fr 1.8fr 1.1fr 100px 100px 75px; gap:12px; align-items:center; color:#446159; border-top:1px solid #e5ece9; font-size:.72rem; text-decoration:none; }.asset-row:hover:not(.asset-head) { background:#f7faf8; }.asset-row span b,.asset-row span small { display:block; }.asset-row small { margin-top:4px; color:#879692; font-size:.6rem; }.asset-row>strong { color:#9b751d; text-align:right; }.asset-head { color:#71827d; background:#f1f5f3; border-top:0; font-size:.62rem; font-weight:900; text-transform:uppercase; }
.criticality { padding:6px 8px; display:inline-block; border-radius:999px; font-size:.59rem; font-style:normal; font-weight:900; text-align:center; text-transform:uppercase; }.criticality.low { color:#27704e; background:#def2e7; }.criticality.medium { color:#805d08; background:#fff1cd; }.criticality.high { color:#984c20; background:#ffeadb; }.criticality.critical,.criticality.very_high { color:#9d352d; background:#fde3e0; }.criticality.pending { color:#667773; background:#e9eeec; }
.form-hint { margin:0; color:#6c8079; font-size:.72rem; line-height:1.5; }
.shared-asset-data,.inspection-tab { margin-bottom:18px; }.inspection-section-head { padding:20px 22px; display:flex; justify-content:space-between; gap:16px; align-items:center; border-bottom:1px solid #e2eae7; }.inspection-section-head h2 { margin:2px 0 4px; color:#294f46; }.inspection-section-head div>span { color:#7a8b86; font-size:.7rem; }.shared-badge,.measurement-count { padding:7px 10px; color:#45685f; background:#eaf2ef; border-radius:999px; font-size:.64rem; font-weight:900; }
.asset-general-grid { padding:20px 22px; display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:14px; }.asset-general-grid label,.inspection-notes,.thermal-core label,.evidence-grid label { display:grid; gap:6px; color:#506c64; font-size:.68rem; font-weight:800; }.asset-general-grid input,.asset-general-grid select,.inspection-notes textarea,.thermal-core input,.thermal-core select,.evidence-grid input { width:100%; padding:10px; color:#23483f; background:#fbfcfc; border:1px solid #cbd9d4; border-radius:7px; font:inherit; }.asset-general-grid input:disabled { color:#7a8985; background:#f0f3f2; }.asset-general-grid .wide { grid-column:span 2; }
.equipment-checks { margin:0 22px 20px; padding:14px; display:flex; flex-wrap:wrap; gap:8px; border:1px solid #dce6e2; border-radius:10px; }.equipment-checks legend { padding:0 7px; color:#49675f; font-size:.7rem; font-weight:900; }.equipment-checks label { cursor:pointer; }.equipment-checks input { position:absolute; opacity:0; pointer-events:none; }.equipment-checks span { padding:7px 9px; display:block; color:#617871; background:#f2f6f4; border:1px solid #dde7e3; border-radius:7px; font-size:.65rem; }.equipment-checks input:checked+span { color:white; background:#35675c; border-color:#35675c; box-shadow:inset 3px 0 #d9ae41; }.form-actions { padding:0 22px 20px; display:flex; justify-content:flex-end; }
.inspection-tabs { margin:22px 0 14px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.inspection-tabs button { padding:15px 18px; display:grid; grid-template-columns:38px 1fr; column-gap:10px; text-align:left; color:#587069; background:white; border:1px solid #dce5e2; border-radius:12px; cursor:pointer; }.inspection-tabs button>span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; color:#96701a; background:#f7efd9; border-radius:9px; font-size:.68rem; font-weight:900; }.inspection-tabs b { color:#345b52; }.inspection-tabs small { margin-top:3px; color:#899792; }.inspection-tabs button.active { color:white; background:#2b554c; border-color:#2b554c; box-shadow:inset 0 -3px #d7aa3b; }.inspection-tabs button.active b,.inspection-tabs button.active small { color:white; }.inspection-tab { display:none; }.inspection-tab.active { display:block; }
.condition-picker { padding:18px 22px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:#f8faf9; border-bottom:1px solid #e4ebe8; }.condition-picker>span { margin-right:auto; color:#4b675f; font-size:.72rem; font-weight:900; }.condition-picker label { cursor:pointer; }.condition-picker input { position:absolute; opacity:0; }.condition-picker b { padding:7px 11px; display:block; color:#647972; background:white; border:1px solid #d8e2de; border-radius:999px; font-size:.63rem; }.condition-picker input:checked+b { color:white; background:#35675c; border-color:#35675c; }
.visual-groups { padding:20px 22px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.visual-groups fieldset { margin:0; padding:13px; display:grid; grid-template-columns:1fr 1fr; gap:7px; border:1px solid #dfe7e4; border-radius:10px; }.visual-groups legend { padding:0 6px; color:#345b52; font-size:.7rem; font-weight:900; }.visual-groups label { display:flex; gap:6px; align-items:flex-start; color:#5f746e; font-size:.63rem; }.visual-groups input { accent-color:#35675c; }.inspection-notes { margin:0 22px 18px; }.auto-diagnosis { margin:0 22px 18px; padding:16px; color:#355c52; background:#eef6f2; border-left:4px solid #b88d23; border-radius:8px; }.auto-diagnosis span { color:#97711d; font-size:.61rem; font-weight:900; }.auto-diagnosis p { margin:7px 0 0; font-size:.75rem; line-height:1.55; }
.thermal-form { padding-top:18px; }.thermal-core { padding:0 22px 18px; display:grid; grid-template-columns:1.5fr .7fr 1fr 1fr 1fr; gap:12px; align-items:end; }.delta-preview { min-height:66px; padding:10px; display:grid; gap:3px; color:white; background:#2d584f; border-radius:9px; }.delta-preview span { color:#dcb348; font-size:.58rem; font-weight:900; text-transform:uppercase; }.delta-preview b { font-size:1rem; }.delta-preview small { color:rgba(255,255,255,.62); font-size:.52rem; }.anomaly-checks { margin-bottom:18px; }.evidence-grid { padding:0 22px 18px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }.evidence-grid label { padding:12px; background:#f6f9f8; border:1px dashed #bdcec8; border-radius:9px; }.evidence-grid small { color:#8a9894; }
.thermal-level-scale { margin:0 22px 18px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.thermal-level-scale>span { padding:10px 11px; display:grid; gap:4px; color:#60746e; background:#f4f7f6; border:1px solid #dfe7e4; border-radius:9px; transition:.15s; }.thermal-level-scale b { color:#3c6158; font-size:.7rem; }.thermal-level-scale small { font-size:.56rem; line-height:1.35; }.thermal-level-scale span:nth-child(1) { border-top:3px solid #3e8b67; }.thermal-level-scale span:nth-child(2) { border-top:3px solid #d5a52c; }.thermal-level-scale span:nth-child(3) { border-top:3px solid #d17433; }.thermal-level-scale span:nth-child(4) { border-top:3px solid #ba493d; }.thermal-level-scale>span.active { color:white; background:#315c52; border-color:#315c52; box-shadow:0 6px 16px rgba(35,74,64,.2); }.thermal-level-scale>span.active b { color:#f0c65b; }
.thermal-history { padding:0 22px 22px; display:grid; gap:11px; }.thermal-history article { padding:15px; border:1px solid #dfe7e4; border-radius:11px; }.thermal-history article header { display:flex; justify-content:space-between; gap:12px; }.thermal-history h3 { margin:4px 0 0; color:#31574e; font-size:.88rem; }.thermal-history header small { color:#869590; font-size:.59rem; }.thermal-values { margin:13px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.thermal-values span { padding:9px; color:#70827d; background:#f3f6f5; border-radius:7px; font-size:.61rem; }.thermal-values b { display:block; margin-top:4px; color:#355c52; }.thermal-history p { margin:11px 0 0; color:#60746e; font-size:.7rem; line-height:1.5; }.evidence-links { display:flex; gap:8px; }.evidence-links a { padding:6px 8px; color:#765915; background:#faf2dc; border-radius:6px; font-size:.61rem; font-weight:800; text-decoration:none; }
@media(max-width:1050px){.consulting-project-grid{grid-template-columns:1fr 1fr}.asset-general-grid{grid-template-columns:1fr 1fr}.visual-groups{grid-template-columns:1fr 1fr}.thermal-core{grid-template-columns:1fr 1fr}.delta-preview{grid-column:1/-1}}
@media(max-width:700px){.consulting-metrics,.project-progress{grid-template-columns:1fr 1fr}.consulting-project-grid{grid-template-columns:1fr}.consulting-project-title{display:block}.consulting-project-title>div:last-child{margin-top:12px;flex-wrap:wrap}.asset-general-grid,.visual-groups,.evidence-grid{grid-template-columns:1fr}.asset-general-grid .wide{grid-column:1}.visual-groups fieldset{grid-template-columns:1fr}.inspection-tabs{grid-template-columns:1fr}.thermal-values,.thermal-level-scale{grid-template-columns:1fr 1fr}}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 252px;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  color: white;
  background: var(--green-deep);
  overflow: hidden;
}
.sidebar::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  left: -170px;
  bottom: 70px;
  border: 70px solid rgba(255,255,255,.025);
  transform: rotate(30deg);
}
.brand-logo { position: relative; width: 100%; height: 74px; padding: 8px 10px; object-fit: contain; object-position: center; margin: 0 auto 8px; display: block; background: #f2f2f2; border: 1px solid rgba(191,147,40,.28); border-radius: 12px; box-shadow: 0 10px 24px rgba(8,30,25,.18); }
.product-name { position: relative; margin: 6px 10px 42px; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .13em; text-transform: uppercase; }
.product-name span { color: var(--gold); font-weight: 800; }
nav { position: relative; display: grid; gap: 8px; }
.nav-item { display: flex; gap: 13px; align-items: center; padding: 13px 14px; color: rgba(255,255,255,.7); text-decoration: none; border-radius: 11px; font-weight: 600; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.09); }
.nav-item.active { box-shadow: inset 3px 0 var(--gold); }
.nav-icon { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; color: var(--gold); fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.nav-count { min-width: 22px; margin-left: auto; padding: 3px 6px; color: var(--green); background: var(--gold); border-radius: 999px; text-align: center; font-size: 8px; }
.sidebar-foot { position: relative; margin-top: auto; padding: 14px; display: flex; gap: 11px; align-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; }
.sidebar-foot strong, .sidebar-foot small { display: block; }
.sidebar-foot strong { font-size: 12px; }
.sidebar-foot small { margin-top: 3px; color: rgba(255,255,255,.55); }
.live-dot { width: 9px; height: 9px; border-radius: 50%; background: #68c59a; box-shadow: 0 0 0 5px rgba(104,197,154,.12); }
.live-dot.paused { background:#d28a43; box-shadow:0 0 0 5px rgba(210,138,67,.14); }

main { margin-left: 252px; padding: 38px clamp(24px, 4vw, 60px) 60px; }
.topbar { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 28px; }
.header-actions { display:flex; flex-wrap:wrap; gap:8px; }.header-actions form { margin:0; }
.automation-master { display:flex; align-items:center; gap:8px; min-height:38px; padding:8px 13px; border:1px solid transparent; border-radius:10px; font-weight:800; cursor:pointer; }
.automation-master span { width:8px; height:8px; border-radius:50%; }
.automation-master.active { color:#1e5d49; border-color:#b9ddcf; background:#eaf7f1; }
.automation-master.active span { background:#46a47f; box-shadow:0 0 0 4px rgba(70,164,127,.13); }
.automation-master.paused { color:#8c521d; border-color:#ebcda8; background:#fff4e7; }
.automation-master.paused span { background:#d28a43; box-shadow:0 0 0 4px rgba(210,138,67,.13); }
.automation-master.readonly { cursor:default; }
.eyebrow { margin: 0 0 7px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-size: clamp(30px, 4vw, 45px); letter-spacing: -.04em; }
h2 { margin-bottom: 0; font-size: 20px; letter-spacing: -.02em; }
h3 { margin: 0; font-size: 15px; }
.subtitle { margin-bottom: 0; color: var(--muted); }
.date-chip { padding: 10px 15px; color: var(--green); background: var(--green-soft); border-radius: 999px; font-size: 12px; font-weight: 700; }

.operations-panel { margin-bottom: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.operations-head { padding: 23px 24px 18px; display: flex; justify-content: space-between; gap: 25px; align-items: start; }
.operations-head p:last-child { max-width: 660px; margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.operations-health { flex: 0 0 auto; padding: 8px 12px; display: flex; gap: 8px; align-items: center; color: #2c6c56; background: #e9f6f0; border: 1px solid #cae6da; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.operations-health i { width: 7px; height: 7px; background: #47a37f; border-radius: 50%; box-shadow: 0 0 0 4px rgba(71,163,127,.13); }
.operations-health.warning { color: #806115; background: #fff8e4; border-color: #ead9a7; }
.operations-health.warning i { background: var(--gold); box-shadow: 0 0 0 4px var(--gold-soft); }
.operations-health.critical { color: #983d35; background: #fff1ef; border-color: #efcbc6; }
.operations-health.critical i { background: #c65e55; box-shadow: 0 0 0 4px rgba(198,94,85,.13); }
.operations-alerts { padding: 0 24px 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.operations-alert { min-width: 0; padding: 13px; display: flex; gap: 11px; align-items: center; color: inherit; background: #fafbf9; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; transition: .18s ease; }
.operations-alert:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(23,52,44,.08); }
.alert-icon { flex: 0 0 auto; width: 31px; height: 31px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 9px; font-size: 13px; font-weight: 900; }
.operations-alert.critical .alert-icon { background: #c65e55; }
.operations-alert.warning .alert-icon { color: #5f4910; background: var(--gold); }
.operations-alert.seller .alert-icon { background: #477966; }
.operations-alert.new .alert-icon { color: var(--green); background: var(--green-soft); }
.operations-alert strong, .operations-alert small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operations-alert strong { font-size: 11px; }
.operations-alert small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.queue-tabs { padding: 0 24px; display: flex; gap: 5px; overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.queue-tabs a { padding: 12px 11px 10px; color: var(--muted); border-bottom: 2px solid transparent; text-decoration: none; white-space: nowrap; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.queue-tabs a:hover, .queue-tabs a.active { color: var(--green); border-bottom-color: var(--gold); }
.queue-tabs b { margin-left: 4px; padding: 3px 6px; color: var(--green); background: var(--green-soft); border-radius: 999px; font-size: 8px; }
.inbox-list { max-height: 450px; overflow-y: auto; }
.inbox-row { min-width: 0; padding: 15px 21px; display: grid; grid-template-columns: 16px minmax(160px, .7fr) minmax(210px, 1fr) minmax(170px, auto) auto; gap: 13px; align-items: center; color: inherit; border-bottom: 1px solid #edf1f0; text-decoration: none; transition: .18s ease; }
.inbox-row:last-child { border-bottom: 0; }
.inbox-row:hover { background: #f8faf9; }
.queue-signal { align-self: stretch; display: grid; place-items: center; }
.queue-signal i { width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px var(--green-soft); }
.inbox-row.critical .queue-signal i { background: #c65e55; box-shadow: 0 0 0 4px #f9e4e1; }
.inbox-row.warning .queue-signal i { background: var(--gold); box-shadow: 0 0 0 4px var(--gold-soft); }
.inbox-row.seller .queue-signal i { background: #477966; }
.inbox-person, .inbox-reason { min-width: 0; }
.inbox-person strong, .inbox-person small, .inbox-reason strong, .inbox-reason small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inbox-person strong { margin-bottom: 4px; font-size: 12px; }
.inbox-person small { color: var(--muted); font-size: 9px; }
.inbox-reason strong { color: #52625d; font-size: 10px; }
.inbox-reason small { margin-top: 5px; color: #98a19e; font-size: 8px; }
.queue-tags { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.queue-tags em { padding: 5px 7px; color: var(--green); background: var(--green-soft); border-radius: 999px; font-size: 7px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.queue-tags em.critical { color: #963c34; background: #fbe8e5; }
.queue-tags em.warning { color: #735810; background: var(--gold-soft); }
.queue-tags em.seller { color: #315f50; background: #e2f0ea; }
.open-client { color: var(--green); font-size: 9px; font-weight: 900; white-space: nowrap; }
.operations-empty { min-height: 100px; display: grid; place-items: center; }

.funnel-panel { position:relative; margin-bottom:18px; padding:27px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#173c34 0%,#244f46 58%,#1b4038 100%); border:1px solid rgba(255,255,255,.08); border-radius:22px; box-shadow:0 24px 60px rgba(24,60,52,.18); isolation:isolate; }
.funnel-panel::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.funnel-glow { position:absolute; z-index:-1; border-radius:50%; filter:blur(8px); pointer-events:none; }.funnel-glow-one { width:280px; height:280px; top:-160px; right:16%; background:rgba(191,147,40,.18); }.funnel-glow-two { width:220px; height:220px; bottom:-150px; left:-30px; background:rgba(99,164,139,.15); }
.funnel-head { position:relative; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:end; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.1); }
.funnel-heading-copy .eyebrow { color:#e3bd5b; }.funnel-heading-copy h2 { margin:0 0 6px; color:#fff; font-size:25px; letter-spacing:-.035em; }.funnel-heading-copy p:last-child { margin:0; color:rgba(255,255,255,.58); font-size:11px; line-height:1.5; }
.funnel-overview { display:flex; gap:9px; }.funnel-overview>div { min-width:145px; padding:12px 14px; display:grid; grid-template-columns:1fr auto; column-gap:12px; align-items:end; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.1); border-radius:13px; backdrop-filter:blur(8px); }.funnel-overview span,.funnel-overview small { color:rgba(255,255,255,.54); }.funnel-overview span { font-size:8px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.funnel-overview b { grid-row:1/3; grid-column:2; color:#e2b84d; font-size:25px; line-height:1; }.funnel-overview small { margin-top:4px; font-size:8px; }
.funnel-body { position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:25px; align-items:stretch; }
.funnel-chart { min-width:0; padding:5px 0; display:flex; flex-direction:column; justify-content:center; }.funnel-row { width:var(--funnel-width); margin-inline:auto; display:grid; justify-items:center; }
.funnel-stage { position:relative; width:100%; min-height:76px; padding:15px clamp(22px,4vw,45px) 18px; display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:22px; align-items:center; overflow:hidden; background:linear-gradient(100deg,rgba(255,255,255,.13),rgba(255,255,255,.07)); border:1px solid rgba(255,255,255,.13); border-radius:14px; box-shadow:0 12px 28px rgba(5,28,23,.16); clip-path:polygon(1.7% 0,98.3% 0,94.5% 100%,5.5% 100%); transition:transform .18s ease,background .18s ease; }.funnel-stage:hover { transform:translateY(-1px); background:linear-gradient(100deg,rgba(255,255,255,.17),rgba(255,255,255,.09)); }.funnel-stage.warning { background:linear-gradient(100deg,rgba(191,147,40,.23),rgba(255,255,255,.07)); }.funnel-stage.critical { background:linear-gradient(100deg,rgba(187,83,72,.23),rgba(255,255,255,.07)); }
.funnel-stage-copy { min-width:0; display:flex; gap:12px; align-items:center; }.funnel-stage-index { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; color:#1d443c; background:#dfb64f; border-radius:9px; font-size:9px; font-weight:950; }.funnel-stage-copy small,.funnel-stage-copy strong { display:block; }.funnel-stage-copy small { margin-bottom:4px; color:rgba(255,255,255,.4); font-size:7px; font-weight:900; letter-spacing:.11em; }.funnel-stage-copy strong { overflow:hidden; color:#fff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.funnel-stage-value { min-width:84px; color:rgba(255,255,255,.45); font-size:8px; text-align:right; }.funnel-stage-value b { display:block; margin-bottom:5px; color:#fff; font-size:26px; line-height:.9; }
.funnel-stage-conversion { min-width:76px; padding-left:18px; border-left:1px solid rgba(255,255,255,.11); text-align:right; }.funnel-stage-conversion span,.funnel-stage-conversion b { display:block; }.funnel-stage-conversion span { color:rgba(255,255,255,.4); font-size:7px; font-weight:900; text-transform:uppercase; }.funnel-stage-conversion b { margin-top:4px; color:#e3bd5b; font-size:15px; }
.funnel-stage-meter { position:absolute; inset:auto 7% 0; height:3px; overflow:hidden; background:rgba(255,255,255,.08); border-radius:999px; }.funnel-stage-meter i { width:var(--stage-progress); height:100%; display:block; background:linear-gradient(90deg,#b98d24,#eccb72); border-radius:inherit; }.funnel-stage.critical .funnel-stage-meter i { background:linear-gradient(90deg,#a84239,#d8796f); }
.funnel-connector { width:1px; height:11px; display:block; background:rgba(255,255,255,.16); }.funnel-connector i { width:5px; height:5px; display:block; margin:3px 0 0 -2px; background:#dcb24a; border-radius:50%; box-shadow:0 0 0 3px rgba(220,178,74,.11); }
.funnel-empty { padding:35px; color:rgba(255,255,255,.58); background:rgba(255,255,255,.05); border:1px dashed rgba(255,255,255,.16); border-radius:14px; text-align:center; font-size:11px; }
.funnel-insight { min-height:100%; padding:20px; display:flex; flex-direction:column; gap:14px; background:rgba(8,32,27,.25); border:1px solid rgba(255,255,255,.1); border-radius:16px; backdrop-filter:blur(10px); }.funnel-insight-icon { display:flex; justify-content:space-between; align-items:center; }.funnel-insight .insight-dot { width:9px; height:9px; border-radius:50%; background:#72b693; box-shadow:0 0 0 5px rgba(114,182,147,.12); }.funnel-insight.warning .insight-dot { background:#deb349; box-shadow:0 0 0 5px rgba(222,179,73,.12); }.funnel-insight.critical .insight-dot { background:#d36b61; box-shadow:0 0 0 5px rgba(211,107,97,.13); }.funnel-insight-icon>i { width:36px; height:36px; display:grid; place-items:center; color:#e0b64d; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:11px; font-size:16px; font-style:normal; }
.funnel-insight-copy { flex:1; }.funnel-insight-copy>small { display:block; margin-bottom:8px; color:#d8ae47; font-size:7px; font-weight:900; letter-spacing:.14em; }.funnel-insight strong { display:block; margin-bottom:8px; color:#fff; font-size:15px; line-height:1.3; }.funnel-insight p { margin:0; color:rgba(255,255,255,.57); font-size:10px; line-height:1.6; }.funnel-insight footer { padding-top:13px; display:grid; gap:9px; border-top:1px solid rgba(255,255,255,.09); }.funnel-insight footer span { display:flex; gap:7px; align-items:center; color:rgba(255,255,255,.75); font-size:8px; font-weight:800; text-transform:uppercase; }.funnel-insight footer span i { width:6px; height:6px; background:#72b693; border-radius:50%; }.funnel-insight.warning footer span i { background:#deb349; }.funnel-insight.critical footer span i { background:#d36b61; }.funnel-insight footer em { color:rgba(255,255,255,.34); font-size:8px; font-style:normal; }

.metrics { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { position:relative; min-height: 154px; padding: 20px; display:flex; flex-direction:column; color:inherit; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); text-decoration:none; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.metric-card:hover { transform:translateY(-2px); border-color:rgba(191,147,40,.55); box-shadow:0 18px 36px rgba(30,67,58,.14); }
.metric-card:focus-visible { outline:3px solid rgba(191,147,40,.28); outline-offset:3px; }
.metric-card.selected { border-color:var(--gold); box-shadow:0 0 0 3px rgba(191,147,40,.12),0 18px 36px rgba(30,67,58,.14); }
.metric-action { margin-top:auto; padding-top:12px; color:var(--green); font-size:9px; font-weight:900; letter-spacing:.02em; }
.metric-card.featured .metric-action { color:#e5bf60; }
.metric-card.featured { color: white; background: var(--green); border-color: var(--green); }
.metric-card.attention { border-top: 3px solid var(--gold); }
.metric-label { display: block; min-height: 30px; color: var(--muted); font-size: 12px; font-weight: 700; }
.featured .metric-label, .featured small { color: rgba(255,255,255,.65); }
.metric-card strong { display: block; margin: 4px 0 7px; font-size: 35px; line-height: 1; }
.metric-card small { color: #8b9692; font-size: 10px; }

.workspace-grid { display: grid; grid-template-columns: minmax(330px, .78fr) minmax(520px, 1.5fr); gap: 18px; align-items: start; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; }
.panel-head { padding: 21px 23px 17px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.count-badge { min-width: 31px; padding: 7px 10px; color: var(--green); background: var(--green-soft); border-radius: 999px; text-align: center; font-size: 12px; font-weight: 800; }
.count-badge.gold { color: #7f5e0e; background: var(--gold-soft); }
.client-list { max-height: 690px; overflow-y: auto; }
.client-row { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 16px 18px; color: inherit; text-decoration: none; border-bottom: 1px solid #edf1f0; transition: .18s ease; }
.client-row:hover { background: #f8faf9; }
.client-row.selected { background: var(--green-soft); box-shadow: inset 3px 0 var(--gold); }
.avatar { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 12px; font-size: 15px; font-weight: 800; }
.avatar.large { width: 54px; height: 54px; font-size: 20px; border-radius: 16px; }
.client-main { min-width: 0; }
.client-main strong, .client-main small { display: block; }
.client-main strong { margin-bottom: 5px; font-size: 13px; }
.test-badge { margin-left: 5px; padding: 3px 5px; color: #805d08; background: var(--gold-soft); border-radius: 5px; font-size: 7px; letter-spacing: .06em; vertical-align: 1px; }
.client-main small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.client-meta { text-align: right; }
.client-meta small { display: block; margin-top: 8px; color: #9ba5a2; font-size: 9px; }
.priority { padding: 4px 7px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.priority.high, .priority.attention_immediate { color: #805d08; background: var(--gold-soft); }

.customer-hero { padding: 22px 24px; display: flex; gap: 14px; align-items: center; border-bottom: 1px solid var(--line); }
.customer-hero h2 { font-size: 23px; }
.customer-hero p:not(.eyebrow) { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.status-pill { margin-left: auto; padding: 7px 10px; color: var(--green); background: var(--green-soft); border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.status-pill.handoff { color: #805d08; background: var(--gold-soft); }
.project-switcher { position: relative; padding: 16px 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; background: #f8faf9; border-bottom: 1px solid var(--line); }
.project-switcher > div > span { display: block; margin-bottom: 6px; color: #84908c; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-switcher select { width: 100%; min-height: 42px; padding: 0 12px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 10px; font-size: 11px; font-weight: 700; }
.new-project-popover { position: relative; }
.new-project-popover > summary { min-height: 42px; padding: 0 15px; display: flex; align-items: center; color: white; background: var(--green); border-radius: 10px; cursor: pointer; font-size: 11px; font-weight: 800; list-style: none; }
.new-project-popover > summary::-webkit-details-marker { display: none; }
.new-project-popover > form { position: absolute; z-index: 12; top: 50px; right: 0; width: min(620px, 78vw); padding: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 45px rgba(20,48,40,.18); }
.new-project-popover label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.new-project-popover input, .new-project-popover select, .new-project-popover textarea { width: 100%; padding: 10px 11px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.new-project-popover .full { grid-column: 1 / -1; }
.project-form { border-top: 3px solid var(--green); }
.reopen-form { background: #f6faf7; border-color: #cfe0d7; }
.close-project-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.danger-button { min-height: 38px; padding: 0 14px; border: 1px solid #e1b7b2; border-radius: 10px; color: #953c32; background: #fff4f2; font-weight: 800; cursor: pointer; }
.danger-button:hover { background: #ffe9e6; }
.facts-grid { padding: 20px 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; border-bottom: 1px solid var(--line); }
.facts-grid div { min-width: 0; }
.facts-grid span, .facts-grid strong { display: block; }
.facts-grid span { margin-bottom: 5px; color: #8a9692; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.facts-grid strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.handoff-card { margin: 20px 24px; padding: 17px 18px; background: var(--gold-soft); border: 1px solid #ead7a1; border-radius: 14px; }
.handoff-title { display: flex; gap: 9px; align-items: center; color: #72540e; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.handoff-title span { width: 7px; height: 7px; background: var(--gold); border-radius: 50%; }
.handoff-card p { margin: 11px 0; font-size: 12px; line-height: 1.55; }
.handoff-card small { color: #6d6040; }
.sales-timeline { padding: 0 24px 18px; border-bottom: 1px solid var(--line); }
.sales-timeline .conversation-head { padding-left: 0; padding-right: 0; }
.timeline-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.timeline-step { min-height: 94px; padding: 13px 11px; background: #f7f9f8; border: 1px solid var(--line); border-radius: 11px; }
.timeline-step > span { display: block; width: 8px; height: 8px; margin-bottom: 8px; background: #9caaa6; border-radius: 50%; }
.timeline-step strong, .timeline-step small { display: block; }
.timeline-step strong { font-size: 10px; text-transform: uppercase; }
.timeline-step small { margin-top: 4px; color: #929d99; font-size: 8px; }
.timeline-step p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.35; }
.timeline-step.qualified > span, .timeline-step.proposal > span { background: var(--gold); }
.timeline-step.won { color: white; background: var(--green); border-color: var(--green); }
.timeline-step.won > span { background: #73c7a0; }
.timeline-step.won small, .timeline-step.won p { color: rgba(255,255,255,.68); }
.conversation-head { padding: 16px 24px 11px; display: flex; justify-content: space-between; align-items: center; }
.conversation-head span { color: var(--muted); font-size: 10px; }
.conversation-title { display: grid; gap: 3px; }
.whatsapp-window-status { width: max-content; margin-top: 4px; padding: 5px 8px; display: flex; gap: 6px; align-items: center; border-radius: 999px; font-size: 8px !important; font-weight: 800; }
.whatsapp-window-status i { width: 6px; height: 6px; border-radius: 50%; }
.whatsapp-window-status.open { color: #23684f; background: #e6f5ed; }
.whatsapp-window-status.open i { background: #35a576; box-shadow: 0 0 0 3px rgba(53,165,118,.12); }
.whatsapp-window-status.closed { color: #8a4b24; background: #fff0e6; }
.whatsapp-window-status.closed i { background: #c66a34; }
.conversation-head-actions { display: flex; gap: 10px; align-items: stretch; }
.project-automation-control { min-width: 190px; padding: 9px 10px; display: flex; gap: 10px; align-items: center; justify-content: space-between; background: #edf6f2; border: 1px solid #c5ded3; border-radius: 12px; }
.project-automation-control > span { display: grid; gap: 3px; }
.project-automation-control small { color: #547169; font-size: 6px; font-weight: 900; letter-spacing: .07em; }
.project-automation-control strong { color: var(--green-deep); font-size: 11px; }
.project-automation-control button { padding: 7px 9px; color: #fff; background: var(--green); border: 0; border-radius: 8px; cursor: pointer; font-size: 8px; font-weight: 900; }
.project-automation-control.paused { background: #fff5e8; border-color: #ead2a4; }
.project-automation-control.paused small, .project-automation-control.paused strong { color: #805b1d; }
.project-automation-control.paused button { color: #624510; background: var(--gold); }
.intelligent-follow-up-form { min-width: 205px; padding: 9px 10px; display: grid; align-content: center; gap: 4px; background: linear-gradient(135deg, #fff8e7, #f4ead0); border: 1px solid #e4ce91; border-radius: 12px; }
.intelligent-follow-up-form small { color: #806927; font-size: 7px; text-align: center; }
.intelligent-follow-up-button { padding: 7px 10px; color: #614b0f; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: 9px; font-weight: 900; white-space: nowrap; }
.intelligent-follow-up-button span { margin-right: 4px; color: var(--gold); font-size: 12px; }
.intelligent-follow-up-button:disabled { cursor: not-allowed; opacity: .5; }
.messages { max-height: 390px; padding: 8px 24px 24px; overflow-y: auto; }
.message { max-width: 83%; margin: 10px 0; padding: 11px 13px; border-radius: 14px; }
.message.incoming { background: #f0f3f2; border-bottom-left-radius: 4px; }
.message.outgoing { margin-left: auto; background: var(--green-soft); border-bottom-right-radius: 4px; }
.message small { color: var(--green); font-size: 9px; font-weight: 800; }
.message p { margin: 5px 0 6px; font-size: 12px; line-height: 1.5; white-space: pre-wrap; }
.message time { display: block; color: #929d99; font-size: 8px; text-align: right; }
.message-attachment { min-width: 210px; margin: 8px 0; padding: 10px; display: flex; gap: 10px; align-items: center; color: var(--ink); background: rgba(255,255,255,.72); border: 1px solid rgba(43,84,76,.14); border-radius: 10px; }
.message-attachment-icon { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; color: white; background: var(--green); border-radius: 9px; font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.message-attachment.document .message-attachment-icon { background: #a3483f; }
.message-attachment strong, .message-attachment em { display: block; }
.message-attachment strong { font-size: 10px; }
.message-attachment em { max-width: 230px; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.message .message-attachment-caption { margin-top: 7px; }
.reply-composer { margin: 0 24px 24px; padding: 16px; display: grid; gap: 10px; background: linear-gradient(145deg, #fbfcfb, #f3f7f5); border: 1px solid var(--line); border-radius: 14px; }
.reply-composer > label { color: var(--green-deep); font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.whatsapp-window-warning { margin: 0; padding: 10px 12px; color: #7b4b27; background: #fff1e8; border: 1px solid #eccdb7; border-radius: 9px; font-size: 10px; line-height: 1.5; }
.reply-composer textarea { width: 100%; min-height: 78px; padding: 12px 13px; resize: vertical; color: var(--ink); background: white; border: 1px solid #cddbd6; border-radius: 10px; box-sizing: border-box; font: inherit; font-size: 12px; line-height: 1.5; outline: none; transition: .18s ease; }
.reply-composer textarea:disabled { color: #8d9894; background: #eef2f0; cursor: not-allowed; }
.reply-composer textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(191,147,40,.12); }
.attachment-preview { min-height: 66px; padding: 10px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 11px; align-items: center; background: white; border: 1px solid #d9e3df; border-radius: 11px; }
.attachment-preview[hidden] { display: none; }
.attachment-preview img { width: 52px; height: 52px; object-fit: cover; border-radius: 8px; }
.attachment-preview-icon { width: 45px; height: 50px; display: grid; place-items: center; color: white; background: #a3483f; border-radius: 8px; font-size: 10px; font-weight: 900; }
.attachment-preview-copy { min-width: 0; }
.attachment-preview-copy strong, .attachment-preview-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attachment-preview-copy strong { color: var(--ink); font-size: 11px; }
.attachment-preview-copy small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.attachment-preview > button { width: 30px; height: 30px; color: #7d8985; background: #f1f4f3; border: 0; border-radius: 50%; cursor: pointer; font-size: 20px; line-height: 1; }
.reply-composer-footer { display: grid; grid-template-columns: minmax(190px, auto) 1fr auto; gap: 14px; align-items: center; }
.reply-composer-footer small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.attachment-controls { display: grid; gap: 4px; }
.attachment-controls input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.attachment-button { width: max-content; padding: 8px 10px; color: var(--green-deep); background: var(--green-soft); border-radius: 9px; cursor: pointer; font-size: 10px; font-weight: 800; text-transform: none !important; letter-spacing: 0 !important; }
.attachment-button.disabled { opacity: .48; cursor: not-allowed; pointer-events: none; }
.attachment-button span { color: var(--gold); font-size: 14px; }
.automation-note { justify-self: end; max-width: 260px; text-align: right; }
.reply-composer-footer button { flex: 0 0 auto; }
.reply-unavailable { margin: 0 24px 24px; padding: 12px 14px; color: var(--muted); background: #f5f7f6; border-radius: 10px; font-size: 10px; }

.followups-panel { margin-top: 18px; }
.followup-grid { padding: 18px 22px 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.followup-card { padding: 15px; display: flex; gap: 12px; background: #fafbf9; border: 1px solid var(--line); border-radius: 13px; }
.followup-mark { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 4px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 5px var(--gold-soft); }
.followup-card strong { font-size: 12px; }
.followup-card p { margin: 5px 0 7px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.followup-card small { color: #939d99; font-size: 9px; }
.empty-state { padding: 32px; color: var(--muted); text-align: center; font-size: 12px; }
.empty-state.tall { min-height: 400px; display: grid; place-items: center; }
.panel-subtitle { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.closed-sales-panel { margin-top: 18px; }
.closed-sales-grid { padding: 18px 22px 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.closed-sale-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 15px; color: inherit; background: #fafbf9; border: 1px solid var(--line); border-radius: 13px; text-decoration: none; transition: .18s ease; }
.closed-sale-card:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.closed-sale-icon { width: 36px; height: 36px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 11px; font-size: 17px; font-weight: 900; }
.closed-sale-card.lost .closed-sale-icon { background: #a8b0ad; }
.closed-sale-card > span:nth-child(2) { min-width: 0; }
.closed-sale-card strong, .closed-sale-card small { display: block; }
.closed-sale-card strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.closed-sale-card small { margin-top: 5px; color: var(--muted); font-size: 9px; }
.closed-sale-meta { text-align: right; }
.closed-sale-meta b { color: var(--green); font-size: 9px; text-transform: uppercase; }
.closed-sale-card.lost .closed-sale-meta b { color: #77817e; }

@media (max-width: 1100px) {
  .metrics { grid-template-columns: repeat(3, 1fr); }
  .workspace-grid { grid-template-columns: 1fr; }
  .operations-alerts { grid-template-columns: repeat(2, 1fr); }
  .inbox-row { grid-template-columns: 16px minmax(150px, .7fr) minmax(200px, 1fr) auto; }
  .queue-tags { display: none; }
  .funnel-body { grid-template-columns: 1fr; }
  .funnel-insight { min-height: auto; }
}
@media (max-width: 760px) {
  .sidebar { position: static; width: 100%; min-height: auto; padding: 16px 18px; flex-direction: row; align-items: center; }
  .brand-logo { width: 170px; height: 56px; padding: 6px 8px; margin: 0 auto 0 0; }
  .product-name, .sidebar nav, .sidebar-foot { display: none; }
  main { margin-left: 0; padding: 24px 16px 40px; }
  .topbar { display: block; }
  .date-chip { display: inline-block; margin-top: 15px; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .operations-head { display: block; }
  .operations-health { width: fit-content; margin-top: 14px; }
  .operations-alerts { grid-template-columns: 1fr 1fr; }
  .inbox-row { grid-template-columns: 12px minmax(0, 1fr) auto; }
  .inbox-reason { display: none; }
  .funnel-head { grid-template-columns: 1fr; }
  .funnel-panel { padding: 21px 16px; border-radius: 18px; }
  .funnel-overview { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .funnel-overview > div { min-width: 0; padding: 11px; }
  .funnel-row { width: 100% !important; }
  .funnel-stage { min-height: 0; padding: 14px 16px 17px; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; clip-path: none; }
  .funnel-stage-copy { gap: 9px; }
  .funnel-stage-copy strong { white-space: normal; }
  .funnel-stage-value { min-width: 48px; }
  .funnel-stage-value { font-size: 0; }
  .funnel-stage-conversion { grid-column: 1/-1; min-width: 0; padding: 8px 0 0; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; text-align: left; }
  .funnel-stage-conversion b { margin-top: 0; }
  .metric-card { min-height: 120px; }
  .facts-grid { grid-template-columns: repeat(2, 1fr); }
  .project-switcher { grid-template-columns: 1fr; }
  .new-project-popover > form { position: static; width: 100%; margin-top: 10px; grid-template-columns: 1fr; }
  .new-project-popover .full { grid-column: auto; }
  .followup-grid { grid-template-columns: 1fr; }
  .closed-sales-grid { grid-template-columns: 1fr; }
  .reply-composer-footer { align-items: stretch; grid-template-columns: 1fr; }
  .automation-note { justify-self: start; text-align: left; }
  .reply-composer-footer button { width: 100%; }
  .quote-type-switcher { grid-template-columns: 1fr; }
}

.quote-type-switcher { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 18px; }
.quote-type-card { display:flex; flex-direction:column; gap:6px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:var(--shadow); }
.quote-type-card span { color:var(--muted); font-size:.9rem; }
.quote-type-card.active { border-color:var(--gold); box-shadow:0 0 0 2px rgba(191,147,40,.14); }
.quote-type-pill { display:inline-flex; align-items:center; width:max-content; padding:6px 10px; border-radius:999px; background:#edf3f0; color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.03em; }
.quote-type-pill.network { background:#fff5dc; color:#77570c; }
.network-pricing-policy { margin:0 0 18px; padding:16px 18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; color:white; background:var(--green); border-radius:16px; box-shadow:var(--shadow); }
.network-pricing-policy div { padding:11px 13px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:11px; }
.network-pricing-policy span,.network-pricing-policy b { display:block; }.network-pricing-policy span { color:var(--gold); font-size:.7rem; font-weight:800; }.network-pricing-policy b { margin-top:4px; font-size:.9rem; }
.network-pricing-policy p { grid-column:1/-1; margin:2px 0 0; color:rgba(255,255,255,.72); font-size:.78rem; }
.technical-rules-panel { margin:0 0 18px; overflow:hidden; }.technical-rules-panel>summary { padding:17px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; list-style:none; }.technical-rules-panel>summary::-webkit-details-marker { display:none; }
.technical-rules-list { padding:0 20px 20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.technical-rules-list article { padding:13px; background:#f7faf8; border-left:3px solid var(--green); border-radius:8px; }.technical-rules-list article.bloqueada { border-left-color:#b54e43; background:#fff4f2; }.technical-rules-list article.requiere-validación { border-left-color:var(--gold); background:#fff9e9; }
.technical-rules-list header { display:flex; justify-content:space-between; gap:10px; font-size:.72rem; }.technical-rules-list header span { color:var(--muted); font-weight:800; }.technical-rules-list p { margin:8px 0; color:var(--ink); font-size:.78rem; line-height:1.45; }.technical-rules-list small { color:var(--muted); font-size:.66rem; }
.validation-tag.approved { color:#2d6e55!important; background:#e9f6f0!important; }.validation-tag.review { color:#8a6413!important; background:#fff6dd!important; }.validation-tag.draft { color:#52645e!important; background:#edf2ef!important; }.validation-tag.obsolete { color:#8d3b34!important; background:#fff0ed!important; }
.apu-source-control { margin:0; padding:11px 22px; color:#687b75; background:#f7faf8; border-top:1px solid var(--line); font-size:.72rem; line-height:1.45; }
.technical-validation-inbox { margin:0 0 18px; padding:22px; overflow:hidden; background:linear-gradient(135deg,#fff 0%,#f5f9f6 100%); }
.technical-inbox-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }.technical-inbox-head h2 { margin:3px 0 5px; }.technical-inbox-head p:last-child { max-width:720px; margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.control-shield { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; color:#fff; background:var(--green); border:5px solid #e4eee9; border-radius:15px; font-size:1.2rem; font-weight:900; }
.technical-state-metrics { margin-top:18px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }.technical-state-card { padding:13px 14px; display:flex; flex-direction:column; gap:4px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:12px; text-decoration:none; }.technical-state-card b { font-size:1.2rem; }.technical-state-card span { color:var(--muted); font-size:.7rem; font-weight:800; }.technical-state-card.active { border-color:var(--gold); box-shadow:0 0 0 2px rgba(191,147,40,.12); }.technical-state-card.review b { color:#9b7219; }.technical-state-card.approved b { color:#287052; }.technical-state-card.obsolete b { color:#9b4439; }
.technical-pilot-links { margin-top:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.technical-pilot-links span { margin-right:3px; color:var(--muted); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }.technical-pilot-links a { padding:7px 10px; color:var(--green); background:#fff; border:1px solid #dce7e1; border-radius:999px; font-size:.72rem; font-weight:800; text-decoration:none; }
.issue-count { font-weight:900!important; }.issue-count.blocker { color:#9b3d34!important; background:#fff0ed!important; }.issue-count.warning { color:#8a6413!important; background:#fff6dd!important; }
.apu-controlled-state { min-width:142px; display:flex; flex-direction:column; justify-content:center; gap:4px; }.apu-controlled-state>span,.apu-controlled-state small { color:var(--muted); font-size:.66rem; }.apu-controlled-state b { width:max-content; padding:6px 9px; border-radius:999px; font-size:.72rem; }.apu-controlled-state b.approved { color:#287052; background:#e9f6f0; }.apu-controlled-state b.review { color:#8a6413; background:#fff6dd; }.apu-controlled-state b.draft { color:#52645e; background:#edf2ef; }.apu-controlled-state b.obsolete { color:#8d3b34; background:#fff0ed; }
.apu-technical-control { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr); gap:18px; padding:20px 22px; background:#fbfcfb; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.apu-control-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }.apu-control-title h3 { margin:3px 0 0; font-size:.96rem; }.ready-badge { padding:7px 9px; color:#287052; background:#e9f6f0; border-radius:999px; font-size:.68rem; font-weight:900; white-space:nowrap; }
.apu-issue-panel { display:grid; gap:8px; }.apu-issue { display:grid; grid-template-columns:28px 1fr; gap:9px; padding:11px; background:#fff; border:1px solid var(--line); border-left-width:3px; border-radius:10px; }.apu-issue>span { width:24px; height:24px; display:grid; place-items:center; border-radius:8px; font-weight:900; }.apu-issue b { font-size:.76rem; }.apu-issue p { margin:3px 0 0; color:var(--muted); font-size:.7rem; line-height:1.45; }.apu-issue.blocker { border-left-color:#b54e43; }.apu-issue.blocker>span { color:#983b33; background:#fff0ed; }.apu-issue.warning { border-left-color:#c0942d; }.apu-issue.warning>span { color:#866317; background:#fff6dd; }.apu-issue.info { border-left-color:#5b7d70; }.apu-issue.info>span,.apu-issue.clear>span { color:#286c51; background:#e9f6f0; }
.apu-review-column { min-width:0; }.apu-review-form { padding:15px; display:grid; gap:11px; background:#fff; border:1px solid var(--line); border-radius:13px; }.apu-review-form label { display:grid; gap:5px; color:var(--muted); font-size:.68rem; font-weight:800; }.apu-review-form input,.apu-review-form textarea { width:100%; }.apu-review-form textarea { resize:vertical; }.apu-review-form>small { color:#866317; font-size:.66rem; line-height:1.4; }.apu-review-actions { display:flex; gap:7px; flex-wrap:wrap; }.apu-review-actions button { min-height:34px; font-size:.68rem; }
.apu-review-history { margin-top:10px; padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:12px; }.apu-review-history>summary { color:var(--green); cursor:pointer; font-size:.72rem; font-weight:900; }.apu-review-history ol { margin:12px 0 0; padding:0; list-style:none; }.apu-review-history li { position:relative; display:grid; grid-template-columns:10px 1fr; gap:8px; padding:0 0 13px; }.apu-review-history li>span { width:8px; height:8px; margin-top:3px; background:var(--gold); border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 2px #ead9ac; }.apu-review-history li:not(:last-child):before { content:""; position:absolute; left:3px; top:12px; bottom:1px; width:1px; background:#dfE8e3; }.apu-review-history b,.apu-review-history small,.apu-review-history em { display:block; }.apu-review-history b { font-size:.7rem; }.apu-review-history small,.apu-review-history em { margin-top:3px; color:var(--muted); font-size:.62rem; font-style:normal; }.apu-review-history p { margin:5px 0 0; color:var(--ink); font-size:.66rem; line-height:1.4; }
.catalog-pagination { margin:18px 0; display:flex; justify-content:space-between; align-items:center; gap:15px; }.catalog-pagination>span { color:var(--muted); font-size:.8rem; font-weight:700; }.catalog-pagination>div { display:flex; gap:8px; }
@media (max-width:760px) { .quote-type-switcher { grid-template-columns:1fr; } }

.topbar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.network-project-body main { min-width:0; }
.network-project-header { align-items:flex-start; }
.project-readiness-warning { display:flex; justify-content:space-between; gap:20px; align-items:center; border-color:#d5a72e; background:#fffaf0; }
.project-readiness-warning p { margin:5px 0 0; color:var(--muted); }
.project-readiness-counts { display:flex; gap:10px; flex-wrap:wrap; }
.project-readiness-counts span { padding:10px 12px; border:1px solid #ead8a7; border-radius:12px; background:#fff; font-size:.8rem; }
.project-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.project-document-grid label { display:grid; gap:6px; color:var(--muted); font-size:.78rem; font-weight:700; }
.project-document-grid .wide { grid-column:1/-1; }
.network-project-panel { padding:0; overflow:hidden; }
.network-project-toolbar,.network-project-submit { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 20px; }
.network-project-toolbar h2 { margin:4px 0 0; }
.network-project-toolbar>div:last-child { display:flex; gap:8px; flex-wrap:wrap; }
.network-project-scroll { overflow:auto; border-block:1px solid var(--line); }
.network-project-table { width:max(1500px,100%); border-collapse:collapse; font-size:.78rem; }
.network-project-table th { position:sticky; top:0; z-index:1; padding:11px 8px; background:var(--green); color:#fff; text-align:left; }
.network-project-table td { padding:8px; border-bottom:1px solid var(--line); vertical-align:top; background:#fff; }
.network-project-table tbody tr:nth-child(even) td { background:#f8faf9; }
.network-project-table input,.network-project-table select,.network-project-table textarea { width:100%; min-width:92px; padding:8px; font-size:.76rem; }
.network-project-table .pole-number { min-width:62px; }
.network-project-table .pole-quantity { min-width:60px; }
.tensor-cell { min-width:190px; }
.tensor-cell label { display:flex; gap:6px; align-items:center; margin-bottom:5px; }
.tensor-cell label input { width:auto; min-width:0; }
.project-row-actions { white-space:nowrap; }
.project-row-actions button { border:0; border-radius:8px; padding:8px 10px; margin:0 2px; cursor:pointer; }
.delete-project-row { color:#a33a32; }
.network-project-submit p { margin:0; color:var(--muted); font-size:.82rem; }
.project-validation-alert p { margin:6px 0; }
.project-validation-alert details { margin-top:8px; }
.project-validation-alert ul { max-height:220px; overflow:auto; margin:8px 0 0; }
button:disabled { cursor:not-allowed; opacity:.5; }
@media (max-width:900px) {
  .project-document-grid { grid-template-columns:1fr; }
  .project-document-grid .wide { grid-column:auto; }
  .project-readiness-warning,.network-project-toolbar,.network-project-submit { align-items:flex-start; flex-direction:column; }
}
@media (max-width:1000px) { .technical-state-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.apu-technical-control { grid-template-columns:1fr; } }
@media (max-width:760px) { .network-pricing-policy,.technical-rules-list { grid-template-columns:1fr; }.network-pricing-policy p { grid-column:1; }.catalog-pagination { align-items:flex-start; flex-direction:column; }.technical-state-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.technical-inbox-head { flex-direction:column; }.apu-control-title { flex-direction:column; }.apu-technical-control { padding:16px; }.apu-review-actions button { flex:1 1 140px; } }

.current-user { min-width: 190px; padding: 7px 11px 7px 7px; display: flex; gap: 9px; align-items: center; color: var(--green-deep); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 7px 18px rgba(31,64,58,.06); }
.current-user > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(145deg, var(--green), #417468); border-radius: 10px; font-size: 13px; font-weight: 900; }
.current-user strong, .current-user small { display: block; }
.current-user strong { max-width: 160px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.current-user small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.current-user small a { color: #8a681b; font-weight: 800; text-decoration: none; }
.password-change-card > p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.5; }
.password-change-card label small { color: var(--muted); font-size: 9px; font-weight: 500; }
.conversation-owner-head { align-items: flex-start; gap: 16px; }
.conversation-owner-head > div:first-child > span { display: block; margin-top: 4px; }
.conversation-owner { min-width: 185px; padding: 9px 11px; text-align: right; background: #f7f9f8; border: 1px solid var(--line); border-radius: 10px; }
.conversation-owner.mine { background: #edf5f1; border-color: #cfe0d8; }
.conversation-owner small, .conversation-owner strong { display: block; }
.conversation-owner small { color: #87938f; font-size: 7px; font-weight: 900; letter-spacing: .06em; }
.conversation-owner strong { margin-top: 3px; color: var(--green-deep); font-size: 10px; }
.conversation-owner form { margin-top: 6px; }
.owner-claim { padding: 0; color: #987218; background: transparent; border: 0; cursor: pointer; font-size: 8px; font-weight: 800; }
.reply-owner-warning { margin: 0; padding: 9px 11px; color: #785918; background: #fff7e3; border-left: 3px solid var(--gold); border-radius: 7px; font-size: 9px; line-height: 1.45; }
.owner-filter-tabs { padding: 0 18px 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.owner-filter-tabs a { padding: 9px 10px; display: flex; justify-content: space-between; align-items: center; color: #60726d; background: #f3f6f5; border: 1px solid transparent; border-radius: 9px; font-size: 9px; font-weight: 800; text-decoration: none; }
.owner-filter-tabs a b { min-width: 22px; padding: 3px 6px; color: var(--green); background: #fff; border-radius: 999px; text-align: center; }
.owner-filter-tabs a.active { color: #fff; background: var(--green); border-color: var(--green); }
.owner-filter-tabs a.active b { color: #806016; background: #f4d98d; }
.owner-mini { max-width: 130px; overflow: hidden; padding: 4px 7px; display: inline-block; color: #315c52; background: #e9f2ee; border-radius: 999px; font-size: 7px !important; font-style: normal; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.owner-mini.unassigned { color: #806118; background: #fff3d4; }
.live-presence { margin: 0 24px 4px; padding: 10px 12px; display: flex; gap: 9px; align-items: center; color: #765816; background: #fff7e2; border: 1px solid #ead59c; border-radius: 10px; font-size: 9px; font-weight: 800; }
.live-presence[hidden] { display: none; }
.live-presence i { width: 8px; height: 8px; flex: 0 0 auto; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 4px rgba(191,147,40,.16); animation: presence-pulse 1.8s ease-in-out infinite; }
@keyframes presence-pulse { 50% { box-shadow: 0 0 0 7px rgba(191,147,40,.05); } }
.nav-section-label { margin: 17px 13px 6px; display: block; color: rgba(255,255,255,.38); font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.internal-notes { margin: 12px 24px 0; padding: 14px; background: #fffaf0; border: 1px solid #ead9aa; border-radius: 12px; }
.internal-notes-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.internal-notes-head strong, .internal-notes-head small { display: block; }
.internal-notes-head strong { color: #5e4815; font-size: 10px; }
.internal-notes-head small { margin-top: 3px; color: #8a7a55; font-size: 8px; }
.internal-notes-head > span { min-width: 22px; padding: 4px 6px; color: #715615; background: #f2dda2; border-radius: 999px; text-align: center; font-size: 8px; font-weight: 900; }
.internal-notes > form { margin-top: 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; }
.internal-notes textarea { min-width: 0; width: 100%; box-sizing: border-box; padding: 9px 10px; resize: vertical; color: var(--ink); background: rgba(255,255,255,.82); border: 1px solid #dac992; border-radius: 8px; font: inherit; font-size: 9px; }
.internal-note-list { max-height: 210px; overflow-y: auto; margin-top: 10px; display: grid; gap: 7px; }
.internal-note-list article { padding: 9px; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; background: rgba(255,255,255,.72); border-radius: 8px; }
.internal-note-list article > span { width: 27px; height: 27px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 8px; font-size: 8px; font-weight: 900; }
.internal-note-list strong { color: var(--green-deep); font-size: 8px; }
.internal-note-list p { margin: 3px 0 4px; color: #4c5753; font-size: 9px; line-height: 1.4; white-space: pre-wrap; }
.internal-note-list small, .internal-notes-empty { color: #8b7b55; font-size: 7px; }
.internal-notes-empty { margin: 0; padding: 7px 0 1px; }

.users-page { min-height: 100vh; margin: 0; color: var(--ink); background: var(--canvas); }
.users-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 34px 0 60px; }
.users-head { margin-bottom: 22px; display: flex; justify-content: space-between; gap: 28px; align-items: center; }
.users-head h1 { margin: 4px 0 7px; color: var(--green-deep); }
.users-head p:last-child { margin: 0; color: var(--muted); }
.users-head-actions { display: flex; gap: 10px; align-items: center; }
.user-create-card, .user-list-card, .team-metrics-card, .access-alerts-card { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.user-create-card { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(520px,1.3fr); gap: 28px; align-items: start; }
.user-create-card h2, .user-list-card h2 { margin: 3px 0 7px; color: var(--green-deep); }
.user-create-card p:last-child { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.user-create-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.user-create-form label { display: grid; gap: 5px; color: #49675f; font-size: 10px; font-weight: 800; }
.user-create-form input, .user-create-form select, .user-card-actions input { width: 100%; box-sizing: border-box; padding: 10px 11px; color: var(--ink); background: #fbfcfb; border: 1px solid #cddbd6; border-radius: 8px; font: inherit; }
.user-create-form button { grid-column: 1/-1; }
.user-list-card { margin-top: 18px; }
.user-list-head { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.user-list-head > span { color: var(--muted); font-size: 11px; }
.user-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.user-card { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfb; }
.user-card.inactive { opacity: .6; filter: grayscale(.45); }
.user-card-main { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.user-avatar { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 11px; font-weight: 900; }
.user-card-main strong, .user-card-main small { display: block; }
.user-card-main strong { font-size: 12px; }
.user-card-main small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.password-pending { width:max-content; margin-top:6px; padding:4px 7px; display:block; color:#7d5d17; background:#fff1c9; border-radius:999px; font-size:7px; font-style:normal; font-weight:900; text-transform:uppercase; }
.user-card-main b { padding: 5px 8px; color: #267050; background: #e7f3ed; border-radius: 999px; font-size: 8px; }
.user-card.inactive .user-card-main b { color: #68736f; background: #e9eceb; }
.user-card > p { margin: 12px 0; color: var(--muted); font-size: 9px; }
.user-profile-editor { margin: 0 0 12px; padding: 9px 10px; background: #f4f7f5; border-radius: 9px; }
.user-profile-editor summary { color: var(--green); cursor: pointer; font-size: 9px; font-weight: 800; }
.user-profile-editor form { margin-top: 10px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 7px; align-items: end; }
.user-profile-editor label { min-width: 0; display: grid; gap: 4px; color: var(--muted); font-size: 8px; font-weight: 800; }
.user-profile-editor input, .user-profile-editor select { min-width: 0; width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #cddbd6; border-radius: 7px; background: #fff; font: inherit; }
.user-card-actions { display: flex; gap: 8px; align-items: center; }
.user-card-actions form:first-child { min-width: 0; display: flex; flex: 1; gap: 6px; }
.user-card-actions form:first-child input { min-width: 0; }
.user-card-actions .secondary-button { white-space: nowrap; }
.session-history-card { margin-top: 18px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.team-metrics-card, .access-alerts-card { margin-top: 18px; }
.team-metrics-grid { margin-top: 17px; display: grid; gap: 9px; }
.advisor-metric-row { padding: 13px; display: grid; grid-template-columns: minmax(150px,1.2fr) repeat(5,minmax(90px,.7fr)) minmax(190px,1.25fr); gap: 10px; align-items: center; background: #f8faf9; border: 1px solid var(--line); border-radius: 12px; }
.advisor-metric-person { display: flex; gap: 9px; align-items: center; }
.advisor-metric-person > span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 9px; font-size: 10px; font-weight: 900; }
.advisor-metric-person strong, .advisor-metric-person small, .advisor-metric-value small, .advisor-metric-value b { display: block; }
.advisor-metric-person strong { font-size: 10px; }.advisor-metric-person small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.advisor-metric-value small { color: #80908a; font-size: 6px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.advisor-metric-value b { margin-top: 4px; color: var(--green-deep); font-size: 12px; }
.project-reassign-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
.project-reassign-form select { min-width: 0; width: 100%; padding: 8px; color: var(--ink); background: #fff; border: 1px solid #cddbd6; border-radius: 7px; font: inherit; font-size: 8px; }
.assignee-user-select { cursor: pointer; }
.project-reassign-form button { white-space: nowrap; }
.access-alert-list { margin-top: 16px; display: grid; gap: 7px; }
.access-alert-row { padding: 11px 12px; display: grid; grid-template-columns: 32px minmax(140px,.7fr) minmax(220px,1.3fr) auto; gap: 10px; align-items: center; background: #fffaf0; border: 1px solid #ead9aa; border-radius: 10px; }
.access-alert-row > span { width: 30px; height: 30px; display: grid; place-items: center; color: #735915; background: #f1dda5; border-radius: 8px; font-weight: 900; }
.access-alert-row strong, .access-alert-row small { display: block; }.access-alert-row strong { font-size: 9px; }.access-alert-row small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.access-device { overflow: hidden; color: #65756f; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.access-alert-row time { color: #796020; font-size: 8px; font-weight: 800; }
.session-history-card .user-list-head p:last-child { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.session-list { margin-top: 17px; display: grid; gap: 8px; }
.session-row { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfb; }
.session-row > summary { padding: 12px 14px; display: grid; grid-template-columns: 38px minmax(140px,1.2fr) repeat(3,minmax(110px,.8fr)) auto; gap: 12px; align-items: center; cursor: pointer; list-style: none; }
.session-row > summary::-webkit-details-marker { display: none; }
.session-row > summary > span:not(.session-avatar) small, .session-row > summary > span:not(.session-avatar) strong { display: block; }
.session-row > summary > span:not(.session-avatar) small { color: #82908b; font-size: 7px; font-weight: 900; letter-spacing: .05em; }
.session-row > summary > span:not(.session-avatar) strong { margin-top: 3px; color: var(--green-deep); font-size: 9px; }
.session-avatar { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 10px; font-size: 11px; font-weight: 900; }
.session-person small { text-transform: none !important; letter-spacing: 0 !important; }
.session-state { padding: 6px 8px; color: #267050; background: #e5f3ec; border-radius: 999px; font-size: 8px; }
.session-row.closed .session-state { color: #687570; background: #e9edeb; }
.session-events { padding: 5px 18px 14px 64px; border-top: 1px solid var(--line); background: #fff; }
.session-events > div { position: relative; padding: 10px 0 2px 18px; display: grid; grid-template-columns: 135px 1fr; gap: 10px; }
.session-events i { position: absolute; left: 0; top: 14px; width: 7px; height: 7px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 3px var(--gold-soft); }
.session-events time { color: var(--muted); font-size: 8px; }
.session-events strong { font-size: 9px; font-weight: 700; }
.revoke-session-form { margin:12px 0 2px; padding-top:12px; border-top:1px solid var(--line); }
.danger-button { padding:8px 11px; color:#9d352f; background:#fff2f0; border:1px solid #e9c1bd; border-radius:8px; cursor:pointer; font:inherit; font-size:9px; font-weight:850; }
.danger-button:hover { color:#fff; background:#a84039; border-color:#a84039; }

.credentials-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #edf2ef; }
.credentials-card { width: min(660px,100%); box-sizing: border-box; padding: 34px; background: #fff; border-radius: 22px; box-shadow: 0 18px 55px rgba(22,57,50,.15); }
.credentials-card > img { width: 220px; max-height: 72px; margin: 0 auto 25px; display: block; object-fit: contain; }
.credentials-card h1 { margin: 4px 0 8px; color: var(--green-deep); }
.credentials-card > p:last-of-type { color: var(--muted); line-height: 1.5; }
.credential-list { margin: 20px 0; display: grid; gap: 9px; }
.credential-list article { padding: 12px; display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; background: #f6f9f7; border: 1px solid var(--line); border-radius: 12px; }
.credential-list article > span { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--green); border-radius: 11px; font-weight: 900; }
.credential-list strong, .credential-list small { display: block; }
.credential-list small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.credential-list code { padding: 2px 5px; color: #6f5212; background: #fff1c9; border-radius: 4px; font-weight: 800; }
.credential-warning { margin-bottom: 16px; padding: 11px 13px; color: #775a16; background: var(--gold-soft); border-radius: 9px; font-size: 10px; line-height: 1.45; }

@media (max-width: 900px) {
  .user-create-card, .user-grid { grid-template-columns: 1fr; }
  .users-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .header-actions { align-items: stretch; flex-direction: column; }
  .current-user { min-width: 0; }
  .conversation-owner-head { flex-direction: column; }
  .conversation-head-actions { width: 100%; flex-direction: column; }
  .project-automation-control { min-width: 0; }
  .intelligent-follow-up-form { min-width: 0; }
  .conversation-owner { width: 100%; box-sizing: border-box; text-align: left; }
  .users-shell { width: min(100% - 24px,1180px); padding-top: 20px; }
  .users-head-actions, .user-card-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .user-create-form { grid-template-columns: 1fr; }
  .user-create-form button { grid-column: auto; }
  .user-card-actions form:first-child { flex-direction: column; }
  .user-profile-editor form { grid-template-columns: 1fr; }
  .session-row > summary { grid-template-columns: 38px 1fr auto; }
  .session-row > summary > span:nth-of-type(n+3) { display: none; }
  .session-events { padding-left: 18px; }
  .session-events > div { grid-template-columns: 1fr; gap: 3px; }
  .internal-notes > form { grid-template-columns: 1fr; }
  .advisor-metric-row { grid-template-columns: 1fr 1fr; }
  .advisor-metric-person, .project-reassign-form { grid-column: 1/-1; }
  .access-alert-row { grid-template-columns: 32px 1fr; }
  .access-device, .access-alert-row time { grid-column: 2; }
}
