:root{--bg:#f4f7fb;--panel:#fff;--text:#111827;--muted:#6b7280;--brand:#4f46e5;--brand2:#111827;--line:#e5e7eb;--ok:#16a34a;--warn:#f59e0b;--danger:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#eef2ff,transparent 35%),var(--bg)}.login-card{width:min(430px,92vw);background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(15,23,42,.12)}.brand-mark{width:56px;height:56px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:18px}.login-card h1{margin:0 0 6px}.login-card p,.muted{color:var(--muted)}label{display:block;font-weight:700;margin:16px 0 8px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;font:inherit}button,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:12px 18px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}button{width:100%;margin-top:20px}.btn.light{background:#fff;color:var(--text);border:1px solid var(--line)}.alert{padding:13px 14px;border-radius:14px;margin:14px 0}.alert.error{background:#fee2e2;color:#991b1b}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#0f172a;color:#fff;padding:24px}.logo{font-weight:900;font-size:22px;margin-bottom:28px}.logo span{color:#a5b4fc}.sidebar nav{display:grid;gap:8px}.sidebar a{padding:13px 14px;border-radius:14px;color:#cbd5e1}.sidebar a.active,.sidebar a:hover{background:rgba(255,255,255,.1);color:#fff}.main{margin-left:260px;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:0}.topbar p{margin:5px 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 34px rgba(15,23,42,.04)}.metric{padding:22px}.metric span{display:block;color:var(--muted);font-weight:700;margin-bottom:12px}.metric strong{font-size:26px}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h2{margin:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{font-size:13px;color:var(--muted);text-transform:uppercase}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:12px}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin-left:0}.cards{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cards{grid-template-columns:1fr}.topbar,.panel-head{display:grid;gap:14px}}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.inline-form{display:grid;grid-template-columns:220px 220px 1fr auto;gap:12px;align-items:end}.filters{margin-bottom:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn.small{padding:8px 11px;border-radius:11px;font-size:13px}.btn.danger,.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.note{margin-top:16px;padding:14px;border-radius:14px;background:#f8fafc;color:var(--muted);border:1px dashed var(--line)}.check{width:auto;margin-right:8px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 22px}.tabs span{background:#eef2ff;color:#3730a3;padding:8px 12px;border-radius:999px;font-weight:800;font-size:13px}.quote-items{display:grid;gap:10px;margin:12px 0 22px}.item-row{display:grid;grid-template-columns:1fr 100px 150px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.helper-link{display:inline-block;margin-top:8px;color:var(--brand);font-weight:800;font-size:13px}.summary-box{margin-top:18px;padding:16px;border-radius:16px;background:#f8fafc;border:1px solid var(--line)}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}@media(max-width:900px){.form-grid,.inline-form,.item-row{grid-template-columns:1fr}.span-2{grid-column:span 1}.cards.three{grid-template-columns:1fr}}
.quote-builder-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px}.quote-builder-head h3{margin:0}.quote-builder-head p{margin:4px 0 0}.selected-items-list{display:grid;gap:12px;margin:14px 0}.selected-item-card{display:grid;grid-template-columns:minmax(0,1.4fr) 120px 170px 44px;gap:12px;align-items:end;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.selected-item-title strong{display:block}.selected-item-title span{font-size:13px}.selected-item-card label{margin:0}.remove-item-btn,.icon-btn{width:42px;height:42px;border-radius:12px;padding:0;background:#fff;color:var(--danger);border:1px solid var(--line);font-size:22px;margin:0}.icon-btn{color:var(--text);font-size:26px}.empty-state-small{border:1px dashed var(--line);border-radius:18px;background:#f8fafc;padding:18px;margin:14px 0;color:var(--muted);display:grid;gap:4px}.empty-state-small strong{color:var(--text)}.empty-state-small.hidden{display:none}.quote-live-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 22px}.quote-live-summary div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}.quote-live-summary span{display:block;color:var(--muted);font-weight:700;font-size:13px}.quote-live-summary strong{display:block;margin-top:5px;font-size:20px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:50;display:grid;place-items:center;padding:22px}.modal-backdrop.hidden{display:none}.modal-card{width:min(980px,96vw);max-height:88vh;overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.25);display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:22px 22px 12px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0}.item-picker-tools{display:grid;grid-template-columns:1fr 260px;gap:12px;padding:16px 22px}.available-items-grid{padding:0 22px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto}.available-item-card{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:12px;cursor:pointer;background:#fff}.available-item-card:hover{border-color:#c7d2fe;background:#f8fafc}.available-item-card input{width:auto;margin-top:5px}.available-item-card strong{display:block}.available-item-card .meta{display:block;margin-top:4px;color:var(--muted);font-size:13px}.available-item-card .desc{display:block;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.35}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}.modal-actions .btn{width:auto;margin:0}@media(max-width:900px){.quote-builder-head{display:grid}.selected-item-card,.item-picker-tools,.available-items-grid{grid-template-columns:1fr}.quote-live-summary{grid-template-columns:1fr}}
.quote-builder-head button.btn{width:auto;margin:0}.selected-item-card button{width:42px;margin:0}.available-items-grid .empty-state-small{grid-column:1/-1}.modal-head .icon-btn{width:42px;margin:0}


/* ===== CotizaFlow v4: selector de items mejorado ===== */
.quote-builder-head{
  display:flex !important;align-items:center !important;justify-content:space-between !important;
  gap:18px !important;margin:30px 0 16px !important;padding:18px !important;
  background:#f8fafc !important;border:1px solid var(--line) !important;border-radius:20px !important;
}
.quote-builder-head h3{margin:0 !important;font-size:22px !important}.quote-builder-head p{margin:6px 0 0 !important}
.quote-builder-head .btn{width:auto !important;margin:0 !important;min-width:170px !important}
.selected-items-list{display:grid !important;gap:12px !important;margin:14px 0 !important}
.selected-item-card{
  display:grid !important;grid-template-columns:minmax(260px,1.3fr) 130px 190px 46px !important;
  gap:14px !important;align-items:end !important;border:1px solid var(--line) !important;
  background:#fff !important;border-radius:18px !important;padding:16px !important;box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
}
.selected-item-title strong{display:block !important;font-size:16px !important}.selected-item-title .muted{display:block !important;margin-top:5px !important;font-size:13px !important}
.selected-item-card label{margin:0 !important;font-size:13px !important;color:var(--muted) !important}.selected-item-card input{margin-top:7px !important}
.remove-item-btn,.icon-btn{width:42px !important;height:42px !important;border-radius:12px !important;padding:0 !important;background:#fff !important;color:var(--danger) !important;border:1px solid var(--line) !important;font-size:22px !important;margin:0 !important;line-height:1 !important}
.icon-btn{color:var(--text) !important;font-size:26px !important}
.empty-state-small{
  border:1px dashed #cbd5e1 !important;border-radius:18px !important;background:#f8fafc !important;
  padding:18px !important;margin:14px 0 !important;color:var(--muted) !important;display:grid !important;gap:4px !important;
}
.empty-state-small strong{color:var(--text) !important}.empty-state-small.hidden{display:none !important}
.quote-live-summary{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;margin:12px 0 24px !important}
.quote-live-summary div{background:#f8fafc !important;border:1px solid var(--line) !important;border-radius:16px !important;padding:14px !important}
.quote-live-summary span{display:block !important;color:var(--muted) !important;font-weight:700 !important;font-size:13px !important}.quote-live-summary strong{display:block !important;margin-top:5px !important;font-size:20px !important}
.modal-backdrop{position:fixed !important;inset:0 !important;background:rgba(15,23,42,.58) !important;z-index:9999 !important;display:grid !important;place-items:center !important;padding:24px !important}
.modal-backdrop.hidden{display:none !important}
.modal-card{width:min(980px,96vw) !important;max-height:88vh !important;overflow:hidden !important;background:#fff !important;border-radius:24px !important;box-shadow:0 30px 90px rgba(15,23,42,.28) !important;display:flex !important;flex-direction:column !important}
.modal-head{display:flex !important;justify-content:space-between !important;gap:16px !important;align-items:flex-start !important;padding:22px 22px 14px !important;border-bottom:1px solid var(--line) !important}
.modal-head h2{margin:0 !important}.modal-head p{margin:5px 0 0 !important}.modal-head .icon-btn{flex:0 0 42px !important}
.item-picker-tools{display:grid !important;grid-template-columns:1fr 260px !important;gap:12px !important;padding:16px 22px !important;background:#fff !important}
.available-items-grid{padding:0 22px 18px !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;overflow:auto !important;min-height:160px !important}
.available-item-card{margin:0 !important;border:1px solid var(--line) !important;border-radius:16px !important;padding:14px !important;display:grid !important;grid-template-columns:24px 1fr !important;gap:12px !important;cursor:pointer !important;background:#fff !important;font-weight:400 !important}
.available-item-card:hover{border-color:#c7d2fe !important;background:#f8fafc !important}.available-item-card input{width:18px !important;height:18px !important;margin:4px 0 0 !important}
.available-item-card strong{display:block !important;color:var(--text) !important}.available-item-card .meta{display:block !important;margin-top:4px !important;color:var(--muted) !important;font-size:13px !important}.available-item-card .desc{display:block !important;margin-top:8px !important;color:var(--muted) !important;font-size:13px !important;line-height:1.35 !important}
.modal-actions{display:flex !important;justify-content:flex-end !important;gap:10px !important;padding:16px 22px !important;border-top:1px solid var(--line) !important;background:#fff !important}.modal-actions .btn{width:auto !important;margin:0 !important}
@media(max-width:900px){.quote-builder-head{display:grid !important}.selected-item-card,.item-picker-tools,.available-items-grid{grid-template-columns:1fr !important}.quote-live-summary{grid-template-columns:1fr !important}.quote-builder-head .btn{width:100% !important}}

.field-help{display:block;margin-top:8px;color:#6b7280;font-size:13px;line-height:1.35;}

/* ===== CotizaFlow v6: cotización manual profesional ===== */
.quote-editor .tabs.quote-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 24px;padding:8px;background:#f8fafc;border:1px solid var(--line);border-radius:18px}
.quote-editor .tab-btn{width:auto;margin:0;background:transparent;color:var(--muted);border:0;border-radius:13px;padding:10px 14px;font-size:14px}
.quote-editor .tab-btn.active{background:var(--brand);color:#fff;box-shadow:0 8px 22px rgba(79,70,229,.22)}
.quote-editor .tab-panel{display:none;padding-top:4px}
.quote-editor .tab-panel.active{display:block}
.quote-live-summary-v6{grid-template-columns:repeat(5,minmax(0,1fr)) !important;margin-top:22px !important}
.quote-live-summary-v6 .total-card{background:#eef2ff !important;border-color:#c7d2fe !important}
.quote-live-summary-v6 .total-card strong{color:#3730a3 !important;font-size:24px !important}
.form-actions-sticky{position:sticky;bottom:0;z-index:20;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff 45%);border-top:1px solid var(--line);padding:16px 0 0;margin-top:22px;display:flex;justify-content:flex-end}
.form-actions-sticky .btn{width:auto;margin:0;min-width:190px}
.timeline{display:grid;gap:10px;margin-top:10px}.timeline div{border-left:3px solid #c7d2fe;background:#f8fafc;border-radius:12px;padding:10px 12px}.timeline strong{display:block}.timeline span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.summary-box h3{margin-top:0}.summary-box p{line-height:1.45}
@media(max-width:1100px){.quote-live-summary-v6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:700px){.quote-live-summary-v6{grid-template-columns:1fr !important}.quote-editor .tab-btn{flex:1 1 auto}.form-actions-sticky{justify-content:stretch}.form-actions-sticky .btn{width:100%}}

/* v7 paquetes, incluidos y adicionales */
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}
.checkbox-grid label{display:flex;gap:8px;align-items:center;font-size:14px;background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:9px 10px}
.mini-includes{margin:8px 0 0 0;padding-left:18px;color:#475569;font-size:12px;line-height:1.45}
.selected-item-card-v7{grid-template-columns:1fr 130px 160px 36px;align-items:start}
.quote-item-desc{grid-column:1/-1;margin:4px 0 0;color:#475569;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}
.included-box{grid-column:1/-1;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:10px 12px;color:#166534}
.included-box ul{margin:6px 0 0 18px;padding:0;font-size:13px;line-height:1.5}
.addons-picker{grid-column:1/-1;border:1px dashed #c7d2fe;background:#eef2ff;border-radius:14px;padding:10px 12px}
.addon-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}
.addon-options label{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:8px 10px;font-size:13px}
.addon-options span{color:#4f46e5;font-weight:700}
.addons-selected{grid-column:1/-1;display:grid;gap:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px 12px}
.addon-row{display:grid;grid-template-columns:1fr 100px 140px 32px;gap:10px;align-items:center;background:#fff;border:1px solid #ffedd5;border-radius:12px;padding:8px 10px}
.addon-row label{font-size:12px;color:#475569}
.addon-row input{margin-top:3px}
.remove-addon-btn{border:0;border-radius:10px;background:#fee2e2;color:#991b1b;font-size:18px;cursor:pointer;height:32px;width:32px}
@media(max-width:760px){.selected-item-card-v7,.addon-row{grid-template-columns:1fr}.remove-addon-btn{width:100%}}
.hidden{display:none !important}
.item-select-grid label{align-items:flex-start;display:grid;grid-template-columns:auto 1fr;gap:8px}
.item-select-grid label small{grid-column:2;color:var(--muted);line-height:1.35;margin-top:2px}
.package-included-box{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.package-included-box li span{display:block;color:#64748b;font-weight:500;margin-top:2px}
.included-box.compact{margin-top:8px;font-size:13px;padding:8px 10px}
.included-box.compact ul{margin-left:16px}
