@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Sora:wght@600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Sora:wght@600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--nav-bg: linear-gradient(120deg, #071d3a 0%, #103863 64%, #1a4e83 100%);--nav-line: rgba(255, 255, 255, .14);--nav-ink: #f4f8ff;--nav-muted: rgba(244, 248, 255, .8);--nav-accent: #ff8c42;--nav-accent-ink: #11223d}.navbar{position:sticky;top:0;z-index:220;border-bottom:1px solid var(--nav-line);background:var(--nav-bg);box-shadow:0 10px 30px #06132859;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navbar-container{max-width:1180px;margin:0 auto;padding:.72rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:Manrope,Segoe UI,sans-serif}.navbar-brand{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;color:var(--nav-ink);min-width:0}.brand-mark{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.24);background:#ffffff1f;font-weight:800;letter-spacing:.02em}.brand-name-wrap{display:flex;flex-direction:column;min-width:0}.brand-name{font-family:Sora,Manrope,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.1;white-space:nowrap}.brand-subtitle{margin-top:.1rem;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#f4f8ffbf}.navbar-links{display:flex;align-items:center;gap:.45rem}.nav-link{text-decoration:none;color:var(--nav-muted);font-size:.9rem;font-weight:700;border-radius:999px;padding:.5rem .92rem;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-link:hover{color:#fff;background:#ffffff1f}.nav-link.active{color:#fff;background:#ffffff26}.nav-link-cta{background:var(--nav-accent);color:var(--nav-accent-ink)}.nav-link-cta:hover,.nav-link-cta.active{color:var(--nav-accent-ink);background:#f27f31;transform:translateY(-1px)}.navbar-menu-toggle{display:none;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff14;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}.navbar-menu-toggle span{width:17px;height:2px;border-radius:99px;background:#fff;display:block}@media (max-width: 760px){.navbar-menu-toggle{display:inline-flex}.brand-subtitle{display:none}.navbar-links{position:absolute;left:1rem;right:1rem;top:calc(100% + .55rem);border:1px solid rgba(255,255,255,.18);border-radius:14px;background:linear-gradient(130deg,#071d3af2,#143962f2);box-shadow:0 18px 28px #07182f57;padding:.55rem;display:none;flex-direction:column;align-items:stretch;gap:.35rem}.navbar-links.is-open{display:flex}.nav-link{padding:.64rem .84rem;border-radius:.72rem}}:root{--landing-bg: #061731;--landing-bg-soft: #0e2d56;--landing-surface: #ffffff;--landing-text: #10213b;--landing-muted: #5c6f8d;--landing-hero-text: #f8fbff;--landing-accent: #ff8c42;--landing-accent-dark: #e6782d;--landing-line: #dfe8f3}.landing-page{min-height:100vh;width:100%;overflow-x:hidden;background:linear-gradient(180deg,#f4f8ff,#eef5ff 55%,#fff);color:var(--landing-text);font-family:Manrope,Segoe UI,sans-serif}.hero-section{position:relative;padding:clamp(5rem,7vw,7rem) 1.5rem clamp(4rem,6vw,6rem);background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.14) 0%,transparent 38%),radial-gradient(circle at 90% 75%,rgba(255,140,66,.16) 0%,transparent 32%),linear-gradient(120deg,var(--landing-bg) 0%,var(--landing-bg-soft) 65%,#1c4f87 100%);color:var(--landing-hero-text);overflow:hidden}.hero-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,3vw,3rem);align-items:center;position:relative;z-index:2}.hero-orb{position:absolute;border-radius:999px;filter:blur(2px);opacity:.38;animation:float-orb 16s ease-in-out infinite}.hero-orb-left{width:230px;height:230px;left:-70px;top:140px;background:radial-gradient(circle,#ffffff42,#fff0 70%)}.hero-orb-right{width:300px;height:300px;right:-90px;bottom:-50px;background:radial-gradient(circle,#ff9c5438,#ff9c5400 72%);animation-delay:5s}.hero-content{animation:rise-up .8s ease-out both}.hero-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;padding:.45rem .9rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:1.15rem}.hero-title{margin:0;line-height:1.08;font-size:clamp(2.05rem,5vw,4rem);font-family:Sora,Manrope,sans-serif;letter-spacing:-.03em}.landing-page .highlight{color:var(--landing-accent)}.hero-subtitle{margin-top:1rem;max-width:60ch;color:#f8fbffe6;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.72}.hero-buttons{margin-top:1.7rem;display:flex;flex-wrap:wrap;gap:.85rem}.landing-page .btn{border:0;border-radius:.85rem;padding:.78rem 1.25rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.landing-page .btn:hover{transform:translateY(-2px)}.landing-page .btn-primary{background:var(--landing-accent);color:#111a2b;box-shadow:0 14px 30px #ff8c4259}.landing-page .btn-primary:hover{background:var(--landing-accent-dark)}.landing-page .btn-secondary{background:#ffffffeb;color:#122742;box-shadow:0 12px 26px #03112433}.status-cta{margin-top:1rem;padding:0;border:0;background:transparent;color:#f8fbffdb;font-weight:600;cursor:pointer;transition:color .2s ease}.status-cta:hover{color:#fff}.landing-page .hero-stats{margin-top:1.6rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.landing-page .stat-item{border:1px solid rgba(255,255,255,.24);background:linear-gradient(140deg,#ffffff29,#ffffff14);box-shadow:inset 0 1px #ffffff24,0 12px 24px #04102338;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:.9rem;padding:.95rem .75rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.landing-page .stat-item:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff29,0 16px 28px #0410234d}.landing-page .stat-number{font-size:2rem;line-height:1;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.28)}.landing-page .stat-label{margin-top:.45rem;font-size:.92rem;font-weight:600;letter-spacing:.01em;color:#f8fbffe6}.hero-panel{border-radius:1.15rem;border:1px solid rgba(255,255,255,.2);background:#05162b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 44px #040e1e66;padding:1.1rem;animation:rise-up .8s ease-out .1s both}.panel-head{display:flex;align-items:center;gap:.5rem;font-size:.84rem;font-weight:700;letter-spacing:.03em;color:#f8fbfff0;margin-bottom:.95rem}.panel-dot{width:.55rem;height:.55rem;border-radius:999px;background:#8ef29f;box-shadow:0 0 0 7px #8ef29f1f}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-radius:.75rem;padding:.65rem .75rem;background:#ffffff0f;margin-bottom:.55rem}.panel-pill{font-size:.76rem;font-weight:700;border-radius:999px;padding:.25rem .58rem}.panel-pill-success{color:#ccf8d3;background:#58c66c3b}.panel-pill-warning{color:#ffe8bc;background:#ffb65333}.panel-pill-info{color:#d7ecff;background:#4790dd3d}.panel-time{font-size:.75rem;color:#f8fbffb3}.panel-summary{margin-top:.95rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.panel-summary div{border-radius:.65rem;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;padding:.7rem}.panel-summary strong{display:block;font-size:1.12rem;color:#fff}.panel-summary span{font-size:.78rem;color:#f8fbffc2}.features-section,.workflow-section{padding:clamp(3.2rem,7vw,6rem) 1.5rem}.features-container,.workflow-container{max-width:1180px;margin:0 auto}.landing-page .section-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;max-width:760px;margin:0 auto 2rem}.landing-page .section-badge{display:inline-block;border-radius:999px;padding:.35rem .8rem;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1c3b65;background:#dce9ff}.landing-page .features-title{margin:.9rem 0 0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.55rem,3.4vw,2.5rem);color:#112643;line-height:1.2;letter-spacing:-.02em}.landing-page .features-subtitle{margin-top:.8rem;color:var(--landing-muted);font-size:1rem;max-width:62ch;line-height:1.55}.features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.feature-card{border-radius:1rem;border:1px solid var(--landing-line);background:var(--landing-surface);box-shadow:0 14px 30px #07162c14;padding:1.15rem;animation:rise-up .7s ease both;transition:transform .22s ease,box-shadow .22s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #07162c24}.feature-card:nth-child(2){animation-delay:.06s}.feature-card:nth-child(3){animation-delay:.12s}.feature-card:nth-child(4){animation-delay:.18s}.feature-tag{display:inline-block;border-radius:999px;background:#f0f5ff;color:#1f4a80;font-size:.74rem;font-weight:700;padding:.24rem .56rem}.feature-card-title{margin-top:.8rem;margin-bottom:0;font-size:1.08rem}.feature-card-description{margin-top:.5rem;margin-bottom:0;color:var(--landing-muted);font-size:.94rem;line-height:1.58}.workflow-section{background:#0b2240}.landing-page .section-header-dark .features-title,.landing-page .section-header-dark .features-subtitle{color:#eef6ff}.landing-page .section-header-dark .section-badge{background:#ffffff24;color:#f2f7ff}.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.workflow-card{border-radius:1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f3f8ff;padding:1.1rem;animation:rise-up .75s ease both}.workflow-card:nth-child(2){animation-delay:.08s}.workflow-card:nth-child(3){animation-delay:.16s}.workflow-label{color:#9fc2ef;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.workflow-card h3{margin:.65rem 0 0;font-size:1.08rem}.workflow-card p{margin:.55rem 0 0;color:#f3f8ffcc;line-height:1.6}@keyframes rise-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float-orb{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-20px,0)}}@media (max-width: 1024px){.hero-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid{grid-template-columns:1fr}}@media (max-width: 640px){.hero-section,.features-section,.workflow-section{padding-left:1rem;padding-right:1rem}.hero-buttons,.hero-buttons .btn{width:100%}.hero-stats,.features-grid{grid-template-columns:1fr}}.login-page{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:radial-gradient(circle at 0% 0%,rgba(24,88,155,.14),transparent 32%),radial-gradient(circle at 100% 100%,rgba(255,140,66,.16),transparent 34%),linear-gradient(180deg,#eff6ff,#f8fbff);font-family:Manrope,Segoe UI,sans-serif}.login-container{flex:1;min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:460px;border-radius:1.1rem;background:#fffffff0;border:1px solid #d8e5f7;box-shadow:0 18px 38px #0d295224;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:clamp(1.35rem,3vw,2rem)}.login-header{text-align:center;margin-bottom:1.4rem}.login-title{margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.35rem,3.2vw,2rem);color:#102947;letter-spacing:-.02em}.login-subtitle{margin-top:.55rem;margin-bottom:0;color:#5f7596;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:1rem}.login-page .form-group{display:flex;flex-direction:column;gap:.42rem}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:2.9rem}.password-toggle-btn{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);border:0;background:transparent;width:2.2rem;height:2.2rem;border-radius:.55rem;color:#406186;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;transition:background .2s ease,color .2s ease}.password-toggle-btn:hover{background:#e9f2ff;color:#234a79}.password-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3a7adf33}.login-page .form-label{color:#24466f;font-size:.9rem;font-weight:700;letter-spacing:.01em}.login-page .form-input,.login-page .form-select{width:100%;padding:.8rem .9rem;border:1px solid #cfdced;border-radius:.74rem;background:#f7fbff;color:#112543;font-size:.92rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-page .form-input::placeholder{color:#7b8faa}.login-page .form-input:focus,.login-page .form-select:focus{outline:none;border-color:#3a7adf;background:#fff;box-shadow:0 0 0 3px #3a7adf29}.login-page .form-input:disabled,.login-page .form-select:disabled{opacity:.68;cursor:not-allowed}.password-input-wrapper .form-input:disabled+.password-toggle-btn{opacity:.6;cursor:not-allowed}.user-type-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.28rem;border-radius:.8rem;background:#edf3fb;border:1px solid #d6e2f2}.user-type-btn{border:0;border-radius:.62rem;background:transparent;color:#4d6382;font-size:.9rem;font-weight:700;padding:.58rem .65rem;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.user-type-btn.active{background:linear-gradient(135deg,#1f73e6,#3f8cf2);color:#fff;box-shadow:0 10px 18px #1d6cd83d}.user-type-btn:hover:not(:disabled){transform:translateY(-1px)}.user-type-btn:disabled{opacity:.6;cursor:not-allowed}.login-button{width:100%;border:0;border-radius:.76rem;padding:.88rem 1rem;margin-top:.2rem;background:linear-gradient(130deg,#0f315a,#1d528b);color:#fff;font-size:.95rem;font-weight:800;cursor:pointer;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 14px 26px #0d315d47}.login-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-error{display:flex;gap:.55rem;align-items:center;margin-bottom:1rem;border-radius:.72rem;border:1px solid #f4b6ba;background:#fff1f2;color:#9f2630;padding:.72rem .82rem;font-size:.86rem}.error-icon{flex-shrink:0}.login-footer{margin-top:1.2rem;border-top:1px solid #deebfb;padding-top:.95rem;text-align:center}.register-text{margin:0;color:#5f7596;font-size:.9rem}.register-link{border:0;background:transparent;color:#1f63c4;font-size:.9rem;font-weight:800;cursor:pointer}.register-link:hover{text-decoration:underline}@media (max-width: 640px){.login-container{padding:1rem}.login-card{border-radius:1rem;padding:1.15rem}}.dashboard-page{min-height:100vh;background:#f5f7fa;color:#122133;padding-top:0}.main-content{flex:1;padding:clamp(.5rem,2vw,1.5rem)}@media (min-width: 480px){.main-content{padding:clamp(.75rem,3vw,1.5rem)}}@media (min-width: 768px){.main-content{padding:1.5rem}}.dashboard-header{margin-bottom:1.25rem}@media (min-width: 768px){.dashboard-header{margin-bottom:1.5rem}}.header-row{display:flex;justify-content:space-between;align-items:flex-start;flex-direction:column;gap:1rem}@media (min-width: 768px){.header-row{flex-direction:row;align-items:center;gap:0}}.welcome-card{width:100%;background:#fff;border:1px solid #e6eef8;border-radius:10px;box-shadow:0 2px 8px #0d2b5f0f;padding:.85rem .95rem}.welcome{font-size:clamp(1.3rem,4vw,1.8rem);color:#0d2b5f;margin-bottom:.25rem;font-weight:800}.subtext{color:#475569;margin-bottom:0;font-size:clamp(.85rem,2vw,.95rem)}.header-actions{display:flex;align-items:center;gap:12px;width:100%;flex-wrap:wrap}@media (min-width: 768px){.header-actions{width:auto}}.last-updated{font-size:clamp(.7rem,1.5vw,13px);color:#64748b;background:#fff;padding:6px 10px;border-radius:6px;border:1px solid #e6eef8;white-space:nowrap}.summary-cards{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem}@media (min-width: 480px){.summary-cards{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}}@media (min-width: 640px){.summary-cards{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}}@media (min-width: 768px){.summary-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}}@media (min-width: 1024px){.summary-cards{grid-template-columns:repeat(4,1fr)}}.card{background:#fff;border-radius:10px;border:1px solid #e6eef8;box-shadow:0 2px 8px #0d2b5f0f;padding:clamp(.6rem,2vw,1rem);border-left:4px solid;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:auto}@media (max-width: 400px){.card{padding:.6rem;min-height:auto}}.card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0d2b5f1f}@media (max-width: 480px){.card{min-height:auto;padding:.65rem}}.blue-border{border-left-color:#3b82f6}.blue-border:hover{box-shadow:0 8px 16px #3b82f633}.red-border{border-left-color:#ef4444}.red-border:hover{box-shadow:0 8px 16px #ef444433}.green-border{border-left-color:#22c55e}.green-border:hover{box-shadow:0 8px 16px #22c55e33}.orange-border{border-left-color:#fb923c}.orange-border:hover{box-shadow:0 8px 16px #fb923c33}.card-body{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}@media (max-width: 400px){.card-body{gap:.75rem}}@media (max-width: 480px){.card-body{flex-direction:column;align-items:flex-start}}.card-left{flex:1}.card-title{color:#475569;font-weight:700;font-size:clamp(.7rem,1.5vw,.85rem);text-transform:uppercase;letter-spacing:.025em}.card-value{font-size:clamp(1.3rem,4vw,2rem);font-weight:800;color:#0d2b5f;margin-top:.4rem;margin-bottom:.2rem}@media (max-width: 400px){.card-value{font-size:clamp(1.1rem,3vw,1.5rem)}}.card-sub{color:#64748b;font-size:clamp(.7rem,1.5vw,.85rem)}.card-icon{font-size:clamp(1.8rem,4vw,2.2rem);opacity:.85;transition:all .3s ease;flex-shrink:0}@media (max-width: 480px){.card-icon{align-self:flex-end}}.card:hover .card-icon{transform:scale(1.1);opacity:1}.quick-actions{margin-top:.75rem}@media (min-width: 480px){.quick-actions{margin-top:1rem}}@media (min-width: 768px){.quick-actions{margin-top:1.25rem}}.section-header-main{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.section-icon-badge{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;font-size:clamp(1.2rem,3vw,20px);box-shadow:0 2px 8px #fbbf244d;flex-shrink:0}.section-title{margin:0;color:#0d2b5f;font-size:clamp(1.1rem,3vw,18px);font-weight:700}.section-subtitle{margin:2px 0 0;color:#475569;font-size:clamp(.75rem,1.5vw,13px)}.section-heading{font-size:clamp(1rem,2.5vw,1.1rem);font-weight:800;color:#0d2b5f;margin-bottom:.75rem}.actions-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 480px){.actions-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (min-width: 640px){.actions-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 768px){.actions-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1024px){.actions-grid{grid-template-columns:repeat(4,1fr)}}.action-card{background:#fff;border-radius:12px;padding:clamp(.8rem,2.5vw,18px);display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000f;border:2px solid transparent;position:relative;overflow:visible;height:auto;min-height:auto}@media (max-width: 480px){.action-card{min-height:auto;padding:.8rem}}@media (max-width: 480px){.action-card{min-height:auto;padding:1rem}}.action-icon-container{width:clamp(44px,8vw,52px);height:clamp(44px,8vw,52px);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-icon{font-size:clamp(20px,5vw,26px);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.action-title{font-weight:700;font-size:clamp(.9rem,2vw,15px);color:#0d2b5f;line-height:1.3;letter-spacing:-.01em}.action-desc{color:#64748b;font-size:clamp(.7rem,1.5vw,12px);line-height:1.5;display:none}@media (min-width: 768px){.action-desc{display:block}}.red-card .card-arrow{color:#ef4444}.action-card:hover .card-arrow{transform:translate(4px,-4px);opacity:1}.simulate-btn{padding:.6rem 1rem;background:#2563cc;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.9rem;transition:all .2s ease;box-shadow:0 2px 8px #2563cc33}.simulate-btn:hover{background:#1a47a6;transform:translateY(-1px);box-shadow:0 4px 12px #2563cc4d}.recent-activity{margin-top:1.5rem}.activity-badge{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 2px 8px #3b82f64d!important}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.activity-item{background:#fff;border:1.5px solid #e6eef8;border-radius:10px;padding:1rem;display:flex;gap:1rem;align-items:center;transition:all .2s ease;box-shadow:0 2px 4px #0000000a}.activity-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translate(4px)}.activity-icon-container{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.activity-title{font-weight:700;color:#0d2b5f;font-size:.95rem;margin-bottom:.25rem}.activity-desc{color:#64748b;font-size:.85rem;line-height:1.4}.activity-time{color:#94a3b8;font-size:.8rem;font-weight:600;white-space:nowrap;background:#f8fafc;padding:4px 10px;border-radius:6px}@media (max-width: 1024px){.summary-cards,.actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.summary-cards,.actions-grid{grid-template-columns:1fr}}.registration-page{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;padding-bottom:2.5rem;background:radial-gradient(circle at 8% 6%,rgba(26,95,168,.13),transparent 33%),radial-gradient(circle at 96% 95%,rgba(255,140,66,.14),transparent 34%),linear-gradient(180deg,#eff6ff,#f8fbff);font-family:Manrope,Segoe UI,sans-serif}.stepper-container{position:sticky;top:72px;z-index:60;border-bottom:1px solid #d9e6f8;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px #09214114;padding:1rem 1.2rem}.stepper{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.stepper-group{display:flex;align-items:center;gap:.7rem;flex:1}.stepper-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0}.stepper-icon{width:40px;height:40px;border-radius:999px;border:1px solid #c8d9ef;background:#ebf3ff;color:#4f6f97;font-size:1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.stepper-item.active .stepper-icon{background:linear-gradient(130deg,#1f73e6,#428ff4);border-color:transparent;color:#fff;box-shadow:0 10px 20px #1f73e64d}.stepper-item.completed .stepper-icon{background:#0f315a;border-color:#0f315a;color:#fff}.stepper-label{font-size:.74rem;font-weight:700;color:#6682a7;text-align:center;letter-spacing:.01em}.stepper-item.active .stepper-label,.stepper-item.completed .stepper-label{color:#173a66}.stepper-line{flex:1;min-width:16px;height:2px;border-radius:999px;background:#d8e6f7}.stepper-line.completed{background:linear-gradient(90deg,#1f73e6,#428ff4)}.registration-container{width:100%;max-width:980px;margin:1.5rem auto;padding:0 1rem}.registration-card{border:1px solid #d9e6f8;border-radius:1.1rem;background:#fffffff2;box-shadow:0 18px 38px #0d29521f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:clamp(1rem,2.5vw,1.8rem)}.form-step{display:flex;flex-direction:column;gap:1.1rem}.step-header{text-align:center}.step-title{margin:0;color:#102947;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.35rem,3.3vw,2rem);letter-spacing:-.02em}.step-subtitle{margin:.5rem 0 0;color:#617a9b;line-height:1.58}.form-section{margin-bottom:.75rem}.section-title{margin:0 0 .9rem;border-bottom:1px solid #deebfb;padding-bottom:.65rem;color:#16345b;font-size:1.08rem;font-weight:800;letter-spacing:.01em}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}.form-row:last-child{margin-bottom:0}.registration-page .form-group{display:flex;flex-direction:column;gap:.35rem}.registration-page .form-label{color:#24466f;font-size:.86rem;font-weight:700;letter-spacing:.01em}.registration-page .form-input,.registration-page .form-select{width:100%;padding:.75rem .84rem;border:1px solid #ccdaec;border-radius:.7rem;background:#f7fbff;color:#102746;font-size:.91rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.registration-page .form-input::placeholder{color:#7c90ab}.registration-page .form-input:focus,.registration-page .form-select:focus{outline:none;border-color:#3a7adf;background:#fff;box-shadow:0 0 0 3px #3a7adf29}.registration-page .form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='%2324466f' d='M2 2l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.1rem}.radio-group{display:flex;flex-direction:column;gap:.6rem}.radio-label{display:flex;align-items:flex-start;gap:.55rem;border:1px solid #ccdced;border-radius:.72rem;background:#f8fbff;padding:.7rem .85rem;cursor:pointer;transition:border-color .2s ease,background .2s ease}.radio-label:hover{border-color:#6f9ee4;background:#f0f6ff}.radio-label input[type=radio]{margin-top:2px;accent-color:#1f73e6}.radio-text{color:#143867;font-size:.9rem;font-weight:700;line-height:1.45}.file-input{display:none}.file-label{display:block;border:1px dashed #74a3e6;border-radius:.72rem;background:#f1f7ff;color:#1d4f89;text-align:center;font-weight:700;font-size:.87rem;padding:.85rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.file-label:hover{background:#e6f1ff;border-color:#4d88d9}.info-box,.warning-box{border-radius:.72rem;padding:.72rem .9rem;font-size:.87rem;line-height:1.52}.info-box{border:1px solid #cfe0f8;background:#edf4ff;color:#184274}.warning-box{border:1px solid #f3cf9f;background:#fff6e9;color:#8c4b07}.info-box p,.warning-box p{margin:0}.summary-card{border:1px solid #d8e6f9;border-radius:.9rem;background:#fafdff;padding:.95rem}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.summary-item{border:1px solid #e2ecfa;border-radius:.66rem;background:#fff;padding:.62rem}.summary-label{display:block;color:#64809f;font-size:.7rem;font-weight:800;letter-spacing:.07em}.summary-value{margin-top:.28rem;display:block;color:#112d50;font-size:.9rem;font-weight:700;word-break:break-word}.form-buttons{margin-top:1rem;padding-top:.9rem;border-top:1px solid #deebfb;display:flex;justify-content:flex-end;gap:.6rem}.registration-page .btn{border:0;border-radius:.72rem;padding:.78rem 1.15rem;font-size:.9rem;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.registration-page .btn:hover{transform:translateY(-1px)}.registration-page .btn-primary{background:linear-gradient(130deg,#0f315a,#1d528b);color:#fff;box-shadow:0 12px 24px #0d315d42}.registration-page .btn-submit{background:linear-gradient(130deg,#1f73e6,#428ff4)}.registration-page .btn-secondary{background:#edf4ff;color:#1d4f89;border:1px solid #cfe0f8;box-shadow:none}.success-message{margin-top:1rem;border-radius:.85rem;border:1px solid #b4e1c1;background:#f1fdf5;text-align:center;color:#0f5f30;padding:1rem}.success-icon{font-size:1.7rem;line-height:1}.success-message h2{margin:.5rem 0 .35rem;color:#0e6b37;font-size:1.15rem}.success-message p{margin:.2rem 0;font-size:.9rem}@media (max-width: 840px){.stepper-label{font-size:.68rem}.form-row,.summary-grid{grid-template-columns:1fr}}@media (max-width: 640px){.stepper-container{top:62px;padding:.75rem .55rem}.stepper,.stepper-group{gap:.35rem}.stepper-icon{width:34px;height:34px;font-size:.86rem}.stepper-label{font-size:.62rem}.registration-container{margin:1rem auto;padding:0 .65rem}.registration-card{border-radius:.95rem;padding:.9rem}.form-buttons{flex-direction:column}.registration-page .btn{width:100%}}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f8fafc;color:#0f172a}.registration-status-page{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.status-section{padding:5rem 2rem 6rem}.status-container{max-width:900px;margin:0 auto;text-align:center}.status-header h2{font-size:2.4rem;color:#0d2b5f;margin-bottom:.5rem}.status-header p{color:#64748b;font-size:1.1rem;margin-bottom:2.5rem}.status-card{background:#fff;border-radius:18px;box-shadow:0 12px 30px #0f172a14;padding:2.5rem;text-align:center}.status-card-header{display:flex;gap:1rem;align-items:center;justify-content:center;margin-bottom:1.5rem}.status-icon{width:44px;height:44px;border-radius:12px;background:#e0f2fe;color:#0284c7;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon svg{width:22px;height:22px}.status-card-header h3{font-size:1.25rem;margin-bottom:.3rem;color:#0f172a}.status-card-header p{color:#64748b;font-size:.95rem}.status-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:.75rem}.status-field{flex:0 1 360px;padding:.85rem 1rem;border-radius:12px;border:1px solid #e2e8f0;font-size:.95rem;background:#f8fafc;color:#0f172a}.status-field:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf840}.status-search-btn{padding:.85rem 1.6rem;border-radius:12px;border:none;background:#0ea5e9;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-width:140px}.status-search-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0ea5e940}.status-error{margin-top:.5rem;color:#dc2626;font-weight:600}.status-details{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;border-top:1px solid #e2e8f0;padding-top:1.5rem}.status-detail{display:flex;flex-direction:column;gap:.35rem;align-items:center;position:relative}.status-detail:after{content:"";position:absolute;right:-.6rem;top:10px;bottom:10px;width:1px;background:#e2e8f0}.status-detail:nth-child(2n):after{display:none}.detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.detail-value{font-size:1rem;font-weight:600;color:#0f172a}.status-badge{display:inline-flex;padding:.3rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700;text-transform:capitalize;background:#f1f5f9}.status-badge.status-approved{color:#15803d;background:#dcfce7}.status-badge.status-pending{color:#b45309;background:#fef3c7}.status-badge.status-rejected{color:#b91c1c;background:#fee2e2}.status-footer{margin-top:2rem;color:#475569;display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;font-weight:600}.status-link-btn{border:none;background:none;color:#0ea5e9;font-weight:700;cursor:pointer}.status-link-btn:hover{color:#0284c7}@media (max-width: 640px){.status-card{padding:2rem 1.5rem}.status-card-header{flex-direction:column}.status-detail:after{display:none}}:root{--accent: #0f766e;--accent-light: #ccfbf1;--accent-2: #f59e0b;--text-dark: #0f172a;--text-light: #64748b;--border: #e2e8f0;--bg-light: #f8fafc;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .08);--shadow-md: 0 12px 24px -12px rgba(15, 23, 42, .28);--success: #16a34a;--warning: #f59e0b}.student-outpass-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f1f5f9;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif}.outpass-layout{display:block}.outpass-main{background:radial-gradient(1200px 600px at 5% 0%,#e0f2fe,#e0f2fe00 60%),radial-gradient(900px 600px at 95% 10%,#fef3c7,#fef3c700 55%),#f8fafc;padding:24px;overflow-y:auto}.outpass-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#0ea5a0 60%,#22c55e);color:#fff;box-shadow:var(--shadow-md)}.outpass-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 4px}.outpass-subtitle{font-size:14px;color:#ffffffbf;margin:0}.new-request-btn{padding:10px 18px;background-color:#111827;color:#fff;border:none;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 16px -10px #0f172a99}.new-request-btn:hover{background-color:#0f172a;transform:translateY(-1px)}.new-request-btn:active{transform:scale(.98)}.outpass-form-section{background-color:var(--white);border-radius:16px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border);margin-bottom:24px}.outpass-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.outpass-modal-card{width:100%;max-width:820px;max-height:85vh;overflow-y:auto;margin-bottom:0}.outpass-feedback-modal{max-width:520px}.outpass-feedback-body{padding:16px}.outpass-feedback-text{margin:0;white-space:pre-line;font-size:15px;line-height:1.5}.outpass-feedback-text.is-success{color:#065f46}.outpass-feedback-text.is-error{color:#991b1b}.form-header{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:16px;border-bottom:1px solid var(--border)}.form-header>div{padding-right:48px}.form-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 4px}.form-subtitle{font-size:13px;color:var(--text-light);margin:0}.form-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-light);font-size:18px;cursor:pointer;transition:all .2s ease}.form-close-btn:hover{color:var(--text-dark);border-color:var(--text-dark)}.outpass-form{padding:16px;display:flex;flex-direction:column;gap:20px}.form-input,.form-textarea{padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text-dark);background-color:var(--white);transition:all .2s ease}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f766e1f}.form-section-title{font-size:15px;font-weight:600;color:var(--text-dark);margin-top:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.quick-time-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.quick-time-btn{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-light);color:var(--text-dark);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.quick-time-btn:hover{border-color:var(--accent);color:var(--accent)}.quick-time-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.form-actions{display:flex;justify-content:space-between;flex-wrap:nowrap;gap:10px;margin-top:0;padding:16px;background:var(--white);border-top:1px solid var(--border)}.form-actions button{flex:1}.cancel-btn{padding:10px 24px;background-color:var(--white);color:var(--text-dark);border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background-color:var(--bg-light);border-color:#cbd5e1}.submit-btn{padding:10px 24px;background-color:#0f766e;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover{background-color:#0d9488;box-shadow:var(--shadow-md)}.submit-btn:active{transform:scale(.98)}.outpass-history-section{background-color:var(--white);border-radius:16px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.history-title{font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 24px}.outpass-list{display:flex;flex-direction:column;gap:14px}.outpass-item{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 18px -16px #0f172a80;animation:fadeUp .3s ease;gap:12px}.outpass-item-left{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.outpass-destination{font-size:16px;font-weight:700;color:var(--text-dark);word-break:break-word}.outpass-dates{font-size:13px;color:var(--text-light);display:flex;flex-direction:column;gap:4px;margin-top:6px}.outpass-departure,.outpass-return{display:inline-block}.outpass-reason{font-size:14px;color:#475569}.otp-action-row{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.otp-action-btn{padding:8px 14px;font-size:13px}.otp-enter-btn{background:#10b981}.otp-enter-btn:hover{background:#059669}.otp-resend-btn{border-color:#0f766e;color:#0f766e}.otp-resend-btn:hover{background:#ccfbf1;border-color:#0d9488}.otp-action-btn:disabled{opacity:.6;cursor:not-allowed}.outpass-status{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;min-width:100px;text-align:center;box-shadow:0 8px 14px -12px #0f172a99;white-space:nowrap;flex-shrink:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;border:2px dashed var(--border);border-radius:8px;background-color:var(--bg-light);text-align:center;color:var(--text-light)}.history-empty-icon{font-size:48px;opacity:.5}.history-empty-text{font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.history-empty-sub{font-size:14px;color:var(--text-light);margin:0}@media (max-width: 768px){.outpass-modal-overlay{top:70px;left:0;height:calc(100vh - 70px);align-items:flex-start;z-index:2000;padding:10px}.outpass-modal-card{width:94%;max-width:500px;max-height:90vh;overflow-y:auto;border-radius:16px;margin-top:10px}.outpass-layout{grid-template-columns:1fr}.outpass-item{flex-direction:column;align-items:flex-start}.otp-action-btn{width:100%}.outpass-status{align-self:flex-end;min-width:auto;margin-top:4px}.outpass-main{padding:16px}.outpass-title{font-size:24px}.outpass-header{flex-direction:column;gap:16px}.new-request-btn{width:100%}.form-row{grid-template-columns:1fr}.form-header{padding:16px}.form-actions{background:var(--white);border-top:1px solid #eee;flex-wrap:nowrap}.form-actions button{width:50%}}@media (max-width: 480px){.outpass-main{padding:12px}.outpass-title{font-size:20px}.outpass-subtitle{font-size:12px}.new-request-btn{padding:8px 14px;font-size:13px}.outpass-form-section,.outpass-history-section{padding:16px}.outpass-modal-card{max-height:88vh}.form-title{font-size:18px}.form-subtitle{font-size:12px}.form-label{font-size:13px}.form-input,.form-textarea{padding:8px 10px;font-size:13px}.quick-time-btn{font-size:11px;padding:5px 9px}.submit-btn{padding:8px 16px;font-size:13px}.history-title{font-size:16px}.history-empty{padding:30px 16px}.history-empty-icon{font-size:40px}.history-empty-text{font-size:14px}.history-empty-sub{font-size:12px}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--success: #10b981;--green-light: #dcfce7}.student-leave-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.leave-layout{display:block}.leave-main{background-color:#f3f4f6;padding:24px;overflow-y:auto;max-height:calc(100vh - 60px)}.leave-header{margin-bottom:20px}.page-header-card{background:var(--white);border-radius:12px;padding:20px 24px;box-shadow:0 4px 10px #0000000d;display:flex;justify-content:space-between;align-items:center;gap:16px}.leave-title{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 4px}.leave-subtitle{font-size:14px;color:var(--text-light);margin:0}.request-leave-btn{padding:10px 18px;background:#0f172a;color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.request-leave-btn:hover{background-color:#111827;box-shadow:var(--shadow-md)}.request-leave-btn:active{transform:scale(.98)}.leave-calendar-section{background-color:var(--white);border-radius:8px;padding:12px;box-shadow:var(--shadow-sm);margin-bottom:24px;display:flex;flex-direction:column;align-items:center}.calendar-title{font-size:13px;font-weight:700;color:var(--text-dark);margin:0 0 6px;align-self:flex-start}.calendar-container{background-color:var(--white);border-radius:8px;padding:10px;border:1px solid var(--border);max-width:480px;width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-nav-btn{padding:2px 5px;background-color:transparent;border:1px solid var(--border);border-radius:3px;color:var(--text-dark);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease}.calendar-nav-btn:hover{background-color:var(--accent);color:var(--white);border-color:var(--accent)}.calendar-month{font-size:12px;font-weight:700;color:var(--text-dark);margin:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:4px}.weekday{text-align:center;font-size:9px;font-weight:700;color:var(--text-light);padding:2px 0;min-height:16px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-day{width:42px;height:42px;display:flex;align-items:center;justify-content:center;position:relative;font-size:13px;font-weight:500;color:var(--text-dark);border:none;background-color:transparent;border-radius:4px;cursor:default;margin:0 auto}.calendar-day.empty{background-color:transparent;border:none;width:42px;height:42px}.calendar-day.active{cursor:default}.calendar-day.approved{background-color:#17bfb8;color:var(--white);font-weight:600;border-radius:50%;border:none}.calendar-day.completed{background:#dbeafe;color:#1d4ed8;border-color:#3b82f6}.calendar-day.pending{background-color:#f59e0b;color:var(--white);font-weight:600;border-radius:50%;border:none}.calendar-day.rejected{background-color:#ef4444;color:var(--white);font-weight:600;border-radius:50%;border:none}.approved-indicator{position:absolute;bottom:5px;right:7px;width:6px;height:6px;border-radius:50%;border:1px solid var(--white)}.approved-indicator.approved{background-color:#0f766e}.approved-indicator.completed{background:#2563eb}.approved-indicator.pending{background-color:#d97706}.calendar-legend{display:flex;gap:10px;padding-top:6px;border-top:1px solid var(--border);justify-content:center;font-size:10px}.legend-item{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-light)}.legend-color{width:10px;height:10px;border-radius:50%}.approved-legend{background-color:#17bfb8;border:none}.completed-legend{background:#3b82f6}.pending-legend{background-color:#f59e0b;border:none}.rejected-legend{background-color:#ef4444;border:none}.leave-history-section{background-color:var(--white);border-radius:8px;padding:24px;box-shadow:var(--shadow-sm)}.history-title{font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 20px}.history-empty{text-align:center;padding:40px 20px;color:var(--text-light)}.history-empty-text{font-size:14px;margin:0;color:var(--text-light)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;z-index:2000}.modal-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2100;padding:16px;overflow-y:auto}.modal-container .modal-card,.modal-container .modal-content{background-color:var(--white);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:95%;max-width:500px;max-height:85vh;overflow-y:auto}.modal-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.modal-header>div{padding-right:48px}.modal-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 4px}.modal-subtitle{font-size:13px;color:var(--text-light);margin:0}.modal-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-light);font-size:18px;flex-shrink:0;cursor:pointer;transition:all .2s ease}@media (max-width: 768px){.modal-content{width:95%;margin:10px}}.modal-close-btn:hover{color:var(--text-dark);border-color:var(--text-dark)}.modal-form{padding:16px;display:flex;flex-direction:column;gap:16px}.form-label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-select,.form-input,.form-textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;color:var(--text-dark);background-color:var(--white);transition:all .2s ease}.form-select::placeholder,.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--white);border-top:1px solid var(--border);margin-top:0}.modal-cancel-btn{width:100%;padding:12px;background:#f5f5f5;color:var(--text-dark);border:1px solid #ddd;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-cancel-btn:hover{background-color:var(--bg-light);border-color:var(--text-light)}.modal-submit-btn{width:100%;padding:14px;background:#1e8e78;color:var(--white);border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-submit-btn:hover{background-color:#187a67;box-shadow:var(--shadow-md)}.modal-submit-btn:active{transform:scale(.98)}.leave-feedback-modal{max-width:460px}.leave-feedback-body{padding:16px}.leave-feedback-text{margin:0;white-space:pre-line;line-height:1.5;font-size:15px}.leave-feedback-text.is-success{color:#166534}.leave-feedback-text.is-error{color:#991b1b}@media (min-width: 768px) and (max-width: 1024px){.modal-container{padding:20px}.modal-container .modal-card,.modal-container .modal-content{width:85%;max-height:calc(100vh - 40px)}.modal-header,.modal-form{padding-left:20px;padding-right:20px}}@media (max-width: 767px){.leave-layout{grid-template-columns:1fr}.leave-main{padding:16px}.leave-title{font-size:24px}.leave-header{margin-bottom:20px}.page-header-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.request-leave-btn,.primary-action-btn{width:100%}.form-row{grid-template-columns:1fr}.modal-container{top:70px;height:calc(100vh - 70px);align-items:flex-start;padding:12px}.modal-container .modal-card,.modal-container .modal-content{width:94%;margin:8px auto 12px;max-width:500px;max-height:calc(100vh - 96px);overflow-y:auto;border-radius:16px;-webkit-overflow-scrolling:touch}.modal-actions{background:var(--white);border-top:1px solid #eee}.calendar-container{max-width:100%}.calendar-day{width:38px;height:38px;font-size:12px}}@media (max-width: 480px){.leave-main{padding:12px}.leave-title{font-size:20px}.leave-subtitle{font-size:12px}.request-leave-btn{padding:8px 14px;font-size:13px}.leave-calendar-section,.leave-history-section{padding:12px}.calendar-title,.history-title{font-size:13px;margin-bottom:8px}.calendar-container{padding:8px;max-width:100%}.calendar-month{font-size:11px}.weekday{font-size:8px;padding:2px 0}.calendar-day{width:35px;height:35px;font-size:11px;gap:4px}.calendar-nav-btn{padding:2px 4px;font-size:10px}.modal-container .modal-card,.modal-container .modal-content{width:94%;max-width:500px;max-height:calc(100vh - 96px);border-radius:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-header{padding:16px}.modal-form{padding:16px;gap:12px}.form-label{font-size:13px}.form-select,.form-input,.form-textarea{padding:8px 10px;font-size:13px}.modal-actions{flex-direction:column;gap:12px}.modal-cancel-btn,.modal-submit-btn{width:100%;padding:8px 14px;font-size:13px}.modal-title{font-size:18px}.modal-subtitle{font-size:12px}.history-empty{padding:30px 16px}.history-empty-text{font-size:13px}.legend-item{font-size:9px;gap:2px}.legend-color{width:8px;height:8px}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--white: #ffffff;--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--error: #ef4444;--warning: #f59e0b}.complaint-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.complaint-modal-container{background-color:var(--white);border-radius:8px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.complaint-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.complaint-modal-header h2{font-size:20px;font-weight:700;color:var(--text-dark);margin:0}.complaint-modal-close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.complaint-modal-close:hover{color:var(--text-dark);background-color:var(--bg-light);border-radius:4px}.complaint-modal-progress{display:flex;align-items:center;gap:8px;padding:20px 24px;background-color:var(--bg-light)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.progress-number{width:32px;height:32px;border-radius:50%;background-color:var(--border);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .2s ease}.progress-step.active .progress-number{background-color:var(--accent);color:var(--white)}.progress-label{font-size:12px;color:var(--text-light);font-weight:500;text-align:center}.progress-step.active .progress-label{color:var(--text-dark);font-weight:600}.progress-line{flex:0 0 20px;height:2px;background-color:var(--border);margin-bottom:20px}.complaint-modal-body{flex:1;overflow-y:auto;padding:24px}.step-content h3{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 20px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:16px}.category-btn{padding:16px 12px;border:2px solid var(--border);border-radius:6px;background-color:var(--white);color:var(--text-dark);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.category-btn:hover{border-color:var(--accent);background-color:var(--accent-light)}.category-btn.selected{border-color:var(--accent);background-color:var(--accent);color:var(--white)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-group small{font-size:12px;color:var(--text-light);margin-top:2px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=email],.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-dark);font-family:inherit;transition:all .2s ease}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=text]:disabled,.form-group input[type=date]:disabled{background-color:var(--bg-light);cursor:not-allowed;opacity:.7}.form-group input.error,.form-group textarea.error{border-color:var(--error)}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group textarea{resize:vertical;min-height:100px;max-height:200px}.file-input{padding:10px 12px;border:1px dashed var(--border);border-radius:6px;background-color:var(--bg-light);cursor:pointer;transition:all .2s ease}.file-input:hover{border-color:var(--accent);background-color:var(--accent-light)}.file-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--accent-light);border:1px solid var(--accent);border-radius:4px;font-size:13px;color:var(--accent);font-weight:500;margin-top:8px}.review-summary{background-color:var(--bg-light);border-radius:6px;padding:16px;margin-bottom:16px}.review-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.review-item:last-child{border-bottom:none}.review-label{font-size:13px;font-weight:600;color:var(--text-light);text-transform:uppercase;min-width:100px}.review-value{font-size:14px;color:var(--text-dark);font-weight:500;text-align:right;flex:1;word-break:break-word}.warning-message{display:flex;gap:12px;padding:12px 16px;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;color:var(--warning);font-size:13px;line-height:1.5}.error-message{font-size:12px;color:var(--error);margin-top:4px}.complaint-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background-color:var(--bg-light)}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.btn-primary{background-color:var(--accent);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:#2563eb;box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{background-color:var(--border);color:var(--text-light);cursor:not-allowed;opacity:.5}.btn-secondary{background-color:var(--white);color:var(--text-dark);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-light);border-color:var(--text-dark)}@media (max-width: 480px){.complaint-modal-container{border-radius:12px 12px 0 0}.complaint-modal-header{padding:16px 20px}.complaint-modal-header h2{font-size:18px}.complaint-modal-progress{padding:16px 20px}.progress-label{font-size:11px}.complaint-modal-body{padding:20px}.step-content h3{font-size:15px}.category-grid{grid-template-columns:repeat(2,1fr)}.complaint-modal-footer{padding:12px 20px;flex-direction:column;gap:8px}.btn-primary,.btn-secondary{width:100%}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--muted: #9ca3af;--border: #e5e7eb;--border-light: #e5e7eb;--bg-light: #f9fafb;--card: #ffffff;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--success: #10b981;--green-light: #dcfce7;--warning: #f59e0b;--yellow-light: #fef3c7;--pending: #f59e0b;--in-progress: #3b82f6;--resolved: #10b981}.leave-page{display:flex;flex-direction:column;gap:16px;padding:24px;background-color:#f3f4f6;min-height:100vh}.leave-header h1,.leave-header h2{margin:0;color:var(--text-dark);font-size:22px;font-weight:700}.page-header-card{background:var(--white);border-radius:12px;padding:20px 24px;box-shadow:0 4px 10px #0000000d;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.page-header-text h2,.page-header-text h1{margin:0}.page-header-text p{margin:4px 0 0}.primary-action-btn{background:#0f172a;color:#fff;border:none;border-radius:25px;padding:10px 18px;font-weight:500;cursor:pointer}.complaints-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.leave-filters{display:flex;gap:8px;flex-wrap:wrap}.complaints-raise-btn{padding:10px 18px;border-radius:25px;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.complaints-raise-btn:hover{background-color:#111827;box-shadow:var(--shadow-md)}.complaints-raise-btn:active{transform:scale(.98)}.leave-card{background:var(--card);border:1px solid var(--border-light);border-radius:12px;padding:16px;box-shadow:0 1px 4px #0206170f;display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.leave-card:hover{box-shadow:0 4px 12px #0206171f;border-color:var(--accent)}.leave-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.leave-label{font-size:12px;color:var(--muted);margin-bottom:4px}.leave-reason{display:flex;flex-direction:column;gap:4px}.leave-reason .leave-value{font-weight:500;color:var(--text-dark);line-height:1.5}.tag{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.tag.pending{background-color:#f59e0b1a;color:var(--pending);border:1px solid rgba(245,158,11,.3)}.tag.in-progress{background-color:#3b82f61a;color:var(--in-progress);border:1px solid rgba(59,130,246,.3)}.tag.resolved{background-color:#10b9811a;color:var(--resolved);border:1px solid rgba(16,185,129,.3)}.leave-empty{border:1px dashed var(--border-light);border-radius:12px;padding:48px 16px;min-height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.leave-empty-icon{width:56px;height:56px;border-radius:14px;background:#eff6ff;border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto}.leave-empty-card h3{margin:8px 0 4px;color:var(--text-dark);font-size:16px;font-weight:700}.leave-empty-card p{margin:0;color:var(--muted);font-size:13px}.empty-text{color:var(--muted);font-size:13px}@media (max-width: 768px){.leave-page{padding:16px}.page-header-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.leave-grid{grid-template-columns:repeat(2,1fr)}.complaints-actions{flex-direction:column;align-items:stretch}.leave-filters{width:100%}.filter-btn{flex:1}.complaints-raise-btn,.primary-action-btn{width:100%}}@media (max-width: 640px){.leave-card-top{flex-direction:column;align-items:flex-start}.leave-grid{grid-template-columns:1fr}.leave-tags{justify-content:flex-start}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--breakfast: #f59e0b;--lunch: #ef4444;--snacks: #8b5cf6;--dinner: #0ea5e9}.mess-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.mess-layout{display:block}.mess-main{padding:0;overflow-y:auto;display:flex;flex-direction:column}.mess-header{padding:32px;border-bottom:1px solid var(--border);background-color:var(--white)}.mess-title{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.mess-subtitle{font-size:14px;color:var(--text-light);margin:0}.mess-content{flex:1;padding:32px}.todays-menu-section{margin-bottom:48px}.todays-menu-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.todays-menu-header h2{font-size:22px;font-weight:700;color:var(--text-dark);margin:0}.todays-badge{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,var(--accent),#2563eb);color:var(--white);border-radius:20px;font-size:13px;font-weight:600}.meals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.meal-card{background-color:var(--white);border-radius:12px;padding:24px;border-left:4px solid;box-shadow:var(--shadow-md);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.meal-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -5px #00000026}.meal-card.breakfast{border-left-color:var(--breakfast);background:linear-gradient(135deg,rgba(245,158,11,.05),transparent)}.meal-card.lunch{border-left-color:var(--lunch);background:linear-gradient(135deg,rgba(239,68,68,.05),transparent)}.meal-card.snacks{border-left-color:var(--snacks);background:linear-gradient(135deg,rgba(139,92,246,.05),transparent)}.meal-card.dinner{border-left-color:var(--dinner);background:linear-gradient(135deg,rgba(14,165,233,.05),transparent)}.meal-icon{font-size:48px;margin-bottom:12px}.meal-name{font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:12px}.meal-items{font-size:14px;color:var(--text-light);line-height:1.6}.weekly-schedule-section{background-color:var(--white);border-radius:12px;padding:24px;box-shadow:var(--shadow-md)}.weekly-schedule-section h2{font-size:22px;font-weight:700;color:var(--text-dark);margin:0 0 24px}.weekly-table-wrapper{overflow-x:auto}.weekly-table{width:100%;border-collapse:collapse;font-size:14px}.weekly-table thead{background-color:var(--accent-light);border-bottom:2px solid var(--accent)}.weekly-table th{padding:16px;text-align:left;font-weight:600;color:var(--accent);text-transform:uppercase;font-size:13px}.weekly-table tbody tr{border-bottom:1px solid var(--border);transition:all .2s ease}.weekly-table tbody tr:hover{background-color:#3b82f60d}.weekly-table tbody tr.today-row{background-color:#3b82f61a;font-weight:600}.weekly-table td{padding:16px;color:var(--text-dark);line-height:1.5}.day-cell{font-weight:700;color:var(--accent);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.today-indicator{display:inline-block;padding:2px 8px;background-color:var(--breakfast);color:var(--white);border-radius:4px;font-size:11px;font-weight:700}@media (max-width: 768px){.mess-layout{grid-template-columns:1fr}.mess-main{margin-left:0}.mess-header,.mess-content{padding:24px}.meals-grid{grid-template-columns:repeat(2,1fr);gap:16px}.meal-card{padding:16px}.meal-icon{font-size:36px;margin-bottom:8px}.meal-name{font-size:15px;margin-bottom:8px}.meal-items{font-size:13px}.weekly-table th,.weekly-table td{padding:12px;font-size:12px}}@media (max-width: 480px){.mess-sidebar{width:200px}.mess-header{padding:16px}.mess-title{font-size:22px}.mess-subtitle{font-size:12px}.mess-content{padding:16px}.todays-menu-header{flex-direction:column;align-items:flex-start;gap:12px}.meals-grid{grid-template-columns:1fr;gap:12px}.meal-card{padding:12px}.meal-icon{font-size:32px;margin-bottom:6px}.meal-name{font-size:14px;margin-bottom:8px}.meal-items{font-size:12px}.weekly-schedule-section{padding:16px}.weekly-schedule-section h2{font-size:18px;margin-bottom:16px}.weekly-table th,.weekly-table td{padding:8px;font-size:11px}.day-cell{font-size:12px}.today-indicator{padding:2px 6px;font-size:10px}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--pending: #f59e0b;--collected: #10b981}.parcels-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.parcels-layout{display:block}.parcels-main{padding:0;overflow-y:auto;display:flex;flex-direction:column}.parcels-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:32px;border-bottom:1px solid var(--border);background-color:var(--white)}.parcels-header-text{min-width:0}.parcels-refresh-btn{flex-shrink:0;padding:8px 16px;background-color:var(--accent);color:var(--white);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease,opacity .2s ease}.parcels-refresh-btn:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px)}.parcels-refresh-btn:disabled{opacity:.65;cursor:not-allowed}.parcels-title{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.parcels-subtitle{font-size:14px;color:var(--text-light);margin:0}.parcels-content{flex:1;padding:32px}.parcels-section{margin-bottom:48px}.section-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 24px;display:flex;align-items:center;gap:12px}.count-badge{display:inline-block;padding:4px 12px;background-color:var(--accent);color:var(--white);border-radius:20px;font-size:12px;font-weight:700}.parcels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.parcel-card{background-color:var(--white);border:1px solid var(--border);border-left:4px solid;border-radius:8px;padding:20px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.parcel-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.parcel-card.pending{border-left-color:var(--pending)}.parcel-card.collected{border-left-color:var(--collected)}.parcel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.parcel-info{flex:1}.parcel-courier{font-size:12px;color:var(--text-light);font-weight:600;text-transform:uppercase;margin-bottom:4px}.parcel-name{font-size:16px;font-weight:600;color:var(--text-dark)}.parcel-status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.parcel-status.pending-status{background-color:#f59e0b1a;color:var(--pending)}.parcel-status.collected-status{background-color:#10b9811a;color:var(--collected)}.parcel-details{padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.detail-item{display:flex;justify-content:space-between;gap:12px;font-size:14px}.detail-label{color:var(--text-light);font-weight:500}.detail-value{color:var(--text-dark);font-weight:600}.parcel-action{font-size:13px;color:var(--accent);font-weight:600;text-align:center;padding:8px;background-color:var(--accent-light);border-radius:4px}.parcel-card.collected .parcel-action{display:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background-color:var(--white);border:2px dashed var(--border);border-radius:8px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-text{font-size:16px;color:var(--text-light)}@media (max-width: 768px){.parcels-layout{grid-template-columns:1fr}.parcels-main{margin-left:0}.parcels-header{padding:24px;flex-direction:column;align-items:stretch}.parcels-refresh-btn{width:fit-content;align-self:flex-start}.parcels-content{padding:24px}.parcels-grid{grid-template-columns:repeat(2,1fr);gap:16px}.parcel-card{padding:16px}.parcel-name{font-size:14px}.section-title{font-size:18px;margin-bottom:16px}}@media (max-width: 480px){.parcels-sidebar{width:200px}.parcels-header{padding:16px}.parcels-refresh-btn{width:100%;text-align:center}.parcels-title{font-size:22px}.parcels-subtitle{font-size:12px}.parcels-content{padding:16px}.parcels-grid{grid-template-columns:1fr;gap:12px}.parcel-card{padding:12px}.section-title{font-size:16px;margin-bottom:12px}.parcel-name{font-size:13px}.parcel-courier{font-size:11px}.detail-item,.parcel-action{font-size:12px}}:root{--accent: #3b82f6;--accent-dark: #1d4ed8;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--gradient-blue: #3b82f6;--gradient-teal: #06b6d4}.room-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.room-layout{display:block}.room-main{padding:0;overflow-y:auto;display:flex;flex-direction:column}.room-header{padding:32px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#f8fbff);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.room-title{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.room-subtitle{font-size:14px;color:var(--text-light);margin:0}.request-room-change-btn{padding:11px 20px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap;box-shadow:0 8px 22px #2563eb40}.request-room-change-btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 12px 24px #2563eb52}.request-room-change-btn:active{transform:scale(.98)}.room-content{flex:1;padding:28px 32px 32px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.room-overview-card{grid-column:1 / -1;background:linear-gradient(130deg,#2476e4,#1893db 55%,#09b4cc);border-radius:18px;padding:40px;color:var(--white);box-shadow:0 18px 38px #1e40af3d;position:relative;overflow:hidden}.room-number-wrap{position:relative;z-index:1;margin-bottom:10px}.room-number-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#ffffffe6;margin-bottom:6px}.room-overview-card:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:#ffffff1a;border-radius:50%;z-index:0}.room-number{font-size:72px;line-height:1;font-weight:800;margin-bottom:0;position:relative;z-index:1;letter-spacing:1px;color:#fff;text-shadow:0 10px 24px rgba(8,47,73,.35)}.room-meta{margin-bottom:18px;position:relative;z-index:1}.zone-badge{display:inline-block;padding:6px 16px;background-color:#ffffff40;border:1px solid rgba(255,255,255,.35);border-radius:20px;font-size:13px;font-weight:600;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.room-quick-metrics{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.metric-pill{background:#fff3;border:1px solid rgba(255,255,255,.32);border-radius:12px;padding:10px 14px;min-width:132px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.metric-pill-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#ffffffe6;margin-bottom:2px}.metric-pill-value{font-size:16px;font-weight:700;color:#fff}.room-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:1}.room-info-item{display:flex;flex-direction:column;gap:6px;background:#0000001f;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px}.info-icon{font-size:28px}.info-label{font-size:12px;color:#ffffffeb;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.info-value{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.2)}.room-overview-card .room-number-label{color:#ffffffe6}.room-overview-card .room-number{color:#fff;text-shadow:0 10px 24px rgba(8,47,73,.35)}.room-overview-card .zone-badge{color:#fff;border-color:#ffffff59}.room-overview-card .metric-pill-label,.room-overview-card .info-label{color:#ffffffeb}.room-overview-card .metric-pill-value,.room-overview-card .info-value{color:#fff}.card-title{font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 20px}.roommate-card,.amenities-card,.guidelines-card{background-color:var(--white);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.roommate-card:hover,.amenities-card:hover,.guidelines-card:hover{box-shadow:0 12px 24px #0f172a14;transform:translateY(-2px)}.roommate-content{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e6edf8;border-radius:12px;padding:12px;margin-bottom:10px}.roommate-content:last-child{margin-bottom:0}.roommate-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.roommate-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;flex-shrink:0}.roommate-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:999px;background:#eaf2ff;border:1px solid #c8dbff;color:#1e4bb8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.roommate-info{flex:1}.roommate-name{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.roommate-branch{font-size:14px;color:var(--text-light);margin-bottom:2px}.roommate-year{font-size:13px;color:var(--text-light)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.amenity-chip{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:14px 16px;background:linear-gradient(180deg,#f8fbff,#edf4ff);border:1px solid rgba(59,130,246,.24);border-radius:12px;text-align:center;transition:all .2s ease;cursor:default}.amenity-chip:hover{background-color:#3b82f626;border-color:var(--accent)}.amenity-icon{font-size:18px}.amenity-name{font-size:14px;font-weight:600;color:#1e40af}.guidelines-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.guidelines-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font-size:14px;color:var(--text-dark);line-height:1.6}.guidelines-list li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:var(--accent-light);color:var(--accent);font-weight:700;font-size:12px;flex-shrink:0;margin-top:2px}.request-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2400!important;padding:16px}.request-modal-container{background-color:var(--white);border-radius:8px;max-width:600px;width:100%;box-shadow:0 10px 15px -3px #0000001a}.request-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.request-modal-header h2{font-size:20px;font-weight:700;color:var(--text-dark);margin:0}.request-modal-close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.request-modal-close:hover{color:var(--text-dark);background-color:var(--bg-light)}.request-modal-body{padding:24px;max-height:70vh;overflow-y:auto}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h3{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--accent-light)}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:8px}.request-input{padding:12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;color:var(--text-dark);background-color:var(--white);transition:all .2s ease}.request-input:hover{border-color:#d1d5db}.request-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.request-input:disabled{background-color:var(--bg-light);color:var(--text-light);cursor:not-allowed}.request-label{display:block;font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.request-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;color:var(--text-dark);resize:vertical;transition:all .2s ease}.request-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.request-modal-footer{padding:16px 24px;border-top:1px solid var(--border);background-color:var(--bg-light);display:flex;justify-content:flex-end;gap:12px;border-radius:0 0 8px 8px}.request-btn-cancel,.request-btn-submit{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.request-btn-cancel{background-color:var(--white);color:var(--text-dark);border:1px solid var(--border)}.request-btn-cancel:hover{background-color:var(--bg-light);border-color:var(--text-dark)}.request-btn-submit{background-color:var(--accent);color:var(--white)}.request-btn-submit:hover{background-color:#2563eb}.request-btn-submit:active{transform:scale(.98)}@media (max-width: 1024px){.room-content{grid-template-columns:1fr}.room-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.room-layout{grid-template-columns:1fr}.room-main{margin-left:0}.room-header{flex-direction:column;gap:16px;padding:24px}.request-room-change-btn{width:100%}.room-content{padding:24px;gap:24px}.room-overview-card{padding:32px}.room-overview-card .room-number{font-size:58px}.room-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.room-quick-metrics{margin-bottom:18px}.metric-pill{min-width:120px}.amenities-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (max-width: 480px){.room-sidebar{width:200px}.room-header{padding:16px}.room-title{font-size:22px}.room-subtitle{font-size:12px}.request-room-change-btn{padding:8px 16px;font-size:13px}.room-content{padding:16px;gap:16px}.room-overview-card{padding:24px}.room-overview-card .room-number{font-size:46px}.room-overview-card .room-number-label{font-size:11px}.room-quick-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-pill{min-width:0;padding:10px 12px}.room-info-grid{grid-template-columns:1fr}.info-icon{font-size:24px}.info-value{font-size:18px}.roommate-card,.amenities-card,.guidelines-card{padding:16px}.card-title{font-size:16px;margin-bottom:16px}.roommate-avatar{width:56px;height:56px;font-size:20px}.roommate-name{font-size:14px}.amenity-chip{padding:12px}.amenity-icon{font-size:24px}.amenity-name{font-size:12px}.guidelines-list li{font-size:13px;gap:10px}.request-modal-header{padding:20px}.request-modal-header h2{font-size:18px}.request-modal-body{padding:20px;max-height:60vh}.form-section{margin-bottom:20px;padding-bottom:20px}.form-section h3{font-size:15px;margin-bottom:12px}.form-group-row{grid-template-columns:1fr;gap:12px}.request-modal-footer{padding:12px 20px;flex-direction:column;gap:8px}.request-btn-cancel,.request-btn-submit{width:100%}}:root{--sidebar-width: 280px}.unified-sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:#f4f7fc;color:#1d3557;display:flex;flex-direction:column;border-right:1px solid #cfe1ff;box-shadow:8px 0 26px #0f234a1f;z-index:1000;overflow:hidden;transition:width .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,transform .32s ease;transform:translate(0)}@media (max-width: 767px){.unified-sidebar{width:260px;transform:translate(-100%);transition:transform .3s ease;z-index:1300}.unified-sidebar.mobile-open{transform:translate(0);width:260px;box-shadow:8px 0 26px #0f234a40;z-index:1300}}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1250}.toggle-icon-desktop{display:inline}.toggle-icon-mobile{display:none}@media (max-width: 767px){.toggle-icon-desktop{display:none}.toggle-icon-mobile{display:inline}}.unified-sidebar::-webkit-scrollbar{width:6px}.unified-sidebar::-webkit-scrollbar-track{background:#e8f0fb}.unified-sidebar::-webkit-scrollbar-thumb{background:#9ab9e8;border-radius:4px}.unified-sidebar.collapsed{width:88px}.sidebar-header{padding:12px;background:linear-gradient(145deg,#1c6ed6,#2d7dea 60%,#428ef6);border-bottom:1px solid rgba(255,255,255,.25);color:#fff}.sidebar-header-top{display:flex;align-items:center;gap:10px;width:100%}.sidebar-logo{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:23px;line-height:1;background:#fff3;border:1px solid rgba(255,255,255,.35);flex-shrink:0}.sidebar-brand-block{display:flex;align-items:center;gap:8px;min-width:0;flex:1;transition:opacity .22s ease,transform .22s ease}.sidebar-title-row{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-title{font-size:18px;font-weight:700;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease,max-width .26s ease;max-width:180px}.sidebar-toggle-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.45);background:#ffffff29;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle-btn:hover{background:#ffffff42;transform:translateY(-1px)}.sidebar-section-label{margin:14px 18px 8px;color:#4e6f9f;font-size:12px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;transition:opacity .2s ease,transform .2s ease}.sidebar-menu{flex:1;padding:8px 10px 14px;overflow-y:auto}.sidebar-menu ul{list-style:none;margin:0;padding:0}.sidebar-menu li{margin:6px 0}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;text-decoration:none;color:#2f476d;font-weight:600;font-size:15px;transition:all .2s ease}.sidebar-item-icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:#e6effc;color:#2f59a1;border:1px solid #d7e4fb;flex-shrink:0}.sidebar-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;opacity:1;transform:translate(0);transition:opacity .18s ease,max-width .24s ease,transform .18s ease}.sidebar-item:hover{background:#e9f2ff;color:#163d7a;transform:translate(2px)}.sidebar-item.active{background:linear-gradient(135deg,#1e73e6,#2f86f2);color:#fff;box-shadow:0 8px 18px #236fe159}.sidebar-item.active .sidebar-item-icon{background:#ffffff2e;border-color:#ffffff59;color:#fff}.unified-sidebar.collapsed:not(.mobile-open) .sidebar-title,.unified-sidebar.collapsed:not(.mobile-open) .sidebar-section-label,.unified-sidebar.collapsed:not(.mobile-open) .sidebar-item-label{opacity:0;max-width:0;transform:translate(-6px);pointer-events:none}.unified-sidebar.collapsed .sidebar-brand-block{opacity:0;transform:translate(-6px);pointer-events:none}.unified-sidebar.collapsed .sidebar-header{padding:10px 8px}.unified-sidebar.collapsed .sidebar-header-top{justify-content:center;gap:6px}.unified-sidebar.collapsed .sidebar-toggle-btn{width:38px;height:38px}.unified-sidebar.collapsed .sidebar-menu{padding:10px 8px}.unified-sidebar.collapsed .sidebar-item{justify-content:center;padding:10px 8px}.unified-sidebar.collapsed .sidebar-item-icon{margin:0}@media (min-width: 768px) and (max-width: 1024px){.unified-sidebar{width:var(--sidebar-width);transform:translate(0)}}@media (max-width: 767px){.sidebar-logo{width:36px;height:36px;font-size:20px}.sidebar-item-icon{width:32px;height:32px;font-size:16px}.sidebar-header{padding:10px 8px}.sidebar-menu,.sidebar-item{padding:8px 6px}}@media (min-width: 1025px){.unified-sidebar{width:var(--sidebar-width);transform:translate(0)}}@media print{.unified-sidebar{display:none}}@media (prefers-reduced-motion: reduce){.unified-sidebar,.sidebar-item,.sidebar-item-label,.sidebar-title,.sidebar-brand-block,.sidebar-section-label{transition:none!important}}.change-password-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.change-password-modal{background:#fff;border-radius:12px;padding:30px;max-width:500px;width:100%;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}.change-password-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.change-password-header h2{margin:0;color:#333;font-size:24px;font-weight:600}.close-btn{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:#333}.change-password-form .form-group{margin-bottom:20px}.change-password-form label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.change-password-form input[type=password]{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s;box-sizing:border-box}.change-password-form input[type=password]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.change-password-form input[type=password]:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.alert{padding:12px 15px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.form-actions{display:flex;gap:12px;margin-top:25px}.form-actions button{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0}@media (max-width: 600px){.change-password-modal{padding:20px;margin:10px}.change-password-header h2{font-size:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.profile-modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.profile-modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.profile-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.profile-modal-body{padding:2rem;overflow-y:auto;flex:1}.profile-header-section{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #667eea4d}.profile-main-info h3{margin:0 0 .5rem;font-size:1.5rem;color:#1a1a2e}.profile-role{color:#667eea;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;margin:0}.profile-fields{display:flex;flex-direction:column;gap:1rem}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px;transition:all .2s ease}.profile-field:hover{background:#f1f5f9}.field-label{font-weight:600;color:#64748b;font-size:.9rem}.field-value{color:#1a1a2e;font-weight:500;text-align:right}.field-value.badge{padding:.25rem .75rem;border-radius:20px;background:#e0e7ff;color:#4338ca;font-size:.85rem;font-weight:600;text-transform:capitalize}.field-value.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.field-value.status-active{background:#dcfce7;color:#15803d}.field-value.status-inactive{background:#fee2e2;color:#dc2626}.profile-divider{height:2px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:1rem 0}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.profile-loading p{color:#64748b;font-weight:500}.profile-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.error-message{color:#dc2626;font-weight:500}.retry-btn{padding:.5rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:#5568d3;transform:translateY(-1px)}.profile-modal-footer{padding:1.5rem 2rem;border-top:2px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem;background:#f8fafc}.btn-secondary{padding:.75rem 1.5rem;background:#e2e8f0;color:#475569;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#cbd5e1}@media (max-width: 640px){.profile-modal-content{width:95%;max-height:90vh}.profile-modal-header,.profile-modal-body,.profile-modal-footer{padding:1rem}.profile-header-section{flex-direction:column;text-align:center}.profile-field{flex-direction:column;align-items:flex-start;gap:.5rem}.field-value{text-align:left}}.top-navbar{position:fixed;top:0;left:0;right:0;width:100%;height:auto;min-height:56px;box-sizing:border-box;background:#fff;border-bottom:1px solid #dbe7f8;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;z-index:1200;box-shadow:0 6px 14px #11336a14;transition:left .32s cubic-bezier(.22,1,.36,1),padding .22s ease}@media (min-width: 768px) and (max-width: 1024px){.top-navbar{left:var(--sidebar-width, 280px);width:calc(100% - var(--sidebar-width, 280px));height:72px;padding:0 16px}}@media (min-width: 1025px){.top-navbar{left:var(--sidebar-width, 280px);width:calc(100% - var(--sidebar-width, 280px));height:72px;padding:0 16px}}.top-navbar-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;min-width:0}.top-navbar-menu-btn{display:none;border:1px solid #d8e7ff;background:#f7fbff;color:#1e3e70;border-radius:10px;width:40px;height:40px;font-size:20px;line-height:1;cursor:pointer;flex-shrink:0;margin-right:auto}.top-navbar-logout-inline{border:1px solid #f3c2cb;background:#fff4f5;color:#b43243;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease}.top-navbar-logout-inline:hover{background:#ffecef;transform:translateY(-1px)}.top-navbar-logout-inline:disabled,.top-logout-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.top-navbar-profile-trigger{border:1px solid #d8e7ff;background:#f7fbff;border-radius:14px;padding:6px 10px 6px 6px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#1e3e70;min-width:0;width:auto;max-width:min(64vw,320px);height:44px;justify-content:flex-start;flex-wrap:nowrap;overflow:hidden;transition:all .2s ease}@media (min-width: 481px){.top-navbar-profile-trigger{width:auto;min-width:150px;justify-content:flex-start}}@media (min-width: 768px){.top-navbar-profile-trigger{min-width:236px}}.top-navbar-profile-trigger:hover{background:#edf5ff;transform:translateY(-1px)}.top-navbar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#546ef2,#7b5cf3);display:flex;align-items:center;justify-content:center;font-weight:700}.top-navbar-user-text{display:flex;flex-direction:column;text-align:left;line-height:1.2;min-width:0;overflow:hidden}.top-navbar-user-text strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-navbar-user-text small{font-size:11px;color:#4e6790;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-navbar-chevron{margin-left:auto;font-size:16px;color:#2f568d;transform:rotate(0);transition:transform .2s ease}.top-navbar-chevron.open{transform:rotate(180deg)}.top-navbar-profile-panel{position:absolute;right:0;top:calc(100% + 8px);width:276px;background:#f8fbff;border-radius:12px;padding:10px;box-shadow:0 18px 34px #11336a40;border:1px solid #d6e7ff;z-index:1210}.top-profile-card{display:flex;align-items:center;gap:10px;padding:10px;background:#e8f2ff;border-radius:10px;margin-bottom:10px}.top-avatar-circle{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#546ef2,#7b5cf3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.top-profile-info{min-width:0}.top-profile-name{color:#1c3766;font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-profile-subtitle{color:#4a6591;font-size:12px;font-weight:600}.top-view-profile-btn,.top-change-password-btn,.top-logout-btn{width:100%;border:1px solid #d8e7ff;border-radius:10px;color:#244170;font-size:13px;font-weight:700;cursor:pointer;padding:11px 12px;margin-bottom:8px;display:flex;align-items:center;gap:8px;background:#fff;transition:all .18s ease}.top-action-icon{width:22px;text-align:center;font-size:13px}.top-view-profile-btn{background:#edf4ff;border-color:#d5e5ff}.top-change-password-btn{background:#f2f4ff;border-color:#e0e4ff}.top-logout-btn{background:#fff4f5;border-color:#ffd8dd;color:#b43243;margin-bottom:0}.top-view-profile-btn:hover,.top-change-password-btn:hover,.top-logout-btn:hover{transform:translateY(-1px);box-shadow:0 8px 14px #1f3e701f}@media (max-width: 767px){.top-navbar{left:0;width:100%;height:72px;min-height:72px;display:flex;justify-content:space-between;align-items:center;padding:10px 16px}.top-navbar-actions{gap:8px}.top-navbar-menu-btn{display:inline-flex;align-items:center;justify-content:center}.top-navbar-profile-trigger{max-width:min(56vw,260px)}.top-navbar-profile-panel{width:min(276px,calc(100vw - 32px))}.top-navbar-logout-inline{padding:6px 12px;font-size:14px;flex-shrink:0}}@media (max-width: 480px){.top-navbar{left:0;width:100%;flex-wrap:nowrap;justify-content:space-between;padding:.5rem}.top-navbar-actions{gap:6px;width:100%}.top-navbar-profile-trigger{min-width:0;max-width:calc(100% - 92px)}.top-navbar-user-text strong{font-size:12px}.top-navbar-user-text small{font-size:10px}.top-navbar-profile-panel{width:calc(100vw - 24px);right:-2px}}@media (prefers-reduced-motion: reduce){.top-navbar{transition:none!important}}.student-layout-wrapper{min-height:100vh;overflow:hidden;display:flex;gap:0;padding:0;box-sizing:border-box}.student-layout-sidebar{width:260px;flex:0 0 260px;background:var(--sidebar-bg);color:var(--text-dark);border-radius:12px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-light);height:calc(100vh - 48px);position:sticky;top:24px;overflow-y:auto}.student-layout-header-section{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.student-layout-logo{font-size:24px}.student-layout-title{font-weight:700;font-size:16px;color:var(--text-dark)}.student-layout-menu{margin-top:16px;flex:1}.student-layout-menu ul{list-style:none;padding:0;margin:0}.student-layout-menu li{margin-bottom:8px}.student-layout-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-dark);cursor:pointer;text-decoration:none;transition:all .2s ease;position:relative;font-size:14px;border-left:3px solid transparent}.student-layout-item span{font-weight:500}.student-layout-item:hover{background:var(--hover-light)}.student-layout-item.active{background:#eff6ff;color:var(--accent);border-left-color:var(--accent);font-weight:600}.student-layout-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.student-layout-profile-card{display:flex;align-items:center;gap:12px;margin-bottom:12px}.student-layout-avatar-circle{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.student-layout-profile-info{display:flex;flex-direction:column}.student-layout-profile-name{font-weight:600;font-size:14px;color:var(--text-dark)}.student-layout-profile-role{font-size:12px;color:var(--muted)}.student-layout-logout-btn{width:100%;padding:10px;border-radius:8px;border:1.5px solid #ef4444;background:transparent;color:#ef4444;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease}.student-layout-logout-btn:hover{background:#fef2f2;color:#dc2626}.student-layout-main{flex:1;overflow-y:auto;padding:96px 24px 24px;background:transparent;min-width:0;transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease;margin-left:0}@media (max-width: 767px){.student-layout-main{margin-left:0;padding:88px 16px 16px}}@media (min-width: 768px) and (max-width: 1024px){.student-layout-main{margin-left:var(--sidebar-width, 280px);padding:96px 24px 24px}}@media (min-width: 1025px){.student-layout-main{margin-left:var(--sidebar-width, 280px);padding:96px 24px 24px}}@media (max-width: 900px){.student-layout-sidebar{width:220px;flex-basis:220px}}@media (max-width: 768px){.student-layout-wrapper{display:flex;flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.student-layout-sidebar{position:fixed;left:0;top:0;width:200px;height:100vh;z-index:1000;box-shadow:0 4px 6px -1px #0000001a}.student-layout-main{flex:1;margin-left:0;padding:88px 16px 16px}.student-layout-logo-text{font-size:14px}.student-layout-menu-item{padding:10px 8px;font-size:13px}.student-layout-menu-icon{font-size:16px}.student-layout-menu-text{display:none}.student-layout-menu-item.active{border-left:3px solid var(--accent);padding-left:5px}}@media (max-width: 480px){.student-layout-wrapper{display:flex;flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.student-layout-sidebar{position:fixed;left:0;top:0;width:180px;height:100vh;z-index:1000}.student-layout-main{flex:1;margin-left:0;padding:88px 12px 12px}.student-layout-sidebar-top{gap:8px;margin-bottom:20px}.student-layout-logo{font-size:20px}.student-layout-logo-text{font-size:12px}.student-layout-menu-item{padding:8px 6px}.student-layout-menu-text{display:none}.student-layout-profile-card{padding:10px}.student-layout-profile-avatar{width:36px;height:36px;font-size:16px}.student-layout-profile-name{font-size:12px}.student-layout-profile-email{font-size:10px}}:root{--bg:#f6f8fb;--sidebar-bg:#f9fafb;--card:#ffffff;--muted:#6b7280;--accent:#3b82f6;--text-dark:#1f2937;--border-light:#e5e7eb;--hover-light:#f3f4f6;--success:#10b981}.warden-page{min-height:100vh;overflow:hidden}.warden-layout{display:flex;gap:0;padding:0;min-height:100vh;box-sizing:border-box;flex-direction:column}@media (min-width: 768px){.warden-layout{flex-direction:row}}.warden-sidebar{width:100%;flex:0 0 auto;background:var(--sidebar-bg);color:var(--text-dark);border-radius:0;padding:1rem;display:none;flex-direction:column;justify-content:space-between;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-light);border-right:none;overflow-y:auto;max-height:50vh;border-top:1px solid var(--border-light)}@media (min-width: 768px){.warden-sidebar{width:260px;flex:0 0 260px;display:flex;border-radius:0;padding:20px;border-right:1px solid var(--border-light);border-top:none;max-height:calc(100vh - 48px);height:calc(100vh - 48px);position:sticky;top:24px}}.warden-header-section{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.warden-logo{font-size:24px}.warden-title{font-weight:700;font-size:16px;color:var(--text-dark)}.warden-menu{margin-top:16px;flex:1}.warden-menu ul{list-style:none;padding:0;margin:0}.warden-menu li{margin-bottom:8px}.warden-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-dark);cursor:pointer;text-decoration:none;transition:all .2s ease;position:relative;font-size:14px;border-left:3px solid transparent}.warden-item span{font-weight:500}.warden-item:hover{background:var(--hover-light)}.warden-item.active{background:#eff6ff;color:var(--accent);border-left-color:var(--accent);font-weight:600}.warden-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.warden-profile-card{display:flex;align-items:center;gap:12px;margin-bottom:12px}.warden-avatar-circle{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.warden-profile-info{display:flex;flex-direction:column}.warden-profile-name{font-weight:600;font-size:14px;color:var(--text-dark)}.warden-profile-role{font-size:12px;color:var(--muted)}.warden-logout-btn{width:100%;padding:10px;border-radius:8px;border:1.5px solid #ef4444;background:transparent;color:#ef4444;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;min-height:44px}.warden-logout-btn:hover{background:#fef2f2;color:#dc2626}.warden-main{flex:1;overflow-y:auto;padding:.75rem;background:transparent;min-width:0;transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease;padding-top:96px;margin-left:0}@media (max-width: 767px){.warden-main{margin-left:0;padding:.75rem;padding-top:88px}}@media (min-width: 768px) and (max-width: 1024px){.warden-main{margin-left:var(--sidebar-width, 280px);padding:96px 24px 24px}}@media (min-width: 1025px){.warden-main{margin-left:var(--sidebar-width, 280px);padding:96px 24px 24px}}.warden-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}@media (min-width: 768px){.warden-header{align-items:center;flex-wrap:nowrap;margin-bottom:18px}}.warden-welcome{margin:0;font-size:clamp(1.3rem,4vw,24px);color:var(--text-dark);font-weight:700}.warden-sub{margin:4px 0 0;color:var(--muted);font-size:clamp(.75rem,2vw,14px)}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 480px){.header-actions{width:100%}}.last-updated{font-size:clamp(.7rem,1.5vw,13px);color:var(--muted);background:var(--card);padding:6px 10px;border-radius:6px;border:1px solid var(--border-light)}@media (min-width: 768px){.last-updated{padding:8px 12px}}.refresh-btn{padding:10px 16px;border-radius:8px;border:1px solid var(--border-light);background:#fff;cursor:pointer;font-weight:600;color:var(--text-dark);transition:all .2s ease;min-height:44px}.refresh-btn:hover{background:var(--hover-light);border-color:var(--accent)}.monitor-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:20px}@media (min-width: 768px) and (max-width: 1023px){.monitor-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.monitor-cards{grid-template-columns:repeat(4,1fr)}}.monitor-card{background:var(--card);padding:14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 4px #0206170f;border-left:4px solid;cursor:pointer;transition:all .2s ease;width:100%;min-width:0;overflow:hidden}.monitor-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0206171a}.monitor-left{display:flex;flex-direction:column;min-width:0}.monitor-title{font-weight:700;color:var(--text-dark);font-size:clamp(.7rem,1.5vw,13px)}.monitor-value{font-size:clamp(1.3rem,4vw,20px);font-weight:800;margin-top:6px;color:var(--text-dark)}.monitor-sub{font-size:clamp(.7rem,1.5vw,12px);color:var(--muted);overflow:hidden;text-overflow:ellipsis}.monitor-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.monitor-card.orange{border-left-color:#f59e0b}.monitor-card.blue{border-left-color:var(--accent)}.monitor-card.red{border-left-color:#ef4444}.monitor-card.green{border-left-color:var(--success)}.ai-alerts{margin-bottom:18px}.ai-alerts h2{margin:0 0 6px;color:var(--text-dark);font-size:clamp(1rem,2.5vw,16px)}.ai-desc{margin:0 0 12px;color:var(--muted);font-size:clamp(.75rem,1.5vw,13px)}.dashboard-row{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.25rem}@media (min-width: 768px){.dashboard-row{grid-template-columns:2fr 1fr;gap:18px}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:12px}@media (min-width: 768px){.section-header{flex-wrap:nowrap}}.section-header h2{margin:0;color:var(--text-dark);font-size:clamp(1rem,2.5vw,16px)}.section-desc{margin:0;color:var(--muted);font-size:clamp(.75rem,1.5vw,13px)}.alert-count{background:#fef3c7;color:#b45309;padding:4px 10px;border-radius:999px;font-size:clamp(.7rem,1.5vw,12px);font-weight:700}.alerts-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.alerts-grid{grid-template-columns:repeat(1,1fr)}}.alert-card{background:var(--card);padding:12px;border-radius:8px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-light);border-left:4px solid}.alert-card.priority-high{border-left-color:#ef4444}.alert-card.priority-medium{border-left-color:#f59e0b}.alert-card.priority-low{border-left-color:#3b82f6}.alert-icon{font-size:clamp(1.3rem,3vw,22px);flex-shrink:0}.alert-content{flex:1;display:flex;flex-direction:column;gap:8px}.alert-msg{font-weight:600;font-size:clamp(.8rem,1.8vw,13px);color:var(--text-dark)}.alert-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 480px){.alert-footer{flex-direction:column;align-items:flex-start}}.priority-badge{padding:4px 8px;border-radius:4px;font-size:clamp(.65rem,1.2vw,11px);font-weight:700;text-transform:uppercase}.priority-badge.high{background:#fef2f2;color:#ef4444;border:1px solid #fecaca}.priority-badge.medium{background:#fff7ed;color:#f59e0b;border:1px solid #fef3c7}.priority-badge.low{background:#eff6ff;color:#3b82f6;border:1px solid #dbeafe}.alert-badge{font-size:clamp(.75rem,1.5vw,12px);color:var(--muted)}.alerts-empty{text-align:center;padding:24px;color:var(--muted)}.alerts-empty .empty-icon{font-size:clamp(1.5rem,4vw,32px);margin-bottom:8px}.recent-activity{background:var(--card);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-light)}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{display:flex;gap:12px;align-items:center;padding:10px;border-radius:6px;transition:background .2s ease}.activity-item:hover{background:var(--hover-light)}.activity-icon{font-size:clamp(1rem,2.5vw,18px);flex-shrink:0}.activity-content{flex:1}.activity-action{font-weight:600;font-size:clamp(.8rem,1.8vw,13px);color:var(--text-dark)}.activity-meta{font-size:clamp(.7rem,1.5vw,12px);color:var(--muted);margin-top:2px}.management-cards{margin-bottom:18px}.section-header-main{margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 480px){.section-header-main{flex-direction:column;align-items:flex-start}}.section-left{display:flex;align-items:center;gap:12px}.section-icon-badge{width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);border-radius:10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,3vw,20px);box-shadow:0 2px 8px #fbbf244d}.section-title{margin:0;color:var(--text-dark);font-size:clamp(1.1rem,3vw,18px);font-weight:700}.section-subtitle{margin:2px 0 0;color:var(--muted);font-size:clamp(.75rem,1.5vw,13px)}.management-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.25rem}@media (min-width: 481px){.management-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 768px){.management-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1024px){.management-grid{grid-template-columns:repeat(4,1fr)}}.manage-card{background:var(--card);padding:clamp(1rem,3vw,18px);border-radius:12px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #0000000f;border:2px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;height:auto;min-height:120px}@media (max-width: 480px){.manage-card{min-height:auto;padding:1rem}}.manage-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.purple-card{background:linear-gradient(135deg,#fff,#faf5ff);border-color:#f3e8ff}.purple-card:before{background:radial-gradient(circle at top left,rgba(168,85,247,.08),transparent 70%)}.orange-card{background:linear-gradient(135deg,#fff,#fffbf5);border-color:#fff7ed}.orange-card:before{background:radial-gradient(circle at top left,rgba(251,146,60,.08),transparent 70%)}.blue-card{background:linear-gradient(135deg,#fff,#f5f9ff);border-color:#dbeafe}.blue-card:before{background:radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 70%)}.green-card{background:linear-gradient(135deg,#fff,#f5fff9);border-color:#d1fae5}.green-card:before{background:radial-gradient(circle at top left,rgba(34,197,94,.08),transparent 70%)}.manage-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.manage-card:hover:before{opacity:1}.purple-card:hover{border-color:#a855f7;box-shadow:0 8px 24px #a855f733}.orange-card:hover{border-color:#fb923c;box-shadow:0 8px 24px #fb923c33}.blue-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f633}.green-card:hover{border-color:#22c55e;box-shadow:0 8px 24px #22c55e33}.card-top{display:flex;justify-content:space-between;align-items:center}.manage-icon-container{width:clamp(44px,8vw,52px);height:clamp(44px,8vw,52px);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.manage-card:hover .manage-icon-container{transform:scale(1.15) rotate(-5deg)}.manage-icon-container.purple{background:linear-gradient(135deg,#a855f7,#9333ea);box-shadow:0 4px 12px #a855f74d}.manage-icon-container.orange{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 4px 12px #fb923c4d}.manage-icon-container.blue{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.manage-icon-container.green{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d}.manage-icon{font-size:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.manage-content{display:flex;flex-direction:column;gap:6px;margin-top:4px}.manage-title{font-weight:700;font-size:15px;color:var(--text-dark);line-height:1.3;letter-spacing:-.01em}.manage-desc{font-size:12px;color:var(--muted);line-height:1.5}.card-arrow{font-size:22px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:.5}.purple-card .card-arrow{color:#a855f7}.orange-card .card-arrow{color:#fb923c}.blue-card .card-arrow{color:#3b82f6}.green-card .card-arrow{color:#22c55e}.manage-card:hover .card-arrow{transform:translate(4px,-4px);opacity:1}.request-management{margin-top:18px}.dashboard-row,.management-cards,.request-management{margin-bottom:20px}.request-management h2{margin:0 0 12px;color:var(--text-dark);font-size:16px}.view-all-btn{padding:8px 16px;border-radius:6px;border:1px solid var(--accent);background:#fff;color:var(--accent);cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease}.view-all-btn:hover{background:var(--accent);color:#fff}.request-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.tab{padding:8px 12px;border-radius:6px;border:1px solid var(--border-light);background:#fff;cursor:pointer;font-weight:600;font-size:13px;color:var(--text-dark);transition:all .2s ease}.tab:hover{border-color:var(--accent);color:var(--accent)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.request-actions{display:flex;gap:8px;align-items:center;min-width:0}.search{padding:8px 12px;border-radius:6px;border:1px solid var(--border-light);font-size:13px;flex:1;min-width:220px}.search::placeholder{color:var(--muted)}.filter{padding:8px 12px;border-radius:6px;border:1px solid var(--border-light);font-size:13px;cursor:pointer;min-width:130px}.request-list{background:var(--card);padding:18px;border-radius:8px;min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid var(--border-light)}.request-list.empty p{margin:0;font-size:14px}.request-list-preview{background:var(--card);border:1px solid var(--border-light);border-radius:8px;padding:24px;min-height:200px}.request-preview-list{display:flex;flex-direction:column;gap:12px}.request-preview-card{padding:16px;border:1px solid var(--border-light);border-radius:12px;background:#fafafa}.request-preview-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.request-preview-main{min-width:0;display:flex;flex-direction:column;gap:4px}.request-preview-title{font-weight:600;color:var(--text-dark);font-size:15px;line-height:1.35}.request-preview-meta{font-size:14px;color:#6b7280;line-height:1.45;word-break:break-word}.request-preview-status{padding:.5rem .75rem;border-radius:999px;font-size:12px;background-color:#fef3c7;color:#92400e;white-space:nowrap;align-self:flex-start}.empty-state-modern{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}.empty-icon-large{font-size:48px}.empty-state-modern h3{margin:0;color:var(--text-dark);font-size:16px;font-weight:700}.empty-state-modern p{margin:0;color:var(--muted);font-size:13px}.empty-action-btn{padding:10px 20px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease;margin-top:8px}.empty-action-btn:hover{background:#2563eb;border-color:#2563eb}.outpass-page{padding:0}.outpass-header h1{margin:0;color:var(--text-dark);font-size:22px}.outpass-header p{margin:6px 0 16px;color:var(--muted);font-size:13px}.outpass-panel{background:var(--card);border:1px solid var(--border-light);border-radius:12px;padding:16px;box-shadow:0 1px 4px #0206170f}.outpass-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.outpass-pending{font-weight:700;color:var(--text-dark);background:#f8fafc;border:1px solid var(--border-light);padding:6px 10px;border-radius:999px;font-size:12px}.outpass-search{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px}.outpass-search-hint{font-size:12px;color:var(--muted)}.outpass-table{border:1px solid var(--border-light);border-radius:10px;overflow:hidden;background:#fff}.outpass-table table th{background:var(--hover-light);text-align:left;padding:10px;border-bottom:1px solid var(--border-light);font-weight:600;color:var(--text-dark);font-size:13px}.outpass-table table td{padding:10px;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text-dark)}.outpass-empty-row{text-align:center;padding:20px;color:var(--muted);font-size:13px}.tag{padding:6px 8px;border-radius:6px;font-weight:700;font-size:12px}.tag.pending{background:#fff7ed;color:#b45309;border:1px solid #fef3c7}.tag.assigned{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.tag.in_progress{background:#fef3c7;color:#b45309;border:1px solid #fef3c7}.tag.approved{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}.tag.rejected{background:#fff1f2;color:#9f1239;border:1px solid #fecaca}.tag.resolved{background:#dcfce7;color:#16a34a;border:1px solid #86efac}.tag.email-success{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.tag.email-failed{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.tag.priority-high{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.tag.priority-medium{background:#fffbeb;color:#d97706;border:1px solid #fed7aa}.tag.priority-low{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.outpass-controls input,.outpass-controls select{padding:8px;border:1px solid var(--border-light);border-radius:6px;font-size:13px}.outpass-table button{padding:6px 10px;border-radius:6px;border:1px solid var(--border-light);background:#fff;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-dark);transition:all .2s ease}.outpass-table button:hover{border-color:var(--accent);color:var(--accent)}.outpass-table button:disabled{opacity:.5;cursor:not-allowed}.outpass-empty{border:1px dashed var(--border-light);border-radius:12px;padding:28px 16px;min-height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.outpass-empty-card{max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.outpass-empty-card h3{margin:0;color:var(--text-dark);font-size:16px}.outpass-empty-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.outpass-empty-icon{width:64px;height:64px;border-radius:16px;background:#eff6ff;border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;color:var(--accent)}.leave-page{display:flex;flex-direction:column;gap:16px}.page-header-card{background:#fff;border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 4px 10px #0000000d;border:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;gap:16px}.page-header-text{display:flex;flex-direction:column;gap:4px;min-width:0}.page-header-text h2{font-size:24px;font-weight:600;margin:0 0 4px;color:var(--text-dark)}.page-header-text p{font-size:14px;color:#6b7280;margin:0}.page-header-action{flex:0 0 auto;white-space:nowrap}.page-header-action-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.outpass-page-header{background:#fff;border:1px solid var(--border-light);box-shadow:0 4px 10px #0000000d}.outpass-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.outpass-holiday-badge{padding:.5rem 1rem;background:#fef3c7;color:#92400e;border-radius:999px;font-size:14px;font-weight:600;border:1px solid #fbbf24}.outpass-holiday-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.55rem 1rem;background:#e5e7eb;color:#374151;border-radius:10px;font-weight:500;transition:all .2s ease;border:1px solid transparent}.outpass-holiday-toggle.active{background:#3b82f6;color:#fff;border-color:#2563eb}.outpass-holiday-checkbox{cursor:pointer;min-width:auto;min-height:auto;padding:0;margin:0}.leave-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.filter-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--border-light);background:#fff;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-dark);transition:all .2s ease}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{border-color:var(--accent);color:#fff;background:var(--accent)}.leave-header h1{margin:0;color:var(--text-dark);font-size:22px}.leave-header p{margin:6px 0 0;color:var(--muted);font-size:13px}.leave-list{display:flex;flex-direction:column;gap:14px}.leave-card{background:var(--card);border:1px solid var(--border-light);border-radius:12px;padding:16px;box-shadow:0 1px 4px #0206170f;display:flex;flex-direction:column;gap:12px}.leave-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.leave-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.leave-name{font-weight:700;color:var(--text-dark);font-size:15px}.leave-meta{color:var(--muted);font-size:12px;margin-top:4px}.leave-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.leave-label{font-size:12px;color:var(--muted)}.leave-value{font-size:13px;color:var(--text-dark);font-weight:600}.leave-reason .leave-value{display:flex;flex-direction:column;gap:6px;font-weight:500;color:var(--text-dark)}.leave-reason.rejection-reason .leave-value{background:#fff1f2;padding:10px;border-radius:6px;border-left:3px solid #dc2626;color:#7f1d1d}.link-btn{border:none;background:transparent;color:var(--accent);font-weight:600;font-size:12px;cursor:pointer;padding:0;align-self:flex-start}.leave-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.action-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--border-light);background:#fff;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-dark);transition:all .2s ease}.action-btn:hover{border-color:var(--accent);color:var(--accent)}.action-btn.approve{border-color:#bbf7d0;color:#065f46;background:#ecfdf5}.action-btn.reject{border-color:#fecaca;color:#9f1239;background:#fff1f2}.action-btn.history{border-color:#dbeafe;color:#1d4ed8;background:#eff6ff}.action-btn.primary{border-color:var(--accent);color:#fff;background:var(--accent)}.action-btn.ghost{background:#fff;color:var(--text-dark)}.leave-notify{font-size:12px;color:var(--success);font-weight:600}.leave-action-panel{background:#f9fafb;border:1px solid var(--border-light);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.leave-action-panel textarea{border:1px solid var(--border-light);border-radius:8px;padding:8px;font-size:13px;resize:vertical}.leave-error{color:#b91c1c;font-size:12px;font-weight:600}.leave-action-buttons{display:flex;gap:8px;justify-content:flex-end}.leave-empty{border:1px dashed var(--border-light);border-radius:12px;padding:28px 16px;min-height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.leave-empty-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.leave-empty-icon{width:56px;height:56px;border-radius:14px;background:#eff6ff;border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;font-size:22px}.leave-section{display:flex;flex-direction:column;gap:14px}.leave-subtitle{margin:8px 0 0;color:var(--text-dark);font-size:16px;font-weight:700}.leave-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:40}.leave-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59}.leave-modal-card{position:relative;background:#fff;border-radius:12px;border:1px solid var(--border-light);padding:18px;max-width:640px;width:92%;box-shadow:0 12px 32px #0f172a33;display:flex;flex-direction:column;gap:16px}.leave-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.leave-modal-header h2{margin:0;color:var(--text-dark);font-size:18px}.leave-modal-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.leave-badge{margin-left:8px;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:11px;font-weight:700;letter-spacing:.2px}.close-btn{border:none;background:#f3f4f6;border-radius:8px;width:32px;height:32px;cursor:pointer;font-weight:700;color:#334155}.leave-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:#f8fafc;border:1px solid var(--border-light);border-radius:10px;padding:12px}.leave-history-list{display:flex;flex-direction:column;gap:10px}.leave-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border-light);border-radius:10px;padding:10px;background:#fff}.leave-history-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.leave-loading,.leave-empty-history{color:var(--muted);font-size:13px}@media (max-width:900px){.warden-layout{padding:16px}.alerts-grid{grid-template-columns:1fr}.management-grid{grid-template-columns:repeat(2,1fr)}.warden-sidebar{width:220px;flex-basis:220px}.leave-grid{grid-template-columns:repeat(2,1fr)}.leave-summary{grid-template-columns:1fr}}@media (max-width:640px){.leave-card-top{flex-direction:column;align-items:flex-start}.leave-actions{align-items:flex-start}.leave-grid{grid-template-columns:1fr}}@media (max-width: 768px){.page-header-card{padding:16px;flex-direction:column;align-items:flex-start}.page-header-action{width:100%}.page-header-action-group,.outpass-header-actions{width:100%;justify-content:flex-start}.warden-layout{display:flex;flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.warden-main{flex:1;padding:88px 16px 16px}.request-management{margin-top:16px}.request-management .section-header{align-items:stretch}.request-management .section-header h2{font-size:14px;line-height:1.35}.view-all-btn{width:fit-content}.request-controls{flex-direction:column;align-items:stretch}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tab{min-width:0;padding:10px 8px;font-size:12px;text-align:center}.request-actions{flex-direction:column;align-items:stretch}.search,.filter{width:100%;min-width:0}.request-list-preview{padding:16px;min-height:0}.request-preview-card{padding:14px}.request-preview-card-header{flex-direction:column;align-items:flex-start}.request-preview-status{padding:.42rem .72rem}}@media (max-width: 480px){.request-management .section-header h2{font-size:13px}.tabs{grid-template-columns:1fr}.tab{justify-content:center}.request-list-preview{padding:12px}.request-preview-card{border-radius:10px;padding:12px}.request-preview-title{font-size:14px}.request-preview-meta{font-size:13px}}.ai-stats-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.stat-badge.high-risk{background:#fef2f2;color:#ef4444;border:1px solid #fecaca}.stat-badge.medium-risk{background:#fffbeb;color:#f59e0b;border:1px solid #fed7aa}.stat-badge.info{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.btn-spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#ffffffe6;animation:btn-spin .8s linear infinite;margin-right:8px;vertical-align:middle}.action-btn:not(.primary) .btn-spinner,.btn-secondary .btn-spinner{border-color:#0f172a33;border-top-color:#0f172aa6}:root{--primary: #6366f1;--secondary: #764ba2;--accent: #f59e0b;--success: #10b981;--danger: #ef4444;--warning: #eab308;--info: #0ea5e9;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-900: #111827;--text-dark: #1f2937;--text-light: #6b7280;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}.admin-page{min-height:100vh;overflow:hidden}.admin-layout{display:flex;gap:0;padding:0;min-height:100vh;box-sizing:border-box;flex-direction:column}@media (min-width: 768px){.admin-layout{flex-direction:row}}.admin-sidebar{width:100%;flex:0 0 auto;background:var(--gray-50);color:var(--text-dark);border-radius:0;padding:1rem;display:none;flex-direction:column;justify-content:space-between;box-shadow:0 1px 3px #0000000d;border:1px solid var(--gray-200);border-right:none;overflow-y:auto;max-height:50vh;border-top:1px solid var(--gray-200)}@media (min-width: 768px){.admin-sidebar{width:260px;flex:0 0 260px;display:flex;border-radius:0;padding:20px;border-right:1px solid var(--gray-200);border-top:none;max-height:calc(100vh - 48px);height:calc(100vh - 48px);position:sticky;top:24px}}.admin-header-section{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.admin-logo{font-size:24px}.admin-title{font-weight:700;font-size:16px;color:var(--text-dark)}.admin-menu{margin-top:16px;flex:1}.admin-menu ul{list-style:none;padding:0;margin:0}.admin-menu li{margin-bottom:8px}.admin-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-dark);cursor:pointer;text-decoration:none;transition:all .2s ease;position:relative;font-size:14px;border-left:3px solid transparent}.admin-item span{font-weight:500}.admin-item:hover{background:var(--gray-100)}.admin-item.active{background:#eff6ff;color:var(--primary);border-left-color:var(--primary);font-weight:600}.admin-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.admin-profile-card{display:flex;align-items:center;gap:12px;margin-bottom:12px}.admin-avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.admin-profile-info{display:flex;flex-direction:column;flex:1;min-width:0}.admin-profile-name{font-weight:600;font-size:13px;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-profile-email{font-size:11px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-logout-btn{width:100%;padding:10px;border-radius:8px;border:1.5px solid var(--danger);background:transparent;color:var(--danger);cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease}.admin-logout-btn:hover{background:#fef2f2;color:#dc2626}.admin-main{flex:1;overflow-y:auto;padding:clamp(.5rem,2vw,24px);min-width:0;padding-top:96px;transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease;margin-left:0}@media (max-width: 767px){.admin-main{margin-left:0;padding:clamp(.5rem,2vw,16px);padding-top:88px}}@media (min-width: 768px) and (max-width: 1024px){.admin-main{margin-left:var(--sidebar-width, 280px);padding:clamp(1rem,3vw,24px);padding-top:96px}}@media (min-width: 1025px){.admin-main{margin-left:var(--sidebar-width, 280px);padding:clamp(1rem,3vw,24px);padding-top:96px}}.admin-dashboard-page{padding:clamp(1rem,3vw,2rem);background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;width:100%}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(1.5rem,4vw,2.5rem);gap:1rem;flex-wrap:wrap}@media (min-width: 768px){.admin-header{align-items:center;flex-wrap:nowrap;gap:1.5rem}}.header-left{flex:1;min-width:200px}.admin-welcome{margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:800;color:var(--text-dark);margin-bottom:.25rem}.admin-sub{margin:4px 0 0;color:var(--text-light);font-size:clamp(.85rem,2vw,.95rem)}.simulate-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:clamp(.85rem,2vw,.95rem);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d;min-height:44px;white-space:nowrap}.simulate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.metrics-section{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.metrics-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 480px){.metrics-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 768px){.metrics-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1024px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}.metric-card{background:#fff;padding:1.5rem;border-radius:12px;border:2px solid var(--gray-200);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.metric-card:hover{transform:translateY(-6px);border-color:var(--primary);box-shadow:0 12px 24px #6366f126}.metric-card:hover:before{transform:scaleX(1)}.metric-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.metric-icon{font-size:1.75rem}.metric-label{font-size:.85rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:2.5rem;font-weight:800;color:var(--text-dark);margin-bottom:.5rem}.metric-sub{font-size:.85rem;color:var(--text-light)}.students-card{border-color:#e0e7ff}.students-card:before{background:linear-gradient(90deg,#6366f1,#818cf8)!important}.wardens-card{border-color:#fce7f3}.wardens-card:before{background:linear-gradient(90deg,#ec4899,#f472b6)!important}.technicians-card{border-color:#fef3c7}.technicians-card:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)!important}.security-card{border-color:#dbeafe}.security-card:before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)!important}.system-status-section{margin-bottom:2.5rem}.system-status-section h2{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.status-card{background:#fff;padding:1.5rem;border-radius:10px;border:1px solid var(--gray-200);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:all .3s ease}.status-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.status-label{font-size:.85rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.status-value{font-size:2rem;font-weight:800;color:var(--text-dark);margin-bottom:.75rem}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-green .status-indicator{background:var(--success);box-shadow:0 0 #10b981b3}.status-blue .status-indicator{background:var(--info);box-shadow:0 0 #0ea5e9b3}.status-orange .status-indicator{background:var(--accent);box-shadow:0 0 #f59e0bb3}.status-gray .status-indicator{background:var(--gray-300)}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 8px #6366f100}to{box-shadow:0 0 #6366f100}}.management-section{margin-bottom:2.5rem}.management-section h2{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem}.management-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}.mgmt-card{background:#fff;padding:1.5rem;border-radius:12px;border:2px solid var(--gray-200);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.mgmt-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#6366f10d,#764ba20d);opacity:0;transition:opacity .3s ease;z-index:0}.mgmt-card>*{position:relative;z-index:1}.mgmt-card:hover:before{opacity:1}.mgmt-card.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border-color:var(--primary);box-shadow:0 8px 20px #6366f14d}.mgmt-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:0 12px 28px #6366f133}.mgmt-card.primary:hover{box-shadow:0 12px 28px #6366f166}.mgmt-icon{font-size:2rem;margin-bottom:.75rem}.mgmt-title{font-weight:700;font-size:1rem;color:var(--text-dark);margin-bottom:.5rem}.mgmt-card.primary .mgmt-title{color:#fff}.mgmt-count{font-size:1.8rem;font-weight:800;color:var(--primary);margin-bottom:.25rem}.mgmt-card.primary .mgmt-count{color:#fff}.mgmt-desc{font-size:.85rem;color:var(--text-light)}.mgmt-card.primary .mgmt-desc{color:#ffffffe6}.activities-section{display:grid;grid-template-columns:2fr 1.2fr;gap:1.5rem;margin-bottom:2rem}.activity-card,.pending-card{background:#fff;border-radius:12px;border:2px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.activity-card:hover,.pending-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:10}.card-header h3{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin:0}.header-badge{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.header-badge.critical{background:var(--danger)}.activity-list{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);transition:all .2s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--gray-50)}.activity-icon{font-size:1.5rem;flex-shrink:0}.activity-details{flex:1;min-width:0}.activity-action{font-weight:600;color:var(--text-dark);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-meta{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.activity-status{padding:.4rem .8rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;white-space:nowrap}.badge-approved{background:#d1fae5;color:#065f46}.badge-resolved{background:#dbeafe;color:#0c4a6e}.badge-critical{background:#fee2e2;color:#7f1d1d}.badge-high{background:#fed7aa;color:#7c2d12}.badge-medium{background:#fce7f3;color:#831843}.badge-low{background:#e0e7ff;color:#312e81}.badge-default{background:var(--gray-200);color:var(--text-dark)}.pending-list{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.pending-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);transition:all .2s ease}.pending-item:last-child{border-bottom:none}.pending-item:hover{background:var(--gray-50)}.pending-type{padding:.4rem .75rem;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.pending-info{flex:1;min-width:0}.pending-name{font-weight:600;color:var(--text-dark);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-date{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.pending-priority{padding:.4rem .8rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;white-space:nowrap}.activity-list::-webkit-scrollbar,.pending-list::-webkit-scrollbar{width:6px}.activity-list::-webkit-scrollbar-track,.pending-list::-webkit-scrollbar-track{background:var(--gray-100)}.activity-list::-webkit-scrollbar-thumb,.pending-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.activity-list::-webkit-scrollbar-thumb:hover,.pending-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 1400px){.metrics-grid,.status-grid{grid-template-columns:repeat(2,1fr)}.management-grid{grid-template-columns:repeat(3,1fr)}.activities-section{grid-template-columns:1fr}}@media (max-width: 1024px){.admin-dashboard-page{padding:1.5rem}.admin-header{flex-direction:column;align-items:flex-start;margin-bottom:2rem}.simulate-btn{align-self:flex-start}.metrics-grid,.status-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.management-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.mgmt-card{padding:1.25rem}.metric-value{font-size:2rem}.admin-layout{padding:16px}.admin-sidebar{width:220px;flex-basis:220px}}@media (max-width: 768px){.admin-layout{display:flex;flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.admin-main{flex:1;padding:88px 16px 16px}.admin-dashboard-page{padding:1rem}.admin-welcome{font-size:1.5rem}.metrics-grid,.status-grid{grid-template-columns:1fr}.management-grid{grid-template-columns:repeat(2,1fr)}.activities-section{grid-template-columns:1fr}.card-header{padding:1rem 1.25rem}.card-header h3{font-size:1rem}.activity-item,.pending-item{padding:.75rem 1rem;gap:.75rem}.admin-layout{padding:0}}@media (max-width: 480px){.admin-dashboard-page{padding:.75rem}.admin-welcome{font-size:1.25rem}.admin-sub{font-size:.85rem}.metrics-grid,.status-grid,.management-grid{grid-template-columns:1fr;gap:.75rem}.management-grid{grid-template-columns:1fr}.mgmt-card{padding:1rem}.mgmt-icon,.mgmt-count{font-size:1.5rem}.metric-value{font-size:1.75rem}.metric-card,.status-card{padding:1.25rem}.activity-item,.pending-item{gap:.5rem}.activity-action,.pending-name{font-size:.85rem}}:root{--bg: #f6f8fb;--sidebar-bg: #f9fafb;--card: #ffffff;--muted: #6b7280;--accent: #3b82f6;--text-dark: #1f2937;--border-light: #e5e7eb;--hover-light: #f3f4f6;--success: #10b981}body{background:var(--bg)}.technician-layout-wrapper{min-height:100vh;overflow:hidden;display:flex;gap:0;padding:0;box-sizing:border-box}.technician-layout-main{flex:1;overflow-y:auto;padding:96px 24px 24px;background:transparent;min-width:0;transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease;margin-left:0}@media (max-width: 1024px){.technician-layout-wrapper{padding:0;gap:0}.technician-layout-main{padding:96px 16px 16px}}@media (max-width: 767px){.technician-layout-wrapper{flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.technician-layout-main{flex:1;margin-left:0;padding:88px 16px 16px}}@media (min-width: 768px) and (max-width: 1024px){.technician-layout-main{margin-left:var(--sidebar-width, 280px)}}@media (min-width: 1025px){.technician-layout-main{margin-left:var(--sidebar-width, 280px)}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--orange: #f59e0b;--green: #10b981;--purple: #8b5cf6}.modal-content .timeline.timeline-track{display:flex;gap:0;justify-content:space-between;align-items:flex-start;margin-bottom:24px;position:relative;padding-left:0}.modal-content .timeline.timeline-track:before{content:"";position:absolute;top:-8px;left:24px;right:24px;height:4px;background:#94a3b8;z-index:0}.modal-content .timeline.timeline-track:after{content:"";position:absolute;top:-8px;left:24px;height:4px;width:calc(var(--track-width, 0%) - 48px);max-width:calc(100% - 48px);background:linear-gradient(90deg,#22c55e,#15803d);box-shadow:0 0 0 1px #16a34a4d;z-index:0}.modal-content .timeline.timeline-track .timeline-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;padding-left:0;margin-bottom:0}@media (max-width: 768px){.modal-content .timeline.timeline-track{flex-wrap:wrap;gap:16px;justify-content:flex-start}.modal-content .timeline.timeline-track:before,.modal-content .timeline.timeline-track:after{display:none}}.security-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.security-layout{min-height:100vh;overflow:hidden;display:flex;gap:0;padding:0;box-sizing:border-box;position:relative}.security-sidebar{width:260px;flex:0 0 260px;background-color:var(--sidebar-bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;height:calc(100vh - 48px);overflow-y:auto;padding:20px;position:fixed;left:24px;top:24px;box-shadow:0 1px 3px #0000000d;z-index:100}.security-header-section{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.security-logo{font-size:24px}.security-title{font-size:16px;font-weight:700;color:var(--text-dark)}.security-menu{flex:1;margin-top:16px}.security-menu ul{list-style:none;padding:0;margin:0}.security-menu li{margin-bottom:8px}.security-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-dark);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;border-left:3px solid transparent}.security-item:hover{background-color:#f3f4f6;color:var(--text-dark)}.security-item.active{background-color:var(--accent-light);color:var(--accent);border-left:3px solid var(--accent);font-weight:600}.security-footer{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px}.security-profile-card{display:flex;align-items:center;gap:12px;background:#f9fafb;padding:12px;border-radius:8px}.security-avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#60a5fa);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.security-profile-info{flex:1;min-width:0}.security-profile-name{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.security-profile-email{font-size:12px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.security-logout-btn{width:100%;padding:10px;background:transparent;border:1.5px solid #ef4444;border-radius:8px;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.security-logout-btn:hover{background:#fef2f2;color:#dc2626}.security-main{flex:1;overflow-y:auto;padding:96px 24px 24px;background:transparent;min-width:0;display:flex;flex-direction:column;align-items:stretch;transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease;margin-left:0}.dashboard-container{max-width:1200px;margin:0 auto;padding:20px;width:100%;box-sizing:border-box}.security-dashboard-container{display:flex;flex-direction:column;gap:0}.security-dashboard-container>.security-header,.security-dashboard-container>.security-summary-cards,.security-dashboard-container>.security-controls-card,.security-dashboard-container>.security-content-area{width:100%;max-width:100%;margin-left:0;margin-right:0}@media (max-width: 767px){.security-main{margin-left:0;padding-top:88px}}@media (min-width: 768px) and (max-width: 1024px){.security-main{margin-left:var(--sidebar-width, 280px)}}@media (min-width: 1025px){.security-main{margin-left:var(--sidebar-width, 280px)}}.outpass-header{background:var(--white);border-radius:12px 12px 0 0;padding:24px;margin-bottom:16px;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.outpass-refresh-btn{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:10px 18px;line-height:1.2;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;overflow:visible;text-align:center;flex:0 0 auto;white-space:nowrap}.outpass-refresh-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.outpass-refresh-btn:disabled{opacity:.7;cursor:wait}.outpass-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.outpass-summary-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.outpass-summary-card .card-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}.outpass-summary-card .card-value{font-size:28px;line-height:1;font-weight:800;color:#0f172a}.outpass-summary-card .card-subtitle{font-size:12px;color:#64748b}.outpass-summary-card-alert{background:#fff7ed;border-color:#fed7aa}.outpass-loading{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;text-align:center;color:#64748b;margin-bottom:16px}.grace-period-note{margin-top:8px;font-size:12px;color:#0f766e;font-weight:600}.outpass-mobile-cards{display:none}.outpass-mobile-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}.outpass-mobile-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.outpass-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.outpass-mobile-grid div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:4px}.outpass-mobile-grid div strong{font-size:13px;color:#0f172a;font-weight:600;word-break:break-word}.outpass-modal-overlay{z-index:4000!important}.outpass-details-modal{width:min(860px,96vw);border-radius:20px;border:1px solid #dbe6f4;overflow:hidden}.outpass-details-header{background:linear-gradient(180deg,#fff,#f8fbff);padding:20px 24px;position:relative}.outpass-details-header .modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.outpass-details-header h2{color:#ef4444;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.02em}.outpass-details-body{padding:18px 20px 12px}.outpass-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.outpass-detail-card{border:1px solid #dfe8f4;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 6px 14px #0f172a0d;padding:15px;display:flex;flex-direction:column;gap:6px}.outpass-details-grid .detail-label{font-size:12px;letter-spacing:.08em;color:#64748b;margin:0}.outpass-details-grid .detail-value{font-size:19px;color:#1f2937;line-height:1.4;white-space:normal;overflow:visible;text-overflow:unset}.outpass-details-grid .detail-sub{font-size:14px;color:#64748b;margin:0}.outpass-timeline{margin-bottom:10px;padding:14px 0 0;border-top:1px solid #ecf1f8;display:flex;flex-wrap:nowrap;gap:8px;align-items:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.outpass-timeline:before,.outpass-timeline:after{display:none}.outpass-timeline .timeline-time{max-width:none;font-size:12px}.outpass-timeline-item{align-items:flex-start;flex:1 1 0;min-width:0;border:1px solid #dfe8f4;border-radius:14px;padding:12px 13px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 4px 12px #0f172a0a;gap:6px;width:138px;min-width:138px;max-width:138px;height:94px;min-height:94px;max-height:94px;justify-content:space-between;overflow:hidden}.outpass-timeline-item:before{display:none}.outpass-timeline-item>div:first-of-type{margin:0;text-align:left;font-size:12px;font-weight:700;color:#334155;line-height:1.3}.outpass-timeline .timeline-time{text-align:left;line-height:1.25;color:#2563eb;font-weight:700;font-size:11px;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.outpass-timeline-item.active{border-color:#86efac;background:linear-gradient(180deg,#f7fff9,#ecfdf3)}.outpass-timeline-item.pending{border-color:#cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc)}.outpass-details-footer{border-top:1px solid #eef2f7;background:#fff;padding:14px 20px 18px}.outpass-details-close{min-width:140px;border-radius:10px;font-weight:700}.outpass-filters{background:var(--white);border-radius:12px;padding:16px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:16px;border:1px solid var(--border)}.outpass-filters .filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.outpass-filters .filter-group.wide{flex:1;min-width:240px}.outpass-filters .filter-label{font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.4px}.outpass-filters .filter-input,.outpass-filters .filter-select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);font-size:14px;color:var(--text-dark);background:var(--white)}.outpass-filters .filter-input:focus,.outpass-filters .filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.outpass-table{background:var(--white);border-radius:12px;border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm)}.outpass-table table{width:100%;border-collapse:collapse}.outpass-table th,.outpass-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-dark)}.outpass-table th{background:#f8fafc;font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:12px;color:var(--text-light)}.student-cell .student-name{font-weight:700;color:var(--text-dark)}.student-cell .student-id{font-size:12px;color:var(--text-light);margin-top:4px}.status-badge{padding:4px 10px;border-radius:999px;font-weight:700;font-size:11px;display:inline-flex;align-items:center;gap:6px}.status-approved{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.status-exited{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.status-returned{background:#dcfce7;color:#15803d;border:1px solid #86efac}.status-overdue{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.overdue-row{background:#fff1f2}.overdue-note{font-size:11px;color:#b91c1c;margin-top:6px;display:flex;align-items:center;gap:6px}.overdue-note:before{content:"⚠️"}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-buttons .btn-action{flex:1;min-width:120px;padding:10px 16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000}.modal-content{background:var(--white);border-radius:16px;width:min(750px,95vw);max-height:min(90vh,calc(100dvh - 32px));overflow-y:auto;border:none;box-shadow:0 20px 60px #00000040,0 0 1px #0000001a}@media (max-width: 767px){.modal-overlay{align-items:flex-start;padding:calc(env(safe-area-inset-top) + 14px) 12px 12px}.modal-content{width:min(96vw,560px);max-height:calc(100dvh - env(safe-area-inset-top) - 24px);border-radius:14px}}.modal-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0}.modal-header h2{margin:0;font-size:22px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px}.modal-close{border:none;background:transparent;border-radius:8px;width:36px;height:36px;font-size:24px;cursor:pointer;color:var(--text-light);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:var(--text-dark)}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #f0f0f0}.details-grid>div{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:baseline}.detail-label{grid-column:1;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6b7280}.detail-value{grid-column:2;font-size:16px;font-weight:600;color:var(--text-dark);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-sub{grid-column:1 / -1;font-size:16px;color:var(--text-light);margin-top:0;line-height:1.4}.timeline{display:flex;gap:0;justify-content:space-between;align-items:flex-start;margin-bottom:24px;position:relative}.timeline:before{content:"";position:absolute;top:16px;left:24px;right:24px;height:2px;background:#e5e7eb;z-index:0}.timeline-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.timeline-item:before{content:"";width:32px;height:32px;border-radius:50%;background:#e5e7eb;border:3px solid var(--white);margin-bottom:12px;flex-shrink:0;transition:all .3s ease}.timeline-item.active:before{background:var(--green);box-shadow:0 0 0 3px #dcfce7}.timeline-item.pending:before{background:#d1d5db}.timeline-item.current:before{background:var(--orange);box-shadow:0 0 0 3px #fef3c7}.timeline-item>div:first-of-type{font-size:12px;font-weight:600;color:var(--text-dark);text-align:center;margin-bottom:4px}.timeline-time{font-size:11px;color:var(--text-light);text-align:center;line-height:1.3;max-width:80px}.modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end;gap:12px}.modal-footer .btn-action{min-width:120px;padding:12px 24px}.btn-secondary{padding:10px 24px;border-radius:8px;border:1.5px solid #d1d5db;background:var(--white);font-weight:600;cursor:pointer;color:var(--text-dark);font-size:14px;transition:all .2s ease;min-width:100px}.btn-secondary:hover{border-color:#9ca3af;background:#f9fafb}.btn-secondary:active{transform:scale(.98)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;border:1.5px solid}.status-badge.approved,.status-approved{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.status-badge.pending,.status-pending{background:#fffbeb;color:#b45309;border-color:#fcd34d}.status-badge.rejected,.status-overdue{background:#fef2f2;color:#991b1b;border-color:#fecaca}.status-badge.out,.status-exited{background:#eff6ff;color:#0369a1;border-color:#bae6fd}.status-badge.returned{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.status-badge.returned-late{background:#fff7ed;color:#b45309;border-color:#fdba74;padding-right:18px;box-sizing:border-box}.notes-section{padding-top:20px;border-top:1px solid #f0f0f0}.notes-section .detail-label{margin-bottom:8px}.notes-content{font-size:14px;line-height:1.6;color:var(--text-dark);background:#f9fafb;padding:14px 16px;border-radius:8px;border-left:3px solid var(--accent)}.parcel-header{background:linear-gradient(180deg,#fff,#f7fafc);border-radius:16px;padding:24px 28px;margin-bottom:16px;width:100%;border:1px solid #e6ecf2;box-shadow:0 8px 20px #0f172a0f;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.parcel-header .header-content{display:flex;flex-direction:column;gap:6px}.parcel-header-actions{display:flex;align-items:center}.parcel-header-btn{padding:12px 22px;font-size:15px;font-weight:700;border-radius:10px;box-shadow:0 8px 18px #3b82f640;min-width:240px;text-align:center}.parcel-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.parcel-summary-card{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.parcel-summary-card .card-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:700}.parcel-summary-card .card-value{font-size:30px;line-height:1;color:#0f172a;font-weight:800}.parcel-summary-card .card-subtitle{font-size:12px;color:#64748b}.parcel-summary-received{background:#fff7ed;border-color:#fed7aa}.parcel-summary-notified{background:#eef2ff;border-color:#c7d2fe}.parcel-summary-collected{background:#ecfdf5;border-color:#a7f3d0}.parcel-controls-card{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}.parcel-controls-card .filter-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.parcel-controls-card .filter-select{padding:11px 12px;border-radius:10px;border:1px solid #dbe3ec;font-size:15px;color:#0f172a;background:#fff;min-height:44px}.parcel-controls-card .filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.parcel-status-filter{display:flex;flex-direction:column;gap:6px;min-width:180px}.parcel-search-row{flex:1}.parcel-controls-card .parcel-search-row .filter-input{flex:1;min-width:280px;max-width:none;width:100%;padding:11px 14px;border-radius:10px;border:1px solid #dbe3ec;font-size:15px;color:#0f172a;background:#fff;min-height:44px}.parcel-controls-card .parcel-search-row .filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.parcel-search-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.parcel-search-actions .btn-action{min-height:44px;min-width:112px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:700;white-space:nowrap;justify-content:center}.parcel-form-modal{display:flex;flex-direction:column;gap:14px}.form-group textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #dbe3ec;font-size:14px;color:#0f172a;background:#fff;font-family:inherit;resize:vertical}.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.parcel-modal-overlay{z-index:4000!important}.parcel-modal-content{width:min(860px,96vw)}.parcel-details-modal{width:min(860px,96vw);border-radius:20px;border:1px solid #dbe6f4;overflow:hidden}.parcel-details-header{background:linear-gradient(180deg,#fff,#f8fbff);padding:20px 24px;position:relative}.parcel-details-header .modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.parcel-details-header h2{color:#ef4444;font-size:clamp(30px,3.2vw,42px);letter-spacing:-.02em}.parcel-details-body{padding:18px 20px 12px}.parcel-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parcel-detail-card{border:1px solid #dfe8f4;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 6px 14px #0f172a0d;padding:15px;display:flex;flex-direction:column;gap:6px}.parcel-detail-card-wide{grid-column:1 / -1}.parcel-details-grid .detail-label{font-size:12px;letter-spacing:.08em;color:#64748b;margin:0}.parcel-details-grid .detail-value{font-size:20px;color:#1f2937;line-height:1.4;white-space:normal;overflow:visible;text-overflow:unset}.parcel-details-grid .detail-sub{font-size:14px;color:#64748b;margin:0;line-height:1.5}.parcel-details-footer{border-top:1px solid #eef2f7;background:#fff;padding:14px 20px 18px}.parcel-details-close{min-width:140px;border-radius:10px;font-weight:700}.parcel-cards-mobile{display:none}.parcel-card-mobile{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;margin-bottom:12px}.parcel-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.parcel-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.parcel-card-grid div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:4px}.parcel-card-grid div strong{font-size:13px;color:#0f172a;font-weight:600;word-break:break-word}.parcel-card-time{font-size:12px;color:#64748b;margin-bottom:10px}.parcel-form{background:#fff;border-radius:16px;padding:18px 24px;border:1px solid #e6ecf2;margin-bottom:16px;width:100%;box-shadow:0 6px 16px #0f172a0a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:10px 12px;border-radius:10px;border:1px solid #dbe3ec;font-size:14px;color:#0f172a;background:#fff;min-height:42px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.form-group.wide{grid-column:1 / -1}.parcel-search-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.parcel-search-row input{flex:0 1 340px;min-width:220px;max-width:380px}.parcel-search-row .btn-action{white-space:nowrap;flex:0 0 auto;padding:10px 20px;font-size:14px;border-radius:10px}.form-actions{display:flex;gap:12px;margin-top:16px}.parcel-table{background:#fff;border-radius:16px;border:1px solid #e6ecf2;overflow:hidden;box-shadow:0 8px 20px #0f172a0f;width:100%;overflow-x:auto}.parcel-table table{width:100%;border-collapse:collapse}.parcel-table th,.parcel-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #eef2f7;font-size:13px;color:#0f172a}.parcel-table th{background:#f8fafc;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:11px;color:#64748b}.parcel-table tbody tr:hover{background:#f8fbff}.parcel-table .status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.notified-pill{display:inline-flex;margin-top:6px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.parcel-received{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.parcel-notified{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.parcel-collected{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.visitor-header{background:var(--white);border-radius:12px 12px 0 0;padding:24px;margin-bottom:16px}.visitor-form{background:var(--white);border-radius:12px;padding:16px 24px;border:1px solid var(--border);margin-bottom:16px}.visitor-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.visitor-summary-card{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.visitor-summary-card .card-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:700}.visitor-summary-card .card-value{font-size:30px;line-height:1;color:#0f172a;font-weight:800}.visitor-summary-card .card-subtitle{font-size:12px;color:#64748b}.visitor-summary-history{background:#eff6ff;border-color:#bfdbfe}.visitor-summary-exit{background:#ecfdf5;border-color:#a7f3d0}.visitor-student-search{position:relative}.visitor-student-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #dbe3ec;border-radius:10px;max-height:220px;overflow-y:auto;z-index:1300;box-shadow:0 8px 18px #0f172a1f}.visitor-student-option{padding:10px 12px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .2s ease}.visitor-student-option:last-child{border-bottom:none}.visitor-student-option:hover{background:#f8fbff}.visitor-student-name{font-weight:600;color:#0f172a}.visitor-student-meta{font-size:12px;color:#64748b}.readonly-input{background:#f8fafc!important}.visitor-panel{background:var(--white);border-radius:12px;border:1px solid var(--border);padding:16px 24px 8px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text-dark)}.panel-pill{padding:4px 10px;border-radius:999px;background:#ecfdf5;color:#15803d;font-size:12px;font-weight:700;border:1px solid #86efac}.visitor-table table{width:100%;border-collapse:collapse}.visitor-table th,.visitor-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-dark)}.visitor-table th{background:#f8fafc;font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:12px;color:var(--text-light)}.status-inside{background:#dcfce7;color:#15803d;border:1px solid #86efac}.status-exited{background:#e5e7eb;color:#111827;border:1px solid #9ca3af}.visitor-cards-mobile,.visitor-history-cards-mobile{display:none}.visitor-card-mobile{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;margin-bottom:12px}.visitor-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.visitor-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.visitor-card-grid div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:4px}.visitor-card-grid div strong{font-size:13px;color:#0f172a;font-weight:600;word-break:break-word}.visitor-modal-overlay{z-index:4000!important}.visitor-details-modal{width:min(860px,96vw);border-radius:20px;border:1px solid #dbe6f4;overflow:hidden}.visitor-details-header{background:linear-gradient(180deg,#fff,#f8fbff);padding:20px 24px;position:relative}.visitor-details-header h2{color:#ef4444;font-size:clamp(30px,3.2vw,42px);letter-spacing:-.02em}.visitor-details-header .modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.visitor-details-body{padding:18px 20px 12px}.visitor-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.visitor-detail-card{border:1px solid #dfe8f4;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 6px 14px #0f172a0d;padding:15px;display:flex;flex-direction:column;gap:6px}.visitor-details-grid .detail-label{font-size:12px;letter-spacing:.08em;color:#64748b;margin:0}.visitor-details-grid .detail-value{font-size:20px;color:#1f2937;line-height:1.4;white-space:normal;overflow:visible;text-overflow:unset}.visitor-details-grid .detail-sub{font-size:14px;color:#64748b;margin:0;line-height:1.5}.visitor-mini-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visitor-mini-step{border:1px solid #dbe3ec;border-radius:12px;padding:12px;background:#fbfdff;display:flex;flex-direction:column;gap:4px}.visitor-mini-step span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:700}.visitor-mini-step strong{font-size:14px;color:#1e3a8a}.visitor-mini-step-active{background:#ecfdf5;border-color:#a7f3d0}.visitor-details-footer{border-top:1px solid #eef2f7;background:#fff;padding:14px 20px 18px}.visitor-details-close{min-width:140px;border-radius:10px;font-weight:700}.logs-header{background:linear-gradient(135deg,#fff,#f7fafc);border-radius:16px;padding:28px 32px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid #e6ecf2;box-shadow:0 8px 20px #0f172a0f}.logs-header .header-content{flex:1;min-width:300px}.logs-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.logs-controls .btn-action{min-width:140px;padding:12px 24px}.logs-controls .filter-group{display:flex;flex-direction:column;gap:6px}.logs-controls .filter-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.logs-controls .filter-input{padding:10px 14px;border-radius:10px;border:1px solid #dbe3ec;font-size:14px;background:#fff;transition:all .2s ease}.logs-controls .filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.log-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.log-summary-card{background:linear-gradient(135deg,#fff,#fafbfc);border-radius:14px;border:1px solid #e6ecf2;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 16px #0f172a0a;transition:all .3s ease;cursor:pointer}.log-summary-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0f172a14;border-color:#d1d5db}.log-summary-card .card-content{display:flex;flex-direction:column;gap:4px;flex:1}.log-summary-card .card-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.log-summary-card .card-value{font-size:24px;font-weight:700;color:#0f172a}.log-summary-card .card-icon{font-size:32px;opacity:.7;margin-left:12px}.log-filters{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #e6ecf2;border-radius:14px;padding:16px 20px;display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:24px;box-shadow:0 4px 12px #0f172a0a}.log-filters .filter-group{display:flex;flex-direction:column;gap:6px}.log-filters .filter-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.log-filters .filter-select{padding:10px 14px;border-radius:10px;border:1px solid #dbe3ec;font-size:14px;background:#fff;color:#0f172a;min-height:40px;transition:all .2s ease;cursor:pointer}.log-filters .filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.log-filters .filter-select:hover{border-color:#cbd5e1}.log-filter-reset-group .btn-action{min-height:42px;border-radius:10px;font-size:13px}.log-table{background:#fff;border:1px solid #e6ecf2;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px #0f172a0f}.log-table table{width:100%;border-collapse:collapse}.log-table th,.log-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #eef2f7;font-size:13px;color:#0f172a}.log-table th{background:linear-gradient(180deg,#f8fafc,#f3f7fc);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:11px;color:#64748b;background-color:#f8fafc;border-bottom:2px solid #dbe3ec}.log-table tbody tr{cursor:pointer;transition:all .2s ease;border-bottom:1px solid #eef2f7}.log-table tbody tr:last-child{border-bottom:none}.log-table tbody tr:nth-child(2n){background:#0f172a05}.log-table tbody tr:hover{background:#3b82f614;border-left:3px solid #3b82f6;padding-left:13px}.log-table .mono{font-family:Monaco,Courier New,monospace;font-size:12px;color:#64748b}.log-cards-mobile{display:none}.log-card-mobile{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:14px;margin-bottom:12px;cursor:pointer}.log-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.log-card-head strong{color:#0f172a;font-size:15px}.log-card-mobile p{margin:0 0 10px;color:#334155;font-size:13px;line-height:1.45}.log-card-meta{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:12px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.log-completed{background:#dcfce7;color:#15803d;border:1px solid #86efac}.log-active{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.log-alert{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.log-low{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.log-medium{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.log-high{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.log-critical{background:#7f1d1d;color:#fecaca;border:1px solid #dc2626}.security-header{margin-bottom:24px}.page-header-card{background:#fff;border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 4px 10px #0000000d;border:1px solid #e6ecf2}.security-header-card{background:#fff}.security-title-main{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 4px}.security-subtitle{font-size:14px;color:var(--text-light);margin:0}.stats-grid,.security-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.security-status-card{background-color:var(--white);border-radius:14px;padding:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 18px #0f172a0d;border:1px solid #e6ecf2;border-top:3px solid}.security-status-card.awaiting{border-top-color:var(--orange);background:linear-gradient(135deg,#f59e0b0d,#f59e0b05)}.security-status-card.out{border-top-color:var(--accent);background:linear-gradient(135deg,#3b82f60d,#3b82f605)}.security-status-card.returned{border-top-color:var(--green);background:linear-gradient(135deg,#10b9810d,#10b98105)}.security-status-card.parcels{border-top-color:var(--purple);background:linear-gradient(135deg,#8b5cf60d,#8b5cf605)}.card-content{display:flex;flex-direction:column;gap:4px}.card-label{font-size:13px;color:var(--text-light);font-weight:500}.card-value{font-size:24px;font-weight:700;color:var(--text-dark)}.card-icon{font-size:28px}.security-controls-card{background:var(--white);border:1px solid #e6ecf2;border-radius:16px;padding:18px 20px;margin-bottom:24px;box-shadow:0 8px 20px #0f172a0d}.search-section{margin-top:20px}.search-container{position:relative;margin-bottom:18px}.search-input{width:100%;padding:13px 16px 13px 46px;border:1px solid #dbe3ec;border-radius:12px;font-size:14px;background-color:var(--white);color:var(--text-dark);box-shadow:inset 0 1px 2px #0f172a0a;transition:all .2s ease}.search-input::placeholder{color:var(--text-light)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;color:var(--text-light)}.tab-switcher{display:flex;gap:8px;margin-bottom:0;padding:4px;background:#f8fafc;border:1px solid #e6ecf2;border-radius:12px}.tab-button{flex:1;padding:12px 16px;background:transparent;border:none;border-radius:10px;color:var(--text-light);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button:hover{color:var(--accent)}.tab-button.active{color:var(--accent);background:#eef2ff;box-shadow:0 1px 2px #0f172a0f}.tab-label{display:flex;align-items:center}.tab-badge{font-size:12px;font-weight:700;background-color:var(--bg-light);color:var(--text-dark);padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.tab-button.active .tab-badge{background-color:#3b82f61a;color:var(--accent)}.security-content-area{background-color:var(--white);border-radius:16px;padding:24px;border:1px solid #e6ecf2;box-shadow:0 8px 20px #0f172a0d;min-height:300px;display:block}.security-list{display:flex;flex-direction:column;gap:16px}.security-card{border:1px solid #e6ecf2;border-radius:14px;padding:18px;background:linear-gradient(180deg,#fff,#f8fafc);display:grid;gap:12px;transition:all .2s ease}.security-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-main{display:flex;flex-direction:column;gap:4px}.card-title{font-weight:700;color:var(--text-dark);font-size:16px}.card-subtitle{color:var(--text-light);font-size:13px}.card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;background:var(--white);border-radius:12px;padding:12px;border:1px solid #e6ecf2}.security-card-meta-block{margin-top:8px;font-size:13px;color:#6b7280;display:flex;flex-direction:column;gap:4px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);font-weight:600}.detail-value{font-size:13px;color:var(--text-dark);font-weight:600}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.status-pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.status-pill.awaiting-exit{background:#f59e0b26;color:#b45309;border-color:#f59e0b66}.status-pill.currently-out{background:#3b82f626;color:#1d4ed8;border-color:#3b82f666}.status-pill.returned{background:#10b98126;color:#047857;border-color:#10b98166}.status-pill.pending-pickup{background:#f59e0b26;color:#b45309;border-color:#f59e0b66}.status-pill.collected{background:#10b98126;color:#047857;border-color:#10b98166}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-action{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--text-dark);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-action .btn-spinner,.btn-primary .btn-spinner,.btn-checkout .btn-spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#ffffffe6;animation:btn-spin .8s linear infinite;margin-right:8px;vertical-align:middle}.btn-action:not(.primary) .btn-spinner{border-color:#0f172a33;border-top-color:#0f172aa6}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-action:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-action.primary{background:var(--accent);border-color:var(--accent);color:var(--white)}.btn-action.primary:hover{background:#2563eb;border-color:#2563eb}.btn-action.danger{background:#dc2626;border-color:#dc2626;color:var(--white)}.btn-action.danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-checkout{margin-top:8px;padding:9px 14px;font-size:13px;font-weight:700;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 14px #10b98138}.btn-checkout:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #10b98147}.btn-checkout:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.security-loading-state{min-height:280px;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;border:1px dashed #dbe3ec;border-radius:14px;background:linear-gradient(135deg,#fff,#fafbfc)}.security-empty-state{margin-top:0;min-height:280px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-light);padding:60px 20px;min-height:400px;text-align:center;background:linear-gradient(135deg,#fff,#fafbfc);border:1px dashed #dbe3ec;border-radius:14px;margin-top:16px}.empty-icon{font-size:56px;opacity:.6;display:block}.empty-message{font-size:15px;margin:0;color:#64748b;font-weight:500}@media (max-width: 1200px){.details-grid{gap:28px 32px}.modal-content{width:min(85vw,750px)}}@media (max-width: 768px){.modal-overlay{padding:12px}.modal-content{width:min(95vw,600px);border-radius:14px}.details-grid{grid-template-columns:1fr;gap:20px;margin-bottom:24px;padding-bottom:20px}.timeline{flex-wrap:wrap;gap:16px;justify-content:flex-start}.timeline:before{display:none}.timeline-item{min-width:calc(50% - 8px)}.timeline-item:before{width:28px;height:28px}.timeline-time{font-size:10px;max-width:70px}.modal-header h2{font-size:20px}.detail-label,.detail-value,.detail-sub{font-size:14px}.stats-grid,.security-summary-cards{grid-template-columns:repeat(2,1fr)}.dashboard-container{padding:16px}.security-header-card,.security-controls-card,.security-content-area{padding:18px}.search-container{margin-bottom:14px}.outpass-header{padding:16px;flex-direction:column;align-items:stretch}.outpass-refresh-btn{width:100%;min-width:0}.outpass-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.outpass-filters{padding:14px}.outpass-filters .filter-group,.outpass-filters .filter-group.wide{width:100%;min-width:0;flex:1 1 100%}.outpass-table{display:none}.outpass-mobile-cards{display:block}.outpass-details-modal{width:min(96vw,620px);border-radius:16px}.outpass-details-header{padding:16px 18px}.outpass-details-body{padding:14px}.outpass-details-grid{grid-template-columns:1fr;gap:10px}.outpass-timeline{display:flex;flex-direction:column;flex-wrap:nowrap;gap:10px;padding:10px 0 0;overflow-x:visible;overflow-y:visible;-webkit-overflow-scrolling:touch}.outpass-timeline:before,.outpass-timeline:after{display:none}.outpass-timeline-item{align-items:flex-start;flex:1 1 auto;width:100%;min-width:0;max-width:none;height:auto;min-height:0;max-height:none;gap:6px}.outpass-timeline-item:before{display:none}.outpass-timeline-item>div:first-of-type{margin:0;text-align:left;font-size:13px}.outpass-timeline .timeline-time{text-align:left;max-width:none;font-size:12px}.outpass-details-footer{padding:12px 14px 14px}.outpass-details-close{width:100%}.outpass-details-header .modal-close{position:absolute;top:10px;right:10px;z-index:2}}@media (max-width: 768px){.security-layout{display:flex;flex-direction:column;min-height:100vh;padding:0;align-items:stretch;justify-content:flex-start}.security-sidebar{display:none}.security-summary-cards{grid-template-columns:repeat(2,1fr)}.security-main{flex:1;padding:88px 16px 16px}.security-title-main{font-size:24px}.card-value{font-size:20px}}@media (max-width: 480px){.dashboard-container{padding:12px}.security-main{padding:88px 12px 12px}.modal-overlay{padding:8px}.modal-content{width:100%;max-height:95vh;border-radius:12px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-body{padding:16px}.outpass-summary-cards,.outpass-mobile-grid{grid-template-columns:1fr}.details-grid{gap:16px;margin-bottom:20px;padding-bottom:16px}.detail-label{font-size:13px;letter-spacing:.4px}.detail-value,.detail-sub{font-size:13px}.timeline{gap:12px}.timeline-item{min-width:100%}.timeline-item>div:first-of-type{font-size:11px}.timeline-time{font-size:10px;max-width:100%}.modal-footer{padding:12px 16px 16px}.btn-secondary{padding:9px 20px;font-size:13px;min-width:80px}.status-badge{padding:6px 12px;font-size:13px}.security-title-main{font-size:20px}.stats-grid,.security-summary-cards{grid-template-columns:1fr;gap:12px}.security-summary-cards .security-status-card{padding:12px}.card-label{font-size:12px}.card-value{font-size:18px}.card-icon{font-size:24px}.search-input{padding:10px 14px 10px 40px;font-size:13px}.search-icon{left:14px;right:auto}.tab-button{padding:10px 12px;font-size:13px}.security-content-area{padding:24px 16px;min-height:250px}.card-meta{flex-direction:column;align-items:flex-start}.details-grid{grid-template-columns:1fr}.empty-icon{font-size:40px}.empty-message{font-size:13px}}.ai-status-banner{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:24px;box-shadow:0 4px 6px #667eea33}.ai-status-icon{font-size:40px;line-height:1}.ai-status-content{flex:1}.ai-status-title{font-size:18px;font-weight:600;color:var(--white);margin-bottom:6px}.status-active{display:inline-flex;align-items:center;background:#fff3;padding:2px 10px;border-radius:12px;font-size:14px}.status-active:before{content:"●";color:#10b981;margin-right:6px;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.ai-status-description{font-size:14px;color:#ffffffe6;margin:0;line-height:1.5}.alert-filters{display:flex;gap:16px;margin-bottom:24px;padding:16px;background:var(--white);border-radius:8px;border:1px solid var(--border)}.secdash-shell{width:min(1240px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}.secdash-page{width:100%;min-width:0}.secdash-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 34%),linear-gradient(145deg,#fff,#f8fbff 48%,#eef4ff);border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 42px #0f172a14}.secdash-hero-copy{display:flex;flex-direction:column;gap:12px;min-width:0}.secdash-eyebrow{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:#2563eb1a;color:#1d4ed8;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-hero h1{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.04;letter-spacing:-.03em;color:#0f172a}.secdash-hero p{margin:0;max-width:700px;color:#475569;font-size:16px;line-height:1.6}.secdash-hero-side{display:flex;flex-direction:column;gap:14px;justify-content:space-between}.secdash-hero-stat{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:22px;background:#ffffffc7;border:1px solid rgba(148,163,184,.2)}.secdash-hero-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-hero-stat strong{color:#0f172a;font-size:24px;line-height:1}.secdash-hero-stat span:last-child{color:#64748b;font-size:13px;line-height:1.45}.secdash-refresh-btn{align-self:flex-start;padding:13px 18px;border:none;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 12px 24px #2563eb38;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.secdash-refresh-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px #2563eb47}.secdash-refresh-btn:disabled{opacity:.7;cursor:wait}.secdash-alert{padding:14px 16px;border-radius:16px;border:1px solid rgba(239,68,68,.22);background:#fff5f5;color:#b91c1c;font-size:14px;font-weight:600}.secdash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.secdash-metric{min-height:152px;padding:22px;border-radius:24px;border:1px solid rgba(148,163,184,.18);background:#fff;box-shadow:0 14px 32px #0f172a0f;display:flex;flex-direction:column;gap:10px}.secdash-metric-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-metric strong{font-size:38px;line-height:1;color:#0f172a}.secdash-metric p{margin:0;color:#475569;font-size:14px;line-height:1.5}.secdash-metric-live{background:linear-gradient(180deg,#fff,#f0fdf4)}.secdash-metric-cool{background:linear-gradient(180deg,#fff,#eff6ff)}.secdash-metric-alert{background:linear-gradient(180deg,#fff,#fff7ed)}.secdash-metric-neutral{background:linear-gradient(180deg,#fff,#f8fafc)}.secdash-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.82fr);gap:20px;align-items:start}.secdash-panel,.secdash-visitor-card{border-radius:26px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 18px 36px #0f172a12}.secdash-panel{padding:22px}.secdash-panel-primary{min-height:520px}.secdash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.secdash-panel-head-stack{align-items:stretch}.secdash-panel-head h2{margin:0;color:#0f172a;font-size:24px;letter-spacing:-.02em}.secdash-panel-head p{margin:6px 0 0;color:#64748b;font-size:14px;line-height:1.5}.secdash-inline-count{min-width:38px;height:38px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700}.secdash-search{width:min(360px,100%);display:flex;flex-direction:column;gap:8px}.secdash-search span{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-search input{width:100%;min-width:0;padding:14px 16px;border-radius:16px;border:1px solid #dbe4ef;background:#fff;color:#0f172a;font-size:14px;box-shadow:inset 0 1px 2px #0f172a08}.secdash-search input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px #3b82f61f}.secdash-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.secdash-visitor-card{padding:18px;display:flex;flex-direction:column;gap:18px}.secdash-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.secdash-card-top h3{margin:0;font-size:19px;color:#0f172a}.secdash-card-top p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.45}.secdash-status-pill{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize;white-space:nowrap}.secdash-status-live{background:#eafbf1;color:#047857}.secdash-status-cool{background:#eaf3ff;color:#1d4ed8}.secdash-status-alert{background:#fff1e8;color:#c2410c}.secdash-status-muted{background:#f1f5f9;color:#475569}.secdash-visitor-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin:0}.secdash-visitor-details div{min-width:0}.secdash-visitor-details dt{margin:0 0 4px;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-visitor-details dd{margin:0;color:#1e293b;font-size:14px;line-height:1.5;word-break:break-word}.secdash-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}.secdash-footnote{color:#64748b;font-size:13px}.secdash-action-btn{padding:11px 14px;border:none;border-radius:14px;background:#0f172a;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.secdash-action-btn:hover:not(:disabled){transform:translateY(-1px)}.secdash-action-btn:disabled{opacity:.65;cursor:wait}.secdash-rail{display:flex;flex-direction:column;gap:20px}.secdash-log-list{display:flex;flex-direction:column;gap:14px}.secdash-log-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-top:1px solid #eef2f7}.secdash-log-item:first-child{border-top:none;padding-top:0}.secdash-log-dot{width:12px;height:12px;border-radius:50%;margin-top:8px}.secdash-log-live{background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.secdash-log-cool{background:#3b82f6;box-shadow:0 0 0 4px #3b82f61f}.secdash-log-alert{background:#f97316;box-shadow:0 0 0 4px #f973161f}.secdash-log-copy h3{margin:0;color:#0f172a;font-size:15px}.secdash-log-copy p{margin:6px 0;color:#475569;font-size:14px;line-height:1.5;word-break:break-word}.secdash-log-copy span{color:#94a3b8;font-size:12px;font-weight:600}.secdash-snapshot-list{display:flex;flex-direction:column;gap:14px}.secdash-snapshot-item{padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid #e6edf7}.secdash-snapshot-item span{display:block;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.secdash-snapshot-item strong{display:block;margin-top:8px;color:#0f172a;font-size:18px}.secdash-snapshot-item p{margin:8px 0 0;color:#475569;font-size:13px;line-height:1.5}.secdash-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;border-radius:22px;border:1px dashed #cbd5e1;background:linear-gradient(180deg,#fbfdff,#f4f8fc);text-align:center}.secdash-empty-mark{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-size:18px;font-weight:800}.secdash-empty h3{margin:0;color:#0f172a;font-size:20px}.secdash-empty p{max-width:420px;margin:0;color:#64748b;font-size:14px;line-height:1.6}.secdash-skeleton-card,.secdash-log-skeleton{position:relative;overflow:hidden;background:#edf2f7}.secdash-skeleton-card:after,.secdash-log-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:secdash-shimmer 1.5s infinite}.secdash-skeleton-card{min-height:250px;border-radius:22px}.secdash-log-skeletons{display:flex;flex-direction:column;gap:12px}.secdash-log-skeleton{height:74px;border-radius:16px}@keyframes secdash-shimmer{to{transform:translate(100%)}}@media (max-width: 1180px){.secdash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.secdash-workspace{grid-template-columns:1fr}.secdash-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.secdash-hero{grid-template-columns:1fr;padding:24px}.secdash-search{width:100%}.secdash-card-grid,.secdash-visitor-details,.secdash-rail{grid-template-columns:1fr}}@media (max-width: 640px){.secdash-shell{gap:18px}.secdash-hero,.secdash-panel,.secdash-metric{border-radius:20px}.secdash-hero,.secdash-panel,.secdash-metric,.secdash-visitor-card{padding:18px}.secdash-metrics{grid-template-columns:1fr}.secdash-panel-head,.secdash-card-top,.secdash-card-actions{flex-direction:column;align-items:stretch}.secdash-inline-count{align-self:flex-start}.secdash-refresh-btn,.secdash-action-btn{width:100%;justify-content:center}}.logs-modal-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:4000!important;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.logs-modal-content{width:min(760px,95vw)}.logs-details-header{position:relative}.logs-details-header .modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.logs-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.logs-detail-item{min-width:0;border:1px solid #e6edf7;border-radius:12px;padding:12px 14px;background:#fbfdff}.logs-detail-item-full{grid-column:1 / -1}.logs-detail-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:6px}.logs-detail-value{font-size:15px;font-weight:600;line-height:1.5;color:#0f172a;white-space:normal;word-break:break-word}.logs-details-footer{border-top:1px solid #eef2f7;background:#fff}.logs-details-close{min-width:140px;border-radius:10px;font-weight:700}@media (max-width: 700px){.logs-modal-overlay{align-items:flex-start;padding:calc(env(safe-area-inset-top) + 12px) 10px 10px}.logs-details-grid{grid-template-columns:1fr}.logs-modal-content{width:min(95vw,560px)}.logs-details-close{width:100%}}@media (max-width: 768px){.visitor-summary-cards{grid-template-columns:1fr}.visitor-form{padding:14px}.visitor-student-dropdown{max-height:180px}.visitor-table{display:none}.visitor-cards-mobile,.visitor-history-cards-mobile{display:block}.visitor-card-grid{grid-template-columns:1fr}.visitor-details-modal{width:min(96vw,620px);border-radius:16px}.visitor-details-header{padding:16px 18px}.visitor-details-body{padding:14px}.visitor-details-grid,.visitor-mini-timeline{grid-template-columns:1fr}.visitor-details-footer{padding:12px 14px 14px}.visitor-details-close{width:100%}}.alert-filters .filter-group{display:flex;align-items:center;gap:8px}.alert-filters label{font-weight:500;font-size:14px;color:var(--text)}.alert-filters select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--white);cursor:pointer;min-width:150px}.alert-filters select:focus{outline:none;border-color:var(--accent)}.alerts-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.alert-card{background:var(--white);border:2px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease}.alert-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.alert-card.risk-high{border-left:5px solid #ef4444;background:linear-gradient(to right,rgba(239,68,68,.05) 0%,var(--white) 50%)}.alert-card.risk-medium{border-left:5px solid #f59e0b;background:linear-gradient(to right,rgba(245,158,11,.05) 0%,var(--white) 50%)}.alert-card.risk-low{border-left:5px solid #10b981;background:linear-gradient(to right,rgba(16,185,129,.05) 0%,var(--white) 50%)}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.alert-type-badge{background:var(--accent);color:var(--white);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.risk-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.risk-badge.risk-high{background:#ef444426;color:#dc2626}.risk-badge.risk-medium{background:#f59e0b26;color:#d97706}.risk-badge.risk-low{background:#10b98126;color:#059669}.alert-body{margin-bottom:16px}.alert-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 10px}.alert-explanation{font-size:14px;color:var(--text);line-height:1.6;margin:0 0 12px}.alert-explanation strong{color:var(--accent)}.alert-meta{display:flex;gap:20px;font-size:13px;color:var(--text-light)}.alert-time{display:inline-flex;align-items:center;gap:4px}.alert-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-weight:500}.alert-status.status-pending{background:#f59e0b26;color:#d97706}.alert-status.status-acknowledged{background:#10b98126;color:#059669}.alert-status.status-escalated{background:#ef444426;color:#dc2626}.alert-actions{display:flex;gap:10px;padding-top:16px;border-top:1px solid var(--border)}.alert-actions button{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-view-details{background:var(--accent);color:var(--white)}.btn-view-details:hover{background:#2563eb}.btn-acknowledge{background:#10b981;color:var(--white)}.btn-acknowledge:hover{background:#059669}.btn-escalate{background:#ef4444;color:var(--white)}.btn-escalate:hover{background:#dc2626}.ai-explanation-panel{background:linear-gradient(135deg,#f6f8fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;padding:24px;margin-top:32px}.ai-explanation-panel h3{font-size:18px;font-weight:600;color:var(--text);margin:0 0 12px}.ai-explanation-panel p{font-size:14px;color:var(--text);line-height:1.6;margin:0 0 16px}.ai-explanation-panel ul{list-style:none;padding:0;margin:0 0 16px}.ai-explanation-panel li{font-size:14px;color:var(--text);line-height:1.8;padding-left:24px;position:relative;margin-bottom:10px}.ai-explanation-panel li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:700}.ai-note{background:#3b82f61a;border-left:4px solid var(--accent);padding:12px 16px;border-radius:6px;margin-bottom:0!important}.alert-modal{max-width:700px;max-height:85vh;overflow-y:auto}.alert-detail-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.alert-detail-section:last-of-type{border-bottom:none}.alert-detail-section h3{font-size:16px;font-weight:600;color:var(--text);margin:0 0 16px}.detail-row{display:flex;gap:12px;margin-bottom:12px;align-items:center}.detail-label{font-weight:600;color:var(--text-light);min-width:120px;font-size:14px}.detail-value{color:var(--text);font-size:14px}.condition-item{background:var(--bg-secondary);padding:12px;border-radius:6px;margin-bottom:12px}.condition-item:last-child{margin-bottom:0}.condition-item strong{display:block;color:var(--accent);margin-bottom:6px;font-size:14px}.condition-item p{margin:0;color:var(--text);font-size:14px;line-height:1.5}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--border)}.timeline-item{position:relative;margin-bottom:16px;padding-left:20px}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;left:-18px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--white);box-shadow:0 0 0 2px var(--accent)}.timeline-time{font-weight:600;color:var(--accent);font-size:13px;margin-bottom:4px}.timeline-event{color:var(--text);font-size:14px;line-height:1.5}.recommendation-section{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;border-radius:8px;padding:20px}.recommendation-section h3{color:#667eea}.recommendation-text{font-size:14px;color:var(--text);line-height:1.6;margin:0;font-weight:500}.modal-footer{display:flex;gap:10px;justify-content:flex-end}.btn-modal-acknowledge,.btn-modal-escalate,.btn-modal-close{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-modal-acknowledge{background:#10b981;color:var(--white)}.btn-modal-acknowledge:hover{background:#059669}.btn-modal-escalate{background:#ef4444;color:var(--white)}.btn-modal-escalate:hover{background:#dc2626}.btn-modal-close{background:var(--border);color:var(--text)}.btn-modal-close:hover{background:#cbd5e1}.empty-state .empty-icon{font-size:80px}.empty-state h3{font-size:20px;color:var(--text);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-light);margin:0}@media (max-width: 768px){.alert-filters{flex-direction:column}.alert-filters .filter-group{width:100%}.alert-filters select{flex:1;min-width:auto}.alert-card{padding:16px}.alert-actions{flex-direction:column}.alert-actions button{width:100%}.alert-modal{max-width:95%;margin:10px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-label{min-width:auto}.modal-footer{flex-direction:column}.modal-footer button{width:100%}.ai-explanation-panel{padding:16px}.logs-header{flex-direction:column;align-items:flex-start;padding:20px 16px}.logs-header .header-content{min-width:auto;width:100%}.logs-controls{width:100%;flex-direction:column}.logs-controls .filter-group,.logs-controls .filter-input,.logs-controls .btn-action{width:100%}.parcel-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.parcel-controls-card{align-items:stretch}.parcel-search-row,.parcel-status-filter{width:100%}.parcel-controls-card .parcel-search-row{flex-direction:column;align-items:stretch}.parcel-controls-card .parcel-search-row .filter-input{min-width:0}.parcel-search-actions{width:100%;gap:8px}.parcel-search-actions .btn-action{flex:1}.parcel-table{display:none}.parcel-cards-mobile{display:block}.parcel-modal-content{width:min(96vw,620px)}.parcel-details-modal{width:min(96vw,620px);border-radius:16px}.parcel-details-header{padding:16px 18px}.parcel-details-body{padding:14px}.parcel-details-grid{grid-template-columns:1fr;gap:10px}.parcel-detail-card-wide{grid-column:auto}.parcel-details-footer{padding:12px 14px 14px}.parcel-details-close{width:100%}.parcel-form-modal .form-row{grid-template-columns:1fr}.parcel-form-modal .form-group.wide{grid-column:auto}.log-summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.log-summary-card{padding:14px 12px;flex-direction:column;text-align:center}.log-summary-card .card-icon{margin-left:0;font-size:28px}.log-filters{flex-direction:column;padding:12px 16px;gap:12px}.log-filters .filter-group,.log-filters .filter-select,.log-filter-reset-group,.log-filter-reset-group .btn-action{width:100%}.log-table{display:none}.log-cards-mobile{display:block}.empty-state{min-height:300px;padding:40px 16px}.empty-icon{font-size:48px}}.outpass-page{padding:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-width:720px;width:90%;max-height:80vh;overflow:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-body{padding:20px}.modal-footer{padding:12px 20px 20px;display:flex;justify-content:flex-end}.modal-close{background:transparent;border:none;font-size:20px;cursor:pointer}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;align-items:start}.details-grid>div{min-width:0}.detail-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.detail-value{font-weight:600;color:#111827;word-break:break-word}.detail-sub{font-size:13px;color:#374151;margin-top:6px;line-height:1.35}.modal-body{padding:20px 22px 24px}.modal-header h2{margin:0}.modal-footer button{padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}@media (max-width: 640px){.details-grid{grid-template-columns:1fr}}.complaints-main{padding:2rem;max-width:1600px;margin:0 auto;min-height:calc(100vh - 80px);transition:margin-left .32s cubic-bezier(.22,1,.36,1),padding .22s ease}.complaints-header{margin-bottom:2rem;animation:fadeInDown .5s ease;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.complaints-header h1{font-size:2rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem}.complaints-subtitle{color:#64748b;font-size:.95rem;margin:0}.filter-buttons{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;animation:fadeInDown .5s ease .1s both}.filter-btn{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;font-size:.95rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:#cbd5e1;background:#f8fafc}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.search-section{margin-bottom:2rem;animation:fadeInDown .5s ease .2s both}.search-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;transition:all .3s ease}.complaints-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;animation:fadeInUp .5s ease;align-items:start}@media (max-width: 1180px){.complaints-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.complaint-card{background:#fff;border-radius:12px;border:2px solid #e2e8f0;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:all .3s ease;display:flex;flex-direction:column;height:fit-content}.complaint-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.85rem 1rem .8rem;border-bottom:2px solid #f1f5f9;gap:.65rem}.header-left h3{font-size:1rem;font-weight:700;color:#1a1a2e;margin:0 0 .25rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.complaint-id{color:#64748b;font-size:.8rem;font-weight:500;margin:0}.header-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.status-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fef3c7;color:#b45309}.status-assigned{background:#dbeafe;color:#fff}.status-in_progress{background:#e9d5ff;color:#6b21a8}.status-delayed{background:#fee2e2;color:#fff}.status-resolved{background:#d1fae5;color:#065f46}.status-closed{background:#e2e8f0;color:#475569}.card-body{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.student-info{display:flex;align-items:flex-start;gap:.75rem}.student-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.student-name{font-weight:700;color:#1a1a2e;font-size:.93rem;line-height:1.3}.student-details{color:#64748b;font-size:.8rem;margin-top:.15rem;line-height:1.35}.complaint-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.meta-badge{padding:.3rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;line-height:1.2}.category-badge{background:#f1f5f9;color:#475569}.priority-badge{color:#fff}.complaint-description{color:#475569;font-size:.83rem;line-height:1.45;padding:.55rem;background:#f8fafc;border-radius:8px;border-left:3px solid #667eea;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.assigned-info{padding:.55rem;background:#f0f9ff;border-radius:8px;color:#0369a1;font-size:.8rem;border-left:3px solid #0284c7;line-height:1.35}.assigned-info strong{color:#075985}.complaint-date,.assigned-to{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.complaint-date svg,.assigned-to svg{flex-shrink:0}.card-actions{display:flex;gap:.75rem;padding:.7rem 1rem .9rem;border-top:2px solid #f1f5f9}.btn-view,.btn-assign{flex:1;padding:.55rem .7rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-view{background:#fff;border:2px solid #e2e8f0;color:#64748b}.btn-view:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-assign{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid #667eea}.btn-assign:hover{background:linear-gradient(135deg,#5568d3,#6a4091);transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed #e2e8f0;border-radius:16px;animation:fadeInUp .5s ease}.empty-state h3{color:#1a1a2e;font-size:1.25rem;margin:0 0 .5rem}.empty-state p{color:#64748b;font-size:.95rem;margin:0}.error-alert{padding:1rem 1.5rem;background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;animation:slideDown .3s ease}.error-alert p{margin:0;color:#991b1b;font-weight:500;flex:1}.retry-btn{padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;margin-left:1rem}.retry-btn:hover{background:#b91c1c;transform:translateY(-1px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;min-height:400px}.agentic-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.agentic-tile{border-radius:12px;padding:1rem;border:2px solid #e2e8f0;background:#fff}.agentic-label{color:#64748b;font-size:.85rem;margin-bottom:.35rem}.agentic-value{font-size:1.75rem;font-weight:700;color:#0f172a}.agentic-tile.critical{border-color:#fca5a5;background:#fff1f2}.agentic-tile.warning{border-color:#fdba74;background:#fff7ed}.agentic-tile.info{border-color:#93c5fd;background:#eff6ff}.agentic-tile.success{border-color:#86efac;background:#f0fdf4}.agentic-panels{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;margin-bottom:1.75rem}.agentic-panel{border:2px solid #e2e8f0;border-radius:12px;background:#fff;padding:1rem}.agentic-panel h3{margin:0 0 .85rem;color:#0f172a}.agentic-panel h4{margin:1rem 0 .5rem;color:#334155}.panel-empty{color:#64748b;margin:0}.alert-list{display:flex;flex-direction:column;gap:.75rem}.alert-item{border-left:4px solid #94a3b8;background:#f8fafc;border-radius:8px;padding:.75rem}.alert-item.severity-critical{border-left-color:#dc2626}.alert-item.severity-high{border-left-color:#ea580c}.alert-item.severity-medium{border-left-color:#ca8a04}.alert-item.severity-low{border-left-color:#0891b2}.alert-title{font-weight:700;color:#1e293b;margin-bottom:.25rem}.alert-message{color:#475569;font-size:.9rem;margin-bottom:.35rem}.alert-meta{color:#64748b;font-size:.78rem}.insight-row{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #e2e8f0;color:#334155}.insight-row strong{color:#0f172a}.recommendation-list{margin:0;padding-left:1rem;color:#334155}.recommendation-list li{margin-bottom:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f1f5f9}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;color:#64748b;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{background:#e2e8f0;color:#475569}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0 0 1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item .label{color:#64748b;font-size:.85rem;font-weight:600}.detail-item .value{color:#1a1a2e;font-size:.95rem;font-weight:500}.detail-section p{color:#475569;line-height:1.6;margin:0}.complaint-summary{background:#f8fafc;padding:1.25rem;border-radius:8px;border-left:4px solid #667eea;margin-bottom:1.5rem}.complaint-summary h4{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin:0 0 .75rem}.complaint-summary p{color:#64748b;font-size:.9rem;margin:.25rem 0}.form-group label{display:block;font-weight:600;color:#475569;margin-bottom:.5rem;font-size:.9rem}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:2px solid #f1f5f9}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary{background:#fff;border:2px solid #e2e8f0;color:#64748b}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#111827;border:none}.complaints-main .modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#111827!important}.btn-primary:hover:not(:disabled),.modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a4091);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.complaints-main .modal-footer .btn-primary:hover:not(:disabled){color:#fff!important}.btn-primary:disabled,.modal-footer .btn-primary:disabled{background:linear-gradient(135deg,#667eea,#764ba2);color:#111827;opacity:.5;cursor:not-allowed}.complaints-main .modal-footer .btn-primary:disabled{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#111827!important}@media (max-width: 768px){.complaints-main{padding:1rem}.complaints-header{flex-direction:column;align-items:stretch}.agentic-panels{grid-template-columns:1fr}.complaints-header h1{font-size:1.5rem}.filter-buttons{gap:.5rem}.filter-btn{padding:.625rem 1rem;font-size:.85rem}.complaints-grid{grid-template-columns:1fr;gap:1rem}.card-header{flex-direction:column;align-items:flex-start}.card-body{padding:.8rem .9rem;gap:.55rem}.student-avatar{width:32px;height:32px;font-size:.8rem}.complaint-description,.assigned-info{padding:.5rem}.card-actions{flex-direction:column;padding:.7rem .9rem .9rem}.modal-content{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.detail-grid{grid-template-columns:1fr}.leave-page .leave-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.leave-page .filter-btn{width:100%;min-height:54px;padding:.75rem .875rem;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;font-size:.95rem}}@media (max-width: 480px){.leave-page .leave-filters{gap:.625rem}.leave-page .filter-btn{min-height:52px;padding:.7rem .75rem;font-size:.9rem;border-radius:10px}}.context-action-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a61;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.context-action-card{width:min(100%,900px);background:#fff;border:1px solid #dbe3ef;border-radius:24px;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.context-action-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:88px;padding:20px 72px 20px 24px;border-bottom:1px solid #e5e7eb}.context-action-header h2{margin:0;color:#17315c;font-size:clamp(1.3rem,2vw,1.75rem);font-weight:800;text-align:center}.context-action-close{position:absolute;right:22px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#6f7f97;font-size:2rem;font-weight:700;line-height:1;cursor:pointer}.context-action-body{padding:46px 32px 28px;text-align:center}.context-action-icon{font-size:3.2rem;line-height:1;margin-bottom:20px}.context-action-message{margin:0;color:#2b3548;font-size:clamp(1.05rem,1.8vw,1.15rem);line-height:1.65}.context-action-subtext{margin:14px 0 0;color:#6b7280;font-size:.98rem;line-height:1.6}.context-action-footer{display:flex;justify-content:flex-end;gap:14px;padding:26px 30px;border-top:1px solid #e5e7eb;background:#fff}.context-action-button{min-width:176px;min-height:54px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-size:1rem;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.context-action-button:hover{transform:translateY(-1px)}.context-action-button-secondary{background:#fff;color:#223a5a;border-color:#d7dee8}.context-action-button-danger{background:#ff4b4b;color:#fff;box-shadow:0 12px 24px #ff4b4b38}.context-action-button-warning{background:#f7a400;color:#fff;box-shadow:0 12px 24px #f7a40038}.context-action-button-primary,.context-action-button-success{background:#2563eb;color:#fff;box-shadow:0 12px 24px #2563eb38}@media (max-width: 640px){.context-action-overlay{padding:14px}.context-action-card{border-radius:20px}.context-action-header{min-height:76px;padding:18px 58px 18px 18px}.context-action-close{right:16px;font-size:1.9rem}.context-action-body{padding:34px 18px 22px}.context-action-footer{flex-direction:column;padding:18px}.context-action-button{width:100%;min-width:0}}.admin-registrations-page{padding:2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;width:100%}.filter-select{padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-dark);background:#fff;cursor:pointer;transition:all .3s ease;min-width:160px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.registrations-mobile-cards{display:none}.registrations-table{width:100%;min-width:1300px;border-collapse:collapse}.registrations-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid var(--gray-200)}.registrations-table th{padding:1.25rem;text-align:left;font-weight:700;font-size:.85rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.registrations-table tbody tr{border-bottom:1px solid var(--gray-100);transition:all .2s ease}.registrations-table tbody tr:hover{background:var(--gray-50);box-shadow:inset 0 1px #6366f11a}.registrations-table td{padding:1.25rem;font-size:.95rem;color:var(--text-dark)}.fee-reference{font-family:Courier New,monospace;font-size:.85rem;font-weight:600;color:var(--text-dark);background:var(--gray-100);padding:.35rem .75rem;border-radius:6px;display:inline-block}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#7f1d1d}.mobile-roll-pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#6366f11f;color:var(--text-dark);font-size:.78rem}.registration-mobile-card{background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:1rem;box-shadow:var(--shadow-sm)}.registration-mobile-header{margin-bottom:.95rem}.registration-mobile-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.registration-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem .8rem}.registration-mobile-label{display:block;margin-bottom:.35rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}.registration-mobile-value{display:block;font-size:.92rem;font-weight:500;color:var(--text-dark);word-break:break-word}.registration-mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}.registration-mobile-actions .btn-action{width:100%;height:40px}.btn-approve{background:#dcfce7;color:#15803d}.btn-approve:hover{background:#bbf7d0}.btn-reject{background:#fecaca;color:#991b1b}.btn-reject:hover{background:#fca5a5}.registration-mobile-actions .btn-view,.registration-mobile-actions .btn-approve,.registration-mobile-actions .btn-reject{font-weight:700}.registration-mobile-actions .btn-reject{background:var(--danger);color:#fff}.registration-mobile-actions .btn-approve{background:var(--success);color:#fff}.modal-content{background:#fff;border-radius:12px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000026;animation:slideUp .3s ease;max-width:700px;width:100%}.modal-details{max-width:750px}.modal-sm{max-width:450px}.detail-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--gray-100)}.detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;gap:1rem}.detail-label{font-weight:600;color:var(--text-light);font-size:.9rem;min-width:180px}.detail-value{color:var(--text-dark);font-weight:500;text-align:right;flex:1}.fee-amount{font-weight:700;color:var(--success);font-size:1.1rem}.proof-placeholder{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--gray-100);border-radius:6px;border:2px dashed var(--gray-300);justify-content:flex-end}.proof-icon{font-size:1.2rem}.proof-text{font-size:.85rem;font-weight:600;color:var(--text-dark)}.admin-registrations-page .modal-footer .btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}.admin-registrations-page .modal-footer .btn-danger:hover{background:#dc2626;color:#fff;border-color:#dc2626}.receipt-download-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.65rem .95rem;border-radius:8px;background:#e0f2fe;color:#0c4a6e;font-weight:700;text-decoration:none;border:1px solid #bae6fd}.receipt-download-link:hover{background:#bae6fd}.confirm-text{font-size:1rem;color:var(--text-dark);text-align:center;margin-bottom:.75rem;line-height:1.5}@media (max-width: 1200px){.page-header{flex-direction:column;align-items:flex-start}.registrations-table{min-width:100%}}@media (max-width: 1024px){.admin-registrations-page{padding:1.5rem}.page-title{font-size:1.5rem}.search-filter-section{gap:.75rem}.search-box{min-width:200px}.filter-select{min-width:140px}.registrations-table th,.registrations-table td{padding:.75rem;font-size:.85rem}.modal-content{max-width:90%}}@media (max-width: 768px){.admin-registrations-page{padding:1rem}.page-title{font-size:1.3rem}.page-subtitle{font-size:.85rem}.search-filter-section{flex-direction:column;gap:.5rem}.search-box,.filter-select{min-width:100%}.registrations-desktop-table{display:none}.registrations-mobile-cards{display:grid;gap:.9rem}.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-body{padding:1rem}.modal-footer{padding:1rem;gap:.5rem}.detail-row{flex-direction:column;align-items:flex-start;padding:.75rem 0;gap:.25rem}.detail-label{min-width:auto}.detail-value{text-align:left}.proof-placeholder{justify-content:flex-start}}@media (max-width: 480px){.admin-registrations-page{padding:.75rem}.page-header{gap:.5rem;margin-bottom:1.5rem}.page-title{font-size:1.1rem}.page-subtitle{font-size:.75rem}.search-filter-section{flex-direction:column;gap:.5rem;margin-bottom:1rem}.search-input,.filter-select{padding:.65rem .75rem;font-size:.85rem}.results-info{font-size:.75rem;margin-bottom:.5rem}.registration-mobile-card{padding:.9rem;border-radius:16px}.registration-mobile-grid{grid-template-columns:1fr;gap:.8rem}.student-avatar{width:32px;height:32px;font-size:.75rem}.btn-action{width:32px;height:32px;font-size:.85rem}.modal-content{max-width:100%;border-radius:8px}.modal-header{padding:.75rem}.modal-header h2{font-size:1rem}.modal-body{padding:.75rem;font-size:.85rem}.detail-section h4{font-size:.9rem;margin-bottom:.75rem}.detail-row{padding:.5rem 0;font-size:.8rem}.modal-footer{padding:.75rem;gap:.5rem;flex-direction:column;align-items:stretch}.btn-secondary,.btn-primary,.btn-danger{padding:.6rem 1rem;font-size:.8rem;width:100%;min-width:0;min-height:42px;color:inherit}.btn-secondary{color:var(--text-dark);background:#fff;border-color:#cbd5e1}.btn-primary,.btn-danger{color:#fff}.confirm-icon{font-size:2rem;margin-bottom:.75rem}.confirm-text{font-size:.9rem;margin-bottom:.5rem}.confirm-subtext{font-size:.8rem}}.admin-registrations-page .search-filter-section{display:grid;grid-template-columns:minmax(320px,1fr) 220px 180px;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:1rem;border:2px solid var(--gray-200);border-radius:14px;background:#fff}.admin-registrations-page .search-box{min-width:0;width:100%;border:0;background:transparent;padding:0;margin:0;box-shadow:none}.admin-registrations-page .search-input,.admin-registrations-page .filter-select{width:100%;min-width:0;height:48px}@media (max-width: 1024px){.admin-registrations-page .search-filter-section{grid-template-columns:minmax(240px,1fr) 1fr 1fr}}@media (max-width: 768px){.admin-registrations-page .search-filter-section{grid-template-columns:1fr;gap:.625rem;padding:.625rem}.admin-registrations-page .search-input,.admin-registrations-page .filter-select{height:44px}}.admin-registrations-page .view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.95rem 1.1rem}.admin-registrations-page .view-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.8rem .9rem}.admin-registrations-page .view-item-full{grid-column:1 / -1}.admin-registrations-page .view-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:.3rem}.admin-registrations-page .view-value{color:#1e293b;font-size:.95rem;font-weight:600;line-height:1.35;word-break:break-word}@media (max-width: 480px){.admin-registrations-page .view-grid{grid-template-columns:1fr}.admin-registrations-page .view-item-full{grid-column:1}}.mess-page{padding:2rem;max-width:1400px;margin:0 auto}.mess-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;animation:fadeInDown .5s ease}.mess-header h1{font-size:2rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem}.mess-subtitle{color:#64748b;font-size:.95rem;margin:0}.mess-actions{display:flex;gap:1rem}.btn-copy{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-copy:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-copy svg{flex-shrink:0}.day-selector{margin-bottom:2rem;animation:fadeInDown .5s ease .1s both}.day-tabs{display:flex;gap:.75rem;margin-bottom:1rem;background:#fff;padding:1rem;border-radius:12px;border:2px solid #e2e8f0;flex-wrap:wrap}.day-tab{padding:.625rem 1.25rem;border:2px solid #e2e8f0;background:#fff;color:#475569;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:60px}.day-tab:hover{border-color:#cbd5e1;background:#f8fafc}.day-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.selected-day-info{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border-left:4px solid #667eea;color:#1e293b;font-weight:600}.selected-day-info svg{color:#667eea;flex-shrink:0}.mess-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;animation:fadeInUp .5s ease .2s both;margin-bottom:2rem}.meal-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.meal-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014;border-color:#cbd5e1}.meal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;gap:1rem}.meal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:#1e293b;flex:1}.btn-edit{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;flex-shrink:0;box-shadow:0 4px 12px #667eea40}.btn-edit:hover{background:linear-gradient(135deg,#4f46e5,#6d28d9);transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-edit:active{transform:translateY(0);box-shadow:0 2px 8px #667eea40}.meal-items{padding:1.5rem}.meal-items ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.meal-items li{padding:.75rem 1rem;background:#f8fafc;border-left:3px solid #667eea;border-radius:6px;color:#1e293b;font-size:.95rem;font-weight:500}.meal-items li:hover{background:#f1f5f9}.no-items{text-align:center;color:#94a3b8;font-size:.9rem;padding:1rem;margin:0}.empty-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#cbd5e1}.empty-state h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content .modal-body{flex:1;overflow-y:auto}.modal-content .modal-footer{flex-shrink:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f1f5f9;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.modal-close{background:none;border:none;cursor:pointer;color:#64748b;padding:.5rem;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.edit-info{background:#f8fafc;padding:1rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #667eea}.edit-info p{margin:.5rem 0;font-size:.95rem;color:#475569}.edit-info p:first-child{margin-top:0}.edit-info p:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.form-group label{font-weight:600;color:#1e293b;font-size:.95rem}.menu-textarea{padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;font-family:inherit;color:#1e293b;background:#fff;resize:vertical;transition:all .3s ease;line-height:1.6}.menu-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.textarea-hint{font-size:.85rem;color:#94a3b8;margin:0;margin-top:.5rem}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #f1f5f9;display:flex;justify-content:flex-end;gap:1rem;position:sticky;bottom:0;background:#fff}.btn-save,.btn-cancel{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#111827}.mess-page .modal-footer .btn-save{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#111827!important}.btn-save:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.mess-page .modal-footer .btn-save:hover:not(:disabled){color:#fff!important}.mess-page .modal-footer .btn-save:disabled{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#111827!important}.btn-cancel{background:#f1f5f9;color:#475569}.btn-cancel:hover{background:#e2e8f0}.btn-save svg,.btn-cancel svg{flex-shrink:0}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.mess-menu-grid{grid-template-columns:repeat(2,1fr)}.mess-header{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width: 768px){.mess-page{padding:1rem}.mess-header h1{font-size:1.5rem}.mess-menu-grid{grid-template-columns:1fr}.day-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.5rem}.day-tab{min-width:50px;padding:.5rem 1rem}.meal-header{flex-direction:column;align-items:flex-start;gap:.75rem}.modal-content{max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.modal-footer{flex-direction:column;gap:.75rem}.btn-save,.btn-cancel{width:100%;justify-content:center}.empty-state{padding:2rem 1rem}}@media (max-width: 480px){.mess-header h1{font-size:1.25rem}.mess-subtitle{font-size:.9rem}.btn-copy{padding:.6rem 1rem;font-size:.85rem}.day-tabs{gap:.35rem;padding:.75rem}.day-tab{padding:.45rem .75rem;font-size:.8rem}.selected-day-info{gap:.5rem;padding:.75rem 1rem}.meal-items li{font-size:.9rem;padding:.65rem .875rem}}.occupancy-analytics{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;animation:fadeInUp .5s ease}.occupancy-analytics .analytics-card{display:block;align-items:unset;gap:0}.analytics-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible}.analytics-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.analytics-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #0000001a;border-color:#cbd5e1}.analytics-card:hover:before{transform:scaleX(1)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-icon{font-size:1.75rem;flex-shrink:0}.card-label{font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:2.5rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem;line-height:1;display:block;width:100%}.card-value-with-color{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;line-height:1;display:block;width:100%}.card-metric{font-size:.85rem;color:#64748b;font-weight:500;line-height:1.2;white-space:normal;display:block;word-break:break-word;width:100%}.occupancy-bar-container{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin:1rem 0 .75rem}.occupancy-bar-fill{height:100%;border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}.capacity-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd}.capacity-card .card-value{color:#0369a1}.capacity-card:before{background:linear-gradient(90deg,#0284c7,#0369a1)}.occupancy-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#d8b4fe}.occupancy-card:before{background:linear-gradient(90deg,#a855f7,#7c3aed)}.vacant-beds-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.vacant-beds-card .card-value{color:#166534}.vacant-beds-card:before{background:linear-gradient(90deg,#16a34a,#15803d)}.fully-occupied-card{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.fully-occupied-card .card-value{color:#991b1b}.fully-occupied-card:before{background:linear-gradient(90deg,#dc2626,#b91c1c)}.partially-occupied-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde047}.partially-occupied-card .card-value{color:#b45309}.partially-occupied-card:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.vacant-rooms-card{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-color:#99f6e4}.vacant-rooms-card .card-value{color:#0f766e}.vacant-rooms-card:before{background:linear-gradient(90deg,#14b8a6,#0d9488)}@media (max-width: 1400px){.occupancy-analytics{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}}@media (max-width: 1024px){.occupancy-analytics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.analytics-card{padding:1.25rem}.card-value{font-size:2rem}.card-icon{font-size:1.5rem}}@media (max-width: 768px){.occupancy-analytics{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.analytics-card{padding:1rem}.card-header{gap:.5rem;margin-bottom:.75rem}.card-label{font-size:.8rem}.card-value,.card-value-with-color{font-size:1.75rem}.card-metric{font-size:.8rem}.card-icon{font-size:1.25rem}}@media (max-width: 480px){.occupancy-analytics{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}.analytics-card{padding:.875rem}.card-header{gap:.5rem;margin-bottom:.5rem}.card-label{font-size:.75rem}.card-value,.card-value-with-color{font-size:1.5rem}.card-metric{font-size:.75rem}.card-icon{font-size:1.125rem}.card-header{flex-direction:column;align-items:flex-start}.occupancy-bar-container{margin:.75rem 0 .5rem;height:6px}}.rooms-page{padding:2rem;max-width:1600px;margin:0 auto}.rooms-header{margin-bottom:2rem;animation:fadeInDown .5s ease}.rooms-header h1{font-size:2rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem}.rooms-subtitle{color:#64748b;font-size:.95rem;margin:0}.rooms-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0;animation:fadeInDown .5s ease .1s both}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.filter-group label{font-size:.9rem;font-weight:600;color:#1e293b}.filter-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;background:#fff;cursor:pointer;transition:all .3s ease;font-weight:500}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;animation:fadeInUp .5s ease .2s both}.rooms-page .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.room-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #0000001a;border-color:#cbd5e1}.room-card.status-vacant{border-left:4px solid #10b981}.room-card.status-partial{border-left:4px solid #f59e0b}.room-card.status-full{border-left:4px solid #ef4444}.room-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:2px solid #f1f5f9;gap:1rem}.room-card-header>div{min-width:0}.room-number{font-size:1.3rem;font-weight:700;color:#1a1a2e;margin:0 0 .25rem}.room-location{font-size:.85rem;color:#64748b;margin:0}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.8rem;font-weight:700;max-width:120px;white-space:normal;text-align:center;line-height:1.2;word-break:break-word;flex-shrink:0}.status-badge.status-vacant{background:#dcfce7;color:#166534}.status-badge.status-partial{background:#fef3c7;color:#92400e}.status-badge.status-full{background:#fee2e2;color:#991b1b}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.status-badge.status-vacant:before{background:#10b981}.status-badge.status-partial:before{background:#f59e0b}.status-badge.status-full:before{background:#ef4444}.room-card-body{padding:1.5rem;flex:1}.room-info{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem;font-weight:700;color:#1a1a2e}.occupancy-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.occupancy-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.room-card-footer{padding:1rem 1.5rem;border-top:2px solid #f1f5f9;background:#f8fafc;display:flex;gap:.5rem;align-items:center}.btn-view-details{width:100%;padding:.75rem 1.5rem;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-weight:600}.btn-view-details:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-view-details:active{transform:translateY(0)}.btn-delete-room{padding:.5rem .75rem;background:none;border:none;color:#ef4444;font-size:1.25rem;cursor:pointer;border-radius:8px;transition:background .2s,color .2s}.btn-delete-room[disabled]{color:#ef4444;opacity:.5;cursor:not-allowed}.btn-delete-room:hover:not([disabled]){background:#fee2e2}.rooms-page .modal-header h2{color:#ef4444!important}.btn-danger{background:#ef4444;color:#fff;border:none;font-weight:600;border-radius:6px;transition:background .2s}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0;font-weight:600;border-radius:6px;transition:background .2s}.btn-secondary:hover{background:#f1f5f9}.room-toast-success{position:fixed;top:2rem;right:2rem;background:#10b981;color:#fff;padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;box-shadow:0 2px 12px #10b98126;z-index:9999;animation:fadeInUp .4s}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0 0 .25rem}.room-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1.1rem;font-weight:700;color:#1a1a2e}.students-list{display:flex;flex-direction:column;gap:1rem}.student-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s ease}.student-item:hover{border-color:#cbd5e1;background:#f1f5f9;transform:translate(4px)}.student-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.student-info{flex:1;min-width:0}.student-name{font-size:.95rem;font-weight:700;color:#1a1a2e;margin:0 0 .25rem}.student-meta{font-size:.8rem;color:#64748b;margin:0}.no-students{text-align:center;padding:1.5rem;color:#94a3b8;font-style:italic}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-item{padding:1.5rem;background:#f8fafc;border-radius:12px;border-left:4px solid #fbbf24}.request-item.approved{border-left-color:#10b981}.request-item.rejected{border-left-color:#ef4444}.request-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.request-student{font-size:.95rem;font-weight:700;color:#1a1a2e;margin:0}.request-status{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.request-status.pending{background:#fed7aa;color:#92400e}.request-status.approved{background:#a7f3d0;color:#065f46}.request-status.rejected{background:#fca5a5;color:#7f1d1d}.request-reason{font-size:.9rem;color:#1a1a2e;margin:0 0 .5rem;font-weight:500}.request-date{font-size:.8rem;color:#64748b;margin:0 0 1rem}.btn-view-request{padding:.5rem 1rem;background:#6366f1;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-view-request:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.no-requests{text-align:center;padding:1.5rem;color:#94a3b8;font-style:italic}@media (max-width: 1024px){.rooms-grid,.rooms-page .rooms-grid,.rooms-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-group{min-width:unset}.room-details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.rooms-page{padding:1rem}.rooms-header h1{font-size:1.5rem}.rooms-grid,.rooms-page .rooms-grid{grid-template-columns:1fr;gap:1rem}.rooms-filters{grid-template-columns:1fr;padding:1rem;gap:1rem}.room-info{gap:.75rem}.modal-content{max-width:95vw}.modal-header,.modal-body{padding:1.5rem}.room-details-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.rooms-header h1{font-size:1.3rem}.rooms-header p{font-size:.85rem}.rooms-filters{grid-template-columns:1fr;padding:1rem;gap:.75rem}.filter-group{gap:.4rem}.filter-select{font-size:.9rem;padding:.6rem .75rem}.room-card{border-radius:12px}.room-card-header{padding:1rem;flex-direction:column}.room-card-body{padding:1rem}.room-info{grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem}.room-card-footer{padding:.75rem 1rem}.btn-view-details{padding:.65rem 1rem;font-size:.85rem}.modal-header{padding:1.25rem;flex-direction:column}.modal-close{align-self:flex-end}.modal-body{padding:1.25rem}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.student-item{gap:.75rem;padding:.75rem}.student-avatar{width:40px;height:40px;font-size:.9rem}.student-name{font-size:.9rem}.student-meta{font-size:.75rem}.request-item{padding:1rem}.request-header{flex-direction:column;align-items:flex-start;gap:.5rem}.request-status{font-size:.7rem}}.room-change-page{padding:2rem;max-width:1600px;margin:0 auto}.page-header{margin-bottom:2rem;animation:fadeInDown .5s ease}.filters-section{display:flex;gap:1.5rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0;animation:fadeInDown .5s ease .1s both;flex-wrap:wrap}.status-filter{min-width:180px}.requests-table-container{background:#fff;border-radius:12px;border:2px solid #e2e8f0;overflow-x:auto;min-width:100%;animation:fadeInUp .5s ease .2s both}.requests-mobile-cards{display:none}.request-mobile-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:.95rem;margin-bottom:.85rem;box-shadow:0 8px 20px #0f172a0d}.request-mobile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.8rem}.request-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.request-mobile-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.2rem}.request-mobile-item.full-width{grid-column:1 / -1}.request-mobile-item .label{font-size:.72rem}.request-mobile-item .value{font-size:.9rem;word-break:break-word}.request-mobile-actions{margin-top:.75rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.request-mobile-actions .btn-details,.request-mobile-actions .btn-approve,.request-mobile-actions .btn-reject{width:100%;padding:.55rem .5rem;font-size:.78rem;text-align:center}.requests-table{width:100%;min-width:1200px;border-collapse:collapse}.requests-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.requests-table th{padding:1.25rem;text-align:left;font-size:.85rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.5px}.requests-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .3s ease}.requests-table tbody tr:hover{background:#f8fafc}.requests-table td{padding:1.25rem;font-size:.95rem;color:#1e293b}.branch{margin:.25rem 0 0;color:#64748b;font-size:.8rem}.room-badge{display:inline-block;padding:.5rem .875rem;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;font-weight:700;font-size:.9rem;color:#1a1a2e;margin-right:.5rem}.room-badge.requested{background:linear-gradient(135deg,#e0e7ff,#f3e8ff);border-color:#c7d2fe;color:#4c1d95}.room-block{display:block;font-size:.8rem;color:#64748b;margin-top:.25rem}.reason-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b}.date-cell{font-size:.9rem;color:#64748b}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-approved{background:#d1fae5;color:#065f46}.status-badge.status-rejected{background:#fee2e2;color:#991b1b}.actions-cell{display:flex;gap:.5rem;white-space:nowrap}.btn-details,.btn-approve,.btn-reject{padding:.5rem .875rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-details{background:#6366f1;color:#fff}.btn-details:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-approve{background:#10b981;color:#fff}.btn-approve:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reject{background:#ef4444;color:#fff}.btn-reject:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.empty-state{text-align:center;padding:4rem 2rem;animation:fadeInUp .5s ease .2s both;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:16px;margin-bottom:2rem}.empty-state p{font-size:1rem;color:#64748b;margin:0}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2400!important;padding:2rem;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:650px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 4.25rem 2rem 2rem;border-bottom:2px solid #e2e8f0;gap:1rem;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{font-size:1.3rem;font-weight:700;color:#1e293b!important;margin:0 0 .25rem;line-height:1.25}.modal-subtitle{font-size:.9rem;color:#64748b;margin:0}.modal-close{background:#f8fafc;border:1.5px solid #cbd5e1;font-size:1.6rem;color:#475569;cursor:pointer;padding:0;width:40px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease;flex-shrink:0;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:#f8fafc;border-color:#c8d5e6;color:#1e293b}.detail-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #f1f5f9}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.status-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.status-item{display:flex;flex-direction:column;gap:.5rem}.label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.value{font-size:1rem;font-weight:700;color:#1a1a2e}.student-grid,.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.grid-item.full-width{grid-column:1 / -1}.reason-box{padding:1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;line-height:1.6;color:#1a1a2e}.reason-box p{margin:0;font-size:.95rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f1f5f9}.btn-modal-approve,.btn-modal-reject{flex:1;padding:1rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-modal-approve{background:#10b981;color:#fff}.btn-modal-approve:hover{background:#059669;transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.btn-modal-reject{background:#ef4444;color:#fff}.btn-modal-reject:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 8px 20px #ef44444d}.requests-table-container::-webkit-scrollbar{height:8px}.requests-table-container::-webkit-scrollbar-track{background:#f1f5f9}.requests-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.requests-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 1024px){.requests-table th:nth-child(5),.requests-table td:nth-child(5){display:none}.room-change-page{padding:1.5rem}.filters-section{flex-direction:column;gap:1rem}.search-box,.status-filter{min-width:unset}.student-grid,.room-grid{grid-template-columns:1fr}}@media (max-width: 768px){.room-change-page{padding:1rem}.page-header h1{font-size:1.5rem}.filters-section{flex-direction:column;gap:1rem;padding:1rem}.requests-desktop-table{display:none}.requests-mobile-cards{display:block}.actions-cell{gap:.25rem}.btn-details,.btn-approve,.btn-reject{padding:.4rem .6rem;font-size:.75rem}.avatar{width:40px;height:40px;font-size:.9rem}.modal-content{max-width:90vw}.modal-header{padding:1.25rem 3.75rem 1.25rem 1.25rem}.modal-body{padding:1.5rem}.modal-actions{flex-direction:column}.btn-modal-approve,.btn-modal-reject{padding:.75rem 1.25rem}.student-grid,.room-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 480px){.page-header h1{font-size:1.3rem}.filters-section{padding:.75rem;gap:.5rem}.search-input,.filter-select{font-size:.9rem;padding:.6rem .75rem}.request-mobile-grid,.request-mobile-actions{grid-template-columns:1fr;gap:.45rem}.name{font-size:.9rem}.branch{font-size:.75rem}.reason-cell{max-width:120px;font-size:.8rem}.date-cell{font-size:.8rem}.actions-cell{flex-direction:column}.btn-details,.btn-approve,.btn-reject{width:100%;padding:.4rem .5rem;font-size:.7rem}.modal-header{padding:1.25rem 3.5rem 1.25rem 1.25rem;flex-direction:row;align-items:flex-start}.modal-header h2{font-size:1.15rem}.modal-body{padding:1.25rem}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.detail-section h3{font-size:1rem;margin-bottom:1rem}.status-info,.student-grid,.room-grid{grid-template-columns:1fr;gap:1rem}.reason-box{padding:1rem}.modal-actions{gap:.5rem}.btn-modal-approve,.btn-modal-reject{padding:.65rem 1rem;font-size:.85rem}}.technicians-page{padding:2rem;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;animation:fadeInDown .5s ease}.page-header h1{font-size:2rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem}.page-subtitle{color:#64748b;font-size:.95rem;margin:0}.btn-add-technician{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-add-technician:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.search-filter-section{display:flex;gap:1.5rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0;animation:fadeInDown .5s ease .1s both;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;transition:all .3s ease}.search-input:hover{border-color:#cbd5e1;background:#f8fafc}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.role-filter{min-width:180px}.filter-select{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;background:#fff;cursor:pointer;transition:all .3s ease;font-weight:500}.filter-select:hover{border-color:#cbd5e1;background:#f8fafc}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.technicians-page .search-filter-section{display:flex;gap:1.5rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0;box-sizing:border-box}.technicians-page .search-box{flex:1;min-width:250px;width:auto;padding:0;margin:0;border:0;background:transparent;box-shadow:none;box-sizing:border-box}.technicians-page .role-filter{min-width:180px;width:auto;padding:0;margin:0;border:0;background:transparent;box-shadow:none;box-sizing:border-box}.technicians-page .search-input,.technicians-page .filter-select{width:100%;max-width:100%;box-sizing:border-box;margin:0}.technicians-card-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;animation:fadeInUp .5s ease .2s both}.technician-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:.9rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 8px 24px #0f172a0a}.technician-card-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem}.tech-name-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.tech-id-status-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.technician-card-details{display:grid;grid-template-columns:1fr;gap:.45rem}.tech-detail-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.tech-detail-label{font-size:.78rem;color:#475569;font-weight:700;text-transform:uppercase;letter-spacing:.35px;flex-shrink:0}.actions-cell.tech-card-actions{margin-top:auto;width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;white-space:normal}.tech-card-actions .tech-action-btn{width:100%;min-width:0;height:42px;border:1px solid #dbe4f0;border-radius:10px;background:#f8fafc;color:#0f172a;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tech-card-actions .tech-action-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a1a}.tech-card-actions .tech-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.tech-card-actions .tech-action-view,.tech-card-actions .tech-action-edit,.tech-card-actions .tech-action-toggle{background:#e8f1ff;border-color:#c8dbff}.tech-card-actions .tech-action-view:hover,.tech-card-actions .tech-action-edit:hover,.tech-card-actions .tech-action-toggle:hover{background:#d8e8ff}.tech-card-actions .tech-action-delete{background:#ffeaea;border-color:#fecaca}.tech-card-actions .tech-action-delete:hover{background:#ffdede}.technicians-table-container{background:#fff;border-radius:12px;border:2px solid #e2e8f0;overflow-x:auto;animation:fadeInUp .5s ease .2s both}.technicians-table{width:100%;min-width:1200px;border-collapse:collapse}.technicians-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.technicians-table th{padding:1.25rem;text-align:left;font-size:.85rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.5px}.technicians-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .3s ease}.technicians-table tbody tr:hover{background:#f8fafc}.technicians-table td{padding:1.25rem;font-size:.95rem;color:#1e293b}.cell-name{font-weight:600}.name-cell{display:flex;gap:.75rem;align-items:center}.avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.name{margin:0;font-weight:700;color:#1a1a2e;font-size:.95rem}.role-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#e0e7ff,#f3e8ff);border:2px solid #c7d2fe;border-radius:8px;font-weight:700;font-size:.85rem;color:#4c1d95}.email-cell{font-size:.9rem;color:#64748b}.complaint-badge{display:inline-block;padding:.4rem .75rem;background:#eff6ff;border:2px solid #bae6fd;border-radius:6px;font-weight:700;font-size:.85rem;color:#0369a1}.status-badge{display:inline-block;padding:.45rem .875rem;border-radius:6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.actions-cell{display:flex;flex-direction:row;gap:.5rem;white-space:nowrap}.technicians-table td.actions-cell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem;min-width:170px}.btn-edit,.btn-toggle{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-edit{background:#6366f1;color:#fff}.btn-edit:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-toggle.active{background:#ef4444;color:#fff}.btn-toggle.active:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-toggle.inactive{background:#10b981;color:#fff}.btn-toggle.inactive:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.empty-state{text-align:center;padding:4rem 2rem;animation:fadeInUp .5s ease .2s both;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:16px}.empty-icon{font-size:4rem;margin-bottom:1.5rem}.empty-state h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.empty-state p{font-size:1rem;color:#64748b;margin:0 0 2rem}.btn-empty-add{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-empty-add:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:550px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem;border-bottom:2px solid #e2e8f0;gap:1rem;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease;flex-shrink:0}.modal-body{padding:2rem}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-group:last-child{margin-bottom:0}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-label{font-size:.9rem;font-weight:600;color:#1e293b}.form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;font-family:inherit;transition:all .3s ease}.form-input:hover{border-color:#cbd5e1}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem;background:#f8fafc;position:sticky;bottom:0;z-index:10}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#fff;color:#1e293b;border:2px solid #e2e8f0}.btn-cancel:hover{border-color:#1e293b}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-save:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.technicians-table-container::-webkit-scrollbar{height:8px}.technicians-table-container::-webkit-scrollbar-track{background:#f1f5f9}.technicians-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.technicians-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 1024px){.technicians-table th:nth-child(4),.technicians-table td:nth-child(4){display:none}.technicians-page{padding:1.5rem}.page-header{flex-direction:column;gap:1rem}.btn-add-technician{width:100%}.search-filter-section{flex-direction:column}.search-box,.role-filter{min-width:unset}.form-group-row{grid-template-columns:1fr}}@media (max-width: 768px){.technicians-desktop-table{display:none}.technicians-mobile-cards{display:grid;grid-template-columns:1fr}.technicians-page{padding:1rem}.page-header h1{font-size:1.5rem}.search-filter-section{flex-direction:column;gap:1rem;padding:1rem}.technicians-page .search-filter-section{width:100%;padding:.9rem;gap:.75rem}.technicians-page .search-box,.technicians-page .role-filter{min-width:0;width:100%}.technicians-page .search-input,.technicians-page .filter-select{min-height:44px;font-size:.92rem;padding:.65rem .85rem}.technicians-table-container{border-radius:8px}.technician-card{padding:.9rem;border-radius:12px}.technician-card-header{flex-direction:column;align-items:flex-start}.tech-detail-row{padding:.45rem .6rem}.tech-card-actions .tech-action-btn{height:40px;border-radius:9px}.technicians-table{min-width:900px;font-size:.9rem}.technicians-table th,.technicians-table td{padding:1rem .75rem;font-size:.85rem}.technicians-table th:nth-child(3),.technicians-table td:nth-child(3),.technicians-table th:nth-child(4),.technicians-table td:nth-child(4){display:none}.actions-cell{gap:.5rem}.btn-action{width:32px;height:32px;font-size:.9rem}.avatar{width:40px;height:40px;font-size:.9rem}.modal-content{max-width:90vw}.modal-header,.modal-body,.modal-footer{padding:1.5rem}.form-group-row{grid-template-columns:1fr}}@media (max-width: 480px){.page-header h1{font-size:1.3rem}.search-filter-section{padding:.75rem;gap:.5rem}.technicians-page .search-filter-section{padding:.75rem;border-radius:10px}.search-input,.filter-select{font-size:.9rem;padding:.6rem .75rem}.technicians-page .search-input,.technicians-page .filter-select{font-size:.88rem;padding:.6rem .72rem}.technicians-table{min-width:100%;font-size:.8rem}.tech-detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}.actions-cell.tech-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.technicians-table th,.technicians-table td{padding:.75rem .5rem}.technicians-table th:nth-child(3),.technicians-table td:nth-child(3),.technicians-table th:nth-child(4),.technicians-table td:nth-child(4){display:none}.role-badge{font-size:.75rem;padding:.4rem .75rem}.complaint-badge{font-size:.75rem;padding:.35rem .6rem}.actions-cell{flex-direction:row;gap:.25rem}.btn-action{width:28px;height:28px;font-size:.8rem}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.modal-header{flex-direction:column;gap:.5rem}.modal-close{align-self:flex-end}.form-group{margin-bottom:1rem}.form-group-row{gap:.75rem;margin-bottom:1rem}.modal-footer{flex-direction:column;gap:.75rem}.btn-cancel,.btn-save{width:100%}}.add-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-action{padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;font-size:1.2rem;transition:all .2s ease;border-radius:6px}.btn-action:hover{background:#f1f5f9;transform:scale(1.1)}.edit-btn:hover{background:#dbeafe}.status-btn:hover{background:#fef3c7}.delete-btn:hover{background:#fee2e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;max-width:760px;width:min(92vw,760px);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;color:#1a1a2e}.modal-close{background:transparent;border:none;font-size:2rem;color:#64748b;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:1.5rem 2rem;overflow-y:auto;max-height:calc(92vh - 152px)}.form-error{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #dc2626}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:#1e293b;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .2s ease}.modal-content.view-mode .form-group input,.modal-content.view-mode .form-group textarea,.modal-content.view-mode .form-group select{background:#f8fafc;color:#334155;border-color:#dbe4f0}.modal-content.view-mode .form-group input:focus,.modal-content.view-mode .form-group textarea:focus,.modal-content.view-mode .form-group select:focus{box-shadow:none;border-color:#dbe4f0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;font-family:inherit}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:2px solid #e2e8f0;background:#fff}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.95rem}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.staff-id-badge{display:inline-block;padding:.5rem .875rem;background:linear-gradient(135deg,#fef08a,#fcd34d);border:2px solid #fbbf24;border-radius:6px;font-weight:700;font-size:.85rem;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.staff-id-cell{font-weight:600}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.loading-state p{color:#64748b;font-size:1rem}.technicians-page .technician-modal-overlay{z-index:1600;padding:16px;align-items:center;justify-content:center}.technicians-page .technician-modal{width:min(96vw,760px);max-height:92vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #0f172a47}.technicians-page .technician-modal .modal-header{padding:10px 18px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#fff;min-height:auto}.technicians-page .technician-modal.corner-close-modal .modal-header{position:relative;padding-right:56px;align-items:flex-start}.technicians-page .technician-modal .modal-title,.technicians-page .technician-modal .modal-header h2{margin:0;color:#ef4444;font-size:20px;font-weight:600;line-height:1.2;text-align:left;flex:1}.technicians-page .technician-modal .modal-close,.technicians-page .technician-modal .close-btn{width:32px;height:32px;border-radius:8px;font-size:1.6rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center}.technicians-page .technician-modal.corner-close-modal .modal-close,.technicians-page .technician-modal.corner-close-modal .close-btn{position:absolute;right:14px;top:10px;width:34px;height:34px;border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#475569}.technicians-page .technician-modal.corner-close-modal .modal-close:hover,.technicians-page .technician-modal.corner-close-modal .close-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.technicians-page .technician-modal .modal-body{padding:1rem 1.25rem;overflow-y:auto}.technicians-page .technician-modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}.technicians-page .technician-modal .form-group.full-width{grid-column:1 / -1}.technicians-page .technician-modal .modal-footer{padding:1rem 1.25rem;border-top:1px solid #e2e8f0;background:#fff;position:static!important;bottom:auto!important;z-index:auto!important}.technicians-page .technician-modal.view-mode .form-group input,.technicians-page .technician-modal.view-mode .form-group textarea,.technicians-page .technician-modal.view-mode .form-group select{background:#f8fafc;border-color:#dbe4f0}.technicians-page .technician-modal .tech-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.95rem 1.1rem}.technicians-page .technician-modal .tech-view-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.8rem .9rem}.technicians-page .technician-modal .tech-view-item.full-width{grid-column:1 / -1}.technicians-page .technician-modal .tech-view-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:.3rem}.technicians-page .technician-modal .tech-view-value{color:#1e293b;font-size:.95rem;font-weight:600;line-height:1.35;word-break:break-word}@media (max-width: 768px){.technicians-page .technician-modal-overlay{padding:10px}.technicians-page .technician-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:14px}.technicians-page .technician-modal .modal-header,.technicians-page .technician-modal .modal-body,.technicians-page .technician-modal .modal-footer{padding:.9rem 1rem}.technicians-page .technician-modal .modal-header{padding:10px 16px}.technicians-page .technician-modal .form-grid{grid-template-columns:1fr;gap:.9rem}.technicians-page .technician-modal .tech-view-grid{grid-template-columns:1fr;gap:.75rem}.technicians-page .technician-modal .modal-footer{flex-wrap:wrap;gap:.6rem}}@media (max-width: 480px){.technicians-page .technician-modal .modal-header h2{font-size:18px}.technicians-page .technician-modal .modal-footer{flex-direction:column}.technicians-page .technician-modal .btn-secondary,.technicians-page .technician-modal .btn-primary{width:100%}}.error-alert{padding:1rem 1.5rem;background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;animation:slideIn .3s ease}.error-alert p{margin:0;color:#991b1b;font-weight:500}.btn-action{width:36px;height:36px;border:none;border-radius:6px;background:#f1f5f9;color:#0f172a;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-action.btn-view{background:#dbeafe;color:#0c4a6e}.btn-action.btn-view:hover{background:#bfdbfe}.btn-action.btn-edit{background:#dbeafe;color:#0c4a6e}.btn-action.btn-edit:hover{background:#bfdbfe}.btn-action.btn-password{background:#dbeafe;color:#0c4a6e}.btn-action.btn-password:hover{background:#bfdbfe}.btn-action.btn-status{background:#fef3c7;color:#92400e}.btn-action.btn-status:hover{background:#fde68a}.btn-action.btn-delete{background:#fee2e2;color:#7f1d1d}.btn-action.btn-delete:hover{background:#fecaca}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite;margin-right:.5rem}.admin-security-page .security-email-value{max-width:100%;word-break:break-word;overflow-wrap:anywhere;text-align:right}.admin-security-page .security-gate-badge,.admin-security-page .security-shift-badge{max-width:100%;white-space:normal;word-break:break-word}@media (max-width: 768px){.admin-security-page .technician-card{padding:.85rem;gap:.65rem}.admin-security-page .tech-detail-row{gap:.5rem;padding:.4rem .5rem;align-items:flex-start}.admin-security-page .tech-detail-label{font-size:.74rem;min-width:72px}.admin-security-page .tech-detail-row>span:last-child{flex:1;min-width:0;text-align:right}}@media (max-width: 520px){.admin-security-page .technician-card{padding:.8rem;border-radius:12px}.admin-security-page .tech-detail-row{flex-direction:column;align-items:stretch;padding:.5rem}.admin-security-page .tech-detail-label,.admin-security-page .tech-detail-row>span:last-child,.admin-security-page .security-email-value{text-align:left}.admin-security-page .actions-cell.tech-card-actions{gap:.45rem}}.admin-students-page{padding:2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;width:100%}.admin-students-page .search-filter-section{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:14px;align-items:center}.admin-students-page .search-box{min-width:0;width:100%;border:0;background:transparent;padding:0;margin:0;box-shadow:none}.admin-students-page .search-input,.admin-students-page .filter-select{width:100%;max-width:100%;box-sizing:border-box;margin:0}.filter-select{padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-dark);background:#fff;cursor:pointer;transition:all .3s ease;min-width:160px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.admin-students-page .filter-select{min-width:0;height:44px}.students-mobile-cards{display:none}.student-mobile-card{background:#fff;border:2px solid var(--gray-200);border-radius:14px;padding:.95rem;margin-bottom:.85rem;box-shadow:var(--shadow-sm)}.student-mobile-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;margin-bottom:.85rem}.student-mobile-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.2rem}.student-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.student-mobile-item{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50)}.student-mobile-item.full-width{grid-column:1 / -1}.student-mobile-label{font-size:.72rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.35px}.student-mobile-value{font-size:.9rem;font-weight:600;color:var(--text-dark);word-break:break-word}.student-mobile-actions{margin-top:.8rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.student-mobile-actions .btn-action{width:100%;height:40px;border-radius:10px}.students-table{width:100%;min-width:1200px;border-collapse:collapse}.students-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid var(--gray-200)}.students-table th{padding:1.25rem;text-align:left;font-weight:700;font-size:.85rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.students-table tbody tr{border-bottom:1px solid var(--gray-100);transition:all .2s ease}.students-table tbody tr:hover{background:var(--gray-50);box-shadow:inset 0 1px #6366f11a}.students-table td{padding:1.25rem;font-size:.95rem;color:var(--text-dark)}.student-cell{display:flex;align-items:center;gap:.75rem}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.student-info{display:flex;flex-direction:column;min-width:0}.student-name{font-weight:600;color:var(--text-dark)}.student-id{font-size:.75rem;color:var(--text-light);margin-top:.25rem}.roll-number{font-family:Courier New,monospace;font-weight:600;color:var(--text-dark)}.branch-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,#6366f11a,#764ba21a);color:var(--primary);white-space:nowrap}.room-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,#10b9811a,#0596691a);color:#059669;white-space:nowrap}.room-not-allocated{background:linear-gradient(135deg,#9ca3af1a,#6b72801a);color:var(--text-light)}.btn-verify{padding:.5rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #10b9814d;white-space:nowrap}.btn-verify:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.badge-verified{background:#d1fae5;color:#065f46}.badge-pending{background:#fef3c7;color:#92400e}.admin-students-page .students-table .actions-cell{display:flex;flex-direction:row!important;align-items:center;justify-content:flex-start;flex-wrap:nowrap!important;gap:.45rem;white-space:nowrap}.btn-deactivate{background:#fef3c7;color:#92400e}.btn-deactivate:hover{background:#fde68a}.modal-profile{max-width:650px}.admin-students-page .modal-overlay{z-index:1600;padding:12px}.admin-students-page .modal-content{width:min(96vw,700px);max-height:calc(100vh - 24px);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.admin-students-page .modal-header{position:static;top:auto;z-index:auto;padding:12px 54px 12px 16px;border-bottom:1px solid var(--gray-200);align-items:center;justify-content:flex-start;position:relative}.admin-students-page .modal-header h2{margin:0;color:var(--text-dark);font-size:1.2rem;line-height:1.2}.admin-students-page .btn-close{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;position:absolute;top:8px;right:10px;margin:0}.admin-students-page .modal-body{padding:1rem;overflow-y:auto}.admin-students-page .modal-footer{position:static;bottom:auto;z-index:auto;padding:1rem;border-top:1px solid var(--gray-200);background:#fff}@media (max-width: 768px){.admin-students-page .modal-content{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:12px}.admin-students-page .modal-header,.admin-students-page .modal-body,.admin-students-page .modal-footer{padding:.9rem}.admin-students-page .form-group-row{grid-template-columns:1fr;gap:.9rem;margin-bottom:.9rem}}@media (max-width: 480px){.admin-students-page .modal-footer{flex-direction:column;gap:.6rem}.admin-students-page .btn-secondary,.admin-students-page .btn-primary,.admin-students-page .btn-danger{width:100%}}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.admin-students-page .modal-footer .btn-danger{background:var(--danger)!important;color:#fff!important;border:none!important;display:inline-flex;align-items:center;justify-content:center}.admin-students-page .modal-footer .btn-danger:hover:not(:disabled){background:#dc2626!important;color:#fff!important}.profile-roll{font-size:.9rem;font-family:Courier New,monospace;color:var(--text-light);margin-bottom:1rem}.profile-badges{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.profile-details{display:flex;flex-direction:column;gap:2rem}.detail-section h4{font-size:1rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--gray-100)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;gap:1rem}.detail-label{font-weight:600;color:var(--text-light);font-size:.9rem;min-width:150px}.fee-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600}.fee-paid{background:#d1fae5;color:#065f46}.fee-pending{background:#fef3c7;color:#92400e}@media (max-width: 1200px){.page-header{flex-direction:column;align-items:flex-start}.form-group-row{grid-template-columns:1fr}.students-table{min-width:100%}}@media (max-width: 1024px){.admin-students-page{padding:1.5rem}.page-title{font-size:1.5rem}.search-filter-section{gap:.75rem}.admin-students-page .search-filter-section{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr))}.search-box{min-width:200px}.filter-select{min-width:140px}.students-table th,.students-table td{padding:.75rem;font-size:.85rem}.modal-content{max-width:90%}}@media (max-width: 768px){.admin-students-page{padding:1rem}.page-title{font-size:1.3rem}.page-subtitle{font-size:.85rem}.search-filter-section{flex-direction:column;gap:.5rem}.admin-students-page .search-filter-section{grid-template-columns:1fr;gap:8px}.search-box,.filter-select{min-width:100%}.form-group-row{grid-template-columns:1fr;gap:1rem}.students-desktop-table{display:none}.students-mobile-cards{display:block}.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-body{padding:1rem}.modal-footer{padding:1rem;gap:.5rem}.detail-row{flex-direction:column;align-items:flex-start;padding:.75rem 0;gap:.25rem}.detail-value{text-align:left}.profile-avatar-large{width:60px;height:60px;font-size:1.5rem}.profile-main-info h3{font-size:1.2rem}}@media (max-width: 480px){.admin-students-page{padding:.75rem}.page-header{gap:.5rem;margin-bottom:1.5rem}.page-title{font-size:1.1rem}.page-subtitle{font-size:.75rem}.search-filter-section{flex-direction:column;gap:.5rem;margin-bottom:1rem}.search-input,.filter-select{padding:.65rem .75rem;font-size:.85rem}.results-info{font-size:.75rem;margin-bottom:.5rem}.student-mobile-header{flex-direction:column;align-items:flex-start}.student-mobile-meta{gap:.35rem}.student-mobile-grid{grid-template-columns:1fr}.student-mobile-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.student-avatar{width:32px;height:32px;font-size:.75rem}.btn-action{width:32px;height:32px;font-size:.85rem}.btn-verify{padding:.4rem .75rem;font-size:.75rem}.modal-content{max-width:100%;border-radius:8px}.modal-header{padding:.75rem}.modal-header h2{font-size:1rem}.modal-body{padding:.75rem;font-size:.85rem}.form-group label{font-size:.8rem;margin-bottom:.35rem}.form-input,.form-select{padding:.6rem .75rem;font-size:.85rem}.modal-footer{padding:.75rem;gap:.5rem;flex-wrap:wrap}.btn-secondary,.btn-primary,.btn-danger{padding:.6rem 1rem;font-size:.8rem;flex:1;min-width:100px}.profile-avatar-large{width:50px;height:50px;font-size:1.25rem}.profile-main-info h3{font-size:1rem}.detail-row{padding:.5rem 0;font-size:.8rem}.confirm-icon{font-size:2rem;margin-bottom:.75rem}.confirm-text{font-size:.9rem;margin-bottom:.5rem}.confirm-subtext{font-size:.8rem}}.admin-students-page .view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.95rem 1.1rem}.admin-students-page .view-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.8rem .9rem}.admin-students-page .view-item-full{grid-column:1 / -1}.admin-students-page .view-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:.3rem}.admin-students-page .view-value{color:#1e293b;font-size:.95rem;font-weight:600;line-height:1.35;word-break:break-word}@media (max-width: 480px){.admin-students-page .view-grid{grid-template-columns:1fr}.admin-students-page .view-item-full{grid-column:1}}.admin-wardens-page{padding:2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1.5rem}.btn-add{white-space:nowrap}.search-filter-section{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;position:relative;min-width:250px}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:1rem}.filter-select{padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-dark);background:#fff;cursor:pointer;transition:all .3s ease;min-width:160px}.filter-select:hover,.filter-select:focus{border-color:var(--primary);outline:none}.results-info{font-size:.85rem;color:var(--text-light);margin-bottom:1rem;padding:0 .5rem}.wardens-mobile-cards{display:none}.wardens-table{width:100%;min-width:1100px;border-collapse:collapse}.wardens-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid var(--gray-200)}.wardens-table th{padding:1.25rem;text-align:left;font-weight:700;font-size:.85rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.wardens-table tbody tr{border-bottom:1px solid var(--gray-100);transition:all .2s ease}.wardens-table tbody tr:hover{background:var(--gray-50);box-shadow:inset 0 1px #6366f11a}.wardens-table td{padding:1.25rem;font-size:.95rem;color:var(--text-dark)}.warden-cell{display:flex;align-items:center;gap:.75rem}.warden-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.warden-info{display:flex;flex-direction:column;min-width:0}.warden-name{font-weight:600;color:var(--text-dark)}.warden-id{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.location-cell{display:flex;flex-direction:column;gap:.3rem}.hostel-badge,.block-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;width:fit-content}.hostel-badge{background:linear-gradient(135deg,#6366f11a,#764ba21a);color:var(--primary)}.block-badge{background:linear-gradient(135deg,#f59e0b1a,#fbbf241a);color:#b45309}.date-cell{font-size:.9rem;color:var(--text-light)}.badge-active{background:#d1fae5;color:#065f46}.badge-inactive{background:#fee2e2;color:#7f1d1d}.actions-cell{display:flex;gap:.5rem;flex-wrap:wrap}.warden-id-pill{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:999px;background:#6366f11f;color:var(--primary);font-size:.78rem;font-weight:700}.warden-mobile-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.warden-mobile-card{background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:1rem;box-shadow:var(--shadow-sm)}.warden-mobile-header{margin-bottom:.9rem}.warden-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem .75rem}.warden-mobile-label{display:block;margin-bottom:.35rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}.warden-mobile-value{display:block;font-size:.92rem;font-weight:500;color:var(--text-dark);word-break:break-word}.warden-mobile-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:1rem}.warden-mobile-actions .btn-action{width:100%;height:40px}.btn-action{width:36px;height:36px;border:none;border-radius:6px;background:var(--gray-100);color:var(--text-dark);font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-edit{background:#fef3c7;color:#92400e}.btn-edit:hover{background:#fde68a}.btn-deactivate{background:#fee2e2;color:#7f1d1d}.btn-deactivate:hover{background:#fecaca}.btn-activate{background:#dcfce7;color:#15803d}.btn-activate:hover{background:#bbf7d0}.btn-delete{background:#fecaca;color:#991b1b}.btn-delete:hover{background:#fca5a5}.empty-state-container{display:flex;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:12px;border:2px dashed var(--gray-300);margin:2rem 0}.empty-state{text-align:center;padding:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.empty-state p{font-size:.95rem;color:var(--text-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:12px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000026;animation:slideUp .3s ease;max-width:600px;width:100%}.modal-lg{max-width:700px}.modal-sm{max-width:400px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem;border-bottom:2px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin:0}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);transition:color .2s ease;padding:.25rem}.btn-close:hover{color:var(--text-dark)}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:var(--gray-100)}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.modal-footer{padding:1.5rem;border-top:2px solid var(--gray-200);display:flex;justify-content:flex-end;gap:.75rem;background:var(--gray-50);position:sticky;bottom:0;z-index:10}.form-group{margin-bottom:1.5rem}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;font-size:.9rem;color:var(--text-dark);margin-bottom:.5rem}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .3s ease;background:#fff}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-input:disabled,.form-select:disabled{background:var(--gray-100);color:var(--gray-600);cursor:not-allowed}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:var(--text-dark);border:2px solid var(--gray-200);border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-danger{padding:.75rem 1.5rem;background:var(--danger);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef444466}.btn-primary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--gray-200)}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2rem;box-shadow:0 4px 12px #6366f14d}.profile-main-info{text-align:center}.profile-main-info h3{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.profile-id{font-size:.9rem;color:var(--text-light);margin-bottom:1rem}.profile-details{display:flex;flex-direction:column}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--gray-100);gap:1rem}.detail-label{font-weight:600;color:var(--text-light);font-size:.9rem;min-width:120px}.detail-value{color:var(--text-dark);font-weight:500;text-align:right}.confirm-icon{font-size:3rem;text-align:center;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.confirm-text{font-size:1rem;color:var(--text-dark);text-align:center;margin-bottom:.75rem}.confirm-subtext{font-size:.9rem;color:var(--text-light);text-align:center}@media (max-width: 1200px){.page-header{flex-direction:column;align-items:flex-start}.btn-add{align-self:flex-start}.form-group-row{grid-template-columns:1fr}.wardens-table{min-width:100%}}@media (max-width: 1024px){.admin-wardens-page{padding:1.5rem}.page-title{font-size:1.5rem}.search-filter-section{gap:.75rem}.search-box{min-width:200px}.filter-select{min-width:140px}.wardens-table th,.wardens-table td{padding:.75rem;font-size:.85rem}.modal-content{max-width:90%}}@media (max-width: 768px){.admin-wardens-page{padding:1rem}.page-title{font-size:1.3rem}.page-subtitle{font-size:.85rem}.btn-primary{padding:.65rem 1.25rem;font-size:.85rem}.search-filter-section{flex-direction:column;gap:.5rem}.search-box,.filter-select{min-width:100%}.form-group-row{grid-template-columns:1fr;gap:1rem}.wardens-desktop-table{display:none}.wardens-mobile-cards{display:grid;gap:.9rem}.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-body{padding:1rem}.modal-footer{padding:1rem;gap:.5rem}.detail-row{flex-direction:column;align-items:flex-start;padding:.75rem;gap:.25rem}.detail-value{text-align:left}.profile-avatar-large{width:60px;height:60px;font-size:1.5rem}.profile-main-info h3{font-size:1.2rem}}@media (max-width: 480px){.admin-wardens-page{padding:.75rem}.page-header{gap:.5rem;margin-bottom:1.5rem}.page-title{font-size:1.1rem}.page-subtitle{font-size:.75rem}.btn-add{width:100%;padding:.65rem 1rem}.search-filter-section{flex-direction:column;gap:.5rem;margin-bottom:1rem}.search-input,.filter-select{padding:.65rem .75rem;font-size:.85rem}.results-info{font-size:.75rem;margin-bottom:.5rem}.warden-mobile-card{padding:.9rem;border-radius:16px}.warden-mobile-grid{grid-template-columns:1fr;gap:.8rem}.warden-mobile-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.warden-avatar{width:32px;height:32px;font-size:.75rem}.btn-action{width:32px;height:32px;font-size:.85rem}.modal-content{max-width:100%;border-radius:8px}.modal-header{padding:.75rem}.modal-header h2{font-size:1rem}.modal-body{padding:.75rem;font-size:.85rem}.form-group label{font-size:.8rem;margin-bottom:.35rem}.form-input,.form-select{padding:.6rem .75rem;font-size:.85rem}.modal-footer{padding:.75rem;gap:.5rem;flex-wrap:wrap}.btn-secondary,.btn-primary,.btn-danger{padding:.6rem 1rem;font-size:.8rem;flex:1;min-width:100px}.profile-avatar-large{width:50px;height:50px;font-size:1.25rem}.admin-wardens-page .search-filter-section{display:grid;grid-template-columns:minmax(320px,1fr) 220px;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:1rem;border:2px solid var(--gray-200);border-radius:14px;background:#fff}.admin-wardens-page .search-box{min-width:0;width:100%;border:0;background:transparent;padding:0;margin:0;box-shadow:none}.admin-wardens-page .search-input,.admin-wardens-page .filter-select{width:100%;min-width:0;height:48px}@media (max-width: 1024px){.admin-wardens-page .search-filter-section{grid-template-columns:minmax(240px,1fr) 1fr}}@media (max-width: 768px){.admin-wardens-page .search-filter-section{grid-template-columns:1fr;gap:.625rem;padding:.625rem}.admin-wardens-page .search-input,.admin-wardens-page .filter-select{height:44px}}.profile-main-info h3{font-size:1rem}.detail-row{padding:.5rem;font-size:.8rem}.confirm-icon{font-size:2rem;margin-bottom:.75rem}.confirm-text{font-size:.9rem;margin-bottom:.5rem}.confirm-subtext{font-size:.8rem}}.admin-wardens-page .modal-header{position:relative;justify-content:flex-start;padding-right:54px}.admin-wardens-page .btn-close{position:absolute;top:50%;right:14px;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex:0 0 auto;margin:0}.admin-wardens-page .view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.95rem 1.1rem}.admin-wardens-page .view-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:.8rem .9rem}.admin-wardens-page .view-item-full{grid-column:1 / -1}.admin-wardens-page .view-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:#64748b;margin-bottom:.3rem}.admin-wardens-page .view-value{color:#1e293b;font-size:.95rem;font-weight:600;line-height:1.35;word-break:break-word}@media (max-width: 480px){.admin-wardens-page .view-grid{grid-template-columns:1fr}.admin-wardens-page .view-item-full{grid-column:1}}.admin-hostel-blocks{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.btn-add{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 6px 14px #10b98140;transition:all .2s ease}.btn-add:hover{transform:translateY(-1px);box-shadow:0 8px 18px #10b98159}.header-content h1{font-size:2rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.header-subtitle{color:#64748b;font-size:1rem;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e0f2fe;border-top:4px solid #0284c7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-container{background:#fff;border-radius:12px;border:2px solid #e5e7eb;overflow:hidden;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.blocks-table{width:100%;min-width:940px;border-collapse:collapse}.blocks-table thead{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:2px solid #0284c7}.blocks-table th{padding:1.25rem;text-align:left;font-weight:700;font-size:.85rem;color:#075985;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.blocks-table tbody tr{border-bottom:1px solid #e5e7eb;transition:all .2s ease}.blocks-table tbody tr:hover{background-color:#f0f9ff}.blocks-table td{padding:1.25rem;color:#1e293b;vertical-align:middle}.blocks-table th:nth-child(3),.blocks-table th:nth-child(4),.blocks-table th:nth-child(5),.blocks-table td:nth-child(3),.blocks-table td:nth-child(4),.blocks-table td:nth-child(5){text-align:center}.blocks-table .block-name-cell{font-weight:600;color:#075985;display:flex;align-items:center;gap:.75rem;font-size:1.05rem}.block-icon{font-size:1.5rem}.blocks-table .total-rooms{font-weight:600;color:#0284c7}.blocks-table .action-buttons{display:flex;gap:.5rem;flex-wrap:nowrap;align-items:center}.blocks-table .btn-delete{background:#fee2e2;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;color:#b91c1c;font-weight:700;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.blocks-table .btn-delete:hover:not(:disabled){background-color:#ef4444;color:#fff;transform:translateY(-1px)}.blocks-table .btn-delete:disabled{opacity:.6;cursor:not-allowed}.blocks-table .btn-edit{background:#dbeafe;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;color:#0369a1;font-weight:600;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.blocks-table .btn-edit:hover{background-color:#0284c7;color:#fff;transform:translateY(-1px)}.empty-state-container{padding:4rem 2rem}.empty-state{text-align:center;max-width:400px;margin:0 auto}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.25rem;color:#1e293b;margin-bottom:.5rem}.empty-state p{color:#64748b;font-size:.95rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;width:90%;max-width:600px}.modal-content.modal-md{max-width:700px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.modal-header h2{margin:0;font-size:1.5rem;color:#075985;display:flex;align-items:center;gap:.5rem}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;transition:color .2s;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:#dc2626;background:#fee2e2}.modal-body{padding:1.5rem}.modal-info{background:#dbeafe;border:1px solid #bfdbfe;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;color:#0369a1;font-size:.95rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#1e293b;font-size:.9rem}.form-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit}.form-input:focus{outline:none;border-color:#0284c7;box-shadow:0 0 0 3px #0284c71a}.form-hint{display:block;margin-top:.375rem;font-size:.8rem;color:#64748b;font-style:italic}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.calculation-summary{margin-top:1.5rem}.summary-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0284c7;border-radius:10px;padding:1.25rem;display:flex;gap:1rem;align-items:center}.summary-icon{font-size:2rem}.summary-content{flex:1}.summary-label{font-size:.85rem;color:#64748b;margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-value{font-size:1rem;color:#075985;margin:0}.summary-value strong{font-size:1.5rem;color:#0284c7}.modal-footer{padding:1.5rem;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem;background:#f8fafc}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.btn-primary{background:#0284c7;color:#fff}.btn-primary:hover:not(:disabled){background:#0369a1;transform:translateY(-1px);box-shadow:0 4px 6px #0284c74d}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;color:#64748b;border:2px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-view{background:#10b981;color:#fff;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;font-weight:600;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.btn-view:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 6px #10b9814d}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-height:500px;overflow-y:auto;padding:.5rem}.room-card{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #e5e7eb;border-radius:10px;padding:1rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem}.room-card:hover{border-color:#0284c7;box-shadow:0 4px 6px #0284c71a;transform:translateY(-2px)}.room-info{flex:1}.room-number{font-size:1.1rem;font-weight:700;color:#0369a1;margin:0 0 .5rem}.room-capacity{font-size:.9rem;color:#64748b;margin:.25rem 0}.room-status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;margin-top:.5rem}.room-status.status-available{background:#d1fae5;color:#065f46}.room-status.status-occupied{background:#fef3c7;color:#92400e}.room-status.status-maintenance{background:#fee2e2;color:#991b1b}.room-edit-form{display:flex;flex-direction:column;gap:.75rem}.room-edit-form .form-group{margin-bottom:0}.room-edit-form .form-input{padding:.5rem;font-size:.9rem}.room-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-edit-room,.btn-save,.btn-cancel{padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;flex:1}.btn-edit-room{background:#dbeafe;color:#0369a1;width:100%}.btn-edit-room:hover{background:#0284c7;color:#fff}.btn-save{background:#10b981;color:#fff}.btn-save:hover:not(:disabled){background:#059669}.btn-cancel{background:#f1f5f9;color:#64748b}.btn-cancel:hover:not(:disabled){background:#e2e8f0;color:#475569}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.modal-content.modal-lg{max-width:900px}.modal-message{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-weight:500;font-size:.95rem;animation:slideDown .3s ease}.modal-message-success{background-color:#dcfce7;border-left:4px solid #10b981;color:#15803d}.modal-message-error{background-color:#fee2e2;border-left:4px solid #ef4444;color:#991b1b}.modal-message .message-icon{font-size:1.1rem;flex-shrink:0}.modal-message .message-text{flex:1}@media (max-width: 768px){.admin-hostel-blocks{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.header-content h1{font-size:1.5rem}.form-group-row{grid-template-columns:1fr}.modal-content{width:95%;margin:1rem}.table-container{background:transparent;border:none;box-shadow:none;overflow:visible}.blocks-table{min-width:0;border-collapse:separate;border-spacing:0}.blocks-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blocks-table tbody,.blocks-table tr,.blocks-table td{display:block;width:100%}.blocks-table tbody tr{border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 2px 10px #0f172a0d;padding:.65rem .75rem;margin-bottom:.7rem}.blocks-table tbody tr:hover{background:#f8fbff}.blocks-table td{border:none;padding:.48rem .2rem;display:grid;grid-template-columns:minmax(112px,42%) 1fr;align-items:center;gap:.6rem;text-align:left}.blocks-table td+td{border-top:1px dashed #e2e8f0}.blocks-table td:nth-child(3),.blocks-table td:nth-child(4),.blocks-table td:nth-child(5){text-align:left}.blocks-table td:before{content:attr(data-label);font-size:.78rem;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.35px}.blocks-table .block-name-cell{font-size:1rem;gap:.5rem;min-width:0}.blocks-table .block-name-cell span:last-child{overflow-wrap:anywhere}.blocks-table td.action-buttons{display:block;padding-top:.65rem}.blocks-table td.action-buttons:before{display:block;margin-bottom:.45rem}.blocks-table td.action-buttons button{width:100%;justify-content:center;margin-bottom:.4rem}.blocks-table td.action-buttons button:last-child{margin-bottom:0}.rooms-grid{grid-template-columns:1fr;max-height:400px}.room-card{padding:.75rem}}@media (max-width: 480px){.blocks-table td{grid-template-columns:minmax(104px,40%) 1fr;gap:.5rem}.blocks-table td:before{font-size:.74rem}.blocks-table .block-name-cell{font-size:.96rem}.block-icon{font-size:1.2rem}}.admin-hostel-blocks .modal-overlay{z-index:2000}.admin-hostel-blocks .modal-content{width:min(92vw,700px);max-height:90vh;border-radius:12px}.admin-hostel-blocks .modal-content.modal-md{max-width:700px}.admin-hostel-blocks .modal-header{padding:1.25rem 1.5rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.admin-hostel-blocks .modal-header h2{margin:0;font-size:1.35rem;font-weight:700;color:#075985;line-height:1.25}.admin-hostel-blocks .btn-close{width:34px;height:34px;border-radius:8px;color:#64748b}.admin-hostel-blocks .btn-close:hover{color:#dc2626;background:#fee2e2}.admin-hostel-blocks .modal-body{padding:1.25rem 1.5rem}.admin-hostel-blocks .modal-footer{padding:1rem 1.5rem 1.25rem}@media (max-width: 768px){.admin-hostel-blocks .modal-overlay{align-items:flex-start;justify-content:center;overflow-y:auto;padding:calc(68px + env(safe-area-inset-top,0px)) .75rem .9rem}.admin-hostel-blocks .modal-content{width:100%;margin:0;max-height:calc(100dvh - (82px + env(safe-area-inset-top,0px)));border-radius:12px}.admin-hostel-blocks .modal-header{position:sticky;top:0;z-index:2;padding:1rem}.admin-hostel-blocks .modal-header h2{font-size:1.1rem;max-width:calc(100% - 44px)}.admin-hostel-blocks .modal-body{padding:1rem}.admin-hostel-blocks .modal-footer{padding:.9rem 1rem 1rem;gap:.6rem;flex-direction:column}.admin-hostel-blocks .modal-footer .btn-primary,.admin-hostel-blocks .modal-footer .btn-secondary{width:100%}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--secondary: #764ba2;--accent: #f59e0b;--success: #10b981;--danger: #ef4444;--warning: #eab308;--info: #0ea5e9;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-600: #4b5563;--gray-900: #111827;--text-dark: #1f2937;--text-light: #6b7280;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}.admin-reports-page{padding:2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;width:100%}.page-header{margin-bottom:2rem}.header-content{flex:1}.page-title{font-size:2rem;font-weight:800;color:var(--text-dark);margin-bottom:.25rem}.page-subtitle{font-size:.95rem;color:var(--text-light)}.filters-section{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;font-size:.85rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-dark);background:#fff;cursor:pointer;transition:all .3s ease;min-width:200px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:hover,.filter-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2.5rem}.analytics-card{background:#fff;padding:1.5rem;border-radius:12px;border:2px solid var(--gray-200);display:flex;align-items:center;gap:1.25rem;transition:all .3s ease;box-shadow:var(--shadow-sm)}.analytics-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}.card-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;border-radius:12px;flex-shrink:0}.card-content{flex:1}.card-value{font-size:2rem;font-weight:800;line-height:1;margin-bottom:.5rem}.card-label{font-size:.9rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.card-blue{background:linear-gradient(135deg,#6366f10d,#6366f105)}.card-blue .card-icon{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px #6366f14d}.card-blue .card-value{color:#4f46e5}.card-purple{background:linear-gradient(135deg,#8b5cf60d,#8b5cf605)}.card-purple .card-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d}.card-purple .card-value{color:#7c3aed}.card-green{background:linear-gradient(135deg,#10b9810d,#10b98105)}.card-green .card-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.card-green .card-value{color:#059669}.card-orange{background:linear-gradient(135deg,#f59e0b0d,#f59e0b05)}.card-orange .card-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.card-orange .card-value{color:#d97706}.card-red{background:linear-gradient(135deg,#ef44440d,#ef444405)}.card-red .card-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.card-red .card-value{color:#dc2626}.card-yellow{background:linear-gradient(135deg,#eab3080d,#eab30805)}.card-yellow .card-icon{background:linear-gradient(135deg,#eab308,#ca8a04);box-shadow:0 4px 12px #eab3084d}.card-yellow .card-value{color:#ca8a04}.card-cyan{background:linear-gradient(135deg,#0ea5e90d,#0ea5e905)}.card-cyan .card-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 4px 12px #0ea5e94d}.card-cyan .card-value{color:#0284c7}.card-pink{background:linear-gradient(135deg,#ec48990d,#ec489905)}.card-pink .card-icon{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #ec48994d}.card-pink .card-value{color:#db2777}.charts-section{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2.5rem}.chart-container{background:#fff;border-radius:12px;border:2px solid var(--gray-200);padding:1.5rem;box-shadow:var(--shadow-sm)}.chart-wide{grid-column:1 / -1}.chart-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-100)}.chart-header h3{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.chart-subtitle{font-size:.85rem;color:var(--text-light)}.chart-body{min-height:300px;display:flex;align-items:center;justify-content:center}.bar-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:1.5rem;width:100%;height:250px;padding:1rem 0}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.75rem}.bar-wrapper{width:100%;height:200px;display:flex;align-items:flex-end;justify-content:center}.bar{width:60%;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:8px 8px 0 0;position:relative;transition:all .3s ease;min-height:20px;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}.bar:hover{background:linear-gradient(180deg,#4f46e5,#7c3aed);transform:scaleX(1.1)}.bar-value{font-size:.75rem;font-weight:700;color:#fff}.bar-label{font-size:.85rem;font-weight:600;color:var(--text-dark);text-align:center}.pie-chart-wrapper{display:flex;align-items:center;justify-content:space-around;gap:3rem;width:100%}.pie-chart{width:200px;height:200px;border-radius:50%;background:conic-gradient(from 0deg,#6366f1,#6366f1 29%,#8b5cf6 29%,#8b5cf6 53%,#ec4899 53%,#ec4899 86%,#f59e0b 86%,#f59e0b);box-shadow:0 4px 20px #0000001a;position:relative}.pie-chart:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:#fff;border-radius:50%}.pie-legend{display:flex;flex-direction:column;gap:1rem}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-label{font-size:.9rem;font-weight:600;color:var(--text-dark);flex:1}.legend-value{font-size:.9rem;font-weight:700;color:var(--text-dark)}.line-chart{width:100%;height:250px;position:relative;padding:1rem 0}.chart-grid{position:absolute;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between}.grid-line{width:100%;height:1px;background:var(--gray-200)}.line-plot{position:relative;width:100%;height:100%;display:flex;justify-content:space-around;align-items:flex-end}.plot-point{flex:1;position:relative;height:100%;display:flex;flex-direction:column;align-items:center}.plot-bar{position:absolute;bottom:0;width:14px;border-radius:8px 8px 0 0;min-height:2px;transition:all .25s ease}.plot-bar-outpass{background:linear-gradient(180deg,#6366f1,#4f46e5);box-shadow:0 4px 12px #4f46e533}.plot-bar-leave{background:linear-gradient(180deg,#14b8a6,#0d9488);box-shadow:0 4px 12px #0d948833}.point{position:absolute;width:12px;height:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:3px solid white;border-radius:50%;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px #6366f166}.point-outpass{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 2px 8px #4f46e566}.point-leave{background:linear-gradient(135deg,#14b8a6,#0d9488);box-shadow:0 2px 8px #0d948866}.point:hover{transform:scale(1.5);box-shadow:0 4px 12px #6366f199}.point-value{position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:700;color:var(--primary);white-space:nowrap;opacity:0;transition:opacity .3s ease}.point:hover .point-value{opacity:1}.point-label{position:absolute;bottom:-30px;font-size:.85rem;font-weight:600;color:var(--text-dark);text-align:center}.reports-table-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--text-dark)}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.table-container{background:#fff;border-radius:12px;border:2px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm);overflow-x:auto}.reports-table{width:100%;min-width:900px;border-collapse:collapse}.reports-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid var(--gray-200)}.reports-table th{padding:1.25rem;text-align:left;font-weight:700;font-size:.85rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.reports-table tbody tr{border-bottom:1px solid var(--gray-100);transition:all .2s ease}.reports-table tbody tr:hover{background:var(--gray-50);box-shadow:inset 0 1px #6366f11a}.reports-table td{padding:1.25rem;font-size:.95rem;color:var(--text-dark)}.report-name{display:flex;align-items:center;gap:.75rem;font-weight:600}.report-icon{font-size:1.25rem}.report-description{color:var(--text-light);font-size:.9rem;max-width:400px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.badge-ready{background:#d1fae5;color:#065f46}.badge-processing{background:#fef3c7;color:#92400e}.actions-cell{display:flex;gap:.5rem}.reports-table .actions-cell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}.btn-action{width:36px;height:36px;border:none;border-radius:6px;background:var(--gray-100);color:var(--text-dark);font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-action:disabled{opacity:.4;cursor:not-allowed}.btn-view{background:#dbeafe;color:#0c4a6e}.btn-view:hover{background:#bfdbfe}.btn-download{background:#dcfce7;color:#15803d}.btn-download:hover:not(:disabled){background:#bbf7d0}@media (max-width: 1400px){.analytics-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.charts-section{gap:1.5rem}}@media (max-width: 1024px){.admin-reports-page{padding:1.5rem}.page-title{font-size:1.5rem}.analytics-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.analytics-card{padding:1.25rem}.card-icon{width:50px;height:50px;font-size:1.5rem}.card-value{font-size:1.5rem}.charts-section{grid-template-columns:1fr;gap:1.5rem}.chart-wide{grid-column:1}}@media (max-width: 768px){.admin-reports-page{padding:1rem}.page-title{font-size:1.3rem}.filters-section{flex-direction:column;gap:1rem}.filter-select{min-width:100%}.analytics-cards{grid-template-columns:repeat(2,1fr);gap:.75rem}.analytics-card{flex-direction:column;text-align:center;padding:1rem}.card-icon{width:45px;height:45px;font-size:1.25rem}.card-value{font-size:1.3rem}.card-label{font-size:.75rem}.chart-body{min-height:250px}.bar-chart{height:200px;gap:1rem}.bar-wrapper{height:150px}.pie-chart-wrapper{flex-direction:column;gap:2rem}.pie-chart{width:150px;height:150px}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-primary{width:100%}.reports-table th,.reports-table td{padding:.75rem;font-size:.85rem}.table-container{border:none;box-shadow:none;background:transparent;overflow:visible}.reports-table{min-width:100%;display:block;border-collapse:separate}.reports-table thead{display:none}.reports-table tbody{display:flex;flex-direction:column;gap:.9rem}.reports-table tbody tr{display:block;background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:.9rem 1rem;box-shadow:var(--shadow-sm)}.reports-table td{display:block;width:100%;padding:.6rem 0;border-bottom:1px dashed var(--gray-200);font-size:.83rem}.reports-table td:last-child{border-bottom:none;padding-bottom:0}.reports-table td:before{content:attr(data-label);display:block;margin-bottom:.35rem;color:var(--text-light);font-weight:700;min-width:0;text-transform:uppercase;letter-spacing:.3px;font-size:.68rem;line-height:1.4}.report-col-name{padding-top:.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--gray-200)}.report-col-name:before{display:none}.report-col-name .report-name{display:flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:700;color:var(--text-dark);margin-left:0}.report-col-name .report-icon{font-size:1.1rem}.report-col-name .report-name,.report-col-description,.report-col-date,.report-col-status,.report-col-actions{text-align:left;margin-left:0}.report-col-description{max-width:100%;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.report-col-status .status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:90px}.report-col-actions{padding-top:.7rem}.report-col-actions .actions-cell{justify-content:flex-start;gap:.65rem;flex-direction:row;flex-wrap:nowrap;align-items:center}.report-col-actions .actions-cell .btn-action{flex:0 0 auto}}@media (max-width: 480px){.admin-reports-page{padding:.75rem}.page-title{font-size:1.1rem}.page-subtitle{font-size:.85rem}.analytics-cards{grid-template-columns:1fr;gap:.75rem}.analytics-card{flex-direction:row;justify-content:flex-start;text-align:left}.card-icon{width:40px;height:40px;font-size:1.1rem}.card-value{font-size:1.2rem}.bar-chart{gap:.5rem}.bar{width:100%}.pie-chart{width:120px;height:120px}.pie-chart:after{width:60px;height:60px}.legend-item{gap:.5rem}.legend-color{width:12px;height:12px}.legend-label,.legend-value{font-size:.8rem}.reports-table td{font-size:.78rem}.reports-table td:before{font-size:.64rem}.report-col-name .report-name{font-size:.94rem}.btn-action{width:32px;height:32px;font-size:.9rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000026;max-width:720px;width:90%;max-height:min(86vh,920px);display:flex;flex-direction:column;animation:slideIn .3s ease-out;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:2}.modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);transition:color .2s ease}.modal-close:hover{color:var(--text-dark)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.report-preview{display:flex;flex-direction:column;gap:1.5rem}.preview-section{background:var(--gray-50);border-radius:8px;padding:1rem}.preview-section h4{font-size:.9rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;margin-top:0}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--gray-200)}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--text-light);font-size:.9rem}.detail-value{color:var(--text-dark);font-weight:500}.content-preview{display:flex;flex-direction:column;gap:.75rem}.stat-row{display:flex;justify-content:space-between;padding:.75rem;background:#fff;border-radius:6px;border:1px solid var(--gray-200)}.stat-row span{color:var(--text-light);font-weight:500}.stat-row strong{color:var(--primary);font-weight:700}.modal-footer{padding:1.5rem;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:1rem;position:sticky;bottom:0;background:#fff;z-index:2}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary{background:var(--gray-200);color:var(--text-dark)}.btn-secondary:hover{background:var(--gray-300);transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#5558e3;transform:translateY(-1px);box-shadow:0 8px 12px #6366f14d}@media (max-width: 768px){.modal-overlay{padding:.5rem;align-items:flex-end}.modal-content{width:100%;max-height:92vh;border-radius:16px 16px 10px 10px}.modal-header{padding:1rem}.modal-header h3{font-size:1.05rem;padding-right:.5rem}.modal-body{padding:1rem}.detail-row,.stat-row{flex-direction:column;align-items:flex-start;gap:.35rem}.detail-label,.stat-row span{font-size:.8rem}.detail-value,.stat-row strong{font-size:.9rem}.modal-footer{padding:1rem;flex-direction:column}.modal-footer button{width:100%}}.admin-reports-page .reports-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000}.admin-reports-page .reports-modal-content{position:relative;z-index:20001}.admin-reports-page .reports-modal-content .report-preview{gap:1rem}.admin-reports-page .reports-modal-content .preview-section{padding:.9rem;border-radius:10px}.admin-reports-page .reports-modal-content .preview-section h4{margin-bottom:.7rem}.admin-reports-page .reports-modal-content .detail-row{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:start;gap:.7rem;padding:.45rem 0}.admin-reports-page .reports-modal-content .detail-label{font-size:.8rem;letter-spacing:.2px;text-transform:uppercase}.admin-reports-page .reports-modal-content .detail-value{text-align:left;font-size:.98rem;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.admin-reports-page .reports-modal-content .detail-row .status-badge{justify-self:start}.admin-reports-page .reports-modal-content .content-preview{gap:.55rem}.admin-reports-page .reports-modal-content .stat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.6rem;padding:.6rem .7rem}.admin-reports-page .reports-modal-content .stat-row span{line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 768px){.admin-reports-page .reports-modal-overlay{align-items:stretch}.admin-reports-page .reports-modal-content{margin-top:max(8px,env(safe-area-inset-top));border-radius:14px}.admin-reports-page .reports-modal-content .preview-section{padding:.8rem}.admin-reports-page .reports-modal-content .detail-row{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.45rem 0}.admin-reports-page .reports-modal-content .detail-label{font-size:.74rem}.admin-reports-page .reports-modal-content .detail-value{font-size:.92rem}.admin-reports-page .reports-modal-content .stat-row{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;padding:.58rem .65rem}}.academic-settings-page{padding:24px;max-width:1400px;margin:0 auto}.academic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.academic-header h1{margin:0;color:var(--text-dark);font-size:22px}.academic-header p{margin:6px 0 0;color:var(--muted);font-size:13px}.academic-settings-page .page-header-card{padding:18px 22px;border-radius:14px}.academic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.academic-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:16px;box-shadow:0 1px 4px #0206170f}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header h2{margin:0;font-size:16px;color:var(--text-dark)}.count-badge{padding:4px 8px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:12px;font-weight:700}.add-row{display:flex;gap:8px;margin-bottom:12px}.add-row input{flex:1;border:1px solid var(--border-light);border-radius:8px;padding:8px 10px;font-size:13px}.add-row button{border:none;background:var(--accent);color:#fff;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.add-row button:disabled{opacity:.55;cursor:not-allowed}.list{display:flex;flex-direction:column;gap:10px}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border-light);border-radius:10px;padding:10px;background:#fff}.list-row input,.list-row select{border:1px solid var(--border-light);border-radius:8px;padding:6px 8px;font-size:12px}.row-title{font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:6px;flex-wrap:nowrap}.row-actions button{border:1px solid var(--border-light);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}.row-actions button.primary{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.row-actions button.danger{background:#fff1f2;border-color:#fecaca;color:#9f1239}.status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase}.status.active{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}.status.inactive{background:#fff1f2;color:#9f1239;border:1px solid #fecaca}.empty{color:var(--muted);font-size:12px}@media (max-width:900px){.academic-grid{grid-template-columns:1fr}}@media (max-width:768px){.academic-settings-page{padding:14px}.academic-settings-page .page-header-card{padding:14px 16px;border-radius:12px}.academic-header h1{font-size:20px}.academic-card{padding:14px}.add-row{flex-direction:column;gap:8px}.add-row input,.add-row button{width:100%;min-height:40px;font-size:13px}.list-row{grid-template-columns:1fr auto;grid-template-areas:"title status" "actions actions";row-gap:8px;column-gap:8px;padding:10px}.list-row .row-title{grid-area:title}.list-row .status{grid-area:status;justify-self:end}.list-row .row-actions{grid-area:actions;display:grid;grid-template-columns:1fr 1fr;gap:8px}.list-row .row-actions button{width:100%;padding:8px 10px}.list-row.editing{grid-template-columns:1fr;grid-template-areas:none;gap:8px}.list-row.editing input,.list-row.editing select,.list-row.editing .row-actions,.list-row.editing .row-actions button{width:100%}.list-row.editing .row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}}@media (max-width:480px){.academic-settings-page{padding:12px}.academic-header h1{font-size:18px}.academic-header p{font-size:12px}.list-row .status{font-size:10px;padding:3px 7px}.row-actions button{font-size:11px}}.academic-settings-page .academic-card .card-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.academic-settings-page .academic-card .card-header h2{margin:0;white-space:nowrap}.academic-settings-page .academic-card .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;line-height:1;flex-shrink:0}.academic-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:2600;padding:16px}.academic-confirm-modal{width:min(460px,100%);background:#fff;border:1px solid var(--border-light);border-radius:14px;box-shadow:0 20px 45px #02061738;overflow:hidden}.academic-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-light)}.academic-confirm-header h3{margin:0;font-size:18px;color:var(--text-dark)}.academic-confirm-close{border:none;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}.academic-confirm-body{padding:16px;color:var(--text-dark)}.academic-confirm-body p{margin:0;line-height:1.5}.academic-confirm-subtext{margin-top:8px!important;color:var(--muted);font-size:13px}.academic-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 16px 16px}.academic-confirm-actions button{border:1px solid var(--border-light);background:#fff;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.academic-confirm-actions button.danger{background:#fff1f2;border-color:#fecaca;color:#9f1239}@media (max-width: 480px){.academic-confirm-actions{flex-direction:column}.academic-confirm-actions button{width:100%}}.room-utilities-container{padding:24px;max-width:1200px;margin:0 auto}.utilities-header{margin-bottom:32px}.utilities-header h1{font-size:28px;font-weight:600;color:#1e293b;margin-bottom:8px}.utilities-header p{color:#64748b;font-size:14px}.utilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;margin-bottom:32px}.utility-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.card-icon{font-size:48px;margin-bottom:16px}.utility-card h2{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:8px}.utility-card p{color:#64748b;font-size:14px;margin-bottom:20px;line-height:1.5}.utility-card button{width:100%;padding:12px 24px;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:all .2s}.utility-card button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.room-utilities-container .btn-primary,.room-utilities-container .btn-warning{min-height:44px;font-weight:600}.result-box{margin-top:20px;padding:16px;border-radius:8px;border:2px solid}.result-box.success{background:#f0fdf4;border-color:#22c55e;color:#166534}.result-box.warning{background:#fef3c7;border-color:#f59e0b;color:#92400e}.result-box h3{font-size:16px;font-weight:600;margin-bottom:8px}.result-box p{margin:0;font-size:14px}.discrepancies-list{margin-top:12px;max-height:280px;overflow-y:auto}.discrepancy-item{background:#fff;padding:12px;border-radius:6px;margin-bottom:8px;font-size:13px;line-height:1.5;border:1px solid #fbbf24;overflow-wrap:anywhere}.discrepancy-item strong{color:#92400e}.info-section{background:#f8fafc;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.info-section h3{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px}.info-section ul{list-style:none;padding:0;margin:0}.info-section li{padding:12px 0;border-bottom:1px solid #e2e8f0;color:#475569;font-size:14px;line-height:1.6}.info-section li:last-child{border-bottom:none}.info-section strong{color:#1e293b;font-weight:600}@media (max-width: 1024px){.room-utilities-container{padding:18px}.utilities-grid{grid-template-columns:1fr;gap:18px}}@media (max-width: 768px){.room-utilities-container{padding:14px}.utilities-header{margin-bottom:18px}.utilities-header h1{font-size:22px}.utilities-header p{font-size:13px}.utility-card{padding:14px;border-radius:10px}.card-icon{font-size:38px;margin-bottom:10px}.utility-card h2{font-size:18px;margin-bottom:6px}.utility-card p{margin-bottom:14px;font-size:13px}.result-box{margin-top:14px;padding:12px}.result-box h3{font-size:15px}.discrepancies-list{max-height:220px}.discrepancy-item{padding:10px;font-size:12px}.info-section{padding:14px}.info-section h3{font-size:16px;margin-bottom:10px}.info-section li{padding:10px 0;font-size:13px}}@media (max-width: 480px){.room-utilities-container{padding:12px}.utilities-header h1{font-size:20px}.utility-card{padding:12px}.room-utilities-container .btn-primary,.room-utilities-container .btn-warning{padding:10px 14px;min-height:42px;font-size:13px}.result-box p{font-size:13px}}:root{--accent: #3b82f6;--accent-light: #eff6ff;--text-dark: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--bg-light: #f9fafb;--sidebar-bg: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1)}.technician-page{min-height:100vh;background:#f3f4f6;padding-top:56px}@media (min-width: 768px){.technician-page{padding-top:0}}.technician-layout{display:flex;gap:1rem;padding:clamp(1rem,3vw,24px);min-height:100vh;box-sizing:border-box;background:#f3f4f6;flex-direction:column}@media (min-width: 768px){.technician-layout{flex-direction:row;gap:24px}}.technician-sidebar{width:100%;flex:0 0 auto;background-color:var(--sidebar-bg);border-radius:0;border:1px solid var(--border);box-shadow:0 1px 3px #0000000d;display:none;flex-direction:column;height:auto;max-height:50vh;overflow-y:auto;padding:1rem;border-top:1px solid var(--border)}@media (min-width: 768px){.technician-sidebar{width:260px;flex:0 0 260px;display:flex;border-radius:12px;padding:20px;border-top:none;height:calc(100vh - 48px);position:sticky;top:24px;max-height:none}}.tech-header-section{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.tech-logo{font-size:24px}.tech-title{font-size:16px;font-weight:700;color:var(--text-dark)}.tech-menu{margin-top:16px;flex:1}.tech-menu ul{list-style:none;padding:0;margin:0}.tech-menu li{margin-bottom:8px}.tech-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-dark);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;border-left:3px solid transparent}.tech-item:hover{background:#f3f4f6}.tech-item.active{background:#eff6ff;color:var(--accent);border-left-color:var(--accent);font-weight:600}.tech-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.tech-profile-card{display:flex;align-items:center;gap:10px}.tech-avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#60a5fa);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.tech-profile-info{flex:1;min-width:0}.tech-profile-name{font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-profile-email{font-size:12px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-logout-btn{padding:8px 12px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dark);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.tech-logout-btn:hover{background-color:#0000000d;border-color:var(--text-light)}.technician-main{flex:1;overflow-y:auto;padding:clamp(.5rem,2vw,24px);background:transparent;min-width:0}@media (min-width: 768px){.technician-main{padding:clamp(1rem,3vw,24px)}}.tech-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:clamp(.9rem,2.4vw,18px)}@media (min-width: 768px){.tech-header{flex-wrap:nowrap;margin-bottom:24px}}.tech-header-left{display:flex;flex-direction:column;gap:4px;flex:1;min-width:200px}.tech-title-main{font-size:clamp(1.5rem,4vw,28px);font-weight:700;color:var(--text-dark);margin:0}.tech-subtitle{font-size:clamp(.85rem,2vw,14px);color:var(--text-light);margin:0}.tech-header-right{display:flex;gap:12px;width:100%;flex-wrap:wrap}@media (min-width: 768px){.tech-header-right{width:auto;flex-wrap:nowrap}}.view-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#f8fafc;border:1px solid var(--border);border-radius:10px}.toggle-btn{border:none;background:transparent;color:#475569;font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:#1e293b;background:#eef2f7}.toggle-btn.active{color:#1d4ed8;background:#dbeafe;box-shadow:0 1px 2px #02061714}.tech-summary-cards{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}@media (min-width: 480px){.tech-summary-cards{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}}@media (min-width: 640px){.tech-summary-cards{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}}@media (min-width: 768px){.tech-summary-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}}@media (min-width: 1024px){.tech-summary-cards{grid-template-columns:repeat(4,1fr);margin-bottom:24px}}.tech-status-card{background-color:var(--white);border-radius:8px;padding:clamp(1rem,2vw,16px);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);border-left:4px solid;min-height:80px}@media (max-width: 480px){.tech-status-card{min-height:auto}}.tech-status-card.pending{border-left-color:#f59e0b;background:linear-gradient(135deg,#f59e0b0d,#f59e0b05)}.tech-status-card.in-progress{border-left-color:var(--accent);background:linear-gradient(135deg,#3b82f60d,#3b82f605)}.tech-status-card.resolved{border-left-color:#10b981;background:linear-gradient(135deg,#10b9810d,#10b98105)}.tech-status-card.today{border-left-color:#8b5cf6;background:linear-gradient(135deg,#8b5cf60d,#8b5cf605)}.status-left{display:flex;flex-direction:column;gap:4px}.status-label{font-size:13px;color:var(--text-light);font-weight:500}.status-count{font-size:24px;font-weight:700;color:var(--text-dark)}.status-icon{font-size:28px}.tech-filters{background-color:var(--white);border-radius:12px;border:1px solid var(--border);padding:clamp(.9rem,2vw,16px);margin-bottom:1.5rem;display:flex;gap:12px;box-shadow:var(--shadow-sm);align-items:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}@media (min-width: 768px){.tech-filters{margin-bottom:24px}}.technician-main .tech-filters>.search-box{flex:1 1 420px;min-width:320px;width:auto;position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;padding:0 12px;height:44px;transition:all .2s ease}.technician-main .tech-filters>.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.technician-main .tech-filters>.search-box .search-icon{position:static;inset:auto;transform:none;font-size:14px;color:var(--text-light);margin-right:10px;flex:0 0 auto}.technician-main .tech-filters>.search-box .search-input{flex:1;width:auto;min-height:0;border:none;box-shadow:none;outline:none;background:transparent;color:var(--text-dark);font-size:14px;min-width:0;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.technician-main .tech-filters>.search-box .search-input::placeholder{color:var(--text-light)}.technician-main .tech-filters>.search-box .clear-search{border:none;background:transparent;color:var(--text-light);width:28px;height:28px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.technician-main .tech-filters>.search-box .clear-search:hover{background:#eef2f7;color:var(--text-dark)}@media (max-width: 480px){.technician-main .tech-filters>.search-box{width:100%}}.technician-main .tech-filters>.filter-select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-dark);font-size:13px;font-weight:500;cursor:pointer;outline:none;transition:all .2s;min-height:44px;min-width:180px;width:180px;flex:0 0 180px}.technician-main .tech-filters>.filter-select:hover{border-color:var(--accent)}.technician-main .tech-filters>.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.task-board{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}@media (min-width: 480px){.task-board{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}}@media (min-width: 768px){.task-board{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}}.board-column{background-color:var(--white);border-radius:8px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden;border-top:3px solid}.board-column.pending-col{border-top-color:#f59e0b}.board-column.in-progress-col{border-top-color:var(--accent)}.board-column.resolved-col{border-top-color:#10b981}.column-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.column-title{font-size:15px;font-weight:600;color:var(--text-dark);margin:0}.column-badge{font-size:12px;font-weight:700;background-color:var(--bg-light);color:var(--text-dark);padding:4px 8px;border-radius:12px;min-width:20px;text-align:center}.column-content{flex:1;padding:16px;min-height:300px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:600px}.column-content:has(.empty-state){justify-content:center;align-items:center}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-light);text-align:center}.empty-icon{font-size:32px;opacity:.5}.empty-state p{font-size:13px;margin:0;color:var(--text-light)}.task-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:14px;transition:all .25s ease;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.task-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.task-card.pending-task{background:#fef3c7;border-left:3px solid #f59e0b}.task-card.inprogress-task{background:#dbeafe;border-left:3px solid var(--accent)}.task-card.resolved-task{background:#dcfce7;border-left:3px solid #10b981;opacity:.9}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.task-title{margin:0;font-size:14px;font-weight:600;color:var(--text-dark);flex:1}.task-title.completed{text-decoration:line-through;opacity:.7}.priority-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:12px;letter-spacing:.5px}.priority-badge.priority-high{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.priority-badge.priority-medium{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.priority-badge.priority-low{background:#dbeafe;color:#2563eb;border:1px solid #93c5fd}.status-badge-resolved{background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.task-meta{display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:12px;color:var(--text-light)}.task-student,.task-location{display:flex;align-items:center;gap:4px}.task-time{font-size:11px;color:var(--text-light);margin:4px 0;font-style:italic}.task-description{font-size:12px;color:#5b6270;margin:8px 0;line-height:1.4}.task-actions{display:flex;gap:8px;margin-top:12px}.task-btn{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.task-btn:disabled{opacity:.6;cursor:not-allowed}.task-btn-primary{background:var(--accent);color:#fff}.task-btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.task-btn-success{background:#10b981;color:#fff}.task-btn-success:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.task-btn-secondary{background:var(--bg-light);color:var(--text-dark);border:1px solid var(--border)}.task-btn-secondary:hover:not(:disabled){background:#e5e7eb}.task-list{background-color:var(--white);border-radius:8px;padding:16px;box-shadow:var(--shadow-sm);overflow:hidden}.list-state-card{min-height:220px;background:var(--bg-light);border:1px dashed var(--border);border-radius:10px}.task-list-cards{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 900px){.task-list-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.task-list-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.task-list-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.task-list-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.task-list-issue{margin:0;font-size:15px;font-weight:700;color:var(--text-dark)}.task-list-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-meta-item{display:flex;flex-direction:column;gap:4px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;padding:9px 10px}.meta-label{font-size:11px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;color:var(--text-light)}.meta-value{font-size:14px;font-weight:600;color:var(--text-dark);overflow-wrap:anywhere}.task-list-description{margin:0;font-size:13px;color:#4b5563;line-height:1.45;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px;overflow-wrap:anywhere}.task-list-actions{display:flex;gap:8px;flex-wrap:wrap}.loading-cell,.empty-cell{text-align:center;padding:60px 20px;color:var(--text-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.status-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:capitalize;padding:5px 10px;border-radius:12px}.status-badge.status-pending{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.status-badge.status-in_progress{background:#dbeafe;color:#2563eb;border:1px solid #93c5fd}.status-badge.status-resolved{background:#dcfce7;color:#059669;border:1px solid #86efac}.actions-cell{display:flex;gap:6px}.action-btn{padding:6px 12px;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn:disabled{opacity:.5;cursor:not-allowed}.btn-start{background:var(--accent);color:#fff}.btn-start:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 6px #3b82f64d}.btn-resolve{background:#10b981;color:#fff}.btn-resolve:hover:not(:disabled){background:#059669;box-shadow:0 2px 6px #10b9814d}.btn-view{background:var(--bg-light);color:var(--text-dark);border:1px solid var(--border)}.btn-view:hover{background:#e5e7eb}.detail-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2400!important;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-modal{background:var(--white);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--text-dark)}.modal-close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--bg-light);color:var(--text-dark)}.modal-body{padding:24px}.detail-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--bg-light)}.detail-row.full-width{flex-direction:column;align-items:flex-start;gap:8px}.detail-label{font-size:13px;font-weight:600;color:var(--text-light);min-width:120px;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:var(--text-dark);font-weight:500}.detail-description{font-size:14px;color:var(--text-dark);line-height:1.6;margin:0;padding:12px;background:var(--bg-light);border-radius:6px}.modal-footer{padding:20px 24px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn.btn-primary{background:var(--accent);color:#fff}.modal-btn.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.modal-btn.btn-success{background:#10b981;color:#fff}.modal-btn.btn-success:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.modal-btn.btn-secondary{background:var(--bg-light);color:var(--text-dark);border:1px solid var(--border)}.modal-btn.btn-secondary:hover{background:#e5e7eb}.coming-soon-container{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-light)}.coming-icon{font-size:40px;opacity:.6}.coming-soon-container p{font-size:14px;margin:0}@media (max-width: 1200px){.tech-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.task-board{grid-template-columns:repeat(2,1fr)}.tech-filters{align-items:stretch}.technician-main .tech-filters>.search-box{flex:1 0 340px}.technician-main .tech-filters>.filter-select{min-width:180px}}@media (max-width: 768px){.tech-filters{flex-wrap:wrap;overflow-x:visible}.technician-main .tech-filters>.search-box{flex:1 1 100%;min-width:100%}.technician-main .tech-filters>.filter-select{flex:1 1 100%;width:100%;min-width:100%}}@media (max-width: 768px){.technician-layout{grid-template-columns:1fr}.technician-sidebar{display:none}.tech-summary-cards,.task-board{grid-template-columns:1fr}.tech-header{flex-direction:column;gap:16px}.column-content{min-height:200px}.tasks-table{font-size:12px}.task-list{padding:12px}.task-list-meta-grid{grid-template-columns:1fr}.task-list-actions{flex-direction:row;flex-wrap:nowrap}.task-list-actions .action-btn{flex:1;min-width:0}.detail-modal{width:95%}.modal-footer{flex-direction:column}.modal-btn{width:100%}}@media (max-width: 480px){.technician-main{padding:16px}.tech-title-main{font-size:22px}.status-count{font-size:20px}.tech-header-right{width:100%}.view-toggle{width:100%;justify-content:space-between}.toggle-btn{flex:1;font-size:12px;padding:6px 10px}}.task-history-page{padding:20px;max-width:1200px;margin:0 auto}.history-header{margin-bottom:30px;border-bottom:3px solid #f0f0f0;padding-bottom:20px}.header-content h1{font-size:32px;font-weight:700;color:#2c3e50;margin:0 0 8px;letter-spacing:-.5px}.header-content p{font-size:14px;color:#7f8c8d;margin:0}.error-alert{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fee,#fdd);border-left:4px solid #ef5350;padding:14px 18px;border-radius:6px;margin-bottom:20px;animation:slideDown .3s ease}.error-message{color:#c62828;font-weight:500;font-size:14px}.retry-button{background:#ef5350;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:600;font-size:12px;transition:all .2s ease}.retry-button:hover{background:#e53935;transform:translateY(-1px);box-shadow:0 2px 8px #ef53504d}.history-controls{margin-bottom:25px;display:flex;justify-content:flex-start}.filter-group{display:flex;gap:12px;flex-wrap:wrap}.filter-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:#555;transition:all .3s ease}.filter-button:hover{border-color:#667eea;color:#667eea;background:#f8f9ff}.filter-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 12px #667eea4d}.filter-icon{font-size:16px}.count-badge{background:#ffffff4d;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;margin-left:4px}.filter-button.active .count-badge{background:#fff6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loader{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:#7f8c8d;font-size:16px;margin:0}.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-illustration{font-size:64px;margin-bottom:20px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.empty-container h3{font-size:24px;color:#2c3e50;margin:0 0 8px;font-weight:600}.empty-container p{font-size:14px;color:#95a5a6;margin:0}.tasks-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.history-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e8eef7;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.history-card:hover{border-color:#667eea;box-shadow:0 6px 20px #667eea26;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:2px solid #f5f5f5}.card-title-section{flex:1}.task-title h3{font-size:16px;font-weight:700;color:#2c3e50;margin:0 0 6px;word-break:break-word}.task-subtitle{font-size:13px;color:#7f8c8d;display:flex;align-items:center;gap:4px}.category-name{font-weight:500}.card-badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700}.status-badge.status-resolved{background:#4caf5026;color:#388e3c}.status-badge.status-closed{background:#2196f326;color:#1565c0}.priority-badge{padding:6px 12px;border-radius:6px;font-size:11px;font-weight:700;color:#fff}.card-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-cell{background:#f8f9fa;padding:12px;border-radius:8px;border-left:3px solid #667eea}.info-cell label{display:block;font-size:11px;font-weight:700;color:#95a5a6;text-transform:uppercase;margin-bottom:4px;letter-spacing:.5px}.info-content{font-size:14px;color:#2c3e50;font-weight:600;word-break:break-word}.card-description{background:#fafbfc;padding:12px;border-radius:8px;border-left:3px solid #667eea}.card-description label{display:block;font-size:12px;font-weight:700;color:#2c3e50;margin-bottom:6px}.card-description p{font-size:13px;color:#555;line-height:1.5;margin:0;word-break:break-word}.card-resolution{background:#4caf5014;padding:12px;border-radius:8px;border-left:3px solid #4caf50}.card-resolution label{display:block;font-size:12px;font-weight:700;color:#2e7d32;margin-bottom:6px}.card-resolution p{font-size:13px;color:#388e3c;line-height:1.5;margin:0;word-break:break-word}.card-completion{background:#2196f314;padding:12px;border-radius:8px;border-left:3px solid #2196f3}.card-completion label{display:block;font-size:12px;font-weight:700;color:#1565c0;margin-bottom:6px}.completion-time{font-size:13px;color:#1565c0;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.task-history-page{padding:15px}.history-header{margin-bottom:20px}.header-content h1{font-size:24px}.tasks-container{grid-template-columns:1fr}.filter-group{flex-direction:column}.filter-button{width:100%;justify-content:center}.card-info-grid{grid-template-columns:1fr}.card-top{flex-direction:column}.card-badges{flex-direction:row;width:100%}.status-badge,.priority-badge{flex:1;text-align:center}}@media (max-width: 480px){.task-history-page{padding:12px}.header-content h1{font-size:20px}.history-card{padding:15px;gap:12px}.filter-button{padding:8px 12px;font-size:12px}.info-cell{padding:10px}.task-title h3{font-size:14px}}
