/* Generado por scripts/gen-vendedor-css.py desde el prototipo "Uplink Vendedor".
   Piezas del vendedor que no están en tecnico-connect.css, bajo .tvx: solo vista del vendedor (APK). */
.tvx .dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.tvx .dialog-actions button{flex:1;min-width:100px;padding:12px}
.tvx .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.tvx .stats-grid .card{margin:0}
.tvx .stats-grid h2{font-size:27px}
.tvx .stats-grid p{font-size:11px}
.tvx .menu-row{display:flex;gap:11px;width:100%;text-align:left;align-items:center;min-height:68px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;color:var(--ink)}
.tvx .menu-row{background:linear-gradient(145deg,#ffffff 0%,#dbebf9 100%)}/*dg*/
.tvx .menu-row>span:nth-child(2){flex:1;min-width:0}
.tvx .menu-row b,.tvx .menu-row small{display:block}
.tvx .menu-row b{font-size:13px}
.tvx .menu-row small{font-size:11px;color:var(--muted);margin-top:4px}
.tvx .menu-row .menu-symbol{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;color:#087cce;background:#e9f5ff;font-size:20px;flex-shrink:0}
.tvx .menu-row .menu-symbol{background:linear-gradient(145deg,#f8fcff 0%,#d4dfe8 100%)}/*dg*/
.tvx .menu-row i{font-size:22px;color:#8ba0b2;font-style:normal}
.tvx .step-list>.menu-row>span:nth-child(2){display:block;width:auto;height:auto;background:transparent}
.tvx .step-list>.menu-row{gap:11px}
.tvx .card>.menu-row{border:0;padding:8px 0;box-shadow:none}
.tvx .two-actions{display:flex;gap:9px;margin:16px 0}
.tvx .two-actions>button{flex:1;min-height:46px}
.tvx .card .checkline{display:flex;align-items:center;gap:10px}
.tvx .wizard-progress{display:flex;justify-content:space-between;gap:12px;margin:0 0 18px}
.tvx .wizard-progress button{border-radius:99px;border:1px solid var(--line);background:#fff;color:#58758b;width:38px;height:38px;font-weight:800}
.tvx .wizard-progress button{background:linear-gradient(145deg,#ffffff 0%,#dbebf9 100%)}/*dg*/
.tvx .wizard-progress button.selected{background:var(--navy);color:#fff}
.tvx .wizard-progress button.selected{background:linear-gradient(145deg,#435e75 0%,#06223a 100%)}/*dg*/
.tvx .concept{display:flex;align-items:center;gap:8px;margin:13px 0;padding-bottom:13px;border-bottom:1px solid var(--line);font-size:12px}
.tvx .concept>div{flex:1;min-width:0}
.tvx .concept small{display:block;color:var(--muted);margin-top:5px}
.tvx .concept .iconbtn{min-width:30px;height:32px;border-radius:10px}
.tvx .total{border-top:1px solid var(--line);padding-top:14px;font-weight:800;color:var(--navy);font-size:17px}
.tvx .proposal-note{background:#fff1d9;color:#805c21;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.5;margin-bottom:14px}
.tvx .proposal-note{background:linear-gradient(145deg,#fffbf4 0%,#e8dbc5 100%)}/*dg*/
.tvx .bubble.own{justify-self:end;background:#dff1ff;border-radius:16px 16px 3px 16px}
.tvx .bubble.own{background:linear-gradient(145deg,#f5fbff 0%,#cbdbe8 100%)}/*dg*/
.tvx .map-example{padding:35px 10px;display:grid;gap:8px;text-align:center;background:repeating-linear-gradient(90deg,#e8f2f8 0px,#e8f2f8 28px,#d5e5f0 29px,#e8f2f8 30px);border-radius:16px;margin:14px 0;color:#52697c}
.tvx .map-example span{font-size:30px}
.tvx .map-example small{font-size:11px}
.tvx .stats-grid .card{padding:12px}
.tvx .discount-input{display:flex;align-items:center;gap:10px}
.tvx .discount-input>input{flex:1;min-width:0}
.tvx .discount-input>span{font-weight:800;color:#64788c;padding:10px}
.tvx .tracking-summary{padding:13px;background:#edf5fa;border-radius:12px;margin-top:13px}
.tvx .tracking-summary>b{display:block;font-size:12px;color:#163b55}
.tvx .tracking-summary>p{font-size:12px;margin:6px 0;white-space:pre-wrap}
.tvx .tracking-summary time{font-size:10px;color:#64788c}
.tvx .tracking-timeline{list-style:none;margin:16px 0 0;padding:0 0 0 16px;border-left:2px solid #cce4f5}
.tvx .tracking-timeline li{position:relative;padding:0 0 22px 5px;break-inside:avoid}
.tvx .tracking-timeline li:before{content:"";position:absolute;width:8px;height:8px;left:-21px;top:3px;border-radius:50%;background:#087cf3}
.tvx .tracking-timeline li:last-child{padding-bottom:2px}
.tvx .tracking-timeline li>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.tvx .tracking-timeline b{font-size:12px;color:#163b55}
.tvx .tracking-timeline time{font-size:10px;color:#64788c}
.tvx .tracking-timeline p{white-space:pre-wrap;font-size:12px!important;margin-top:7px!important}
.tvx .work-type{padding:14px;border-radius:13px;background:#e8f4fd;border:1px solid #b9def5;display:flex;justify-content:space-between;gap:12px;align-items:center}
.tvx .work-type{background:linear-gradient(145deg,#f8fcfe 0%,#d3dee6 100%)}/*dg*/
.tvx .work-type strong,.tvx .work-type b{display:block}
.tvx .work-type strong{font-size:12px;color:#235b86}
.tvx .work-type b{font-size:13px;color:#0788c6;margin-top:5px;overflow-wrap:anywhere}
.tvx .work-type>span{font-size:10px;color:#64788c;max-width:86px;line-height:1.5}
.tvx .pin-status{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:11px;color:#087a54;margin:5px 0 10px}
.tvx .text-action{border:0;background:transparent;color:#ac2440;font-weight:700;min-height:40px;padding:6px}
.tvx .task-sort-note{font-size:12px;color:#64788c;line-height:1.6;margin:-4px 0 16px}
.tvx .task-order{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tvx .task-order>span{font-size:12px;font-weight:800;color:#64788c}
.tvx .priority{font-size:10px;font-weight:800;padding:6px 9px;border-radius:99px}
.tvx .priority-alta{color:#a92841;background:#fde9ed}
.tvx .priority-alta{background:linear-gradient(145deg,#fef8fa 0%,#e6d4d8 100%)}/*dg*/
.tvx .priority-media{color:#996300;background:#fff1cd}
.tvx .priority-media{background:linear-gradient(145deg,#fffbf0 0%,#e8dbbb 100%)}/*dg*/
.tvx .priority-baja{color:#526c80;background:#e8f0f6}
.tvx .priority-baja{background:linear-gradient(145deg,#f8fafc 0%,#d3dae0 100%)}/*dg*/
.tvx .task-created{display:block;font-size:11px;color:#64788c;margin:10px 0}
.tvx .commercial-form{padding:16px;background:white;border:1px solid #dce8f1;border-radius:20px;box-shadow:0 12px 34px #082b4910;margin-top:12px}
.tvx .commercial-form{background:linear-gradient(145deg,#ffffff 0%,#dbebf9 100%)}/*dg*/
.tvx .commercial-form>label{display:block;font-size:12px;font-weight:700;margin:12px 0 7px}
.tvx .commercial-form>label:first-child{margin-top:0}
.tvx .commercial-history{padding:12px 0;border-bottom:1px solid #dce8f1}
.tvx .commercial-history:last-child{border:0}
.tvx .commercial-history b{font-size:13px;color:#082b49}
.tvx .commercial-history small{font-size:10px;color:#64788c}
.tvx .quote-sheet{background:#fff;border:1px solid #dce8f1;border-radius:18px;padding:21px 18px;color:#10253b;box-shadow:0 12px 34px #082b4910}
.tvx .quote-sheet{background:linear-gradient(145deg,#ffffff 0%,#dbebf9 100%)}/*dg*/
.tvx .quote-brand{display:flex;gap:11px;align-items:center;padding-bottom:20px;border-bottom:3px solid #13c5ee}
.tvx .quote-brand img{width:49px;height:49px;object-fit:contain}
.tvx .quote-brand strong,.tvx .quote-brand span{display:block}
.tvx .quote-brand strong{font-size:17px;color:#082b49}
.tvx .quote-brand span{font-size:10px;color:#526f83;margin-top:4px}
.tvx .quote-document-title{display:flex;justify-content:space-between;gap:13px;margin:22px 0;align-items:center;flex-wrap:wrap}
.tvx .quote-document-title>div>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#0877b7}
.tvx .quote-document-title h2{font-size:19px;margin-top:6px}
.tvx .quote-document-title small,.tvx .quote-document-title b{display:block;font-size:10px}
.tvx .quote-document-title small{color:#64788c;margin-bottom:5px}
.tvx .quote-client{padding:15px;background:#edf5fa;border-radius:12px}
.tvx .quote-sheet h3{font-size:12px;color:#0877b7;margin-bottom:10px}
.tvx .quote-client>strong{font-size:15px}
.tvx .quote-sheet dl{margin:12px 0 0}
.tvx .quote-sheet dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;font-size:11px;padding:5px 0;line-height:1.5}
.tvx .quote-sheet dt{color:#64788c}
.tvx .quote-sheet dd{margin:0;overflow-wrap:anywhere}
.tvx .quote-section{margin-top:24px}
.tvx .quote-section>p{font-size:12px;line-height:1.65;white-space:pre-wrap;color:#334e65}
.tvx .quote-column-labels{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #dce8f1;border-bottom:1px solid #dce8f1;color:#64788c;font-size:9px}
.tvx .quote-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e4edf4;font-size:12px;break-inside:avoid}
.tvx .quote-line>div{min-width:0;flex:1}
.tvx .quote-line b{display:block;font-size:12px;line-height:1.5}
.tvx .quote-line span{display:block;font-size:10px;color:#64788c;margin-top:4px}
.tvx .quote-line>strong{white-space:nowrap;font-size:12px;padding-top:2px}
.tvx .quote-totals{margin-top:23px}
.tvx .quote-totals>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}
.tvx .quote-totals>div>span{color:#64788c}
.tvx .quote-totals .quote-grand-total{background:#082b49;color:#fff;border-radius:11px;padding:15px 12px;margin-top:10px;align-items:center}
.tvx .quote-totals .quote-grand-total{background:linear-gradient(145deg,#435e75 0%,#06223a 100%)}/*dg*/
.tvx .quote-grand-total span{color:#fff!important;font-weight:700}
.tvx .quote-grand-total strong{font-size:21px;white-space:nowrap}
.tvx .quote-totals>small{display:block;text-align:right;font-size:9px;color:#64788c;margin-top:8px}
.tvx .quote-footer{display:flex;flex-direction:column;align-items:center;border-top:1px solid #dce8f1;margin-top:25px;padding-top:17px;gap:5px}
.tvx .quote-footer strong{font-size:11px;color:#082b49}
.tvx .quote-footer span{font-size:9px;color:#64788c}
.tvx .quote-no-items{font-size:12px;color:#64788c}
.tvx .quote-conditions dl>div{grid-template-columns:105px minmax(0,1fr)}
.tvx .quote-sheet{padding:16px 12px}
.tvx .quote-document-title h2{font-size:17px}
.tvx .quote-grand-total strong{font-size:19px}
.tvx .quote-line{gap:8px}
.tvx .quote-sheet dl>div{grid-template-columns:70px minmax(0,1fr)}
.tvx .quote-conditions dl>div{grid-template-columns:95px minmax(0,1fr)}
.tvx .seller-pending{background:#fff0d9;color:#16364f;border:1px solid #efcf98}
.tvx .seller-pending{background:linear-gradient(145deg,#fffaf4 0%,#e8dac5 100%)}/*dg*/
.tvx .seller-pending .eyebrow{color:#986217}
.tvx .seller-pending p{color:#6d613f}
.tvx .seller-pending:after{border-color:#d8890030}
