@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Roboto:wght@300;400;500;700;900&display=swap";:root{--font-heading:"Montserrat", sans-serif;--font-body:"Montserrat", sans-serif;--bg-dark:#f8fafc;--bg-darker:#f1f5f9;--bg-card:#fffffff5;--bg-card-hover:#fff;--border-glass:#164a2914;--border-glass-focus:#164a294d;--primary:#164a29;--primary-glow:#164a2926;--secondary:#6c757d;--accent:#c00;--text-main:#333;--text-muted:#666;--success:#10b981;--warning:#f59e0b;--danger:#ed1c24;--info:#0d6efd;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 10% 20%,#164a2912 0,#0000 45%),radial-gradient(at 90% 80%,#d4af370a 0,#0000 40%),radial-gradient(at 50% 15%,#cc000008 0,#0000 35%),radial-gradient(at 80% 20%,#164a290a 0,#0000 50%),radial-gradient(at 20% 80%,#6c757d05 0,#0000 50%);background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#164a2904 1px,#0000 1px),linear-gradient(90deg,#164a2904 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.btn-circular-container{text-align:center;flex-direction:column;align-items:center;gap:8px;text-decoration:none;display:flex}.btn-circular{width:60px;height:60px;color:var(--primary);cursor:pointer;transition:var(--transition-smooth);background:#fff;border:1px solid #164a291f;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #0000000a}.btn-circular:hover{border-color:var(--primary);background:var(--bg-dark);transform:translateY(-4px)scale(1.04);box-shadow:0 8px 20px #164a291f}.btn-circular-label{font-family:var(--font-heading);color:#333;font-size:.75rem;font-weight:750;line-height:1.25}.news-card{transition:var(--transition-smooth);cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 2px 10px #0f172a0a}.news-card:hover{border-color:#005b3a47;box-shadow:0 8px 18px #164a2914}.news-card-header{color:#fff;justify-content:center;align-items:center;height:76px;display:flex;position:relative}.news-card-body{text-align:left;flex-direction:column;flex-grow:1;padding:14px;display:flex}.webcam-oval-mask{border:2.5px dashed var(--success);pointer-events:none;border-radius:50%}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:#111;letter-spacing:-.02em;font-weight:700}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-glass);transition:var(--transition-smooth);border-radius:16px;box-shadow:0 8px 24px #0000000d}.glass-panel-hover:hover{background:var(--bg-card-hover);border-color:#005b3a26;transform:translateY(-2px);box-shadow:0 12px 32px #00000014}.glow-text{text-shadow:0 0 8px var(--primary-glow)}.form-input{color:#222;font-family:var(--font-body);transition:var(--transition-smooth);background:#fff;border:1px solid #0000001f;border-radius:8px;width:100%;padding:12px 16px;font-size:.95rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#fff;outline:none}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #00452c 100%);color:#fff;cursor:pointer;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;transition:var(--transition-smooth);box-shadow:0 4px 12px 0 var(--primary-glow);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #005b3a59}.btn-primary:active{transform:translateY(1px)}.btn-secondary{color:#333;cursor:pointer;font-family:var(--font-heading);transition:var(--transition-smooth);background:#fff;border:1px solid #0000001a;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;display:inline-flex}.btn-secondary:hover{color:var(--primary);background:#f8f9fa;border-color:#005b3a33;transform:translateY(-1px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-recibida{color:#0ea5e9;background:#0ea5e91a;border:1px solid #0ea5e940}.badge-en_proceso{color:#d97706;background:#f59e0b1a;border:1px solid #f59e0b40}.badge-derivada{color:#7c3aed;background:#8b5cf61a;border:1px solid #8b5cf640}.badge-atendida{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e40}.badge-cerrada{color:#dc2626;background:#ef44441a;border:1px solid #ef444440}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}@keyframes pulseGlow{0%{border-color:#10b981;box-shadow:0 0 #10b98166}70%{border-color:#34d399;box-shadow:0 0 0 10px #10b98100}to{border-color:#10b981;box-shadow:0 0 #10b98100}}.webcam-oval-mask{border:2.5px dashed var(--success);pointer-events:none;border-radius:50%;animation:2s infinite pulseGlow}.inst-navbar{z-index:10;background-color:#fff;border-bottom:3.5px solid #d4af37;justify-content:space-between;align-items:center;height:80px;padding:.85rem 4rem;display:flex;position:relative;box-shadow:0 4px 20px #0000000f}.inst-navbar-fixed{top:0;left:0;right:0;z-index:50!important;position:fixed!important}.inst-navbar-left{align-items:center;gap:1.25rem;display:flex}.inst-navbar-right{align-items:center;gap:1rem;display:flex}.inst-logo-pnp{object-fit:contain;width:52px;height:52px}.inst-logo-mininter{object-fit:contain;height:52px}.inst-navbar-title{font-family:var(--font-heading);color:#003422;letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.inst-layout-compensation{padding-top:80px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:4s ease-in-out infinite float}
