:root{--ink:#193a38;--muted:#657a77;--line:#dce5df;--paper:#f4f6f2;--green:#146856;--soft:#e7efe9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--ink)}.mark{background:var(--green);color:#fff;border-radius:9px;padding:3px 11px}.muted,.hint{color:var(--muted)}nav{display:flex;gap:25px;align-items:center}nav form{margin:0}main{max-width:1240px;margin:42px auto;padding:0 26px}h1{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:8px 0 12px}h2{font-size:18px;margin:0 0 18px}h3{font-size:20px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--green)}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading h2{margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metrics .card{display:flex;flex-direction:column;gap:12px}.metrics span{color:var(--muted)}.metrics strong{font-size:32px;font-weight:600}.button,button{border:0;background:var(--green);color:white;padding:12px 19px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;display:inline-block}.button:hover,button:hover{filter:brightness(.95);text-decoration:none}.secondary{color:var(--green);background:var(--soft)}.link{background:transparent;color:var(--muted);padding:0;font-weight:400}.badge{background:var(--soft);color:var(--green);padding:5px 10px;border-radius:20px;font-size:12px;white-space:nowrap}.search{display:flex;gap:10px;margin-bottom:20px}.search input{max-width:450px}input,select,textarea{width:100%;border:1px solid #bdcdc3;background:white;color:var(--ink);border-radius:7px;padding:11px;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #80ac9b;outline-offset:2px}label{font-weight:500;font-size:13px;display:block;margin-bottom:6px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}th,td{padding:16px 12px;border-bottom:1px solid var(--line)}small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.folio{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.empty{text-align:center;padding:44px}.hint{font-size:12px}.notice{padding:14px 18px;background:#fff4d9;border:1px solid #ebd59d;border-radius:9px;margin-bottom:24px;font-size:14px}.line{border:1px solid var(--line);border-radius:10px;padding:20px;margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px}.line p{margin:7px 0}.suggestions{grid-column:1/-1}.concept-results{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.concept-results button{font-size:12px;padding:7px 10px;background:var(--soft);color:var(--green)}input[type=checkbox]{width:auto}.errorlist{color:#a73125;font-size:13px;padding-left:18px}.actions{display:flex;gap:20px;align-items:center;margin:25px 0}.login{max-width:430px;margin:70px auto}.login button{width:100%}dt{font-size:12px;color:var(--muted)}dd{margin:5px 0}.total{text-align:right;font-weight:700;font-size:18px}footer{text-align:center;margin:45px 20px;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.topbar,.page-heading{align-items:flex-start;flex-direction:column}nav{gap:14px;flex-wrap:wrap}.metrics,.grid,.line{grid-template-columns:1fr 1fr}h1{font-size:28px}main{padding:0 16px;margin-top:25px}.card{padding:18px}.grid,.line{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}}

.product-picker{display:block}.product-picker .hint{display:block;margin:6px 0}.sat-results{display:flex;flex-direction:column;gap:5px;max-height:300px;overflow-y:auto}.sat-results button{text-align:left;font-size:13px;padding:9px 12px;background:var(--soft);color:var(--green);font-weight:400}.sat-results button:focus{outline:2px solid var(--green);outline-offset:-2px}.sat-results .sat-more{font-weight:600}

/* Estados: texto visible además del color para identificar cada etapa. */
.status-pending{--status-bg:#fff8e7;--status-accent:#956000;--status-pill:#ffedbd}
.status-prepared{--status-bg:#edf5ff;--status-accent:#245d9d;--status-pill:#dceaff}
.status-sent{--status-bg:#f4efff;--status-accent:#7049a3;--status-pill:#e9ddfc}
.status-received{--status-bg:#eaf8f8;--status-accent:#1b6e76;--status-pill:#d3eeee}
.status-settled{--status-bg:#edf7ec;--status-accent:#386b30;--status-pill:#dcefd6}
.status-cancelled{--status-bg:#fff0ef;--status-accent:#a13b35;--status-pill:#ffe0dc}
.status-deleted{--status-bg:#f0f2f3;--status-accent:#56616a;--status-pill:#e2e6e9}
.request-table .status-row{background:var(--status-bg,#fff)}
.request-table .status-row td:first-child{border-left:4px solid var(--status-accent,#dce5df)}
.request-table .status-row:hover{background:var(--status-pill,#e7efe9)}
.status-row .status-badge{background:var(--status-pill);color:var(--status-accent);font-weight:600}
.status-legend{display:flex;gap:9px 16px;flex-wrap:wrap;margin:0 0 20px}
.status-key{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink)}
.status-key:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--status-accent);flex-shrink:0}
.dashboard-metrics .card{gap:8px;min-width:0;margin-bottom:0}
.dashboard-metrics .metric-link{border-top:4px solid var(--status-accent,var(--green));color:var(--ink);background:var(--status-bg,#fff)}
.metric-link:hover{text-decoration:none;box-shadow:0 4px 14px #193a3814}
.metric-link:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.dashboard-metrics strong{font-size:38px;line-height:1.2;color:var(--status-accent,var(--ink))}
.dashboard-metrics small{margin-top:0}.dashboard-metrics .metric-action{color:var(--status-accent,var(--green));font-size:12px;font-weight:600;margin-top:auto;padding-top:8px}
.dashboard-note{margin:12px 0 26px}.request-filters{align-items:flex-end;flex-wrap:wrap}.request-filters>div:first-child{flex:1;min-width:180px}.request-filters input{max-width:none}.request-filters>div:nth-child(2){min-width:220px}.request-filters>a{padding:12px 0}#bandeja{scroll-margin-top:20px}
@media(max-width:500px){.dashboard-metrics{grid-template-columns:1fr}.request-filters>div{width:100%}.section-heading{flex-wrap:wrap}}

.status-pre_requested{--status-bg:#f4efff;--status-accent:#7049a3;--status-pill:#e9ddfc}
.status-pre_review{--status-bg:#fff8e7;--status-accent:#956000;--status-pill:#ffedbd}
.status-pre_correction{--status-bg:#fff0ef;--status-accent:#a13b35;--status-pill:#ffe0dc}
.status-pre_approved{--status-bg:#eaf8f8;--status-accent:#1b6e76;--status-pill:#d3eeee}
.status-stamping_requested{--status-bg:#edf5ff;--status-accent:#245d9d;--status-pill:#dceaff}
#client-search-box input{margin-bottom:4px}#id_client[size]:not([size="1"]){min-height:140px}#id_client option{padding:7px 9px}

/* Etapas: la prefactura omitida no se representa como aprobada. */
.process-steps{display:flex;gap:4px;padding:0;margin:10px 0 0;list-style:none;min-width:210px}
.process-step{flex:1;text-align:center;border:1px solid #b8c4d0;border-radius:4px;background:#fff;color:#4b5968;font-size:12px;line-height:24px}
.process-done{background:#d7e9e5;border-color:#438775;color:#234e43}
.process-current{background:#174e70;border:2px solid #174e70;color:white;font-weight:700;line-height:22px}
.process-skipped{border-style:dashed;background:#f3f4f6;color:#59636f}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

#pdf-dialog{width:min(1200px,94vw);max-width:94vw;height:92vh;max-height:92vh;border:1px solid #b8c4d0;border-radius:12px;padding:18px;box-sizing:border-box}
#pdf-dialog[open]{display:flex;flex-direction:column;gap:10px}
#pdf-dialog::backdrop{background:rgba(15,30,40,.65)}
.pdf-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pdf-toolbar h2{margin:0;flex:1}
#pdf-frame{width:100%;flex:1;min-height:200px;border:1px solid #ccd5dc;background:#f3f4f6}
.pdf-frame{width:100%;height:78vh;border:1px solid #ccd5dc;background:#f3f4f6}
.pdf-preview{display:inline-block;font-weight:600}
