.button{display:inline-block;background:#315c3a;color:#fff;border:0;border-radius:8px;padding:10px 15px;font-weight:bold;cursor:pointer;text-decoration:none;font-size:13px}
.button.secondary{background:#eef3ed;color:#21462a;border:1px solid #cad8c8}
.link{color:#315c3a;font-weight:bold;text-decoration:none}
.side-logo{width:74px;height:100px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;margin:0 auto 12px}
.login-logo{display:block;width:82px;height:auto;margin:0 auto 12px}
.login-card .mark{text-align:center}
.quote-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.quote-meta span{background:#f6f8f5;border-radius:8px;padding:12px;font-size:12px}
.quote-meta b{display:block;font-size:10px;text-transform:uppercase;color:#6d776d;margin-bottom:5px}
.totals{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-top:18px;font-size:12px}
.totals strong{font-size:16px;color:#21462a}
textarea{display:block;width:100%;min-height:90px;padding:10px;margin-top:6px;border:1px solid #d7ded6;border-radius:7px;background:#fbfcfa}
.inline{display:inline-flex;gap:7px;align-items:center;margin:4px}
.inline select{margin:0}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#items input,#items select{min-width:90px;padding:8px}
.danger{padding:6px 10px;background:#a63d36}
.price-note{display:block;color:#52745a;font-size:9px;min-width:110px;margin-top:3px}
@media(max-width:800px){.quote-meta{grid-template-columns:1fr 1fr}.totals{flex-wrap:wrap;justify-content:flex-start}}

/* Navegación lateral institucional */
aside{width:245px;padding:20px 13px;background:#174524}
main{margin-left:245px}
.side-logo{width:50px;height:63px;margin:0 0 0 7px;border-radius:5px;padding:3px}
.brand{margin:-56px 0 26px 70px;font-size:22px;line-height:1.1}
.brand small{margin-top:6px;color:#fff;font-weight:normal;letter-spacing:0}
aside nav{border-top:1px solid #ffffff26;padding-top:25px;margin-top:0;gap:5px}
aside nav a{position:relative;padding:14px 14px 14px 34px;color:#fff;font-size:16px;border-radius:10px}
aside nav a:before{content:'○';position:absolute;left:13px;color:#c8d7cb;font-size:13px}
aside nav a.active{background:#ffffff16;color:#fff}
aside nav a.active:before{content:'●';color:#c8e85d;font-size:10px;top:16px}
.company-card{margin-top:auto;border:1px solid #ffffff1f;border-radius:11px;background:#ffffff08;padding:14px;color:#fff;display:grid;gap:7px}
.company-card small{font-size:11px;color:#c8d7cb}.company-card strong{font-size:13px}.company-card span{font-size:11px;color:#d7e2d9}
.account{margin-top:18px;display:flex;align-items:center;gap:11px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#c8e85d;color:#174524;font-weight:bold}.account-info{font-size:12px}.account-info small{color:#c8e85d}.account-info a{color:#d7e2d9}
@media(max-width:800px){aside{width:100%}.side-logo{margin-left:7px}.brand{margin-left:70px}main{margin-left:0}.company-card{display:none}}
.internal-box{background:#f3f8f4;border:1px solid #b8d0bd;border-radius:8px;padding:12px;text-align:left}.internal-box small,.internal-panel>p{color:#59665c}.internal-price-line{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,220px) 42px;gap:8px;margin:8px 0}.internal-card{margin-top:14px}.internal-card table{max-width:650px}.internal-row td{padding:6px 12px 14px!important;background:#fff}.add-internal{margin-top:4px}@media(max-width:700px){.internal-price-line{grid-template-columns:1fr}.internal-price-line button{width:42px}}
