[hidden]{display:none!important}
:root{--deep:#163f34;--green:#357454;--sage:#e0ecde;--gold:#d5a342;--cream:#f7f8f3;--white:#fff;--ink:#192f29;--muted:#687972;--line:#e1eae2;--red:#b44343;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 14px;font-weight:650}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d5a34288;outline-offset:2px}.primary{background:var(--green);color:white}.primary:hover{background:var(--deep)}.secondary{background:white;color:var(--deep);border:1px solid var(--line)}.wide{width:100%}input,textarea,select{border:1px solid #d5e1d6;background:#fff;border-radius:9px;padding:11px;width:100%;color:var(--ink)}label{font-size:13px;font-weight:700;display:grid;gap:7px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 90% 10%,#d8e8d3,var(--cream) 65%)}.login-panel{width:min(430px,100%);background:white;padding:38px;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 65px #113e3114}.login-panel .brand-symbol{font-size:39px;color:var(--green)}.login-panel h1{font-size:36px;line-height:1.12;letter-spacing:-1.2px;margin:18px 0 8px}.login-panel h1 span{color:var(--green)}.login-panel p{font-size:14px;color:var(--muted);line-height:1.6}.login-panel form{display:grid;gap:16px;margin-top:25px}.login-panel .hint{font-size:12px;margin-top:16px}.error{color:var(--red);font-weight:600}.workspace{min-height:100vh;display:grid;grid-template-columns:242px minmax(0,1fr)}.sidebar{background:var(--deep);padding:24px 17px;color:white;display:flex;flex-direction:column;gap:28px}.brand-name{font-size:16px;font-weight:900;display:flex;gap:12px;align-items:center;line-height:1.18;padding:8px 10px}.brand-name:first-letter{color:var(--gold)}.side-caption{font-size:10px;letter-spacing:1.1px;color:#a3bfb0;margin:0 10px}.sidebar .side-caption:last-child{margin-top:auto;line-height:1.6}.menu{display:grid;gap:6px}.menu button{text-align:left;color:#c7ddd0;background:transparent;padding:12px 14px}.menu button:hover,.menu button.active{color:white;background:#ffffff22}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:75px;background:#ffffffdf;border-bottom:1px solid var(--line);padding:13px 28px;position:sticky;top:0;z-index:10}.topbar strong{font-size:14px}.topbar small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.top-actions{display:flex;gap:8px}.page{max-width:1180px;margin:auto;padding:32px 28px}.eyebrow{font-size:11px;letter-spacing:1.3px;color:var(--green);font-weight:850}.page h1{font-size:32px;letter-spacing:-1.1px;margin:9px 0}.muted{color:var(--muted)}.subhead{color:var(--muted);font-size:14px;margin:0 0 25px;line-height:1.5}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 16px #29473204}.stat{font-size:32px;font-weight:900;letter-spacing:-1px;color:var(--deep);margin:12px 0}.label-sm{font-size:12px;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:18px;overflow:auto}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 14px}.panel-head h2{font-size:18px;margin:0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:660px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px}tr:last-child td{border:0}.stage{padding:6px 9px;border-radius:30px;background:var(--sage);color:var(--deep);font-size:11px;font-weight:700}.link-btn{color:var(--green);background:transparent;padding:4px 2px}.searchline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.searchline input{max-width:400px}#status:not(:empty){margin:13px 28px 0;padding:12px 14px;background:#fff4db;color:#654c1c;border-radius:10px;font-size:13px}dialog{border:0;border-radius:18px;max-width:min(760px,calc(100% - 20px));width:100%;padding:0;box-shadow:0 35px 90px #0004}dialog::backdrop{background:#10281eaa}.contact-form{padding:22px 26px;max-height:87vh;overflow:auto}.modalhead,.modalactions{display:flex;justify-content:space-between;align-items:center;gap:15px}.modalhead h2{margin:0}.modalhead button{background:transparent}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.fields .full{grid-column:1/-1}.modalactions{justify-content:flex-end}.notice{border-left:4px solid var(--gold);padding:15px 19px;background:#fcf8ee;border-radius:9px;line-height:1.6}.pill{padding:5px 9px;border-radius:50px;background:var(--sage);color:var(--deep);font-size:11px}.details-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.details-row span:first-child{color:var(--muted)}
@media(max-width:930px){.workspace{grid-template-columns:180px minmax(0,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.sidebar{padding:18px 10px}.page{padding:24px 19px}.topbar{padding:13px 18px}}
@media(max-width:630px){.workspace{display:block}.sidebar{padding:13px 12px;gap:7px;position:sticky;top:0;z-index:20}.brand-name,.side-caption{display:none}.menu{display:flex;gap:3px;overflow-x:auto}.menu button{padding:9px 10px;white-space:nowrap;font-size:12px}.topbar{position:static;min-height:60px}.top-actions button{font-size:11px;padding:9px}.page{padding:22px 14px}.page h1{font-size:27px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{padding:14px}.stat{font-size:27px}.fields{grid-template-columns:1fr}.contact-form{padding:20px}.panel{padding:15px}}

/* v0.3: formulario de cotizaciones y marca */
[hidden]{display:none!important}dialog{max-height:90vh;overflow:auto;min-width:min(94vw,680px)}
#quote-dialog{width:min(94vw,840px)}.quote-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.q-line{display:grid;grid-template-columns:minmax(180px,1fr) 74px 105px 126px 38px;gap:8px;margin:8px 0}
.q-line input,.q-line select,.business-form input,.business-form textarea{width:100%;border:1px solid #d6e3da;padding:10px;border-radius:9px;font:inherit;background:#fff}
.q-line button{padding:0;border:1px solid #ddd;background:#fff;border-radius:8px}.quote-summary{padding:16px;margin-top:15px;background:#eaf4e9;border-radius:10px;font-weight:bold}
#quote-dialog h3{margin:12px 0 5px}.biz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.biz-grid label{display:grid;gap:6px;font-weight:650;font-size:13px}
.logo-preview{margin-bottom:13px}.logo-preview img{max-width:260px;max-height:130px;object-fit:contain}.business-form{margin-top:20px}
@media(max-width:680px){.q-line{grid-template-columns:1fr 1fr;gap:5px;border:1px solid #dce7dd;border-radius:12px;padding:8px}.line-description{grid-column:span 2}.biz-grid{grid-template-columns:1fr}.q-line button{min-height:38px}}

.login-panel #auth-toggle {margin-top:12px;} .auth-success {background:#e7f4e9;border:1px solid #aad3b6;color:#234b35;border-radius:9px;padding:12px;font-size:13px;}

[hidden] { display: none !important; }

.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin-top:10px}.plan-entry{border:1px solid #dbe5db;border-radius:13px;padding:15px;background:#fbfdfb}.plan-entry h3{font-size:14px;margin:0 0 7px}.plan-amount{display:block;font-size:18px;color:#214a36}.plan-entry p{font-size:12px;margin-top:8px;line-height:1.5}

/* v1.2 catálogo con controles legibles en móvil */
.q-line{grid-template-columns:minmax(250px,2fr) 90px minmax(125px,1fr) 112px 38px}
.q-line .line-product{min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;background:white}
.q-line .line-price,.q-line .line-tax{background:#f0f5ef;color:#405448;opacity:1}
#product-dialog{width:min(94vw,740px)}
#product-dialog input[type=checkbox]{width:auto;accent-color:var(--green)}
@media(max-width:680px){.q-line{grid-template-columns:1fr 1fr}.q-line .line-product{grid-column:span 2}}

/* Edición segura y selección de IVA por línea */
.quote-actions{display:flex;flex-wrap:wrap;gap:5px;max-width:340px}.danger-text{color:#a51e26!important}.q-line .line-tax{min-width:105px;padding:8px;border:1px solid #d6e3da;background:white;border-radius:8px}.q-line .line-price{background:#f5f7f5;color:#235a41}
