*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#241b16;background:#efe9e0}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#261b15;color:#f5eee5;padding:28px 22px;display:flex;flex-direction:column}.app-brand,.login-brand{display:flex;align-items:center;gap:12px}.app-brand strong,.login-brand strong{display:block;text-transform:uppercase;letter-spacing:.12em}.app-brand small,.login-brand small{display:block;opacity:.65;margin-top:2px}.tk-box{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);font-weight:800;letter-spacing:-.06em}.tk-box.big{width:56px;height:56px;background:#2d211a;color:#fff}.side-nav{display:grid;gap:6px;margin-top:42px}.side-nav a{padding:12px 14px;border-radius:10px;color:#d8cabf}.side-nav a:hover,.side-nav a.active{background:#3a2a21;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:12px;font-size:13px;color:#c5b6aa}.app-main{min-width:0}.topbar{padding:28px 36px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{margin:4px 0 0;font-family:Georgia,serif;font-weight:500;font-size:32px}.top-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#8b6c58;font-weight:700}.user-pill{border:1px solid #d8cbbf;background:rgba(255,255,255,.55);padding:10px 14px;border-radius:999px;font-size:13px}.menu-mobile{display:none}.content{padding:18px 36px 50px}.welcome-card{background:#d8c0a9;padding:34px;border-radius:20px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.welcome-card h2{font:500 34px/1.1 Georgia,serif;max-width:680px;margin:8px 0 12px}.welcome-card p{max-width:760px;color:#584639;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer}.btn.primary{background:#2c211b;color:#fff}.btn.secondary{background:#f8f4ef;color:#31241d;border:1px solid #d8cbbf}.btn.small{padding:9px 12px;font-size:13px}.btn.full{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stat-card{background:rgba(255,255,255,.68);border:1px solid #ddd0c4;border-radius:16px;padding:20px}.stat-card span,.stat-card small{display:block;color:#7b695b}.stat-card strong{display:block;font:500 36px Georgia,serif;margin:8px 0}.panel{background:rgba(255,255,255,.76);border:1px solid #ddd0c4;border-radius:18px;padding:24px}.panel h2{font:500 28px Georgia,serif;margin:6px 0 18px}.panel h3{margin:0 0 8px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.panel-head.second{margin-top:28px}.panel-head h2{margin:4px 0}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px}.two-col.wide-left{grid-template-columns:minmax(0,2fr) minmax(320px,.75fr)}.sticky-panel{position:sticky;top:18px;align-self:start}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e7ded6;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#897769}.status,.tag{display:inline-block;padding:5px 8px;border-radius:999px;background:#eee5dc;color:#765b47;font-size:11px;font-weight:700}.empty{padding:28px;text-align:center;color:#7b695b}.card-list{display:grid;gap:12px}.mini-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #e3d9cf;background:#fbf8f4;border-radius:14px;padding:18px}.mini-card p{color:#746358;line-height:1.5;margin:6px 0 0}.form-stack{display:grid;gap:14px}.form-stack label,.form-grid label,.full-label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#5f4c3f}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.full-label{margin-top:16px}input,select,textarea{width:100%;border:1px solid #d9cdc2;border-radius:10px;background:#fff;padding:12px;color:#2a211b;outline:none}input:focus,select:focus,textarea:focus{border-color:#9e7b62;box-shadow:0 0 0 3px rgba(158,123,98,.12)}textarea{resize:vertical}.material-line{display:grid;grid-template-columns:1fr 130px 40px;gap:10px;margin-bottom:10px}.remove-line{border:0;border-radius:10px;background:#eee4da;cursor:pointer;font-size:20px}.budget-side .muted{font-size:13px;color:#7e6c60;line-height:1.5}.calc-list{display:grid;gap:12px;margin:20px 0}.calc-list>div{display:flex;justify-content:space-between;gap:15px;padding-bottom:10px;border-bottom:1px solid #eadfd5}.calc-list .total-row{padding:16px 0;border-top:2px solid #3b2b22;border-bottom:0;font-size:18px}.quote-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid #e2d7cd}.quote-head h2{font-size:36px}.quote-total{text-align:right}.quote-total span{display:block;color:#7b695b;font-size:12px}.quote-total strong{font:500 32px Georgia,serif}.quote-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 28px}.quote-meta div{background:#f7f2ec;padding:14px;border-radius:10px}.quote-meta span,.quote-summary span{display:block;color:#7c6b60;font-size:12px;margin-bottom:5px}.quote-summary{margin-left:auto;max-width:420px;display:grid;gap:10px;padding-top:20px}.quote-summary>div{display:flex;justify-content:space-between;gap:20px}.quote-summary>div span{margin:0}.quote-summary .grand{border-top:2px solid #3c2c23;padding-top:14px;font-size:18px}.note-box{margin-top:26px;background:#f6f0e9;padding:18px;border-radius:12px}.actions-row{margin-top:28px;display:flex;justify-content:flex-end;gap:10px}.tiny-link{font-size:12px;text-decoration:underline;color:#755742}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(244,239,231,.9),rgba(244,239,231,.9)),url("../fondo-madera.png") center/cover fixed}.login-card{width:min(440px,100%);background:rgba(255,255,255,.9);border:1px solid #dccfc3;border-radius:22px;padding:34px;box-shadow:0 24px 70px rgba(44,31,23,.12)}.login-brand{color:#2b211b}.login-brand .tk-box{border-color:#2d211a}.login-copy{margin:36px 0 24px}.login-copy h1{font:500 38px Georgia,serif;margin:6px 0}.login-copy p{color:#746358}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px}.alert.error{background:#f8dddd;color:#7d2b2b}.back-link{display:block;margin-top:22px;font-size:13px;color:#77665a}.muted{color:#7b6a5f}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0}.menu-mobile{display:block;border:0;background:#e4d8cd;border-radius:9px;padding:9px 11px}.topbar{justify-content:flex-start}.user-pill{margin-left:auto}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col,.two-col.wide-left{grid-template-columns:1fr}.sticky-panel{position:static}.quote-meta{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.topbar,.content{padding-left:18px;padding-right:18px}.topbar h1{font-size:26px}.welcome-card{padding:24px;align-items:flex-start;flex-direction:column}.welcome-card h2{font-size:28px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:16px}.form-grid{grid-template-columns:1fr}.material-line{grid-template-columns:1fr 100px 38px}.quote-head{flex-direction:column}.quote-total{text-align:left}.quote-meta{grid-template-columns:1fr}.panel{padding:18px}.mini-card{align-items:flex-start;flex-direction:column}}@media print{.sidebar,.topbar,.actions-row{display:none!important}.app-shell{display:block}.content{padding:0}.panel{border:0;background:#fff}}

