*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0B0F14;--bg-surface: #131920;--bg-elevated: #1C2531;--bg-card: #1E2A38;--border: #2A3A4C;--border-subtle: rgba(42,58,76,.4);--text-primary: #E8EDF2;--text-secondary: #8A9BB0;--text-muted: #556070;--green: #22C55E;--red: #EF4444;--orange: #F97316;--yellow: #EAB308;--blue: #3B82F6;--hover-row: rgba(255,255,255,.018);--hero-body: #1e293b;--hero-lapel: #334155;--hero-lapel-fill: #263548;--hero-btn: #334155;--hero-badge-bg: #22c55e;--hero-cape: #16a34a;--hero-cape-shadow: #15803d;--hero-cape-edge: #22c55e;--hero-skin: #f59e0b;--hero-ear-inner: #d97706;--hero-hat-brim: #1e293b;--hero-hat-shadow: #0f172a;--hero-hat-crown: #111827;--hero-hat-band: #22c55e;--hero-hat-crease: #1e293b;--hero-lupa-frame: #86efac;--hero-lupa-glass: rgba(134,239,172,.14);--hero-lupa-glow: rgba(74,222,128,.18);--hero-lupa-handle: #4ade80;--hero-pants: #0f172a;--hero-shoe: #0f172a;--hero-pupil: #1e293b;--hero-brow: #92400e;--hero-nose: #d97706;--hero-mouth: #92400e;--hero-mouth-open: #7c2d12}[data-theme=light]{--bg-base: #F2F5F8;--bg-surface: #FFFFFF;--bg-elevated: #E8EDF3;--bg-card: #EAEEF3;--border: #C8D3DE;--border-subtle: rgba(180,200,220,.7);--text-primary: #18232F;--text-secondary: #4A6078;--text-muted: #7A95AE;--hover-row: rgba(0,0,0,.025);--hero-body: #1e3a8a;--hero-lapel: #1e40af;--hero-lapel-fill: #1d4ed8;--hero-btn: #1e40af;--hero-badge-bg: #16a34a;--hero-cape: #15803d;--hero-cape-shadow: #14532d;--hero-cape-edge: #16a34a;--hero-skin: #d97706;--hero-ear-inner: #b45309;--hero-hat-brim: #1e3a8a;--hero-hat-shadow: #1e293b;--hero-hat-crown: #1e293b;--hero-hat-band: #16a34a;--hero-hat-crease: #1e3a8a;--hero-lupa-frame: #15803d;--hero-lupa-glass: rgba(22,163,74,.15);--hero-lupa-glow: rgba(22,163,74,.2);--hero-lupa-handle: #16a34a;--hero-pants: #1e293b;--hero-shoe: #1e293b;--hero-pupil: #1e293b;--hero-brow: #78350f;--hero-nose: #b45309;--hero-mouth: #78350f;--hero-mouth-open: #7c2d12}html{height:100%;background:var(--bg-base);overflow-x:hidden}body{height:100%;background:var(--bg-base);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden;width:100%;max-width:100vw;position:relative}#root{height:100%;display:flex;flex-direction:column;max-width:100vw;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{cursor:pointer;font-family:inherit;font-size:13px}input,select,textarea{font-family:inherit;font-size:13px}.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;border:none;font-weight:500;transition:opacity .15s,transform .1s}.btn:hover{opacity:.82}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-green{background:var(--green);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-ghost{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-sm{padding:4px 10px;font-size:12px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:16px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.05em}.badge-red{background:#ef44442e;color:var(--red)}.badge-orange{background:#f973162e;color:var(--orange)}.badge-yellow{background:#eab3082e;color:var(--yellow)}.badge-green{background:#22c55e2e;color:var(--green)}.badge-gray{background:#8a9bb026;color:var(--text-secondary)}input[type=text],input[type=number],input[type=date],select,textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:7px 10px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--green)}select option{background:var(--bg-elevated)}table{width:100%;border-collapse:collapse;font-size:13px}thead tr{border-bottom:1px solid var(--border)}th{text-align:left;color:var(--text-secondary);font-weight:600;padding:8px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:top}tr:hover td{background:var(--hover-row)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.semaforo-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;margin-top:2px}.dot-red{background:var(--red);box-shadow:0 0 5px var(--red)}.dot-orange{background:var(--orange);box-shadow:0 0 5px var(--orange)}.dot-yellow{background:var(--yellow);box-shadow:0 0 5px var(--yellow)}.dot-green{background:var(--green);box-shadow:0 0 5px var(--green)}.dot-gray{background:var(--text-muted)}.page{padding:22px 24px;max-width:1440px;margin:0 auto;width:100%}.page-title{font-size:19px;font-weight:700;margin-bottom:18px}.empty-state{text-align:center;padding:72px 20px;color:var(--text-muted)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.page{padding:14px 12px}.page-title{font-size:16px;margin-bottom:12px}.card{padding:12px}.modal-overlay{padding:0;align-items:flex-end}.modal{padding:16px;border-radius:12px 12px 0 0;max-height:90vh;max-width:100%}.empty-state{padding:40px 16px}.header-btn-label{display:none}}@media(max-width:480px){.page{padding:10px 8px}.card{padding:10px;border-radius:6px}}@media(max-width:768px){input,select,textarea{font-size:16px!important}}
