*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@media print{body *{display:none!important;visibility:hidden!important}body:after{display:block!important;visibility:visible!important;content:"Este contenido está protegido. La impresión no está permitida.";font-size:1.2rem;text-align:center;margin-top:4rem;color:#555}}:root{--blue: #1F5ACB;--blue-hover: #1648a8;--blue-deep: #0e2358;--blue-mid: #3472dc;--blue-light: #dce8f8;--blue-xlight: #eef4fd;--navy-dark: #0d1b35;--navy-deeper: #081223;--bg: #eef3fc;--bg-card: #ffffff;--bg-subtle: #f5f8fe;--text: #0d1b35;--text-muted: #4a6b9a;--text-light: #7a95bb;--border: #c5d4ec;--border-focus: #1F5ACB;--green: #16a34a;--green-bg: #dcfce7;--green-border: #bbf7d0;--amber: #d97706;--amber-bg: #fef9c3;--amber-border: #fde68a;--red: #dc2626;--red-bg: #fee2e2;--red-border: #fca5a5;--shadow: 0 1px 3px rgba(31,90,203,.08), 0 4px 12px rgba(31,90,203,.06);--shadow-hover: 0 4px 16px rgba(31,90,203,.16), 0 8px 24px rgba(31,90,203,.1);--shadow-sm: 0 1px 4px rgba(31,90,203,.1);--radius: 10px;--radius-sm: 6px;--max-w: 1200px;--header-h: 64px;--font-body: "Roboto", system-ui, sans-serif;--font-heading: "Rubik", "Roboto", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.header{position:sticky;top:0;z-index:100;background:var(--blue);height:var(--header-h);display:flex;align-items:center;box-shadow:0 2px 12px #0e235859}.header__inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;width:100%;display:flex;align-items:center;gap:2rem}.header__logo{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:#fff;white-space:nowrap;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.header__logo span{opacity:.65;font-size:.88rem;font-weight:400;letter-spacing:0}.header__nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.header__nav a{color:#fffc;padding:.4rem .9rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;transition:background .15s,color .15s;font-family:var(--font-heading)}.header__nav a:hover,.header__nav a.active{background:#ffffff26;color:#fff}.footer{background:var(--navy-dark);color:#ffffff8c;text-align:center;padding:2rem 1rem;font-size:.85rem;margin-top:4rem;font-family:var(--font-body)}.footer strong{color:#ffffffd9;font-family:var(--font-heading)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.2rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;border:none;font-family:var(--font-heading);transition:background .15s,transform .1s,box-shadow .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-hover);box-shadow:0 2px 8px #1f5acb4d}.btn-outline{background:transparent;color:var(--blue);border:1.5px solid var(--blue);padding:.5rem 1.1rem}.btn-outline:hover{background:var(--blue);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--blue-xlight);color:var(--blue);border-color:var(--blue-light)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:#15803d}.btn-sm{padding:.35rem .75rem;font-size:.82rem}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.badge{display:inline-block;padding:.2rem .65rem;border-radius:99px;font-size:.75rem;font-weight:600;background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border);font-family:var(--font-heading)}.badge-navy{background:var(--blue);color:#fff;border-color:var(--blue)}.badge-accent{background:var(--blue-deep);color:#fff;border-color:var(--blue-deep)}.badge-green{background:var(--green-bg);color:#15803d;border-color:var(--green-border)}.badge-amber{background:var(--amber-bg);color:#92400e;border-color:var(--amber-border)}.badge-red{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text);font-family:var(--font-heading)}.form-input{padding:.6rem .85rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-card);font-size:.95rem;color:var(--text);transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1f5acb24}.form-input::placeholder{color:var(--text-light)}textarea.form-input{resize:vertical;min-height:90px}.page{min-height:calc(100vh - var(--header-h))}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.section{padding:3rem 0}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;color:var(--text-muted)}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;border-left:4px solid}.alert-error{background:var(--red-bg);border-color:var(--red);color:#991b1b}.alert-success{background:var(--green-bg);border-color:var(--green);color:#15803d}.alert-info{background:var(--blue-xlight);border-color:var(--blue);color:var(--blue-deep)}.grid-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state__icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.1rem;color:var(--text);margin-bottom:.5rem;font-family:var(--font-heading)}@media (max-width: 640px){.header__logo span{display:none}.header__nav a{padding:.35rem .55rem;font-size:.82rem}.container{padding:0 1rem}.section{padding:2rem 0}.grid-docs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}}