/* ===== EQUIPO V2 ===== */
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2b211b;background:#f4efe9}body{margin:0;background:linear-gradient(rgba(247,243,238,.92),rgba(247,243,238,.92)),url("../../fondo-madera.png") center top/1200px auto repeat-y fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell-v2{min-height:100vh;padding-bottom:92px}.app-top{position:sticky;top:0;z-index:20;height:68px;padding:10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:rgba(249,247,244,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(109,84,65,.12)}.app-brand-v2{display:flex;align-items:center;gap:9px}.app-brand-v2 strong{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.app-brand-v2 small{display:block;color:#8c786a;font-size:10px}.tk-box{width:35px;height:35px;display:grid;place-items:center;border:1px solid #765c49;border-radius:10px;font-weight:850;letter-spacing:-.06em}.user-pill{font-size:11px;color:#735e50;border:1px solid #ddd1c7;background:#fff9;padding:7px 11px;border-radius:999px}.app-main-v2{width:100%}.content-v2{width:min(1160px,100%);margin:0 auto;padding:20px 18px 30px}.eyebrow,.top-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:800;color:#9a765e}.hero-dashboard{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 2px 8px}.hero-dashboard h1,.page-head h1,.product-detail h1,.sale-detail h1{font:500 clamp(30px,5vw,48px)/1.05 Georgia,serif;margin:6px 0 8px}.hero-dashboard p,.page-head p{margin:0;color:#76665c}.round-action{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#30231c;color:#fff;font-size:27px;box-shadow:0 10px 25px #30231c22}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:18px 0}.metric-card{min-height:132px;padding:16px;border:1px solid #dfd4cb;border-radius:17px;background:#ffffffc7;display:flex;flex-direction:column}.metric-card.accent{background:#e8d8c8}.metric-card.warning{background:#f1e5d7}.metric-card span{font-size:11px;color:#76665c}.metric-card strong{font:500 37px Georgia,serif;margin-top:auto}.metric-card .money-big{font-size:27px}.metric-card small{font-size:10px;color:#8b796d}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 26px}.quick-grid a{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-radius:13px;border:1px solid #e0d6cd;background:#fff9}.quick-grid strong{font:500 24px Georgia,serif}.quick-grid span{font-size:11px;color:#7b6a5e}.section-block{margin-top:25px}.section-title-row,.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.section-title-row h2,.panel h2{font:500 27px Georgia,serif;margin:4px 0 0}.section-title-row>a{font-size:11px;text-decoration:underline;color:#765d4c}.budget-list{display:grid;gap:8px}.budget-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;background:#ffffffc7;border:1px solid #dfd5cc;border-radius:14px}.budget-row strong{display:block}.budget-row span{display:block;font-size:11px;color:#8b7769;margin-top:3px}.budget-amount{font-weight:800;white-space:nowrap}.bottom-nav{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,720px);display:grid;grid-template-columns:repeat(5,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fbf9f6f5;backdrop-filter:blur(18px);border:1px solid #d9cec5;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 30px #4a372a12}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:11px;color:#8c796b;font-size:9px}.bottom-nav a.active{background:#eee4da;color:#2f241d}.bottom-icon{font-size:18px;line-height:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 2px 18px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 14px;font-weight:750;cursor:pointer}.btn.primary{background:#30231c;color:#fff}.btn.secondary{background:#ede4dc;color:#3a2b23;border:1px solid #dacdc2}.btn.small{padding:7px 10px;font-size:11px}.btn.full{width:100%}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.catalog-card{overflow:hidden;background:#ffffffcf;border:1px solid #ddd2c8;border-radius:18px}.catalog-card>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.catalog-body{padding:14px}.catalog-body h2{font:500 23px Georgia,serif;margin:4px 0 13px}.price-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.price-pair div{padding:10px;border-radius:11px;background:#f3ece5}.price-pair span,.price-hero span,.sale-numbers span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a7566}.price-pair strong{display:block;margin-top:4px;font-size:13px}.catalog-body>small{display:block;margin-top:10px;color:#8f7b6d;font-size:10px}.app-dialog{width:min(92vw,450px);border:1px solid #ddd1c7;border-radius:18px;padding:20px;background:#fbf8f4}.app-dialog::backdrop{background:#2c211b73;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}.dialog-head h2{font:500 28px Georgia,serif;margin:4px 0 15px}.icon-close{border:0;background:transparent;font-size:27px}.form-stack{display:grid;gap:13px}.form-stack label,.form-grid label,.full-label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#665448}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}input,select,textarea{width:100%;padding:11px;border:1px solid #d9ccc1;border-radius:10px;background:#fff;color:#2b211b;outline:none}.full-label{grid-column:1/-1}.panel{padding:18px;background:#ffffffc7;border:1px solid #ded3ca;border-radius:18px}.two-col,.two-col.wide-left{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:14px}.sticky-panel{position:sticky;top:88px;align-self:start}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #e7ded7;font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8e796a}.muted{color:#7e6e63;font-size:11px;line-height:1.55}.empty{padding:22px;text-align:center;color:#8a796e;border:1px dashed #d8cbc0;border-radius:13px}.back-mini{display:inline-block;margin:3px 0 13px;color:#7a6557;font-size:11px}.product-detail{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:24px;padding:16px;background:#ffffffcc;border:1px solid #ded3ca;border-radius:19px;margin-bottom:14px}.product-detail>img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:13px}.product-detail>div{padding:8px}.price-hero{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.price-hero div{padding:15px;background:#eee4da;border-radius:13px}.price-hero strong{display:block;font:500 28px Georgia,serif;margin-top:5px}.price-hero small{display:block;margin-top:4px;color:#7d695b}.sale-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.sale-numbers div{padding:15px;border-radius:13px;background:#f1e9e1}.sale-numbers .accent-box{background:#e5d5c5}.sale-numbers strong{display:block;font:500 27px Georgia,serif;margin-top:5px}.narrow-panel{max-width:720px;margin:0 auto}.client-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.client-card{display:flex;align-items:center;gap:12px;padding:14px;background:#ffffffca;border:1px solid #ddd2c9;border-radius:14px}.avatar-letter{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e8ddd3;font-weight:800}.client-card strong,.client-card span{display:block}.client-card div span{font-size:10px;color:#857266;margin-top:3px}.more-list{display:grid;gap:9px}.more-list>a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:14px 15px;background:#ffffffca;border:1px solid #ddd2c8;border-radius:14px}.more-list>a>span{font-size:19px}.more-list strong,.more-list small{display:block}.more-list small{margin-top:3px;color:#89776b}.material-line{display:grid;grid-template-columns:1fr 110px 38px;gap:7px;margin-bottom:7px}.remove-line{border:0;border-radius:9px;background:#ede3da}.calc-list{display:grid;gap:9px}.calc-list>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid #e9dfd7}.total-row{padding-top:10px;border-top:2px solid #33251e!important}.status,.tag{display:inline-block;padding:4px 7px;border-radius:999px;background:#eee4db;font-size:9px}.tiny-link{font-size:10px;text-decoration:underline}.card-list{display:grid;gap:9px}.mini-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e1d7ce;background:#fbf8f4;border-radius:13px}.actions-row{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
@media(max-width:820px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.product-detail,.two-col,.two-col.wide-left{grid-template-columns:1fr}.sticky-panel{position:static}.client-grid{grid-template-columns:1fr}}
@media(max-width:620px){body{background-attachment:scroll}.content-v2{padding:15px 13px 28px}.user-pill{display:none}.hero-dashboard{align-items:flex-end}.hero-dashboard h1{font-size:34px}.metric-grid{gap:7px}.metric-card{padding:12px;min-height:118px}.metric-card strong{font-size:29px}.metric-card .money-big{font-size:19px}.metric-card small{font-size:8px}.quick-grid a{padding:10px}.quick-grid strong{font-size:20px}.catalog-grid{gap:9px}.catalog-body{padding:11px}.catalog-body h2{font-size:19px}.price-pair{grid-template-columns:1fr}.catalog-body>small{font-size:9px}.page-head{align-items:flex-start}.page-head h1{font-size:35px}.form-grid{grid-template-columns:1fr}.full-label{grid-column:auto}.product-detail{padding:11px}.product-detail>div{padding:3px}.price-hero{grid-template-columns:1fr 1fr}.price-hero strong{font-size:21px}.sale-numbers{grid-template-columns:1fr}.material-line{grid-template-columns:1fr 85px 36px}.bottom-nav{width:100%;border-radius:16px 16px 0 0}table{min-width:600px}}
@media print{.app-top,.bottom-nav,.actions-row{display:none!important}.app-shell-v2{padding-bottom:0}.content-v2{padding:0}.panel{border:0;background:#fff}}


/* Compatibilidad páginas existentes */
.quote-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e2d7cd;padding-bottom:16px}
.quote-total{text-align:right}
.quote-total strong{display:block;font:500 30px Georgia,serif}
.quote-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:17px 0}
.quote-meta div{background:#f6efe8;padding:11px;border-radius:10px}
.quote-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a7566}
.quote-meta strong{display:block;margin-top:4px}
.quote-summary{margin-left:auto;max-width:430px;display:grid;gap:8px;padding-top:18px}
.quote-summary>div{display:flex;justify-content:space-between;gap:16px}
.quote-summary .grand{padding-top:10px;border-top:2px solid #382820}
.note-box{margin-top:18px;padding:14px;background:#f2e9e1;border-radius:12px}
.note-box p{margin:6px 0 0}
.panel-head.second{margin-top:24px}
@media(max-width:620px){
  .quote-head{flex-direction:column}
  .quote-total{text-align:left}
  .quote-meta{grid-template-columns:1fr 1fr}
}


/* Edición de presupuesto */
.material-line-edit{
  grid-template-columns:minmax(180px,1fr) 95px 125px 38px;
}
@media(max-width:620px){
  .material-line-edit{
    grid-template-columns:1fr 82px;
  }
  .material-line-edit select{
    grid-column:1/-1;
  }
}


/* Materiales base dentro de producto */
.product-material-add{
  grid-template-columns:minmax(240px,1fr) 140px auto;
  align-items:end;
  margin:18px 0;
}
.product-material-add .btn{
  min-height:41px;
}
.recipe-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.recipe-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  background:#fbf8f4;
  border:1px solid #e2d8cf;
  border-radius:12px;
}
.recipe-row strong,
.recipe-row span{
  display:block;
}
.recipe-row span{
  margin-top:3px;
  font-size:10px;
  color:#857267;
}
.recipe-cost{
  font-weight:800;
  white-space:nowrap;
}
.recipe-total{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:12px;
  padding:14px;
  border-radius:12px;
  background:#e8ddd3;
}
.recipe-total strong{
  font:500 24px Georgia,serif;
}
.form-grid label small{
  font-size:9px;
  font-weight:500;
  color:#8b776a;
}
@media(max-width:620px){
  .product-material-add{
    grid-template-columns:1fr;
  }
  .recipe-row{
    grid-template-columns:1fr auto;
  }
  .recipe-row form{
    grid-column:1/-1;
  }
}


/* ===== QA MOBILE 11/09/2026 ===== */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
.app-shell-v2,
.app-main-v2,
.content-v2,
.panel,
.two-col,
.two-col.wide-left,
.form-grid,
.material-line,
.material-line-edit,
.page-head,
.panel-head,
.product-detail,
.quote,
.table-wrap{
  min-width:0;
  max-width:100%;
}
input,
select,
textarea,
button{
  max-width:100%;
  min-width:0;
}
select{
  text-overflow:ellipsis;
}
.material-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.form-error{
  padding:10px 12px;
  border-radius:10px;
  background:#f4e0dc;
  color:#7b3028;
  font-size:11px;
}
@media(max-width:620px){
  .content-v2{
    width:100%;
    padding-left:12px;
    padding-right:12px;
  }

  .panel{
    width:100%;
    padding:14px;
    overflow:hidden;
  }

  .panel-head,
  .page-head{
    flex-wrap:wrap;
    align-items:flex-start;
  }

  .material-head{
    gap:10px;
  }

  .material-actions{
    width:100%;
    justify-content:flex-start;
  }

  .material-actions .btn{
    flex:1 1 auto;
  }

  .material-line{
    grid-template-columns:minmax(0,1fr) 92px 38px;
    width:100%;
  }

  .material-line select{
    min-width:0;
    width:100%;
  }

  .material-line-edit{
    grid-template-columns:minmax(0,1fr) 82px;
  }

  .material-line-edit select{
    grid-column:1/-1;
  }

  .material-line-edit input[name="unit_price[]"]{
    grid-column:1/2;
  }

  .material-line-edit .remove-line{
    grid-column:2/3;
  }

  .quote-meta{
    grid-template-columns:1fr;
  }

  .metric-grid,
  .quick-grid{
    grid-template-columns:1fr;
  }

  .catalog-grid{
    grid-template-columns:1fr 1fr;
  }

  .price-hero{
    grid-template-columns:1fr;
  }

  .actions-row{
    flex-wrap:wrap;
    justify-content:stretch;
  }

  .actions-row .btn{
    flex:1 1 100%;
  }

  .app-dialog{
    width:calc(100vw - 24px);
    max-width:calc(100vw - 24px);
    margin:auto;
    padding:16px;
  }

  .bottom-nav{
    left:0;
    transform:none;
    width:100%;
    max-width:100%;
  }
}
@media(max-width:380px){
  .catalog-grid{
    grid-template-columns:1fr;
  }
}


/* Lectura de precio desde link de proveedor */
.url-price-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.price-fetch-status{
  margin-top:6px;
  padding:8px 10px;
  border-radius:9px;
  font-size:10px;
  line-height:1.35;
}
.price-fetch-status.loading{
  background:#eee7df;
  color:#725f52;
}
.price-fetch-status.success{
  background:#e4eee5;
  color:#335c3b;
}
.price-fetch-status.error{
  background:#f4e0dc;
  color:#7b3028;
}
@media(max-width:620px){
  .url-price-row{
    grid-template-columns:1fr;
  }
  .url-price-row .btn{
    width:100%;
  }
}


/* Fecha de actualización de costos */
.price-date{
  display:inline-block;
  white-space:nowrap;
  font-size:10px;
  font-weight:700;
  color:#6d5b4f;
}
.price-date.pending{
  color:#9b7e69;
}
.price-alert{
  margin:0 0 12px;
  padding:11px 13px;
  border-radius:11px;
  font-size:11px;
  border:1px solid transparent;
}
.price-alert.success{
  background:#e4eee5;
  color:#335c3b;
  border-color:#cadfcd;
}
.price-alert.error{
  background:#f4e0dc;
  color:#7b3028;
  border-color:#e6c5bf;
}
.frozen-note{
  background:#e8eee6;
  border:1px solid #cfddcc;
}


/* Acciones en listado de presupuestos */
.row-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.locked-mini{
  display:inline-block;
  padding:6px 8px;
  border-radius:9px;
  background:#ece7e1;
  color:#85746a;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:620px){
  .row-actions{
    min-width:120px;
  }
}


/* Edición de materiales */
.material-date-box{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-radius:11px;
  background:#f1e8df;
  color:#6f5b4e;
  font-size:11px;
}
.material-date-box strong{
  white-space:nowrap;
}


/* Claridad de cantidad y precio usado en presupuesto */
.material-field{min-width:0}
.material-field-label{display:block;margin:0 0 5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8c7565}
.material-line-edit{grid-template-columns:minmax(220px,1fr) 110px minmax(180px,230px) 40px;align-items:end}
.price-used-field{display:grid;grid-template-columns:1fr;gap:6px}
.use-current-price{width:100%;white-space:normal;line-height:1.2}
.use-current-price:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){
  .material-line-edit{grid-template-columns:minmax(0,1fr) 42px;gap:10px}
  .material-select-field,.price-used-field,.material-line-edit > .material-field:not(.price-used-field){grid-column:1/-1}
  .material-line-edit .remove-line{grid-column:2;grid-row:auto;min-height:42px}
}

/* Referencia del último presupuesto en Catálogo */
.catalog-last-budget{
  margin-top:9px;
  padding:10px;
  border:1px solid #e5dbd2;
  border-radius:11px;
  background:#fff9;
}
.catalog-last-budget span,
.catalog-last-budget small{display:block}
.catalog-last-budget span{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a7566;
}
.catalog-last-budget strong{display:block;margin-top:4px;font-size:14px}
.catalog-last-budget small{margin-top:3px;font-size:9px;color:#8f7b6d}
.catalog-margin{display:block;margin-top:9px;color:#8f7b6d;font-size:10px}
