:root{--cream:#f8f4ed;--paper:#fffdf9;--ink:#423d38;--muted:#7d756d;--rose:#c98891;--rose2:#ead1d2;--mint:#8eb5a3;--line:#e8dfd4;--brown:#7c685b;--shadow:0 16px 40px rgba(83,65,51,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.top{height:86px;background:rgba(255,253,249,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px clamp(20px,6vw,90px);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.brand img{width:150px;height:68px;object-fit:contain}.desktopNav{display:flex;gap:34px}.desktopNav a,.top a{text-decoration:none;color:var(--ink)}.desktopNav a:hover{color:var(--rose)}.menuBtn{display:none;background:none;border:0;font-size:27px}.hero{min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;max-width:1280px;margin:auto;align-items:center;padding:54px clamp(20px,6vw,80px);gap:54px}.hero h1{font-family:Georgia,serif;font-size:clamp(45px,5.6vw,78px);line-height:.98;margin:14px 0 22px;font-weight:500;letter-spacing:-2px}.heroText>p:not(.eyebrow){font-family:Georgia,serif;font-size:20px;line-height:1.6;color:var(--muted);max-width:650px}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:700;color:var(--brown)}.heroImage{background:#f0e4d7;border-radius: 8px;overflow:hidden;box-shadow:var(--shadow);min-height:480px}.heroImage img{width:100%;height:100%;min-height:480px;object-fit:cover}.heroActions{display:flex;gap:12px;margin-top:28px}.primary,.secondary,.whatsapp{display:inline-block;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid var(--rose)}.primary{background:var(--rose);color:white}.secondary{color:var(--rose);background:transparent}.catalog{background:var(--paper);padding:80px clamp(20px,6vw,90px)}.sectionHead{max-width:1200px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:20px}.sectionHead h2,.services h2,.contact h2{font:500 clamp(32px,4vw,52px)/1.08 Georgia,serif;margin:8px 0}.searchWrap input{width:min(340px,80vw);padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:white;font-size:15px}.chips{max-width:1200px;margin:26px auto 28px;display:flex;gap:9px;flex-wrap:wrap}.chips button{border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:999px;color:var(--ink);cursor:pointer}.chips button.active{background:var(--ink);color:#fff}.grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:.2s;box-shadow:0 4px 16px rgba(70,55,43,.04)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#eee}.cardBody{padding:18px}.cardBody h3{font:500 23px Georgia,serif;margin:9px 0}.price{font-weight:700;font-size:18px}.badge{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:6px 9px;border-radius:999px;background:#edf4ef;color:#507361}.badge.sin_stock{background:#eee;color:#777}.badge.ultimas_unidades{background:#fff1d9;color:#9a6a27}.badge.por_encargo{background:#f4e9ed;color:#9a6272}.services{max-width:1120px;margin:80px auto;padding:58px;display:flex;justify-content:space-between;align-items:center;gap:50px;background:#e7eee9;border-radius:28px}.services>div{max-width:700px}.services p:not(.eyebrow),.contact p{line-height:1.6;color:var(--muted)}.whatsapp{background:var(--ink);color:white;border-color:var(--ink);white-space:nowrap}.contact{text-align:center;padding:70px 20px 100px}.contact p{margin-bottom:30px}footer{background:#403a35;color:#eee;min-height:120px;display:flex;align-items:center;justify-content:center;gap:28px;padding:25px}footer img{width:110px;height:70px;object-fit:contain;background:#fff;border-radius:8px}footer a{color:#ddd;margin-left:auto;margin-right:30px;font-size:12px}dialog{width:min(920px,94vw);border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(42,37,34,.6)}.close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;font-size:25px;z-index:3}.detailGrid{display:grid;grid-template-columns:1fr 1fr}.gallery{padding:24px;background:#f3eee7}.gallery img{width:100%;border-radius:12px;margin-bottom:10px}.detailInfo{padding:42px 34px}.detailInfo h2{font:500 38px Georgia,serif;margin:8px 0}.detailInfo h3{font-size:24px}.detailInfo p{line-height:1.6;color:#665f58}#drawer{position:fixed;inset:0 0 0 auto;width:min(330px,88vw);background:white;z-index:50;padding:30px;display:flex;flex-direction:column;gap:24px;transform:translateX(105%);transition:.25s;box-shadow:-10px 0 50px rgba(0,0,0,.2)}#drawer.open{transform:none}#drawer img{width:170px;margin:20px auto}#drawer a{text-decoration:none;color:var(--ink);font-size:19px;border-bottom:1px solid var(--line);padding-bottom:12px}.closeDrawer{align-self:flex-end;border:0;background:none;font-size:28px}.adminLink{margin-top:auto;font-size:13px!important}.empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--muted)}
@media(max-width:800px){.desktopNav{display:none}.menuBtn{display:block}.top{height:74px;padding:4px 18px}.brand img{width:130px;height:62px}.hero{grid-template-columns:1fr;padding:35px 20px 50px;gap:30px}.hero h1{font-size:48px}.heroImage{min-height:360px;order:-1}.heroImage img{min-height:360px}.heroActions{flex-direction:column;align-items:stretch;text-align:center}.catalog{padding:55px 18px}.sectionHead{align-items:start;flex-direction:column}.searchWrap,.searchWrap input{width:100%}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.cardBody{padding:12px}.cardBody h3{font-size:18px}.services{margin:45px 18px;padding:34px 24px;flex-direction:column;align-items:flex-start}.detailGrid{grid-template-columns:1fr}.detailInfo{padding:28px 22px}footer{flex-direction:column;gap:10px}footer a{margin:10px 0 0}}

/* =========================================================
   BELLA DONNA · ADMINISTRACIÓN
   Reglas aisladas para no alterar el catálogo público.
========================================================= */
.adminPage{
  min-height:100vh;
  background:
    linear-gradient(rgba(248,244,237,.86),rgba(248,244,237,.92)),
    url('assets/logo.png') center 130px / min(760px,72vw) auto no-repeat fixed,
    var(--cream);
}
.adminHeader{
  width:100%;
  min-height:92px;
  padding:10px clamp(18px,5vw,70px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:rgba(255,253,249,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.adminHeader img{
  display:block;
  width:clamp(135px,16vw,190px);
  max-width:42vw;
  height:auto;
  max-height:76px;
  object-fit:contain;
}
.adminHeader a{color:var(--ink);text-decoration:none;font-weight:700}
.admin{width:min(920px,calc(100% - 40px));margin:0 auto;padding:28px 0 70px}
.admin h1{font:500 clamp(34px,5vw,52px)/1.05 Georgia,serif;margin:8px 0 18px}
.admin h2{font:500 28px/1.15 Georgia,serif;margin:0 0 18px}
.admin .panel{border:1px solid var(--line);border-radius:20px;padding:24px;margin:18px 0;background:rgba(255,255,255,.97);box-shadow:0 12px 34px rgba(83,65,51,.08)}
.admin .form{display:grid;gap:12px}
.admin .form input,.admin .form textarea,.admin .form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit}
.admin .form textarea{min-height:96px;resize:vertical}
.admin .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adminTitleRow{display:flex;justify-content:space-between;align-items:center;gap:12px}
.admin button{border:1px solid transparent;cursor:pointer;font:inherit}
.admin .save,.admin .secondary,.admin .danger{padding:13px 17px;border-radius:12px;font-weight:700}
.admin .save{background:var(--ink);color:#fff}
.admin .secondary{background:var(--cream);color:var(--ink);border-color:var(--line)}
.admin .danger{background:#f8e2e2!important;color:#7b2727!important;border-color:#efcaca!important}
.admin .publishAction{background:#4f765f;color:#fff;border-color:#426550;box-shadow:0 7px 18px rgba(79,118,95,.18)}
.admin .publishAction:hover{filter:brightness(.94)}
.admin .cancelAction{background:#fff;color:#665f58;border:1px solid #cfc3b8}
.admin .formActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.admin .formActions button{min-width:170px}
.admin .productAdmin{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.admin .productAdmin>img{width:64px;height:80px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.admin .productAdmin .grow{flex:1;min-width:150px}
.admin .actions{display:flex;gap:8px;flex-wrap:wrap}
.admin .actions button{font-size:14px;padding:8px 10px;border-radius:9px;background:var(--cream);color:var(--ink);border:1px solid var(--line)}
.admin .actions .publishListAction{background:#4f765f;color:#fff;border-color:#426550;font-weight:700}
#msg{margin-top:10px;font-weight:bold;min-height:20px}
.hidden{display:none!important}
.photoPickerLabel{display:grid;gap:8px;font-weight:700}
.photoPreviewSection{margin-top:4px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fffdf9}
.photoPreviewHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.photoPreviewHead h3{margin:0 0 5px;font:600 20px Georgia,serif}
.photoPreviewHead p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.photoCount{white-space:nowrap;background:var(--cream);border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}
.photoAdminGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.photoAdminItem{min-width:0;padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:center}
.photoAdminItem.isPrincipal{border-color:var(--mint);box-shadow:0 0 0 2px rgba(142,181,163,.16)}
.photoAdminItem img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;border-radius:9px;background:#eee}
.photoPosition{display:block;margin:7px 0;font-size:12px;min-height:30px}
.photoAdminItem .actions{justify-content:center;gap:5px}
.photoAdminItem .actions button{padding:6px 8px;font-size:12px}
.photoRemove{width:100%;margin-top:6px}

/* Entrega especial para Angie */
.giftOverlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(58,48,43,.64);backdrop-filter:blur(7px);overflow:auto}
.giftCard{width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fffaf5;border:1px solid #ead1d2;border-radius:28px;padding:clamp(24px,5vw,46px);box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center}
.giftDecor{font-size:46px;margin-bottom:8px}
.giftCard h2{font:500 clamp(34px,6vw,50px)/1.05 Georgia,serif;margin:8px 0 22px;color:#6d5556}
.giftCard p{line-height:1.65;color:#665f58}
.giftSignature{margin-top:24px;font-family:Georgia,serif;font-size:19px}
.giftButton{margin-top:10px;padding:14px 24px;border:0;border-radius:999px;background:#c98891;color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.giftStatus{min-height:20px;font-size:13px;margin-bottom:0!important}

@media(max-width:800px){
  .adminPage{background:linear-gradient(rgba(248,244,237,.94),rgba(248,244,237,.97)),url('assets/logo.png') center 100px / 92vw auto no-repeat,var(--cream)}
  .adminHeader{min-height:74px;padding:6px 14px}
  .adminHeader img{width:128px;max-width:52vw;max-height:60px}
  .admin{width:calc(100% - 24px);padding:18px 0 45px}
  .admin .panel{padding:17px;border-radius:16px;margin:14px 0}
  .admin .row{grid-template-columns:1fr}
  .adminTitleRow{align-items:flex-start}
  .admin .productAdmin{align-items:flex-start;flex-wrap:wrap}
  .admin .productAdmin .actions{width:100%;padding-left:76px}
  .photoAdminGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .admin .formActions{display:grid;grid-template-columns:1fr 1fr}
  .admin .formActions button{min-width:0;width:100%}
}
@media(max-width:430px){
  .admin{width:calc(100% - 16px)}
  .admin .panel{padding:14px}
  .admin h1{font-size:34px}
  .admin .productAdmin .actions{padding-left:0}
  .admin .productAdmin .actions button{flex:1 1 auto}
  .admin .formActions{grid-template-columns:1fr}
  .giftOverlay{padding:10px}
  .giftCard{padding:24px 18px;border-radius:22px;max-height:calc(100vh - 20px)}
}


/* =========================================================
   BELLA DONNA · ADMINISTRADOR V1
   Estructura de taller + navegación.
========================================================= */
.adminV1{width:min(1180px,calc(100% - 40px));padding-bottom:100px}
.adminBrandButton{border:0;background:transparent;padding:0;cursor:pointer}
.adminHeaderActions{display:flex;align-items:center;gap:12px}
.adminHeader .headerLogout{padding:9px 13px;border-radius:10px}
.loginCard{max-width:560px}
.recoveryLink{color:var(--brown);font-size:14px;text-align:center;margin-top:4px}
.adminWorkspaceHead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}
.adminWorkspaceHead h1{margin-bottom:0}
.adminUserBox{text-align:right;display:grid;gap:3px;padding-bottom:7px}
.adminUserBox span{font-weight:700}.adminUserBox small{color:var(--muted)}
.adminDesktopNav{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;margin:0 0 20px;background:rgba(255,253,249,.94);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(83,65,51,.08);backdrop-filter:blur(10px)}
.adminDesktopNav button{padding:12px;border-radius:11px;background:transparent;color:var(--ink);font-weight:700}
.adminDesktopNav button.active{background:var(--ink);color:#fff}
.welcomeBlock{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 2px 8px}
.welcomeBlock h2{font-size:clamp(30px,4vw,42px);margin:4px 0}
.mutedText{margin:0;color:var(--muted);text-transform:capitalize}
.quickActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quickActions button{padding:13px 16px;border-radius:12px;font-weight:700}
.quickPrimary{background:#4f765f;color:#fff}.quickSecondary{background:#fff;color:var(--ink);border-color:var(--line)!important}
.dashboardGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.dashboardCard{min-height:116px;padding:18px;text-align:left;display:flex;align-items:center;gap:14px;border:1px solid var(--line)!important;border-radius:18px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 8px 24px rgba(83,65,51,.06)}
.dashboardCard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.dashboardIcon{font-size:28px}.dashboardCard b,.dashboardCard small{display:block}.dashboardCard b{margin-bottom:6px}.dashboardCard small{color:var(--muted);line-height:1.35}
.panelHeading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panelHeading h2{margin-bottom:0!important}
.compactButton{padding:9px 12px!important}
.priorityList{display:grid;gap:9px}
.priorityItem{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;padding:14px 15px;border:1px solid var(--line)!important;border-radius:13px;background:#fff;color:var(--ink)}
.priorityItem span{color:var(--muted);font-size:13px;text-align:right}.priorityUrgent{border-color:#e8c67b!important;background:#fff9e9}
.priorityEmpty{padding:18px;text-align:center;color:var(--muted);background:var(--cream);border-radius:13px}
.moduleIntro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 18px}
.moduleIntro h2{font-size:clamp(30px,4vw,42px);margin:4px 0}.moduleIntro p:not(.eyebrow){margin:0;color:var(--muted);max-width:720px;line-height:1.5}
.modulePreparing{text-align:center;padding:36px!important}.modulePreparing h3{font:600 24px Georgia,serif;margin:0 0 8px}.modulePreparing p{color:var(--muted);line-height:1.55}
.moreGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.moreGrid button{min-height:140px;padding:20px;text-align:left;border:1px solid var(--line)!important;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(83,65,51,.05)}
.moreGrid button span{display:block;font-size:28px;margin-bottom:13px}.moreGrid button b,.moreGrid button small{display:block}.moreGrid button b{font-size:17px;margin-bottom:5px}.moreGrid button small{color:var(--muted)}
.catalogModuleHead{margin-bottom:4px}
.adminBottomNav{display:none}
.adminView{animation:adminViewIn .16s ease}
@keyframes adminViewIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

@media(max-width:800px){
  .adminV1{width:calc(100% - 24px);padding-bottom:98px}
  .adminHeaderActions .headerLogout{display:none!important}
  .adminWorkspaceHead{align-items:flex-start}.adminUserBox{padding-top:8px}
  .adminDesktopNav{display:none}
  .welcomeBlock{align-items:flex-start;flex-direction:column}
  .quickActions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .dashboardGrid{grid-template-columns:1fr 1fr}
  .moreGrid{grid-template-columns:1fr 1fr}
  .adminBottomNav{position:fixed;z-index:100;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(255,253,249,.97);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(83,65,51,.12);backdrop-filter:blur(12px)}
  .adminBottomNav button{display:grid;justify-items:center;gap:3px;padding:6px 2px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700}
  .adminBottomNav button span{font-size:19px;line-height:1}.adminBottomNav button.active{color:#4f765f}
  .priorityItem{align-items:flex-start;flex-direction:column;gap:4px}.priorityItem span{text-align:left}
}
@media(max-width:520px){
  .adminWorkspaceHead{display:block}.adminUserBox{text-align:left;padding:0 0 8px}
  .quickActions{grid-template-columns:1fr}
  .dashboardGrid{grid-template-columns:1fr}
  .dashboardCard{min-height:92px}
  .moreGrid{grid-template-columns:1fr 1fr;gap:9px}
  .moreGrid button{min-height:125px;padding:16px}
  .moduleIntro{align-items:stretch;flex-direction:column}.moduleIntro>button{width:100%}
  .panelHeading{align-items:flex-start}
}


/* =========================================================
   TRABAJOS V1
========================================================= */
.workToolbar{display:grid;grid-template-columns:1fr auto;gap:10px}.workToolbar input{padding:13px 14px;border:1px solid var(--line);border-radius:11px;font:inherit}
.workList{margin-top:14px}.workRow{display:grid;grid-template-columns:150px 1fr 190px;gap:14px;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line)}
.workRowCode,.workRowClient,.workRowDelivery{display:grid;gap:4px}.workRowCode span,.workRowClient small,.workRowDelivery small{font-size:12px;color:var(--muted)}.workRowDelivery{text-align:right}
.workStep{margin-bottom:14px!important}.stepTitle{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.stepTitle>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}.stepTitle h3{font:600 23px Georgia,serif;margin:2px 0 4px}.stepTitle p{margin:0;color:var(--muted);line-height:1.45}
.clientResults{display:grid;gap:7px}.clientResult{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px 14px;border:1px solid var(--line)!important;border-radius:12px;background:#fff;color:var(--ink)}.clientResult span:first-child{display:grid;gap:3px}.clientResult small{color:var(--muted)}.clientCode{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--brown);background:var(--cream);padding:5px 8px;border-radius:999px}
.searchingClient{padding:11px;color:var(--muted)}.selectedClient{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #bdd5c7;border-radius:13px;background:#f2f8f4}.selectedClient>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.selectedClient small{color:var(--muted)}
.newClientBox{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fffaf5}
.workItemEditor{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:11px}.workItemHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.workItemHead .danger{padding:7px 10px!important;font-size:12px}.workItemNumbers{display:grid;grid-template-columns:130px 1fr 160px;gap:10px;align-items:end}.workItemNumbers label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.workItemNumbers input{padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.workItemNumbers>div{display:grid;gap:5px;text-align:right}.workItemNumbers>div span{font-size:12px;color:var(--muted)}.workItemNumbers>div b{font-size:18px}
.workTotal{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.workTotal strong{font-size:23px}.fieldLabel{display:grid;gap:7px;font-weight:700}.checkCard{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.checkCard input{width:auto!important;transform:scale(1.2)}.checkCard span{display:grid;gap:3px}.checkCard small{font-weight:400;color:var(--muted)}
.workSaveBar{position:sticky;bottom:12px;z-index:25;display:grid;grid-template-columns:1fr 180px auto;gap:14px;align-items:center;margin:18px 0 8px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,249,.97);box-shadow:0 14px 40px rgba(83,65,51,.16);backdrop-filter:blur(12px)}.workSaveBar>div{display:grid;gap:3px}.workSaveBar span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.inlineMsg{min-height:20px;font-weight:700;color:#2f6b51}.inlineMsg.error{color:#9a2c2c}
.workSuccess{text-align:center;padding:46px 24px!important}.successMark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 15px;border-radius:50%;background:#e7f2ea;color:#3f7252;font-size:34px;font-weight:700}.workSuccess h2{font-size:42px!important;margin:8px 0!important}.workSuccess .formActions{justify-content:center;margin-top:22px}

@media(max-width:800px){
 .workRow{grid-template-columns:110px 1fr}.workRowDelivery{grid-column:1/-1;text-align:left;padding-left:124px}
 .workItemNumbers{grid-template-columns:1fr 1fr}.workItemNumbers>div{grid-column:1/-1;text-align:left}
 .workSaveBar{bottom:72px;grid-template-columns:1fr 1fr}.workSaveBar button{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
 .workToolbar{grid-template-columns:1fr}.workRow{grid-template-columns:1fr}.workRowDelivery{grid-column:auto;padding-left:0}.workRowDelivery{text-align:left}
 .selectedClient{align-items:flex-start;flex-direction:column}.selectedClient button{width:100%}
 .workItemNumbers{grid-template-columns:1fr}.workItemNumbers>div{grid-column:auto}
 .workSaveBar{grid-template-columns:1fr}.workSaveBar button{grid-column:auto}
}


/* Protección de borradores */
.draftNotice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 16px;padding:13px 15px;border:1px solid #e1c77c;border-radius:14px;background:#fff9e7}
.draftNotice>div{display:grid;gap:3px}.draftNotice span{font-size:13px;color:var(--muted)}
@media(max-width:600px){.draftNotice{align-items:stretch;flex-direction:column}.draftNotice button{width:100%}}


/* =========================================================
   HOJA DE TRABAJO · GESTIÓN
========================================================= */
.workRow{width:100%;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-align:left;cursor:pointer;grid-template-columns:150px 1fr 190px 24px!important}
.workRow:hover{background:#fffaf5!important}.workRowArrow{font-size:28px;color:var(--muted);text-align:right}
.workDetailGrid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.workDetailSide{display:grid;gap:16px}
.detailHeading{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.detailHeading>div{display:grid;gap:5px}.detailLabel{font-size:11px;letter-spacing:.7px;color:var(--muted)}.detailHeading strong{font-size:21px}
.statePill{justify-self:start;padding:6px 10px;border-radius:999px;background:#f1ece6;font-size:13px!important}.statePill[data-state="LISTO"]{background:#e9f3ec}.statePill[data-state="ENTREGADO"]{background:#e8eef5}.paidBalance{color:#3f7252}
.detailSection{padding-top:20px}.detailSection h3{margin:0 0 12px}.detailSectionTitle{display:flex;justify-content:space-between;gap:10px;align-items:center}.detailSectionTitle span{font-size:12px;font-weight:700;color:#a36318}
.detailItems{display:grid;gap:9px}.detailItem{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.4fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.detailItem>div:first-child{display:grid;gap:3px}.detailItem small,.detailItem p,.detailItemMoney span{color:var(--muted);font-size:13px}.detailItem p{margin:0}.detailItemMoney{display:grid;gap:4px;text-align:right}.cancelledItem{opacity:.55;text-decoration:line-through}
.deliveryCard{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffaf5;text-transform:capitalize}.detailNotes{white-space:pre-wrap;line-height:1.55;color:var(--muted)}
.actionStack{display:grid;gap:9px;margin-top:12px}.actionStack button{width:100%}.actionHint{margin:13px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.detailClientCard{display:grid;gap:6px;margin-top:10px}.detailClientCard span{color:var(--muted)}
.compactModal{max-width:480px!important}.stateActions{display:grid;gap:9px;margin-top:16px}.stateActions button{width:100%}
@media(max-width:900px){.workDetailGrid{grid-template-columns:1fr}.workDetailSide{grid-template-columns:1fr 1fr}.workRow{grid-template-columns:110px 1fr 160px 20px!important}}
@media(max-width:650px){.detailHeading{grid-template-columns:1fr 1fr}.detailHeading>div:first-child{grid-column:1/-1}.detailItem{grid-template-columns:1fr}.detailItemMoney{text-align:left}.workDetailSide{grid-template-columns:1fr}.workRow{grid-template-columns:1fr 24px!important}.workRowDelivery{grid-column:1}.workRowArrow{grid-column:2;grid-row:1/4;align-self:center}}

/* Operación de trabajo: pagos y agenda */
.detailPayments{display:grid;gap:8px}.paymentRow{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.paymentRow>div{display:grid;gap:3px}.paymentRow small{color:var(--muted)}
.miniForm{display:grid;gap:12px;margin-top:15px}.miniForm label{display:grid;gap:6px;font-weight:700}.miniForm input,.miniForm select,.miniForm textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.miniForm textarea{min-height:78px;resize:vertical}

/* Trabajo completo */
.detailHistory{display:grid;gap:8px}.historyRow{padding:11px 13px;border-left:3px solid #d9c7b8;background:#fffaf5;border-radius:8px}.historyRow>div{display:flex;justify-content:space-between;gap:10px}.historyRow small{color:var(--muted)}.historyRow p{margin:6px 0 0;color:var(--muted);font-size:13px}
.receiptModalCard{max-width:860px!important}.receiptPreview{background:#fff;color:#2d2925;padding:36px;border:1px solid #ddd}.receiptBrand{text-align:center;border-bottom:2px solid #2d2925;padding-bottom:16px}.receiptBrand h2{margin:0;letter-spacing:2px}.receiptBrand p{margin:4px 0 0}.receiptHead{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0}.receiptHead>div{display:grid;gap:4px}.receiptHead span,.receiptDelivery span{font-size:11px;letter-spacing:.7px;color:#777}.receiptPreview table{width:100%;border-collapse:collapse}.receiptPreview th,.receiptPreview td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.receiptPreview td small{display:block;color:#777;margin-top:3px}.receiptTotals{margin:18px 0 18px auto;max-width:330px}.receiptTotals>div{display:flex;justify-content:space-between;padding:6px 0}.receiptTotals>div:last-child{font-size:18px;border-top:1px solid #aaa}.receiptDelivery,.receiptNotes{padding:13px;background:#faf7f2;margin-top:12px;display:grid;gap:5px}.receiptThanks{text-align:center;margin:28px 0 0;font-style:italic}.receiptActions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
@media print{
 body *{visibility:hidden!important}
 #workReceiptPreview:not(:empty),#workReceiptPreview:not(:empty) *{visibility:visible!important}
 #workReceiptPreview:not(:empty){position:absolute;left:0;top:0;width:100%;border:0;padding:20mm}
}

/* Clientes + Agenda */
.clientsList{margin-top:14px}.clientAdminRow{width:100%;display:grid;grid-template-columns:1.4fr 1fr 24px;gap:14px;align-items:center;padding:13px 5px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-align:left}.clientAdminRow>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.clientAdminRow>div:nth-child(2){justify-content:flex-end}.clientAdminRow small{font-size:11px;color:var(--muted)}.historyWorkLink{width:100%;display:flex;justify-content:space-between;padding:10px 0;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important}
.agendaToolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.segmented{display:flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}.segmented button{border:0!important;border-radius:0!important;background:#fff!important;color:var(--ink)!important;padding:9px 14px!important}.segmented button.active{background:var(--ink)!important;color:#fff!important}.agendaList{margin-top:15px}.agendaRow{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line)}.agendaDate{display:grid;gap:2px}.agendaDate span,.agendaInfo small{color:var(--muted);font-size:12px}.agendaInfo{display:grid;gap:4px;justify-items:start}
@media(max-width:650px){.clientAdminRow{grid-template-columns:1fr 24px}.clientAdminRow>div:nth-child(2){grid-column:1;justify-content:flex-start}.clientAdminRow>.workRowArrow{grid-column:2;grid-row:1/3}.agendaToolbar{align-items:stretch;flex-direction:column}.segmented{width:100%}.segmented button{flex:1}.agendaRow{grid-template-columns:64px 1fr}.agendaRow button{grid-column:1/-1;width:100%}}

/* Presupuestos + Tarifario */
#budgetForm{display:grid;gap:14px}.budgetSummary{display:grid;gap:10px}.budgetSummary>div,.budgetSummary>label{display:flex;justify-content:space-between;align-items:center;gap:14px}.budgetSummary input{max-width:180px}.budgetSummary .grand{font-size:20px;padding-top:12px;border-top:1px solid var(--line)}.formActions{display:flex;justify-content:flex-end;gap:10px}.selectedClient{padding:12px;background:#fff8f2;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between}.rateRow{width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;padding:13px 4px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important}.rateRow>div{display:grid;gap:3px}.rateRow>div:last-child{text-align:right}.rateRow small{color:var(--muted)}.notice{padding:12px;border-radius:10px;background:#fff8f2;border:1px solid var(--line)}
@media(max-width:650px){.formActions{flex-direction:column}.formActions button{width:100%}.rateRow{align-items:start}.budgetSummary>label{align-items:flex-start;flex-direction:column}.budgetSummary input{max-width:none;width:100%}}

/* Cobros + Bordados */
.metricGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.metricCard{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:8px}.metricCard span{font-size:11px;letter-spacing:.6px;color:var(--muted)}.metricCard strong{font-size:24px}.embroideryResult{display:grid;gap:12px}.embroideryResult>div:not(.inlineMsg){display:flex;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.embroideryResult>div strong{font-size:18px}.embroideryResult label{display:grid;gap:6px;font-weight:700}.embroideryResult input{padding:10px;border:1px solid var(--line);border-radius:10px}
@media(max-width:700px){.metricGrid{grid-template-columns:1fr}.metricCard{padding:14px}.metricCard strong{font-size:20px}}

.budgetDocHead{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0}.budgetDocHead>div{display:grid;gap:4px}.budgetDocHead span{font-size:11px;letter-spacing:.7px;color:#777}.budgetDocument .receiptNotes p{line-height:1.55}
\n\n

/* =========================================================
   CARGAS EN PRIMER PLANO - ESTANDAR BELLA DONNA
========================================================= */
.modal{
  position:fixed;inset:0;z-index:1800;display:grid;place-items:center;
  padding:clamp(12px,3vw,28px);background:rgba(42,35,31,.62);
  backdrop-filter:blur(5px);overflow:auto;overscroll-behavior:contain;
}
.modal.hidden{display:none!important}
.modalCard{
  position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);
  overflow:auto;background:var(--paper);border:1px solid var(--line);
  border-radius:20px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.modalClose{
  position:sticky;float:right;top:0;z-index:4;width:40px;height:40px;
  display:grid;place-items:center;border:1px solid var(--line)!important;
  border-radius:50%!important;background:#fff!important;color:var(--ink)!important;
  font-size:24px!important;line-height:1;padding:0!important;
}
.compactModal{width:min(520px,100%)!important}
.receiptModalCard{width:min(920px,100%)!important}

#workFormView:not(.hidden),#budgetEditorView:not(.hidden){
  position:fixed;inset:0;z-index:1700;display:grid;place-items:center;
  padding:clamp(12px,3vw,28px);background:rgba(42,35,31,.62);
  backdrop-filter:blur(5px);overflow:hidden;overscroll-behavior:contain;
}
.floatingWorkspace{
  width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;
  background:var(--paper);border:1px solid var(--line);border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.30);padding:0 20px 20px;
}
.floatingWorkspace>.moduleIntro{
  position:sticky;top:0;z-index:20;margin:0 -20px 16px;padding:18px 20px;
  background:rgba(255,253,249,.98);border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.floatingWorkspace>.draftNotice{margin-top:14px}
.floatingWorkspace .workSaveBar{bottom:0;margin-bottom:0}

/* Nuevo cliente dentro de una carga: también debe tomar el foco. */
#newClientBox:not(.hidden){
  position:fixed;z-index:1901;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;
  padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
}
/* El velo debe pertenecer al mismo contexto de apilamiento que Nuevo trabajo.
   Si se dibuja en body, queda por encima del diálogo anidado. */
#workFormView:has(#newClientBox:not(.hidden))::before{
  content:"";position:fixed;inset:0;z-index:1;
  background:rgba(42,35,31,.62);backdrop-filter:blur(4px);
}
#workFormView:has(#newClientBox:not(.hidden)) #newClientBox{
  z-index:2;
}

.agendaRowOpen{cursor:pointer;border-radius:10px;padding-left:8px;padding-right:8px;transition:background .15s ease,transform .15s ease}
.agendaRowOpen:hover,.agendaRowOpen:focus{background:#fff8f2;outline:2px solid rgba(127,95,73,.18);outline-offset:1px}
.agendaTapHint{font-size:10px!important;letter-spacing:.45px;color:#8a6d59!important;font-weight:800}
.agendaDetailContext{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.agendaDetailContext>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fffaf5}
.agendaDetailContext span{font-size:10px;letter-spacing:.6px;color:var(--muted)}
.agendaDetailActions{flex-wrap:wrap}

@media(max-width:650px){
  .modal{padding:8px}.modalCard{max-height:calc(100vh - 16px);border-radius:16px;padding:18px}
  #workFormView:not(.hidden),#budgetEditorView:not(.hidden){padding:8px}
  .floatingWorkspace{max-height:calc(100vh - 16px);border-radius:16px;padding:0 10px 12px}
  .floatingWorkspace>.moduleIntro{margin:0 -10px 12px;padding:14px 12px}
  .floatingWorkspace>.moduleIntro>button{width:auto}
  .agendaDetailContext{grid-template-columns:1fr}.agendaDetailActions button{width:100%}
}


/* === BELLA DONNA · ESTÁNDAR UNIVERSAL DE CARGA EN PRIMER PLANO === */
.modal:not(.hidden), .universalLoadOverlay:not(.hidden){
  position:fixed!important; inset:0!important; z-index:2000!important;
  display:grid!important; place-items:center!important;
  padding:clamp(10px,3vw,28px)!important;
  background:rgba(42,35,31,.66)!important; backdrop-filter:blur(5px)!important;
  overflow:hidden!important; overscroll-behavior:contain!important;
}
.modalCard,.universalLoadCard{
  width:min(760px,100%)!important; max-height:calc(100vh - 40px)!important;
  overflow:auto!important; overscroll-behavior:contain!important;
  background:var(--paper)!important; border:1px solid var(--line)!important;
  border-radius:22px!important; padding:22px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34)!important;
}
.universalLoadCard{width:min(980px,100%)!important}
.universalLoadCard>.moduleIntro{position:sticky;top:-22px;z-index:10;background:var(--paper);padding-top:20px;border-bottom:1px solid var(--line)}
.headerActionGroup{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#productEditorModal .modalCard{width:min(980px,100%)!important}
#embroideryCalcModal .modalCard{width:min(720px,100%)!important}
body:has(.modal:not(.hidden)),body:has(.universalLoadOverlay:not(.hidden)),body:has(#workFormView:not(.hidden)),body:has(#budgetEditorView:not(.hidden)){overflow:hidden!important}
@media(max-width:650px){
  .modal:not(.hidden),.universalLoadOverlay:not(.hidden){padding:6px!important}
  .modalCard,.universalLoadCard{max-height:calc(100vh - 12px)!important;border-radius:16px!important;padding:16px!important}
  .headerActionGroup{width:100%}.headerActionGroup button{flex:1}
}

/* ACUMULATIVO 02 · foco de carga + navegación persistente */
.fieldHelp{margin:3px 0 0;color:var(--muted);font-size:.88rem;max-width:680px}
.modalCard .formActions,.universalLoadCard .formActions,.floatingWorkspace .formActions{position:sticky;bottom:-22px;z-index:12;background:linear-gradient(180deg,rgba(255,253,249,.78),var(--paper) 24%);padding:14px 0 4px;margin-top:18px}
#newClientAdminModal .modalCard{width:min(620px,100%)}
#newClientAdminModal .miniForm{display:grid;gap:12px}
#budgetItems select[data-bi="origen"],#budgetItems select[data-budget-rate]{width:100%}

/* =========================================================
   CAP. 7 PRESUPUESTOS — AJUSTE 04
========================================================= */
.workspaceClose{position:static!important;float:none!important;flex:0 0 auto}
.officialBudgetPreviewWrap{background:#eee;padding:12px;border:1px solid var(--line);border-radius:12px;overflow:auto}
#budgetPreviewCanvas{display:block;width:min(100%,794px);height:auto;margin:0 auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.budgetInternalNote{margin-top:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:#fffaf5}
.budgetInternalNote small{display:block;color:var(--muted);margin-bottom:6px}
.budgetReferencePrice{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px;font-size:12px;color:var(--muted)}
#budgetNewClientModal{z-index:2000}
@media print{
  #budgetPreviewDocument:not(:empty){padding:0!important;background:#fff!important}
  #budgetPreviewCanvas{width:210mm!important;height:auto!important;box-shadow:none!important}
  @page{size:A4;margin:0}
}


/* === BELLA DONNA · CAP. 7 · FORMULARIO DE PRODUCCIÓN 05 === */
#budgetEditorView .floatingWorkspaceLarge{width:min(1180px,100%)}
#budgetForm.budgetProductionForm{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;padding-bottom:10px}
#budgetForm.budgetProductionForm>.panel{margin:0}
#budgetForm.budgetProductionForm>.panel:nth-of-type(1),
#budgetForm.budgetProductionForm>.panel:nth-of-type(2),
#budgetForm.budgetProductionForm>.panel:nth-of-type(3),
#budgetForm.budgetProductionForm>.panel:nth-of-type(5){grid-column:1}
#budgetForm.budgetProductionForm>.budgetSummary{grid-column:2;grid-row:1 / span 4;position:sticky;top:116px;background:#fffdf9;box-shadow:0 12px 34px rgba(73,55,43,.08)}
#budgetForm.budgetProductionForm>.formActions,
#budgetForm.budgetProductionForm>#budgetMsg{grid-column:1 / -1}
#budgetForm .sectionTitleRow{align-items:flex-start}
#budgetForm .clientPicker{display:grid;gap:10px}
#budgetForm .clientPicker>input[type="search"]{width:100%;min-height:48px}
#budgetForm .selectedClient{align-items:center;gap:16px}
#budgetForm .selectedClient b{font-size:16px}
#budgetForm .panel h3{margin-top:0;margin-bottom:12px}
#budgetForm label{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
#budgetForm label input,#budgetForm label select,#budgetForm label textarea{font-weight:400;letter-spacing:0;color:var(--ink)}
#budgetForm .budgetSummary label{display:grid;grid-template-columns:1fr 130px;align-items:center}
#budgetForm .budgetSummary input{max-width:none}
#budgetForm .budgetSummary>div{min-height:38px}
#budgetForm .budgetSummary .grand{margin-top:4px;padding:16px 0 6px;font-size:22px}
#budgetForm .budgetSummary .grand b{font-size:28px}
#budgetForm>.formActions{position:sticky!important;bottom:-20px!important;margin:0 -20px -20px!important;padding:16px 20px 20px!important;background:linear-gradient(180deg,rgba(255,253,249,.80),#fffdf9 25%)!important;border-top:1px solid var(--line);z-index:25}
#budgetForm>.formActions button{min-height:48px}
@media(max-width:900px){
 #budgetForm.budgetProductionForm{grid-template-columns:1fr}
 #budgetForm.budgetProductionForm>.panel:nth-of-type(n),#budgetForm.budgetProductionForm>.budgetSummary{grid-column:1;grid-row:auto;position:static}
 #budgetForm>.formActions{margin:0 -10px -12px!important;padding:14px 10px 12px!important}
}

/* CANDIDATO 09 · clientes protegidos + comprobante oficial */
.identityNotice{display:grid;gap:4px;padding:12px 14px;border:1px solid #ead7cc;border-radius:12px;background:#fff8f3;color:#5d514b}.identityNotice span{font-size:12px;line-height:1.45;color:#806f66}
.officialWorkReceipt{--wine:#9b173e;--rose:#f7d9dd;--paper:#fffaf6;--ink:#273247;width:210mm;min-height:297mm;margin:auto;background:var(--paper);color:var(--ink);padding:8mm;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;border:1px solid #efb8bd}.receiptLegal .officialWorkReceipt{min-height:356mm}.owrHeader{display:grid;grid-template-columns:1.15fr 1.2fr .75fr;gap:8mm;align-items:center;border:1px solid #e7a8ad;border-radius:8px;padding:6mm}.owrBrand{display:flex;align-items:center;gap:4mm;border-right:1px solid var(--wine);padding-right:5mm}.owrBrand img{width:27mm;height:27mm;object-fit:contain}.owrBrand div{display:grid}.owrBrand strong{font-family:Georgia,serif;font-style:italic;font-size:22px;color:var(--wine)}.owrBrand span{font-size:9px;font-weight:700;color:var(--wine);letter-spacing:.5px}.owrBrand small{font-size:8px;color:#875565}.owrTitle h1{font-family:Georgia,serif;color:#2f1732;font-size:24px;line-height:.95;margin:0 0 4mm}.owrTitle p{font-size:9px;margin:1.5mm 0}.owrCode{display:grid;gap:3mm;align-self:stretch}.owrCode>b,.owrCode>strong{background:#f7dadd;padding:3mm;border-radius:5px;color:var(--wine);text-align:center}.owrCode span{font-size:9px;font-weight:700}.owrTwo{display:grid;grid-template-columns:1fr 1fr;gap:3mm;margin-top:3mm}.owrTwo>section,.owrBlock{border:1px solid #f0c4c7;border-radius:5px;overflow:hidden;background:#fff}.officialWorkReceipt h3{margin:0;padding:2.5mm 4mm;background:linear-gradient(90deg,#f8d9dc,#fae7e5);color:var(--wine);font-family:Georgia,serif;font-size:12px}.officialWorkReceipt dl{display:grid;grid-template-columns:42% 58%;margin:0;padding:3mm 4mm;gap:1.5mm 2mm;font-size:9px}.officialWorkReceipt dt{font-weight:400}.officialWorkReceipt dd{margin:0;font-weight:500}.owrBlock{margin-top:3mm}.officialWorkReceipt table{width:100%;border-collapse:collapse;font-size:8.5px}.officialWorkReceipt th{background:#fae0e1;padding:2.2mm;text-align:left}.officialWorkReceipt td{padding:2.2mm;border-top:1px solid #f1d7d5;vertical-align:top}.officialWorkReceipt td small{display:block;margin-top:1mm}.owrMoney .owrLine,.owrTotal,.owrBalance{display:flex;justify-content:space-between;gap:5mm;padding:2mm 4mm;font-size:9px}.owrTotal{background:#fde1e1;color:var(--wine);font-size:12px;font-weight:700}.owrBalance{align-items:center;padding:5mm 4mm}.owrBalance b{background:#fde1e1;color:var(--wine);padding:2mm 7mm;border-radius:5px;font-size:14px}.owrObservations p{padding:3mm 4mm;margin:0;font-size:9px}.owrTerms ol{margin:0;padding:3mm 8mm 3mm 10mm;font-size:8.5px;line-height:1.35}.owrTerms li{padding-left:1mm;margin:0 0 1.5mm;text-align:justify;text-justify:inter-word}.owrFooter{margin-top:3mm;border-top:1px solid #d77b88;text-align:center;padding:3mm 2mm 1mm;display:grid;gap:1.5mm;color:#6b3544}.owrFooter>strong{font-family:Georgia,serif;font-style:italic;font-size:13px}.owrFooter>em{font-family:Georgia,serif;font-size:8.5px}.owrFooter>div{display:flex;justify-content:center;align-items:center;gap:5mm;font-size:10px;font-weight:700}.owrFooter i{height:6mm;width:1px;background:#b66b79}
@media(max-width:760px){.officialWorkReceipt{width:100%;min-height:0;padding:10px}.owrHeader{grid-template-columns:1fr}.owrBrand{border-right:0;border-bottom:1px solid var(--wine);padding-bottom:8px}.owrTwo{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:0}body:has(#workReceiptPreview:not(:empty)){margin:0!important}.receiptLegal{width:216mm!important}.receiptLegal .officialWorkReceipt{width:216mm;min-height:356mm}.officialWorkReceipt{box-shadow:none!important;border:0!important}.receiptActions,.modalClose{display:none!important}}

/* CANDIDATO 10 — estabilidad, feedback y documentos */
body{overflow-y:auto!important}
body:has(.modal:not(.hidden)),body:has(.universalLoadOverlay:not(.hidden)),body:has(.bdDialogOverlay:not(.hidden)),body:has(.bdBusyOverlay:not(.hidden)){overflow:hidden!important}
/* Los espacios de trabajo largos deben desplazarse con la página; nunca bloquear el body. */
body:has(#workFormView:not(.hidden)),body:has(#budgetEditorView:not(.hidden)){overflow-y:auto!important}
.detailItems article{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:start!important;padding:12px 0!important;border-bottom:1px solid var(--line)!important}
.detailItems article>div{display:grid!important;gap:5px!important;min-width:0!important}.detailItems article b{display:block!important}.detailItems article small{display:block!important;color:var(--muted)!important;line-height:1.35!important}.detailItems article>strong{white-space:nowrap!important;text-align:right!important}
.detailTotal{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;padding:10px 0!important;border-bottom:1px solid var(--line)!important}.detailTotal span,.detailTotal strong{display:block!important}
.notice{display:grid!important;gap:5px!important}.notice small{display:block!important;color:var(--muted)!important}
.bdDialogOverlay,.bdBusyOverlay{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px;background:rgba(61,52,47,.52);backdrop-filter:blur(5px)}
.bdDialogOverlay.hidden,.bdBusyOverlay.hidden{display:none!important}.bdDialogCard{width:min(520px,100%);background:var(--paper);border:1px solid var(--rose2);border-radius:22px;padding:28px;box-shadow:0 28px 80px rgba(55,42,34,.25)}.bdDialogMark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f7e4e5;color:#8e3f50;font-family:Georgia,serif;font-weight:700;margin-bottom:14px}.bdDialogCard h3{font:500 28px Georgia,serif;margin:5px 0 12px}.bdDialogText{white-space:pre-line;line-height:1.55;color:var(--muted)}.bdDialogActions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.bdBusyCard{min-width:280px;background:var(--paper);border:1px solid var(--rose2);border-radius:20px;padding:26px;display:grid;justify-items:center;gap:9px;box-shadow:0 28px 80px rgba(55,42,34,.25)}.bdBusyCard small{color:var(--muted)}.bdSpinner{width:34px;height:34px;border:4px solid #eadbd3;border-top-color:#9b5966;border-radius:50%;animation:bdspin .8s linear infinite}@keyframes bdspin{to{transform:rotate(360deg)}}
.owrFooter{background:linear-gradient(180deg,#fffaf6,#fdf0ef)!important;border:1px solid #efc5c7!important;border-top:2px solid #d77b88!important;border-radius:5px!important;padding:4mm 3mm!important;color:#7b4050!important}
@media print{
  body *{visibility:hidden!important}
  #workReceiptModal,#workReceiptModal *{visibility:visible!important}
  #workReceiptModal{display:block!important;position:absolute!important;inset:0!important;background:#fff!important;padding:0!important;overflow:visible!important}
  #workReceiptModal .modalCard{position:static!important;width:210mm!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  #workReceiptPreview{width:210mm!important;margin:0!important;padding:0!important;overflow:visible!important}
  .officialWorkReceipt{width:210mm!important;min-height:297mm!important;margin:0!important;border:0!important}
  .receiptActions,.modalClose,.bdDialogOverlay,.bdBusyOverlay{display:none!important}
}
.embIcon{display:inline-grid;place-items:center;width:34px;height:34px;font-size:27px;line-height:1;filter:saturate(.9)}
.depositSummary{display:grid;gap:8px;margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf6}.depositSummary>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.depositSummary span{color:var(--muted);font-size:12px}.depositSummary b{text-align:right}.depositSummary .grand{border-top:1px solid var(--line);padding-top:10px;color:#8e3f50}.depositSummary .grand b{font-size:18px}.moreGrid button .embIcon{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif!important;font-size:30px!important;line-height:1!important}

/* CANDIDATO 11 · recepción y cierre documental */
.closedWorkNote{display:grid;gap:3px;padding:12px 14px;margin:0 0 12px;border:1px solid #e6b8c2;border-radius:10px;background:#fff4f6;color:#8f1740}
.closedWorkNote b{font-size:13px}.closedWorkNote span{font-size:12px;color:#6f5360}
.paymentBalancePreview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.paymentBalancePreview>div{display:grid;gap:4px;padding:10px;border:1px solid #efd0d6;border-radius:9px;background:#fff8f8}
.paymentBalancePreview span{font-size:11px;color:#755}.paymentBalancePreview b{font-size:16px;color:#97183f}
.receptionReceipt{min-height:0!important}
.receptionClient p{margin:0;padding:3mm 4mm;font-size:11px}.receptionClient p b{font-family:Georgia,serif;font-size:15px}.receptionClient p span{font-size:9px}
.receptionThree{display:grid;grid-template-columns:.82fr 1.15fr .9fr;gap:3mm;margin-top:3mm}
.receptionThree>section{border:1px solid #f0c4c7;border-radius:5px;overflow:hidden;background:#fff;text-align:left}
.receptionThree>section>strong{display:block;margin:7mm 4mm;padding:3mm;background:#fde1e5;color:#9b173e;border-radius:4px;text-align:center;font-family:Georgia,serif;font-size:16px}
.receptionThree small{display:block;padding:0 4mm 2mm;font-size:8px}
.pickupPanel>strong{font-size:15px!important;margin:4mm!important}
.pickupCodeBox{margin:2mm auto;width:24mm;height:24mm;border:2px solid #9b173e;display:grid;place-items:center;text-align:center;font-weight:800;font-size:9px;line-height:1.2;background:repeating-linear-gradient(45deg,#fff 0 2px,#f4d5db 2px 4px)}
.pickupPanel small{text-align:center;padding:2mm 4mm 4mm!important}
@media(max-width:760px){.receptionThree{grid-template-columns:1fr}.paymentBalancePreview{grid-template-columns:1fr}}
@media print{.receptionReceipt{width:210mm!important;min-height:0!important}.receptionReceipt .owrFooter{break-inside:avoid}.receptionReceipt .owrTerms{break-inside:avoid}}

/* BLOQUE 01 · ajustes acotados al documento y al feedback compartido. */
.bdDialogOverlay{z-index:21000}
#budgetPreviewModal .modalCard{width:min(1040px,calc(100vw - 24px))!important;max-width:1040px!important;overflow-x:hidden!important}
#budgetPreviewDocument{padding:8px!important;overflow-x:hidden!important;width:100%;min-width:0}
#budgetDocumentPages{display:grid;gap:16px;min-width:0}
.b01DocumentPage{display:block;width:100%;height:auto;max-width:794px;margin:auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.12)}
#budgetItems .workItemCard{padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}
@media print{
 body[data-print-document="budget"]{margin:0!important;overflow:visible!important}
 body[data-print-document="budget"]>*{display:none!important}
 body[data-print-document="budget"]>#budgetPreviewModal{display:block!important;visibility:visible!important;position:static!important;padding:0!important;overflow:visible!important;background:white!important}
 body[data-print-document="budget"] #budgetPreviewModal .modalCard{width:210mm!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;padding:0!important}
 body[data-print-document="budget"] #budgetPreviewModal *{visibility:visible!important}
 body[data-print-document="budget"] #budgetDocumentPages{display:block!important}
 body[data-print-document="budget"] .b01DocumentPage{width:210mm!important;max-width:none!important;height:297mm!important;box-shadow:none!important;break-after:page;page-break-after:always}
 body[data-print-document="budget"] .b01DocumentPage:last-child{break-after:auto;page-break-after:auto}
 body[data-print-document="budget"] #budgetPreviewDocument{position:static!important;padding:0!important;width:210mm!important;border:0!important;border-radius:0!important;overflow:visible!important;background:white!important}
 body[data-print-document="budget"] .receiptActions,body[data-print-document="budget"] .modalClose{display:none!important}
 @page{size:A4;margin:0}
}
#budgetPreviewModal .receiptActions{flex-wrap:wrap}
.budgetPaymentRow{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--line)}
.budgetPaymentRow small{color:var(--muted)}
@media(max-width:600px){
 #budgetPreviewModal .receiptActions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 #budgetPreviewModal .receiptActions button{width:100%;min-width:0}
 #budgetPreviewModal #downloadBudgetPdf{grid-column:1/-1}
}

/* B01 cierre: ajustes acotados a Presupuestos; no reorganiza otros módulos. */
#budgetList .workRow,#budgetVersionsList .workRow{grid-template-columns:minmax(0,1fr) minmax(0,9rem)!important;width:100%;min-width:0;gap:12px}
#budgetList .workRow>div,#budgetVersionsList .workRow>b{min-width:0;overflow-wrap:anywhere}
#budgetList .workRow>span,#budgetVersionsList .workRow>span{min-width:0;white-space:normal!important;overflow-wrap:anywhere;text-align:right}
#budgetForm,#budgetForm .panel,#budgetForm .row,#budgetForm label,#budgetForm .workItemCard{min-width:0;max-width:100%;box-sizing:border-box}
#budgetForm .row{grid-template-columns:repeat(2,minmax(0,1fr))}
#budgetForm input,#budgetForm select,#budgetForm textarea{min-width:0;max-width:100%;box-sizing:border-box}
#budgetForm>.formActions{margin-left:0!important;margin-right:0!important;width:100%;box-sizing:border-box}
#budgetPreviewModal .modalCard{width:100%!important;max-width:1040px!important;box-sizing:border-box}
#budgetPreviewModal .receiptActions button{font:inherit;min-height:44px;padding:12px 16px;border:1px solid var(--line);border-radius:11px;cursor:pointer}
#budgetAcceptedEconomy p{overflow-wrap:anywhere}
@media(max-width:700px){#budgetForm .row{grid-template-columns:minmax(0,1fr)}}
@media print{body[data-print-document="budget"] #budgetPreviewModal .modalCard{width:210mm!important;max-width:none!important}}

/* B01 consolidado 2026-10-04 · correcciones verificadas en prueba real */
#budgetList .workRow>div{display:grid;gap:4px}
#budgetList .workRow>div>b,#budgetList .workRow>div>small{display:block;min-width:0}
#budgetDepositModal .save{width:100%;min-height:48px;padding:13px 17px;border:1px solid var(--ink);border-radius:12px;background:var(--ink);color:#fff;font:700 14px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.15px;cursor:pointer}
#budgetDepositModal .save:disabled{opacity:.58;cursor:wait}
#budgetDepositModal .miniForm{display:grid;gap:12px}
#budgetDepositModal .inlineMsg{min-height:18px}

/* Bella Donna · comprobantes oficiales renderizados desde plantilla */
#workReceiptPreview{display:grid;gap:16px;padding:10px;background:#eee;overflow:auto;max-height:calc(100vh - 180px)}
.bdReceiptPage{display:block;width:100%;height:auto;max-width:794px;margin:0 auto;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.14)}
@media(max-width:760px){#workReceiptPreview{padding:4px;max-height:calc(100vh - 150px)}}
@media print{
  #workReceiptPreview{display:block!important;max-height:none!important;overflow:visible!important;padding:0!important;background:#fff!important}
  .bdReceiptPage{display:block!important;width:210mm!important;max-width:none!important;height:297mm!important;margin:0!important;box-shadow:none!important;break-after:page!important;page-break-after:always!important}
  .bdReceiptPage:last-child{break-after:auto!important;page-break-after:auto!important}
}

/* QR V2: un solo scroll del modal; documento íntegro, adaptable sin deformación. */
#workReceiptModal .modalCard{box-sizing:border-box;width:min(860px,100%)!important;overflow-y:auto;overflow-x:hidden}
#workReceiptPreview{min-width:0;max-width:100%;max-height:none!important;overflow:visible!important;box-sizing:border-box}
#workReceiptPreview .bdReceiptPage{max-width:100%;width:100%;height:auto}
#workReceiptModal .receiptActions{flex-wrap:wrap}
#workReceiptModal .receiptActions button{min-height:44px;max-width:100%;white-space:normal}
#bdScanQrModal .modalCard{width:min(520px,100%);box-sizing:border-box;overflow-wrap:anywhere}
#bdScanQrModal video{width:100%;max-height:320px;object-fit:contain}
#bdScanQrModal input{width:100%;min-width:0;box-sizing:border-box}
#bdScanQrModal button{min-height:44px}
@media print{
  body[data-print-document="work"]{margin:0!important;overflow:visible!important}
  body[data-print-document="work"]>*{display:none!important}
  body[data-print-document="work"]>#workReceiptModal{display:block!important;position:static!important;visibility:visible!important}
  body[data-print-document="work"] #workReceiptModal .modalCard{width:210mm!important;overflow:visible!important}
  body[data-print-document="work"] #workReceiptPreview .bdReceiptPage{width:210mm!important;max-width:none!important;height:297mm!important}
}
