:root{--vino:#6e2b38;--vino-oscuro:#4a1c26;--crema:#eadbc6;--crema-clara:#fbf7f1;--rosa:#f8dde6;--azul:#a8c2e0;--salvia:#a7af8b;--salvia-clara:#eef0e6;--texto:#2b2024;--texto-suave:#5e4e53;--blanco:#fff;--error:#9b1c2e;--radio:12px;color:var(--texto);background:var(--crema-clara);font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--crema-clara);margin:0}a{color:var(--vino)}h1,h2,h3{color:var(--vino);margin:0;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.25rem}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.topbar{background:var(--vino);color:var(--crema-clara);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.brand{flex-direction:column;display:flex}.brand strong{letter-spacing:.04em;font-size:1.15rem}.brand span{letter-spacing:.2em;text-transform:uppercase;color:var(--rosa);font-size:.8rem}.nav{gap:4px;max-width:100%;display:flex;overflow-x:auto}.nav a{color:var(--crema-clara);white-space:nowrap;border-radius:999px;align-items:center;min-height:44px;padding:10px 14px;text-decoration:none;display:inline-flex}.nav a.active{background:var(--crema-clara);color:var(--vino);font-weight:700}.nav a:hover:not(.active){background:#ffffff1f}.user{align-items:center;gap:8px;font-size:.85rem;display:flex}.banner{padding:10px 20px;font-size:.95rem}.banner.demo{background:var(--rosa);color:var(--vino-oscuro)}.banner.warn{color:#5a3a00;background:#fce7c8}main.page{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:24px 20px 64px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head p{color:var(--texto-suave);margin:4px 0 0}.card{background:var(--blanco);border:1px solid var(--crema);border-radius:var(--radio);padding:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.kpi .label{letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave);font-size:.8rem}.kpi .value{color:var(--vino);font-size:2.2rem;font-weight:700}.kpi .hint{color:var(--texto-suave);font-size:.9rem}.muted{color:var(--texto-suave)}.small{font-size:.875rem}.btn{border:1px solid var(--vino);background:var(--blanco);min-height:44px;color:var(--vino);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 18px;font-weight:500;display:inline-flex}.btn.primary{background:var(--vino);color:var(--crema-clara);font-weight:700}.btn.small{min-height:36px;padding:0 12px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field label{color:var(--texto-suave);font-size:.85rem;font-weight:500}.field input,.field select,.field textarea{background:var(--blanco);min-height:44px;color:var(--texto);border:1px solid #cdbba5;border-radius:10px;padding:8px 12px}.field textarea{resize:vertical;min-height:80px}.field .err{color:var(--error);font-size:.85rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.form-grid .wide{grid-column:1/-1}.table-wrap{border:1px solid var(--crema);border-radius:var(--radio);background:var(--blanco);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #f1e8dc;padding:10px 12px}th{letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave);background:var(--crema-clara);font-size:.8rem;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover{background:#fdf9f4}td.id{color:var(--vino);white-space:nowrap;font-weight:700}.chip{color:var(--texto);white-space:nowrap;border:1px solid #00000014;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:500;display:inline-block}.fmt{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:2px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.drawer-bg{z-index:20;background:#2b202459;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--crema-clara);flex-direction:column;gap:18px;width:min(720px,100%);height:100%;padding:24px;display:flex;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice{border-radius:10px;padding:12px 14px;font-size:.95rem}.notice.ok{background:var(--salvia-clara);color:#2f3a1b}.notice.error{color:var(--error);background:#fbe3e6}.notice.info{color:#22324a;background:#e8eff8}.notice ul{margin:6px 0 0;padding-left:20px}.login{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login .card{flex-direction:column;gap:14px;width:min(420px,100%);display:flex}.placeholder{border:2px dashed var(--crema);background:0 0}details summary{cursor:pointer;color:var(--vino);font-weight:500}@media (width<=640px){.topbar{padding:12px}main.page{padding:16px 16px 48px}h1{font-size:1.45rem}}
