:root{--ink:#15353a;--teal:#0d7770;--orange:#df8d1b;--paper:#f7f3e9;--line:#d8d6cc;--white:#fffefa;--red:#a33b31;--green:#207253;--blue:#255d8f}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.45 Georgia,serif;background:linear-gradient(120deg,#f8f5ec,#e7eee8)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}aside{position:sticky;top:0;height:100vh;padding:28px 22px;background:#10363b;color:white;display:flex;flex-direction:column}.brand{color:white;text-decoration:none;font-size:24px;display:flex;gap:10px;align-items:center}.brand b{background:var(--orange);padding:8px;border-radius:10px}.brand span{letter-spacing:.1em}nav{display:grid;gap:5px;margin-top:42px}nav a{color:#e8f3ef;text-decoration:none;padding:10px 12px;border-radius:8px}nav a:hover{background:#1a4a50}.account{margin-top:auto;display:grid;gap:3px;border-top:1px solid #527177;padding-top:18px}.account small{color:#b9d2ce}.link{border:0;background:transparent;color:white;padding:8px 0;text-align:left;cursor:pointer}main{padding:34px 5vw 70px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:28px}header span,.eyebrow{text-transform:uppercase;letter-spacing:.16em;font:700 11px Arial,sans-serif;color:var(--teal)}h1,h2,h3{margin:.2em 0}h1{font-size:38px}h2{font-size:25px}h3{font-size:19px}mark{background:#fff0ca;color:#82570b;padding:8px 12px;border-radius:20px}.panel{background:var(--white);border:1px solid #e3e0d6;border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 10px 30px #1a393315}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.metric{border-top:4px solid var(--teal)}.metric strong{font-size:34px;display:block}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.button,button.primary{display:inline-block;border:0;border-radius:8px;background:var(--orange);color:#182b2f;padding:11px 17px;text-decoration:none;cursor:pointer}.button.secondary,button.secondary{background:#dce8e5}.button.danger,button.danger{background:#f0d2cd;color:#7c2920}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:5px;font:700 13px Arial,sans-serif}input,select,textarea{width:100%;padding:10px;border:1px solid #aebfbc;border-radius:7px;background:white}textarea{min-height:90px;resize:vertical}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}th{font:700 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#5a7074}.badge{display:inline-block;border-radius:16px;padding:5px 9px;background:#e4e8e4}.badge-aprobada,.badge-aprobado,.badge-recibida,.badge-ejecutada{background:#d6eee1;color:#176543}.badge-cuarentena,.badge-pendiente-aprobacion,.badge-recepcion-parcial{background:#fff0ca;color:#82570b}.badge-anulada,.badge-rechazado,.badge-desaprobada,.badge-baja{background:#f6d9d5;color:#87372e}.badge-borrador{background:#e3e0f0;color:#4d4670}.notice{position:fixed;right:24px;top:20px;z-index:3;padding:12px 16px;border-radius:8px;background:white;box-shadow:0 8px 28px #0002;max-width:min(520px,90vw)}.notice.error{color:var(--red);background:#fce6e2}.notice.success{color:var(--green);background:#e0f3e8}.auth{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(820px,94vw);background:var(--white);border-top:6px solid var(--orange);border-radius:16px;padding:38px;box-shadow:0 22px 60px #1233}.auth-card form{display:grid;gap:14px}.warning{border-left:4px solid var(--orange);padding:10px 14px;background:#fff6dc}.empty{text-align:center;color:#64767a;padding:30px}.muted{color:#64767a}.line-items{display:grid;gap:14px}.line-item{border:1px solid var(--line);border-radius:10px;padding:15px;background:#fbfaf5}.line-item-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}.inline{display:flex;gap:8px;align-items:center}.inline form{margin:0}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:8px}.detail-list dt{font-weight:bold}.detail-list dd{margin:0}@media(max-width:850px){.shell{grid-template-columns:1fr}aside{position:static;height:auto}.account{margin-top:24px}main{padding:24px}.form-grid,.line-item-grid{grid-template-columns:1fr}h1{font-size:30px}.detail-list{grid-template-columns:1fr}.detail-list dd{margin-bottom:10px}}
