*{box-sizing:border-box;margin:0;padding:0}
    body{font-family:'Segoe UI',Arial,sans-serif;color:#1a1a1a;background:#e8ecf4;min-height:100vh}
    input,select,button{font-family:inherit}
    .card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:1.25rem;box-shadow:0 1px 6px #0001}
    .inp{display:block;width:100%;margin-bottom:10px;padding:9px 11px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:#1a1a1a;font-size:13px}
    .inp:focus{outline:2px solid #0a1f5c;border-color:#0a1f5c}
    .btn{padding:9px 18px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#1a1a1a;cursor:pointer;font-size:13px;transition:all .15s}
    .btn:hover{opacity:.88}
    .btn-main{background:#0a1f5c;color:#fff;border-color:#0a1f5c}
    .btn-danger{color:#dc2626;border-color:#fca5a5;background:transparent}
    .btn-warn{background:#d97706;color:#fff;border-color:#d97706}
    .btn-green{background:#059669;color:#fff;border-color:#059669}
    .btn-sm{padding:4px 10px;font-size:11px}
    .badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:500}
    .badge-busy{background:#fee2e2;color:#991b1b}
    .badge-mod{background:#eff6ff;color:#1e40af}
    .badge-admin{background:#fef3c7;color:#7c3b0a;border:1px solid #c8a52e}
    .badge-especial{background:#f0fdf4;color:#166534;border:1px solid #86efac}
    .badge-warn{background:#fff7ed;color:#c2410c;border:1px solid #fdba74}
    .label{font-size:12px;color:#6b7280;margin-bottom:4px;display:block}
    .section-title{font-size:15px;font-weight:600;margin-bottom:1rem;color:#111}
    .alert{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}
    .alert-err{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
    .alert-ok{background:#dcfce7;color:#166534;border:1px solid #86efac}
    .alert-warn{background:#fff7ed;color:#c2410c;border:1px solid #fdba74}
    .tab-btn{padding:8px 16px;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;font-size:13px;color:#6b7280;transition:all .15s}
    .tab-btn.active{color:#0a1f5c;border-bottom-color:#0a1f5c;font-weight:600}
    table{width:100%;border-collapse:collapse;font-size:13px}
    th{padding:9px 12px;text-align:left;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb}
    td{padding:9px 12px;border-top:1px solid #f3f4f6}
    tr:hover td{background:#fafafa}
    .modal-bg{position:fixed;inset:0;background:#0007;z-index:1000;display:flex;align-items:center;justify-content:center}
    .modal{background:#fff;border-radius:14px;padding:1.5rem;width:380px;max-width:95vw;border:1px solid #e5e7eb;box-shadow:0 8px 32px #0003}
    .asig-toggle{display:flex;gap:6px;margin-bottom:8px}
    .asig-toggle button{padding:5px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:12px;cursor:pointer;background:#f9fafb;color:#374151;transition:all .15s}
    .asig-toggle button.active{background:#0a1f5c;color:#fff;border-color:#0a1f5c}
    .header{background:#0a1f5c;color:#fff;padding:0 24px;height:58px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 10px #0003}
    .header-title{font-size:18px;font-weight:600;letter-spacing:-.3px}
    .header-sub{font-size:12px;color:#94a3b8}
    @media(max-width:700px){
      .grid-2{grid-template-columns:1fr!important}
      .grid-reg{grid-template-columns:1fr!important}
    }
    @media print{.no-print{display:none!important}}
