@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--clr-bg: #f3f4f8;--clr-surface: #ffffff;--clr-primary: #3b82f6;--clr-primary-soft: #dbeafe;--clr-primary-dark: #1d4ed8;--clr-secondary: #6366f1;--clr-secondary-soft: #eef2ff;--clr-text: #111827;--clr-text-2: #374151;--clr-muted: #6b7280;--clr-border: #e5e7eb;--clr-success: #22c55e;--clr-success-soft: #dcfce7;--clr-warning: #f59e0b;--clr-warning-soft: #fef3c7;--clr-danger: #ef4444;--clr-danger-soft: #fee2e2;--clr-error: #ef4444;--clr-insight-bg: #eff6ff;--clr-insight-bd: #bfdbfe;--clr-input-bg: #f9fafb;--clr-btn: #0f172a;--clr-btn-hover: #1e293b;--text-primary: var(--clr-text);--text-secondary: var(--clr-text-2);--text-muted: var(--clr-muted);--border: var(--clr-border);--surface: var(--clr-surface);--bg: var(--clr-bg);--sidebar-w: 240px;--sidebar-bg: #ffffff;--sidebar-bd: #f0f0f4;--font: "Inter", sans-serif;--fs-xs: .72rem;--fs-sm: .82rem;--fs-base: .9rem;--fs-md: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.35rem;--fs-2xl: 1.6rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--gap: 1rem;--radius-sm: .4rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-card: 0 1px 4px rgba(0,0,0,.07);--shadow-panel: 0 2px 12px rgba(0,0,0,.06);--shadow-lg: 0 8px 30px rgba(0,0,0,.1);--shadow-focus: 0 0 0 3px rgba(99,102,241,.25);--z-base: 1;--z-sidebar: 100;--z-topbar: 200;--z-modal: 300;--z-toast: 400;--t: .18s ease;--t-md: .28s ease}@media (prefers-color-scheme: dark){:root{--clr-bg: #0f172a;--clr-surface: #1e293b;--clr-primary-soft: #1e293b;--clr-text: #f8fafc;--clr-text-2: #e2e8f0;--clr-muted: #94a3b8;--clr-border: #334155;--clr-input-bg: #1e293b;--sidebar-bg: #1e293b;--sidebar-bd: #334155;--surface: #1e293b;--bg: #0f172a;--border: #334155;--text-primary: #f8fafc;--text-secondary: #e2e8f0;--text-muted: #94a3b8}}body{font-family:var(--font);background:var(--clr-bg);color:var(--clr-text);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}ul{list-style:none}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-bd);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;overflow-x:hidden;z-index:200;transition:transform var(--t);scrollbar-width:thin;scrollbar-color:var(--clr-border) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:4px}.sidebar-brand{display:flex;align-items:center;gap:.625rem;padding:1.125rem 1rem .875rem;border-bottom:1px solid var(--clr-border);flex-shrink:0}.brand-icon{width:34px;height:34px;background:var(--clr-primary-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-icon svg{width:18px;height:18px;color:var(--clr-primary)}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:.9rem;font-weight:700;color:var(--clr-text);line-height:1.2}.brand-sub{font-size:.7rem;color:var(--clr-muted)}.sidebar-search{position:relative;padding:.75rem 1rem;border-bottom:1px solid var(--clr-border);flex-shrink:0}.search-icon{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--clr-muted);pointer-events:none}.sidebar-search input{width:100%;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.45rem .75rem .45rem 2rem;font-size:.8rem;font-family:var(--font);color:var(--clr-text);outline:none;transition:border-color var(--t)}.sidebar-search input::placeholder{color:var(--clr-muted)}.sidebar-search input:focus{border-color:var(--clr-primary)}.sidebar-nav{flex:1;padding:.5rem 0}.nav-section{padding:.625rem 0 .25rem}.nav-section-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-muted);padding:0 1rem;margin-bottom:.25rem}.nav-list{display:flex;flex-direction:column;gap:1px}.nav-item{width:100%;display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;background:none;border:none;font-size:.825rem;font-weight:500;color:var(--clr-text-2);text-align:left;transition:background var(--t),color var(--t);position:relative}.nav-item svg{width:15px;height:15px;flex-shrink:0;color:var(--clr-muted);transition:color var(--t)}.nav-item:hover{background:var(--clr-bg);color:var(--clr-primary)}.nav-item:hover svg{color:var(--clr-primary)}.nav-item.active{background:var(--clr-primary-soft);color:var(--clr-primary);font-weight:600}.nav-item.active svg{color:var(--clr-primary)}.nav-item:focus-visible{outline:2px solid var(--clr-primary);outline-offset:-2px}.nav-badge{margin-left:auto;background:var(--clr-primary);color:#fff;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:99px;line-height:1.4}.nav-badge.new{background:#dcfce7;color:#15803d}.sidebar-footer{padding:.875rem 1rem;border-top:1px solid var(--clr-border);flex-shrink:0}.student-mode{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--clr-primary)}.student-mode svg{width:14px;height:14px}.student-mode-sub{font-size:.7rem;color:var(--clr-muted);margin-top:.2rem}.prof-mode{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:#a78bfa}.prof-mode svg{width:14px;height:14px}.tpo-mode{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:#34d399}.tpo-mode svg{width:14px;height:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:900;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 24px 64px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;border-radius:.4rem;transition:background .15s}.modal-close:hover{background:var(--bg)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150}.sidebar-overlay.visible{display:block}.main-wrapper{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:flex-end;padding:.75rem 1.5rem;background:var(--clr-surface);border-bottom:1px solid var(--clr-border);position:sticky;top:0;z-index:100;gap:.75rem}.menu-toggle{display:none;background:none;border:none;padding:.4rem;border-radius:var(--radius-sm);color:var(--clr-text-2);margin-right:auto}.menu-toggle svg{width:20px;height:20px;display:block}.menu-toggle:hover{background:var(--clr-bg)}.topbar-right{display:flex;align-items:center;gap:.75rem}.icon-btn{position:relative;background:none;border:none;padding:.45rem;border-radius:var(--radius-sm);color:var(--clr-muted);transition:background var(--t),color var(--t)}.icon-btn svg{width:20px;height:20px;display:block}.icon-btn:hover{background:var(--clr-bg);color:var(--clr-text)}.notif-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--clr-danger);border-radius:50%;border:1.5px solid var(--clr-surface)}.avatar-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.25rem .5rem .25rem .25rem;border-radius:var(--radius-md);transition:background var(--t)}.avatar-btn:hover{background:var(--clr-bg)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--clr-primary);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-info{display:flex;flex-direction:column;text-align:left}.avatar-name{font-size:.8rem;font-weight:600;color:var(--clr-text);line-height:1.2}.avatar-role{font-size:.68rem;color:var(--clr-muted)}.logout-btn{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.4rem .75rem;font-size:.78rem;font-weight:600;font-family:var(--font);color:var(--clr-muted);transition:background var(--t),color var(--t),border-color var(--t)}.logout-btn svg{width:15px;height:15px;flex-shrink:0}.logout-btn:hover{background:#fef2f2;color:var(--clr-danger);border-color:#fca5a5}.topbar-dropdown-wrap{position:relative;display:flex}.notif-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;width:320px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:0 10px 25px #0000001f;z-index:800;overflow:hidden;animation:popIn .2s ease}@keyframes popIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--clr-border)}.notif-dropdown-header h3{font-size:.88rem;font-weight:700;color:var(--clr-text);margin:0}.notif-dropdown-header button{background:none;border:none;color:var(--clr-primary);font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.notif-dropdown-header button:hover{text-decoration:underline}.notif-dropdown-body{max-height:280px;overflow-y:auto;display:flex;flex-direction:column}.notif-item{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--clr-border);position:relative;transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--clr-bg)}.notif-item.unread{background:#3b82f60a}.notif-item-content{flex:1;display:flex;flex-direction:column;gap:.15rem}.notif-item-content h4{font-size:.8rem;font-weight:700;color:var(--clr-text);margin:0}.notif-item-content p{font-size:.76rem;color:var(--clr-text-2);margin:0;line-height:1.4}.notif-item-content span{font-size:.68rem;color:var(--clr-muted);margin-top:.1rem}.notif-item-close{background:none;border:none;color:var(--clr-muted);font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .15s;align-self:flex-start;padding:.1rem .25rem;border-radius:.25rem}.notif-item:hover .notif-item-close{opacity:1}.notif-item-close:hover{background:var(--clr-border);color:var(--clr-text)}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;color:var(--clr-muted);gap:.35rem;text-align:center}.notif-empty span{font-size:1.5rem}.notif-empty p{font-size:.8rem;margin:0}.profile-settings-modal{padding:1.25rem 1.5rem}.profile-settings-layout{display:grid;grid-template-columns:160px 1fr;gap:1.25rem;margin-top:.5rem}@media (max-width: 540px){.profile-settings-layout{grid-template-columns:1fr}}.profile-settings-sidebar{display:flex;flex-direction:column;gap:.35rem;border-right:1px solid var(--clr-border);padding-right:.75rem}@media (max-width: 540px){.profile-settings-sidebar{border-right:none;padding-right:0;border-bottom:1px solid var(--clr-border);padding-bottom:.5rem;flex-direction:row;flex-wrap:wrap}}.ps-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--clr-text-2);font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;transition:all .15s}.ps-tab-btn:hover{background:var(--clr-bg);color:var(--clr-text)}.ps-tab-btn.active{background:var(--clr-primary-soft);color:var(--clr-primary)}.profile-settings-content{flex:1}.ps-form{display:flex;flex-direction:column;gap:.85rem}.ps-form h3{font-size:.95rem;font-weight:700;color:var(--clr-text);margin-bottom:.25rem}.ps-preference-row{display:flex;align-items:center}.content{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-width:1100px;width:100%}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(80px);background:#1e293b;color:#fff;padding:.7rem 1.25rem;border-radius:2rem;font-size:.85rem;font-weight:500;white-space:nowrap;box-shadow:0 4px 24px #0003;z-index:9999;opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.success{background:#16a34a}.toast.error{background:var(--clr-danger)}.toast.info{background:var(--clr-primary)}.panel{background:var(--clr-surface);border-radius:var(--radius-lg);padding:1.125rem;box-shadow:var(--shadow-card);border:1px solid var(--clr-border)}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel-title{font-size:.9rem;font-weight:700;color:var(--clr-text)}.panel-link{font-size:.78rem;font-weight:600;color:var(--clr-primary);transition:opacity var(--t)}.panel-link:hover{opacity:.75}@media (max-width: 1024px){.stats-row{grid-template-columns:repeat(2,1fr)!important}.mid-row{grid-template-columns:1fr!important}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}.menu-toggle{display:flex}.bottom-row{grid-template-columns:1fr!important}.content{padding:1rem}.avatar-info{display:none}}@media (max-width: 480px){.stats-row{grid-template-columns:1fr 1fr!important}.event-cards{grid-template-columns:1fr!important}}@media (max-width: 480px){input,select,textarea{font-size:16px!important}}@media (max-width: 480px){.content{padding:.75rem;gap:.875rem}}@media (max-width: 480px){.topbar{padding:.5rem .875rem;gap:.5rem}.logout-btn span{display:none}.logout-btn{padding:.4rem .55rem;min-width:36px;min-height:36px}.icon-btn,.menu-toggle{padding:.6rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.notif-dropdown{width:calc(100vw - 2rem);right:-.5rem}}@media (max-width: 480px){.modal-overlay{align-items:flex-end;padding:0}.modal-box{width:100%;max-width:100%;border-radius:1.25rem 1.25rem 0 0;max-height:92vh;padding:1rem 1.25rem}.modal-header h2{font-size:1rem}}@media (max-width: 480px){.nav-item{padding:.65rem 1rem;font-size:.875rem}}@media (max-width: 480px){.filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem;scrollbar-width:none;-ms-overflow-style:none}.filter-row::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0}}@media (max-width: 480px){.panel{padding:.875rem}}@media (max-width: 480px){.modal-footer{flex-direction:column;gap:.5rem}.modal-footer button,.modal-footer .btn-primary,.modal-footer .btn-secondary{width:100%;justify-content:center}}@media (max-width: 480px){.table-wrap,.attend-table-wrap,.grades-table-wrap,.roster-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}.filter-btn{background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-2);font-family:var(--font);font-size:.775rem;font-weight:600;padding:.5rem 1.125rem;border-radius:9999px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.filter-btn:hover{background:var(--clr-bg);border-color:var(--clr-muted);transform:translateY(-1px)}.filter-btn.active{background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-dark) 100%);border-color:transparent;color:var(--clr-surface);box-shadow:0 4px 10px #3b82f640}.action-btn,.btn-primary{background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-dark) 100%);color:var(--clr-surface);border:none;font-family:var(--font);font-size:.8rem;font-weight:700;padding:.625rem 1.25rem;border-radius:var(--radius-md);box-shadow:0 4px 12px #3b82f633;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.action-btn:hover,.btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 16px #3b82f64d;filter:brightness(1.05)}.btn-secondary{background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-2);font-family:var(--font);font-size:.8rem;font-weight:600;padding:.625rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-card)}.btn-secondary:hover{background:var(--clr-bg);border-color:var(--clr-muted);transform:translateY(-1px)}.listing-btn,.event-btn,.intern-btn,.mentor-btn,.slot-btn,.desk-btn{background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-dark) 100%);color:var(--clr-surface);border:none;font-family:var(--font);font-size:.775rem;font-weight:700;padding:.55rem 1rem;border-radius:var(--radius-md);box-shadow:0 3px 8px #3b82f626;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.listing-btn:hover,.event-btn:hover,.intern-btn:hover,.mentor-btn:hover,.slot-btn:hover,.desk-btn:hover{transform:translateY(-1.5px);box-shadow:0 5px 14px #3b82f640;filter:brightness(1.05)}.event-btn.registered,.intern-btn.applied,.mentor-btn.requested,.slot-btn.booked{background:var(--clr-success);cursor:default;transform:none}.content,.dashboard-page,.admin-view,.page-container{animation:fadeInUp .35s cubic-bezier(.16,1,.3,1) forwards}.panel,.stat-card,.card,.table-container{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),border-color .25s ease}.panel:hover,.stat-card:hover,.listing-card:hover,.event-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px -4px #00000014,0 4px 8px -2px #0000000a}button,.action-btn,.btn-primary,.btn-secondary,.filter-btn,.nav-item{transition:all .2s cubic-bezier(.16,1,.3,1)}button:active,.action-btn:active,.btn-primary:active,.btn-secondary:active,.filter-btn:active{transform:scale(.97) translateY(0)!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.status-badge.active,.pulse-badge,.live-badge{position:relative}.status-badge.active:before,.pulse-dot{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--clr-success);margin-right:6px;animation:pulseGlow 2s infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.vic-scene{width:320px;height:580px;perspective:1000px;flex-shrink:0}.vic-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);border-radius:18px}.vic-card--flipped{transform:rotateY(180deg)}.vic-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;background:var(--clr-surface, #ffffff);border:1px solid var(--clr-border, #e5e7eb);box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;display:flex;flex-direction:column;overflow:hidden}.vic-back{transform:rotateY(180deg)}.vic-header{position:relative;padding:14px 16px;flex-shrink:0;overflow:hidden}.vic-header-brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.vic-brand-icon{width:32px;height:32px;background:#fff3;border-radius:8px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vic-brand-name{font-size:.82rem;font-weight:800;color:#fff;letter-spacing:.02em;line-height:1.2}.vic-brand-sub{font-size:.65rem;color:#ffffffbf;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.vic-header-deco{position:absolute;border-radius:50%;background:#ffffff1a;pointer-events:none}.vic-deco-1{width:80px;height:80px;top:-20px;right:-10px}.vic-deco-2{width:50px;height:50px;top:10px;right:50px}.vic-identity{display:flex;align-items:center;gap:14px;padding:16px 16px 12px;flex-shrink:0}.vic-avatar-wrap{position:relative;flex-shrink:0}.vic-avatar-img,.vic-avatar-placeholder{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid var(--clr-border, #e5e7eb);box-shadow:0 4px 12px #0000001f}.vic-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;color:#fff;letter-spacing:.02em}.vic-role-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--clr-surface, #fff)}.vic-name-block{flex:1;min-width:0}.vic-name{font-size:1.05rem;font-weight:800;color:var(--clr-text, #111827);line-height:1.25;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vic-meta-role{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.vic-status{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.vic-status-success{background:#dcfce7;color:#15803d}.vic-status-danger{background:#fee2e2;color:#dc2626}.vic-status-warning{background:#fef3c7;color:#b45309}.vic-status-muted{background:var(--clr-border, #e5e7eb);color:var(--clr-muted, #6b7280)}.vic-divider{height:3px;margin:0 16px;border-radius:2px;flex-shrink:0}.vic-fields{flex:1;padding:10px 16px 4px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.vic-field{display:grid;grid-template-columns:18px 90px 1fr;align-items:center;gap:6px;min-height:22px}.vic-field-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.vic-field-label{font-size:.7rem;font-weight:600;color:var(--clr-muted, #6b7280);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.vic-field-value{font-size:.76rem;font-weight:600;color:var(--clr-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vic-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--clr-border, #e5e7eb);flex-shrink:0}.vic-id-chip{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;color:var(--clr-muted, #6b7280);background:var(--clr-bg, #f3f4f8);border:1px solid var(--clr-border, #e5e7eb);padding:4px 10px;border-radius:999px;letter-spacing:.03em}.vic-flip-btn{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--accent, #3b82f6);background:none;border:1px solid currentColor;border-radius:999px;padding:4px 12px;cursor:pointer;transition:background .18s,opacity .18s;font-family:var(--font, "Inter", sans-serif);opacity:.85}.vic-flip-btn:hover{background:#3b82f60f;opacity:1}.vic-qr-section{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px 10px;flex-shrink:0}.vic-qr-wrap{padding:12px;background:#fff;border-radius:14px;border:1.5px solid var(--clr-border, #e5e7eb);box-shadow:0 4px 16px #00000012;display:flex;align-items:center;justify-content:center}.vic-qr-hint{font-size:.7rem;font-weight:500;color:var(--clr-muted, #6b7280);text-align:center;letter-spacing:.03em}.vic-verify-meta{flex:1;padding:4px 16px 8px;display:flex;flex-direction:column;gap:8px}.vic-verify-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--clr-bg, #f3f4f8);border-radius:8px;border:1px solid var(--clr-border, #e5e7eb)}.vic-verify-label{font-size:.68rem;font-weight:600;color:var(--clr-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.vic-verify-val{font-size:.76rem;font-weight:700;color:var(--clr-text, #111827);text-align:right;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vic-security-strip{height:8px;flex-shrink:0;opacity:.6}@media (prefers-color-scheme: dark){.vic-face{background:#1e293b;border-color:#334155;box-shadow:0 20px 60px #00000073,0 4px 16px #0000004d}.vic-qr-wrap{background:#f8fafc}.vic-verify-row,.vic-id-chip{background:#0f172a;border-color:#334155}}@media (max-width: 480px){.vic-scene{width:290px;height:540px}}.idz-root{display:flex;flex-direction:column;gap:8px;width:100%}.idz-zone{position:relative;border:2px dashed var(--clr-border, #e5e7eb);border-radius:14px;background:var(--clr-bg, #f3f4f8);cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s,box-shadow .2s;min-height:200px;display:flex;align-items:center;justify-content:center}.idz-zone:hover,.idz-zone:focus-visible{border-color:var(--idz-accent, #3b82f6);background:color-mix(in srgb,var(--idz-accent, #3b82f6) 4%,var(--clr-bg, #f3f4f8));outline:none}.idz-zone--drag{border-color:var(--idz-accent, #3b82f6);background:color-mix(in srgb,var(--idz-accent, #3b82f6) 8%,var(--clr-bg, #f3f4f8));box-shadow:0 0 0 4px color-mix(in srgb,var(--idz-accent, #3b82f6) 15%,transparent)}.idz-zone--has-image{cursor:default;border-style:solid}.idz-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.idz-avatar-fallback{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center}.idz-initials{font-size:2rem;font-weight:800;letter-spacing:.02em}.idz-empty-text{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--clr-text-2, #374151);line-height:1.55;flex-direction:column}.idz-empty-text svg{flex-shrink:0}.idz-hint{font-size:.72rem;color:var(--clr-muted, #6b7280);margin:0}.idz-preview-wrap{position:relative;width:100%;height:200px}.idz-preview-img{width:100%;height:100%;object-fit:cover;display:block}.idz-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .2s}.idz-preview-wrap:hover .idz-preview-overlay{opacity:1}.idz-change-btn{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-family:var(--font, "Inter", sans-serif);transition:filter .18s}.idz-change-btn:hover{filter:brightness(1.1)}.idz-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:none;background:#fff3;color:#fff;cursor:pointer;transition:background .18s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.idz-remove-btn:hover{background:#ef444499}.idz-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:2px dashed;z-index:10}.idz-drag-overlay p{font-size:.88rem;font-weight:700;color:var(--clr-text, #111827);margin:0}.idz-error{display:flex;align-items:center;gap:6px;font-size:.77rem;font-weight:600;color:var(--clr-danger, #ef4444);margin:0}.idz-aspect-hint{font-size:.72rem;color:var(--clr-muted, #6b7280);margin:0;text-align:center;font-style:italic}@media (prefers-color-scheme: dark){.idz-drag-overlay{background:#0f172aeb}}.qrs-container{display:flex;flex-direction:column;align-items:center;width:100%;padding:1rem 0}.qrs-camera-box{position:relative;width:100%;max-width:380px;min-height:320px;background:#090e1a;border:1px solid rgba(255,255,255,.12);border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.qrs-video-stage{width:100%!important;border:none!important}.qrs-video-stage video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:.75rem}.qrs-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:#00000040}.qrs-reticle{width:200px;height:200px;border:2px dashed rgba(255,255,255,.6);border-radius:1rem;position:relative;box-shadow:0 0 0 9999px #00000073}.qrs-reticle:before,.qrs-reticle:after{content:"";position:absolute;width:20px;height:20px;border-color:#3b82f6;border-style:solid}.qrs-reticle:before{top:-2px;left:-2px;border-width:3px 0 0 3px;border-top-left-radius:.5rem}.qrs-reticle:after{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-bottom-right-radius:.5rem}.qrs-laser-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);box-shadow:0 0 8px #3b82f6;animation:qrsLaserScan 2s infinite ease-in-out}@keyframes qrsLaserScan{0%,to{top:0}50%{top:100%}}.qrs-instruction{position:absolute;bottom:1.5rem;font-size:.78rem;font-weight:600;color:#f8fafc;background:#000000b3;padding:.35rem .85rem;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qrs-controls{padding:.85rem;width:100%;display:flex;gap:.5rem;justify-content:center;background:#00000080;border-top:1px solid rgba(255,255,255,.08)}.qrs-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:.55rem;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.qrs-btn-primary{background:#3b82f6;color:#fff}.qrs-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.qrs-btn-outline{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f1f5f9}.qrs-btn-outline:hover{background:#ffffff24}.qrs-btn-large{width:100%;justify-content:center;padding:.65rem 1rem;font-size:.88rem}.qrs-error-banner{padding:.75rem 1rem;margin:.5rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#f87171;font-size:.78rem;display:flex;align-items:center;gap:.4rem}.qrs-result-card{width:100%;max-width:380px;background:var(--surface, #0f172a);border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:1.125rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;animation:qrsFadeIn .2s ease}@keyframes qrsFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.qrs-result-header{display:flex;align-items:center;gap:.75rem}.qrs-success-icon{width:40px;height:40px;border-radius:50%;background:#10b98126;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qrs-result-title{font-size:1.05rem;font-weight:700;color:var(--text-primary, #f8fafc);margin:0}.qrs-result-sub{font-size:.75rem;color:var(--text-secondary, #94a3b8);margin:0}.qrs-member-details{background:#ffffff08;border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:.75rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.5rem}.qrs-detail-row{display:flex;align-items:center;justify-content:space-between;font-size:.82rem}.qrs-label{color:var(--text-secondary, #94a3b8);font-size:.75rem;text-transform:uppercase;font-weight:600}.qrs-value{color:var(--text-primary, #f8fafc);font-weight:600}.qrs-actions{display:flex;flex-direction:column;gap:.5rem}.qrs-native-scanning{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;min-height:200px}.qrs-native-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.15);border-top-color:#3b82f6;border-radius:50%;animation:qrs-spin .8s linear infinite}@keyframes qrs-spin{to{transform:rotate(360deg)}}.idcm-overlay{z-index:var(--z-modal, 300)}.idcm-box{width:100%;max-width:820px;max-height:92vh;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.idcm-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--clr-border, #e5e7eb);flex-shrink:0}.idcm-header-left{display:flex;align-items:center;gap:12px}.idcm-header-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.idcm-title{font-size:1.05rem;font-weight:800;color:var(--clr-text, #111827);margin:0 0 2px}.idcm-subtitle{font-size:.78rem;color:var(--clr-muted, #6b7280);margin:0}.idcm-tabs{display:flex;border-bottom:1px solid var(--clr-border, #e5e7eb);flex-shrink:0;padding:0 1.5rem}.idcm-tab{display:inline-flex;align-items:center;gap:6px;padding:.7rem 1rem;font-size:.83rem;font-weight:600;color:var(--clr-muted, #6b7280);background:none;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .18s,border-color .18s;font-family:var(--font, "Inter", sans-serif)}.idcm-tab:hover{color:var(--clr-text, #111827)}.idcm-tab--active{color:var(--clr-primary, #3b82f6);font-weight:700}.idcm-body{flex:1;overflow-y:auto;padding:1.5rem}.idcm-preview-tab{display:flex;flex-direction:column;align-items:center;gap:20px}.idcm-card-stage{display:flex;justify-content:center;width:100%;background:repeating-conic-gradient(#f0f0f0 0% 25%,transparent 0% 50%) 0 0 / 20px 20px;border-radius:12px;padding:28px 20px;border:1px solid var(--clr-border, #e5e7eb)}.idcm-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.idcm-action-btn{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--ac, #3b82f6);background:color-mix(in srgb,var(--ac, #3b82f6) 8%,transparent);border:1.5px solid color-mix(in srgb,var(--ac, #3b82f6) 30%,transparent);border-radius:999px;padding:8px 18px;cursor:pointer;transition:background .18s,border-color .18s,transform .15s;font-family:var(--font, "Inter", sans-serif)}.idcm-action-btn:hover{background:color-mix(in srgb,var(--ac, #3b82f6) 14%,transparent);transform:translateY(-1px)}.idcm-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.idcm-action-btn--copied{color:var(--clr-success, #22c55e);border-color:var(--clr-success, #22c55e);background:var(--clr-success-soft, #dcfce7)}.idcm-spin{animation:idcm-spin .9s linear infinite}@keyframes idcm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.idcm-role-hint{font-size:.76rem;color:var(--clr-muted, #6b7280);text-align:center;margin:0;font-style:italic}.idcm-photo-tab{display:flex;flex-direction:column;gap:1.25rem}.idcm-photo-layout{display:grid;grid-template-columns:1fr 200px;gap:1.5rem;align-items:start}.idcm-section-title{font-size:.9rem;font-weight:700;color:var(--clr-text, #111827);margin:0 0 4px}.idcm-section-desc{font-size:.78rem;color:var(--clr-muted, #6b7280);margin:0 0 12px;line-height:1.55}.idcm-mini-preview-col{display:flex;flex-direction:column;gap:8px}.idcm-mini-preview{background:var(--clr-bg, #f3f4f8);border:1px solid var(--clr-border, #e5e7eb);border-radius:14px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.idcm-mini-avatar-wrap{position:relative}.idcm-mini-avatar-img,.idcm-mini-avatar-placeholder{width:80px;height:80px;border-radius:50%;border:3px solid var(--clr-border, #e5e7eb);box-shadow:0 4px 12px #0000001a}.idcm-mini-avatar-img{object-fit:cover}.idcm-mini-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:#fff}.idcm-mini-role-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--clr-surface, #fff)}.idcm-mini-name{font-size:.88rem;font-weight:700;color:var(--clr-text, #111827);margin:0}.idcm-mini-role{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0}.idcm-photo-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:.75rem;border-top:1px solid var(--clr-border, #e5e7eb)}.idcm-edit-tab{display:flex;flex-direction:column;gap:1.25rem}.idcm-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.idcm-form-group{display:flex;flex-direction:column;gap:5px}.idcm-form-group--full{grid-column:1 / -1}.idcm-form-label{font-size:.78rem;font-weight:700;color:var(--clr-text, #111827);display:flex;align-items:center;gap:6px}.idcm-form-input{width:100%;padding:.6rem .85rem;font-size:.85rem;border-radius:8px;border:1px solid var(--clr-border, #e5e7eb);background:var(--clr-bg, #ffffff);color:var(--clr-text, #111827);font-family:var(--font, inherit);transition:border-color .15s,box-shadow .15s;outline:none}.idcm-form-input:focus{border-color:var(--clr-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.idcm-form-hint{font-size:.72rem;color:var(--clr-muted, #6b7280)}@media (max-width: 768px){.idcm-photo-layout{grid-template-columns:1fr}.idcm-mini-preview-col{display:none}}@media (max-width: 480px){.idcm-box{border-radius:1.25rem 1.25rem 0 0}.idcm-header{padding:1rem 1.25rem .875rem}.idcm-tabs{padding:0 1.25rem}.idcm-body{padding:1rem 1.25rem}.idcm-card-stage{padding:20px 12px}.idcm-actions{flex-direction:column;width:100%}.idcm-action-btn{justify-content:center}.idcm-photo-footer{flex-direction:column}.idcm-photo-footer button{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.idcm-card-stage{background:repeating-conic-gradient(#1e293b 0% 25%,transparent 0% 50%) 0 0 / 20px 20px;border-color:#334155}}.offline-snapshot-banner{position:sticky;top:0;z-index:9999;background:linear-gradient(135deg,#1e293b,#0f172a);color:#f8fafc;border-bottom:1px solid rgba(234,179,8,.3);padding:10px 18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #00000040;font-family:inherit;font-size:13.5px;animation:slideDown .3s ease-out}.offline-banner-content{display:flex;align-items:center;gap:10px}.offline-pulse-dot{width:9px;height:9px;background-color:#eab308;border-radius:50%;box-shadow:0 0 8px #eab308;animation:pulse 1.8s infinite}.offline-banner-text{color:#e2e8f0}.offline-banner-text strong{color:#fef08a;font-weight:600}.offline-banner-tag{background:#eab30826;color:#fde047;border:1px solid rgba(234,179,8,.4);padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}@keyframes pulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.login-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:linear-gradient(135deg,#f0f4ff,#faf5ff,#f0fdf4);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-30%;left:-20%;width:60vw;height:60vw;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);pointer-events:none}.login-page:after{content:"";position:absolute;bottom:-20%;right:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(168,85,247,.06) 0%,transparent 70%);pointer-events:none}.login-card{background:#fff;border-radius:24px;box-shadow:0 0 0 1px #6366f114,0 4px 6px #0000000a,0 20px 60px #00000014;padding:2.5rem 2.5rem 2rem;width:100%;max-width:480px;position:relative;z-index:1;animation:cardIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo-wrap{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#a855f7);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 8px 32px #6366f159}.login-logo-wrap svg{width:32px;height:32px;color:#fff;flex-shrink:0}.login-title{font-size:1.625rem;font-weight:800;color:#0f172a;text-align:center;letter-spacing:-.025em;line-height:1.2;margin-bottom:.35rem}.login-subtitle{font-size:.9rem;color:#64748b;text-align:center;margin-bottom:1.75rem}.mode-tabs{display:flex;gap:0;background:#f1f5f9;border-radius:12px;padding:4px;margin-bottom:1.75rem}.mode-tab{flex:1;padding:.6rem .5rem;border:none;border-radius:9px;background:transparent;color:#64748b;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-align:center;line-height:1.3}.mode-tab:hover:not(.active){color:#1e293b;background:#fff9}.mode-tab.active{background:#fff;color:#4f46e5;box-shadow:0 1px 6px #0000001f,0 0 0 1px #6366f126}.login-form{display:flex;flex-direction:column;gap:1.125rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8rem;font-weight:600;color:#374151;letter-spacing:.01em}.input-wrap{position:relative}.input-wrap input{width:100%;padding:.8rem 1rem;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:.95rem;color:#0f172a;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none}.input-wrap input::placeholder{color:#94a3b8}.input-wrap input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.input-wrap input.has-error{border-color:#ef4444;background:#fff;box-shadow:0 0 0 3px #ef44441a}.input-wrap input:disabled{opacity:.6;cursor:not-allowed}.pw-toggle{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:6px;transition:color .15s;line-height:0}.pw-toggle:hover{color:#475569}.pw-toggle svg{width:18px;height:18px}.field-error{font-size:.78rem;color:#ef4444;display:flex;align-items:center;gap:.3rem;margin-top:.1rem}.forgot-row{display:flex;justify-content:flex-end;margin-top:-.25rem}.forgot-link{font-size:.82rem;font-weight:600;color:#6366f1;text-decoration:none;transition:opacity .15s}.forgot-link:hover{opacity:.7}.btn-primary{width:100%;padding:.875rem 1rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;letter-spacing:.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 14px #4f46e54d;margin-top:.25rem}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4f46e566}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-spinner{width:17px;height:17px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.login-divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider-text{font-size:.75rem;color:#94a3b8;font-weight:500;white-space:nowrap}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.role-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.7rem .25rem .6rem;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:600;color:#64748b;transition:all .15s ease}.role-btn svg{width:20px;height:20px;flex-shrink:0;color:#94a3b8;transition:color .15s}.role-btn:hover{border-color:#a5b4fc;background:#eef2ff;color:#4f46e5}.role-btn:hover svg{color:#4f46e5}.role-btn.active{border-color:#6366f1;background:#eef2ff;color:#4f46e5;box-shadow:0 0 0 2px #6366f126}.role-btn.active svg{color:#4f46e5}.btn-inline{padding:.7rem 1.1rem;background:#6366f1;color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-inline:hover{background:#4f46e5}.btn-inline:disabled{opacity:.6;cursor:not-allowed}.btn-verify{padding:.7rem 1.1rem;background:#10b981;color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-verify:hover{background:#059669}.btn-verify:disabled{opacity:.6;cursor:not-allowed}.alert-error{padding:.7rem .9rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.84rem;font-weight:500}.alert-success{padding:.7rem .9rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#16a34a;font-size:.84rem;font-weight:500}.signup-row{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.875rem;color:#64748b;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.signup-link-btn{background:none;border:none;color:#6366f1;font-family:inherit;font-size:.875rem;font-weight:700;cursor:pointer;padding:0;transition:opacity .15s}.signup-link-btn:hover{opacity:.75;text-decoration:underline}.demo-panel{margin-top:1rem}.demo-toggle{width:100%;padding:.55rem .85rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#475569;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.demo-toggle:hover{background:#f1f5f9;border-color:#6366f1;color:#4f46e5}.demo-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.65rem;animation:fadeIn .2s ease both}.demo-card{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;transition:all .15s ease;position:relative;overflow:hidden}.demo-card:hover{border-color:var(--demo-color, #6366f1);background:#fafafa;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.demo-card--filling{border-color:var(--demo-color, #6366f1);background:#eef2ff;opacity:.8}.demo-card__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.demo-card__info{display:flex;flex-direction:column;flex:1;min-width:0}.demo-card__label{font-size:.75rem;font-weight:700;color:#1e293b;line-height:1.2}.demo-card__id{font-size:.68rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-card__badge{font-size:.62rem;font-weight:600;background:#f1f5f9;color:#64748b;padding:2px 5px;border-radius:4px;flex-shrink:0}.dpdp-row{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.dpdp-row input[type=checkbox]{width:17px;height:17px;margin-top:1px;flex-shrink:0;accent-color:#6366f1;cursor:pointer}.dpdp-row label{font-size:.78rem;color:#64748b;line-height:1.5;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:999;animation:fadeIn .2s ease both}.modal-box{background:#fff;border-radius:20px;padding:2rem;width:100%;max-width:380px;box-shadow:0 25px 60px #0003;animation:slideUp .25s cubic-bezier(.22,1,.36,1) both}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:.4rem}.modal-sub{font-size:.85rem;color:#64748b;margin-bottom:1.25rem;line-height:1.55}.modal-actions{display:flex;gap:.75rem;margin-top:1.25rem}.btn-cancel{flex:1;padding:.75rem;background:#f1f5f9;color:#475569;border:none;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-cancel:hover{background:#e2e8f0}.btn-send{flex:1;padding:.75rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-send:hover{opacity:.9}.btn-send:disabled{opacity:.6;cursor:not-allowed}.invite-note{font-size:.83rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #6366f1;border-radius:0 10px 10px 0;padding:.75rem 1rem;line-height:1.55;margin-bottom:.5rem}.signup-tab-bar{display:flex;gap:0;border:1px solid #312e81;border-radius:10px;overflow:hidden;margin-bottom:1.25rem}.signup-tab{flex:1;padding:.65rem .5rem;font-size:.82rem;font-weight:600;background:transparent;color:#94a3b8;border:none;cursor:pointer;transition:background .18s,color .18s}.signup-tab.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.signup-tab:not(.active):hover{background:#6366f11f;color:#a5b4fc}@media (max-width: 520px){.login-card{padding:2rem 1.5rem 1.75rem;border-radius:20px}.login-title{font-size:1.35rem}.role-btn{font-size:.67rem;padding:.6rem .15rem .55rem}.role-btn svg{width:18px;height:18px}.mode-tab{font-size:.73rem;padding:.55rem .3rem}}@media (max-width: 768px){.login-wrapper{padding:1.5rem 1rem}.login-card{max-width:420px}}.welcome-block{display:flex;align-items:flex-start;justify-content:space-between}.welcome-greeting{font-size:.875rem;color:var(--clr-muted);margin-bottom:.25rem}.welcome-title{font-size:1.6rem;font-weight:800;color:var(--clr-text);line-height:1.2;letter-spacing:-.02em}.welcome-meta{font-size:.8rem;color:var(--clr-muted);margin-top:.35rem}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.stat-card{background:var(--clr-surface);border-radius:var(--radius-md);padding:1rem 1.125rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--clr-border);transition:box-shadow var(--t),transform var(--t)}.stat-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-1px)}.stat-label{font-size:.75rem;color:var(--clr-muted);font-weight:500}.stat-value{font-size:1.6rem;font-weight:800;color:var(--clr-text);line-height:1.1;letter-spacing:-.02em}.stat-delta{font-size:.72rem;font-weight:500;margin-top:.1rem}.stat-delta.positive{color:var(--clr-success)}.stat-delta.neutral{color:var(--clr-muted)}.stat-delta.warning{color:var(--clr-warning)}.mid-row{display:grid;grid-template-columns:1fr 320px;gap:var(--gap);align-items:start}.schedule-list{display:flex;flex-direction:column;gap:.875rem}.schedule-item{display:flex;align-items:flex-start;gap:.875rem}.schedule-time{font-size:.78rem;font-weight:600;color:var(--clr-muted);min-width:42px;padding-top:.1rem}.schedule-body{flex:1}.schedule-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.schedule-name{font-size:.875rem;font-weight:600;color:var(--clr-text)}.schedule-meta{font-size:.75rem;color:var(--clr-muted)}.live-badge{font-size:.65rem;font-weight:700;background:#dcfce7;color:#15803d;border-radius:99px;padding:.1rem .45rem;white-space:nowrap;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.65}}.insight-panel{background:var(--clr-insight-bg);border-color:var(--clr-insight-bd);display:flex;flex-direction:column;gap:.625rem}.insight-header{display:flex;align-items:center;gap:.4rem;color:var(--clr-primary)}.insight-header svg{width:14px;height:14px}.insight-eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-primary)}.insight-title{font-size:.95rem;font-weight:700;color:var(--clr-text);line-height:1.3}.insight-body{font-size:.8rem;color:var(--clr-text-2);line-height:1.55}.btn-insight{margin-top:.25rem;background:var(--clr-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.8rem;font-weight:600;font-family:var(--font);transition:background var(--t),transform var(--t);align-self:flex-start}.btn-insight:hover{background:var(--clr-primary-dark);transform:translateY(-1px)}.btn-insight:active{transform:scale(.97)}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.assign-list{display:flex;flex-direction:column;gap:.75rem}.assign-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--clr-border);background:var(--clr-bg);transition:border-color var(--t),box-shadow var(--t)}.assign-item:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.assign-icon{width:32px;height:32px;background:var(--clr-primary-soft);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--clr-primary)}.assign-icon svg{width:16px;height:16px}.assign-icon.download{background:#fef3c7;color:var(--clr-warning)}.assign-body{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.assign-name{font-size:.825rem;font-weight:600;color:var(--clr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-subject{font-size:.72rem;color:var(--clr-muted)}.assign-due{font-size:.72rem;font-weight:600;color:var(--clr-danger);white-space:nowrap;flex-shrink:0}.badge-new{background:#fef9c3;color:#854d0e;font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:99px}.announce-list{display:flex;flex-direction:column;gap:.875rem}.announce-item{display:flex;align-items:flex-start;gap:.75rem;padding-bottom:.875rem;border-bottom:1px solid var(--clr-border)}.announce-item:last-child{border-bottom:none;padding-bottom:0}.announce-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:.35rem}.announce-body{display:flex;flex-direction:column;gap:.2rem}.announce-title{font-size:.825rem;font-weight:600;color:var(--clr-text);line-height:1.4}.announce-meta{font-size:.72rem;color:var(--clr-muted)}.event-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem}.event-card{background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.875rem;display:flex;flex-direction:column;gap:.25rem;transition:border-color var(--t),box-shadow var(--t)}.event-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.event-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:99px;align-self:flex-start}.event-tag.hackathon{background:#fde8ff;color:#7e22ce}.event-tag.talk{background:#dbeafe;color:#1e40af}.event-name{font-size:.875rem;font-weight:700;color:var(--clr-text);margin-top:.25rem}.event-meta,.event-venue{font-size:.72rem;color:var(--clr-muted)}.quick-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.quick-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);text-align:left;transition:border-color var(--t),box-shadow var(--t),background var(--t)}.quick-item:hover{border-color:var(--clr-primary);background:var(--clr-surface);box-shadow:0 0 0 3px var(--clr-primary-soft)}.quick-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-icon svg{width:18px;height:18px}.quick-icon.chat{background:#dbeafe;color:var(--clr-primary)}.quick-icon.intern{background:#dcfce7;color:#15803d}.quick-icon.mentor{background:#fde8ff;color:#7e22ce}.quick-body{flex:1;display:flex;flex-direction:column;gap:.1rem}.quick-label{font-size:.825rem;font-weight:600;color:var(--clr-text)}.quick-sub{font-size:.72rem;color:var(--clr-muted)}.quick-arrow{width:16px;height:16px;color:var(--clr-muted);flex-shrink:0}.dash-error{display:flex;align-items:center;gap:var(--sp-2, .5rem);padding:.75rem 1rem;background:var(--clr-danger-soft, #fee2e2);color:var(--clr-danger, #ef4444);border:1px solid var(--clr-danger, #ef4444);border-radius:var(--radius-md, 8px);font-size:var(--fs-sm, .82rem);margin-bottom:1rem}.dash-retry{margin-left:auto;padding:.25rem .75rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--clr-danger, #ef4444);background:transparent;color:var(--clr-danger, #ef4444);font-size:var(--fs-sm, .82rem);font-weight:600;cursor:pointer;transition:background var(--t),color var(--t)}.dash-retry:hover{background:var(--clr-danger, #ef4444);color:#fff}@media (max-width: 1024px){.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.mid-row,.bottom-row,.event-cards{grid-template-columns:1fr}}@media (max-width: 480px){.stats-row{grid-template-columns:1fr}.stat-value{font-size:1.4rem}.welcome-title{font-size:1.35rem}}.badge-lecture{background:#dbeafe;color:#1e40af}.badge-lab{background:#dcfce7;color:#15803d}@media (max-width: 480px){.page-title{font-size:1.2rem}.day-tab{padding:.5rem .875rem;font-size:.78rem}.class-card{padding:.6rem .75rem}.class-name{font-size:.8rem}.sell-form,.modal-header{padding:1rem 1.25rem}}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.4rem;font-weight:800;color:var(--clr-text);letter-spacing:-.02em}.page-sub{font-size:.8rem;color:var(--clr-muted);margin-top:.2rem}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap}.day-tabs{display:none;gap:.375rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex-shrink:0;padding:.45rem 1rem;border-radius:9999px;border:1px solid var(--clr-border);background:var(--clr-surface);font-size:.8rem;font-weight:600;font-family:var(--font);color:var(--clr-muted);transition:all var(--t)}.day-tab.active{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}.timetable-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;align-items:start}.day-column{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow var(--t)}.day-column.today-col{border-color:var(--clr-primary);box-shadow:0 0 0 2px var(--clr-primary-soft)}.day-header{background:var(--clr-bg);padding:.75rem 1rem;border-bottom:1px solid var(--clr-border);display:flex;flex-direction:column;gap:.1rem}.today-col .day-header{background:var(--clr-primary-soft)}.day-title{font-size:.85rem;font-weight:700;color:var(--clr-text)}.day-subtitle{font-size:.7rem;color:var(--clr-muted)}.classes-list{display:flex;flex-direction:column;gap:0;padding:.5rem}.class-card{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--clr-bg);border:1px solid var(--clr-border);margin-bottom:.5rem;transition:border-color var(--t),box-shadow var(--t)}.class-card:last-child{margin-bottom:0}.class-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.class-time{font-size:.68rem;font-weight:600;color:var(--clr-primary);letter-spacing:.01em}.class-name{font-size:.825rem;font-weight:700;color:var(--clr-text)}.class-meta{font-size:.7rem;color:var(--clr-muted)}.class-badge{align-self:flex-start;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border-radius:99px;margin-top:.15rem}.badge-lecture{background:var(--clr-primary-soft);color:#1e40af}.badge-lab{background:var(--clr-success-soft);color:var(--clr-success)}.badge-seminar{background:#fde8ff;color:#7e22ce}.no-class-message{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem .5rem;color:var(--clr-muted);font-size:.78rem;text-align:center}.no-class-message svg{width:20px;height:20px;opacity:.4}@media (max-width: 1024px){.timetable-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.day-tabs{display:flex}.timetable-grid{grid-template-columns:1fr}.day-column{display:none}.day-column.active-day-col{display:block}}.edit-schedule-btn{background:var(--clr-primary-soft);border:1px solid var(--clr-primary-soft);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--clr-primary);transition:all var(--t);box-shadow:0 1px 3px #0000000d}.edit-schedule-btn:hover{background:var(--clr-primary);color:#fff;transform:scale(1.1);box-shadow:0 2px 5px #0000001a}.edit-schedule-btn svg{width:11px;height:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-box{background:var(--clr-surface);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-panel);animation:modal-fadeIn .25s cubic-bezier(.16,1,.3,1);border:1px solid var(--clr-border)}@keyframes modal-fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header h2{font-size:1rem;font-weight:700;color:var(--clr-text)}.modal-close{background:none;border:none;font-size:.9rem;color:var(--clr-muted);cursor:pointer;padding:.25rem}.sell-form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.sell-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--clr-text)}.sell-form input,.sell-form select,.sell-form textarea{padding:.65rem .85rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:.875rem;color:var(--clr-text);background:var(--clr-input-bg);outline:none;transition:border-color var(--t)}.gr-card{background:#111827;border:1px solid rgba(59,130,246,.25);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 10px 30px #00000059;font-family:inherit;color:#f8fafc;overflow:hidden;position:relative}.gr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.gr-title-group{display:flex;align-items:center;gap:.75rem}.gr-icon-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.gr-icon-badge.searching{background:#94a3b826;color:#94a3b8}.gr-icon-badge.in-range{background:#3b82f633;color:#3b82f6;box-shadow:0 0 15px #3b82f666}.gr-icon-badge.checked-in{background:#22c55e33;color:#22c55e;box-shadow:0 0 20px #22c55e80}.gr-pulse-icon{animation:grPulse 2s infinite ease-in-out}@keyframes grPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}.gr-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#60a5fa;font-weight:600}.gr-title{font-size:1.05rem;font-weight:700;margin:0;color:#fff}.gr-controls{display:flex;align-items:center;gap:.5rem}.gr-toggle-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:#cbd5e1;cursor:pointer;background:#ffffff0d;padding:.35rem .75rem;border-radius:2rem;border:1px solid rgba(255,255,255,.1);transition:background .2s ease}.gr-toggle-label:hover{background:#ffffff1a}.gr-toggle-label input{accent-color:#3b82f6;cursor:pointer}.gr-body{display:grid;grid-template-columns:140px 1fr;gap:1.25rem;align-items:center}@media (max-width: 640px){.gr-body{grid-template-columns:1fr}}.gr-radar-wrapper{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#0f172a,#030712);border:1.5px solid rgba(59,130,246,.3);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 25px #000c;margin:0 auto}.gr-radar-ring{position:absolute;border-radius:50%;border:1px dashed rgba(59,130,246,.25);pointer-events:none}.ring-1{width:45px;height:45px}.ring-2{width:90px;height:90px}.ring-3{width:130px;height:130px}.gr-radar-sweep{position:absolute;width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,rgba(59,130,246,.35) 360deg);animation:grSweep 4s linear infinite;pointer-events:none}.radar-locked .gr-radar-sweep{animation:none;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%)}@keyframes grSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gr-target-pin{color:#3b82f6;z-index:2;filter:drop-shadow(0 0 8px rgba(59,130,246,.6))}.radar-locked .gr-target-pin{color:#22c55e}.gr-user-blip{position:absolute;top:50%;left:50%;z-index:3;transition:all .5s ease-out}.blip-core{width:10px;height:10px;border-radius:50%;background:#38bdf8;border:2px solid #fff;box-shadow:0 0 10px #38bdf8}.blip-wave{position:absolute;top:-5px;left:-5px;width:20px;height:20px;border-radius:50%;border:1px solid #38bdf8;animation:grBlipWave 1.5s infinite ease-out}@keyframes grBlipWave{0%{transform:scale(.5);opacity:1}to{transform:scale(2.2);opacity:0}}.gr-info-panel{display:flex;flex-direction:column;gap:.75rem}.gr-classroom-banner{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;padding:.6rem .85rem}.gr-cr-left{display:flex;align-items:center;gap:.6rem}.gr-accent-icon{color:#60a5fa;flex-shrink:0}.gr-cr-name{font-weight:600;font-size:.875rem;color:#f1f5f9}.gr-cr-meta{font-size:.75rem;color:#94a3b8}.gr-distance-tag{font-size:.8rem;font-weight:700}.dist-green{color:#4ade80}.dist-amber{color:#f59e0b}.dist-muted{color:#94a3b8}.gr-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.gr-metric-box{background:#00000040;border:1px solid rgba(255,255,255,.05);border-radius:.5rem;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.2rem}.gr-metric-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.gr-metric-val{font-size:.825rem;font-weight:600}.metric-good{color:#4ade80}.metric-warn{color:#f87171}.metric-muted{color:#cbd5e1}.gr-dwell-section{display:flex;flex-direction:column;gap:.4rem}.gr-dwell-header{display:flex;justify-content:space-between;font-size:.75rem;color:#94a3b8}.gr-dwell-pct{font-weight:700;color:#60a5fa}.gr-dwell-track{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.gr-dwell-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .8s ease-out;border-radius:3px}.gr-dwell-fill.complete{background:#22c55e}.gr-btn-checkin{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.35rem;padding:.5rem 1rem;border-radius:.5rem;border:none;background:#2563eb;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s ease}.gr-btn-checkin:hover:not(:disabled){background:#1d4ed8}.gr-btn-checkin:disabled{opacity:.6;cursor:not-allowed}.gr-success-box{display:flex;align-items:center;gap:.75rem;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);border-radius:.6rem;padding:.6rem .85rem}.gr-success-icon{color:#22c55e;flex-shrink:0}.gr-success-title{font-weight:700;font-size:.85rem;color:#4ade80}.gr-success-meta{font-size:.725rem;color:#cbd5e1}.gr-error-banner{display:flex;align-items:center;gap:.4rem;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;padding:.4rem .75rem;font-size:.75rem;color:#fca5a5}.gr-footer-sim{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px dashed rgba(255,255,255,.08);font-size:.75rem;flex-wrap:wrap}.gr-sim-label{color:#94a3b8;font-weight:600}.gr-sim-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:.4rem;padding:.25rem .6rem;font-size:.725rem;color:#cbd5e1;cursor:pointer;transition:all .2s ease}.gr-sim-btn:hover{background:#ffffff26;color:#fff}.gr-sim-btn.active{background:#3b82f640;border-color:#3b82f6;color:#93c5fd}.lps-card{background:#0d1322;border:1px solid rgba(16,185,129,.25);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 10px 30px #0006;color:#f8fafc;font-family:inherit}.lps-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap;gap:.75rem}.lps-header-left{display:flex;flex-direction:column;gap:.25rem}.lps-live-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#34d399;text-transform:uppercase}.lps-live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981;animation:lpsBlink 1.5s infinite ease-in-out}@keyframes lpsBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.lps-title{font-size:1.1rem;font-weight:700;margin:0;color:#fff}.lps-sub{font-size:.78rem;color:#94a3b8;margin:0}.lps-actions{display:flex;align-items:center;gap:.6rem}.lps-refresh-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:.5rem;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.lps-refresh-btn:hover{background:#ffffff1f;color:#fff}.lps-spin{animation:lpsRotate 1s linear infinite}@keyframes lpsRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lps-finalize-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:.5rem;border:none;background:#059669;color:#fff;font-size:.825rem;font-weight:700;cursor:pointer;transition:all .2s ease}.lps-finalize-btn:hover:not(:disabled){background:#047857;box-shadow:0 0 15px #10b98166}.lps-finalize-btn:disabled{opacity:.5;cursor:not-allowed}.lps-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem}.lps-stat-box{background:#0000004d;border:1px solid rgba(255,255,255,.05);border-radius:.6rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.3rem}.lps-stat-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.lps-stat-val{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:700}.text-green{color:#34d399}.lps-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lps-grid-title{font-size:.8rem;font-weight:700;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em}.lps-grid-count{font-size:.75rem;color:#94a3b8}.lps-empty-state{text-align:center;padding:2.5rem 1rem;background:#0003;border-radius:.6rem;border:1px dashed rgba(255,255,255,.08)}.lps-empty-radar{width:32px;height:32px;border-radius:50%;border:2px solid #34d399;margin:0 auto .75rem;animation:lpsPulseRing 2s infinite ease-out}@keyframes lpsPulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}.lps-empty-text{font-size:.88rem;color:#f1f5f9;font-weight:600;margin:0 0 .25rem}.lps-empty-hint{font-size:.75rem;color:#94a3b8}.lps-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.lps-student-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.6rem;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;transition:all .2s ease}.lps-student-card.card-live{border-color:#34d39959;background:#10b9810d}.lps-student-card.card-early-exit{border-color:#ef444459;background:#ef44440d}.lps-card-top{display:flex;align-items:center;gap:.6rem}.lps-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative}.lps-beacon{position:absolute;top:0;right:0;width:9px;height:9px;border-radius:50%;background:#10b981;border:2px solid #0f172a}.lps-info-col{flex:1;overflow:hidden}.lps-name-row{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.lps-student-name{font-size:.825rem;font-weight:600;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lps-student-roll{font-size:.72rem;color:#94a3b8}.lps-tag{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:.3rem}.tag-live{background:#10b9812e;color:#34d399}.tag-exit{background:#ef44442e;color:#f87171}.tag-idle{background:#94a3b826;color:#94a3b8}.lps-dwell-wrap{display:flex;flex-direction:column;gap:.3rem}.lps-dwell-meta{display:flex;justify-content:space-between;font-size:.68rem;color:#94a3b8}.lps-dwell-text{display:flex;align-items:center;gap:.2rem}.lps-dwell-duration{font-weight:700;color:#cbd5e1}.lps-progress-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.lps-progress-fill{height:100%;border-radius:2px;transition:width .5s ease}.fill-safe{background:#10b981}.fill-warning{background:#f59e0b}.sad-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.sad-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;color:#94a3b8;gap:1rem}.sad-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;animation:sadSpin .9s linear infinite}@keyframes sadSpin{to{transform:rotate(360deg)}}.lsb-banner{background:linear-gradient(135deg,#10b9811f,#0f172af2);border:1px solid rgba(16,185,129,.35);border-radius:1rem;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:0 10px 30px #0000004d}.lsb-left{display:flex;align-items:center;gap:1.25rem}.lsb-beacon-wrap{width:48px;height:48px;border-radius:50%;background:#10b98133;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.lsb-pulse-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid #10b981;animation:lsbPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes lsbPulse{0%{transform:scale(.9);opacity:1}to{transform:scale(1.4);opacity:0}}.lsb-radio-icon{color:#34d399}.lsb-info{display:flex;flex-direction:column;gap:.3rem}.lsb-tag-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lsb-live-badge{display:inline-flex;align-items:center;gap:.3rem;background:#059669;color:#fff;font-size:.68rem;font-weight:800;padding:.15rem .5rem;border-radius:1rem;letter-spacing:.05em}.lsb-pulse-icon{animation:lsbFlicker 1.2s infinite ease-in-out}@keyframes lsbFlicker{0%,to{opacity:1}50%{opacity:.3}}.lsb-room-badge{display:inline-flex;align-items:center;gap:.25rem;background:#ffffff14;color:#cbd5e1;font-size:.72rem;padding:.15rem .5rem;border-radius:.4rem}.lsb-verified-badge{display:inline-flex;align-items:center;gap:.25rem;background:#38bdf826;color:#38bdf8;font-size:.72rem;padding:.15rem .5rem;border-radius:.4rem}.lsb-subject-title{font-size:1.15rem;font-weight:700;color:#f8fafc;margin:0}.lsb-meta-line{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#94a3b8}.lsb-right{display:flex;align-items:center;gap:1rem}.lsb-dwell-meter{display:flex;flex-direction:column;gap:.3rem;min-width:180px}.lsb-meter-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.lsb-meter-fill{height:100%;border-radius:3px;transition:width .4s ease}.fill-green{background:#10b981}.fill-amber{background:#f59e0b}.lsb-meter-label{font-size:.7rem;color:#94a3b8;text-align:right}.lsb-ping-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f1f5f9;font-size:.75rem;padding:.45rem .75rem;border-radius:.4rem;cursor:pointer;transition:all .15s ease}.lsb-ping-btn:hover{background:#ffffff26}.sac-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.sac-card{background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 20px #0003}.sac-card-overall{background:linear-gradient(135deg,#1e293be6,#0f172ae6);border-color:#8b5cf640}.sac-card-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sac-meta{display:flex;flex-direction:column;gap:.4rem}.sac-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.sac-status-pill-wrap{display:flex;margin-top:.1rem}.sac-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:1rem}.pill-safe{background:#10b9812e;color:#34d399;border:1px solid rgba(16,185,129,.3)}.pill-warning{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.pill-danger{background:#ef44442e;color:#f87171;border:1px solid rgba(239,68,68,.3)}.sac-desc{font-size:.72rem;color:#64748b;margin:0}.sac-radial-wrap{position:relative;width:90px;height:90px;flex-shrink:0}.sac-radial-svg{width:100%;height:100%;transform:rotate(-90deg)}.sac-radial-bg{fill:none;stroke:#ffffff14;stroke-width:8}.sac-radial-bar{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.sac-radial-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.sac-pct-num{font-size:1.15rem;font-weight:800;color:#f8fafc;line-height:1}.sac-pct-sub{font-size:.625rem;color:#94a3b8;text-transform:uppercase;margin-top:.15rem}.sac-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.sac-icon-badge{width:32px;height:32px;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.icon-blue{background:#3b82f626;color:#60a5fa}.icon-purple{background:#8b5cf626;color:#c084fc}.sac-metric-big{display:flex;align-items:baseline;gap:.4rem}.sac-big-num{font-size:2rem;font-weight:800;color:#f8fafc;line-height:1}.sac-big-sub{font-size:.88rem;color:#94a3b8}.text-green .sac-big-num{color:#34d399}.text-red .sac-big-num{color:#f87171}.sac-calc-hint{font-size:.75rem;color:#94a3b8;margin:.4rem 0 0}.text-warning-hint{color:#fbbf24}.sac-card-footer{margin-top:1rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.05)}.sac-footer-text{font-size:.72rem;color:#64748b}.sat-card{background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem}.sat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.sat-heading{font-size:1.1rem;font-weight:700;color:#f8fafc;margin:0}.sat-sub{font-size:.78rem;color:#94a3b8;margin:.2rem 0 0}.sat-count-badge{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:.72rem;padding:.25rem .6rem;border-radius:1rem}.sat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.sat-item-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.sat-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sat-code-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.sat-subject-code{font-size:.72rem;font-family:monospace;color:#94a3b8;background:#ffffff0f;padding:.1rem .35rem;border-radius:.25rem}.sat-status-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem}.badge-safe{background:#10b98126;color:#34d399}.badge-warning{background:#f59e0b26;color:#fbbf24}.badge-critical{background:#ef444426;color:#f87171}.sat-subject-name{font-size:.925rem;font-weight:600;color:#f1f5f9;margin:0}.sat-pct-value{font-size:1.25rem;font-weight:800}.sat-bar-track{position:relative;height:6px;background:#ffffff14;border-radius:3px;overflow:visible}.sat-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.sat-threshold-marker{position:absolute;left:75%;top:-2px;bottom:-2px;width:2px;background:#fff6;border-radius:1px}.sat-item-footer{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:#94a3b8}.text-safe-sub{color:#34d399;font-weight:600}.text-need-sub{color:#fbbf24;font-weight:600}.ahl-card{background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem}.ahl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.ahl-heading{font-size:1.1rem;font-weight:700;color:#f8fafc;margin:0}.ahl-sub{font-size:.78rem;color:#94a3b8;margin:.2rem 0 0}.ahl-filters{display:flex;gap:.4rem;flex-wrap:wrap}.ahl-filter-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-size:.72rem;font-weight:600;padding:.35rem .7rem;border-radius:.4rem;cursor:pointer;transition:all .15s ease}.ahl-filter-btn:hover{background:#ffffff14;color:#fff}.ahl-filter-btn.active{background:#7c3aed;border-color:#8b5cf6;color:#fff}.ahl-table-wrap{overflow-x:auto}.ahl-table{width:100%;border-collapse:collapse;font-size:.825rem}.ahl-table th{text-align:left;padding:.65rem .75rem;color:#94a3b8;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.08)}.ahl-table td{padding:.75rem;border-bottom:1px solid rgba(255,255,255,.04);color:#cbd5e1}.ahl-subject-row{display:flex;align-items:center;gap:.4rem}.ahl-subject-name{color:#f1f5f9;font-weight:600}.ahl-subject-code{font-size:.7rem;color:#94a3b8}.ahl-date-sub{display:block;font-size:.7rem;color:#64748b}.ahl-room-tag{display:inline-flex;align-items:center;gap:.2rem;background:#ffffff0a;padding:.15rem .4rem;border-radius:.25rem;font-size:.72rem;color:#94a3b8}.ahl-time-cell{display:flex;align-items:center;gap:.3rem;font-size:.78rem}.ahl-dwell-cell{display:flex;flex-direction:column;gap:.25rem}.ahl-dwell-val{font-size:.75rem;font-weight:600;color:#f1f5f9}.ahl-mini-bar{width:70px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.ahl-mini-fill{height:100%;border-radius:2px}.ahl-status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:.35rem;font-size:.7rem;font-weight:700}.pill-present{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.pill-late{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.pill-partial{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.pill-absent{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.25)}.ahl-empty{text-align:center;padding:3rem 1rem;color:#64748b;display:flex;flex-direction:column;align-items:center;gap:.5rem}.ahl-empty-icon{color:#475569}.lsb-banner--idle{background:linear-gradient(135deg,#1e293bcc,#0f172af2);border:1px dashed rgba(148,163,184,.3)}.lsb-idle-content{display:flex;align-items:center;gap:1rem}.lsb-idle-icon{width:42px;height:42px;border-radius:50%;background:#94a3b81a;display:flex;align-items:center;justify-content:center;color:#94a3b8}.lsb-idle-title{margin:0;font-size:1.05rem;font-weight:700;color:#f1f5f9}.lsb-idle-sub{margin:.2rem 0 0;font-size:.85rem;color:#94a3b8}.lsb-bounds-badge{display:inline-flex;align-items:center;gap:.3rem;background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3);padding:.2rem .5rem;border-radius:.375rem;font-size:.72rem;font-weight:700}.lsb-out-badge{display:inline-flex;align-items:center;gap:.3rem;background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3);padding:.2rem .5rem;border-radius:.375rem;font-size:.72rem;font-weight:700}.lsb-actions{display:flex;align-items:center;gap:.6rem}.lsb-checkin-btn{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.55rem 1rem;border-radius:.5rem;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #10b9814d;transition:all .2s ease}.lsb-checkin-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.lsb-checkin-btn:disabled{opacity:.6;cursor:not-allowed}.lsb-hash-tag{color:#10b981;font-family:monospace;font-size:.75rem;background:#10b9811a;padding:.1rem .4rem;border-radius:.25rem;border:1px solid rgba(16,185,129,.2)}.ahl-hash-cell{display:inline-flex;align-items:center;gap:.3rem;font-family:monospace;font-size:.72rem;color:#34d399;background:#10b98114;padding:.15rem .45rem;border-radius:.3rem;border:1px solid rgba(16,185,129,.2)}.text-emerald{color:#10b981}.sad-toast-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-radius:.6rem;font-size:.85rem;font-weight:600;animation:slideDown .3s ease}.toast-success{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#34d399}.toast-error{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171}.sad-toast-banner button{background:transparent;border:none;color:inherit;font-size:.9rem;cursor:pointer}.sad-skeleton-header{height:90px;width:100%;border-radius:1rem;background:linear-gradient(90deg,#1e293b99 25%,#33415599,#1e293b99 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}.sad-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%}.sad-skeleton-card{height:120px;border-radius:.8rem;background:linear-gradient(90deg,#1e293b99 25%,#33415599,#1e293b99 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.attend-top-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.summary-card{display:flex;align-items:center;gap:1.5rem}.circle-wrap{position:relative;width:96px;height:96px;flex-shrink:0}.circle-svg{width:96px;height:96px;transform:rotate(-90deg)}.circle-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.circle-pct{font-size:1.2rem;font-weight:800;color:var(--clr-text)}.circle-label{font-size:.62rem;color:var(--clr-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.summary-info{display:flex;flex-direction:column;gap:.3rem}.summary-title{font-size:1rem;font-weight:700;color:var(--clr-text)}.summary-sub{font-size:.8rem;color:var(--clr-success);font-weight:500}.summary-sub.danger-alert{color:var(--clr-danger)}.summary-detail{font-size:.75rem;color:var(--clr-muted)}.calc-card{display:flex;flex-direction:column;gap:0}.calc-select{width:100%;padding:.6rem .75rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-input-bg);font-family:var(--font);font-size:.85rem;color:var(--clr-text);outline:none;transition:border-color var(--t);margin-bottom:.75rem}.calc-select:focus{border-color:var(--clr-primary)}.calc-btns{display:flex;gap:.5rem;margin-bottom:.75rem}.calc-btn{flex:1;font-size:.78rem;padding:.55rem .75rem}.calc-result{font-size:.82rem;padding:.75rem;border-left:3px solid;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--clr-bg);line-height:1.5}.calc-result.ok{border-color:var(--clr-success)}.calc-result.no{border-color:var(--clr-danger)}.attend-table-wrap{overflow-x:auto}.attend-table{width:100%;border-collapse:collapse}.attend-table th,.attend-table td{padding:.75rem .875rem;text-align:left;font-size:.825rem;border-bottom:1px solid var(--clr-border)}.attend-table th{font-weight:700;color:var(--clr-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;background:var(--clr-bg)}.attend-table tr:hover td{background:var(--clr-bg)}.attend-table tr:last-child td{border-bottom:none}.subject-name-cell{font-weight:600;color:var(--clr-text)}.code-cell code{font-size:.78rem;background:var(--clr-bg);padding:.1rem .4rem;border-radius:var(--radius-sm)}.bar-wrap{display:flex;align-items:center;gap:.6rem}.bar-fill{height:6px;border-radius:3px;min-width:4px;transition:width .5s ease}.bar-pct{font-size:.78rem;font-weight:600;color:var(--clr-text);white-space:nowrap}.status-pill{font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:99px}.status-pill.safe{background:#dcfce7;color:#15803d}.status-pill.warning{background:#fef9c3;color:#854d0e}.status-pill.critical{background:#fee2e2;color:#b91c1c}@media (max-width: 768px){.attend-top-row{grid-template-columns:1fr}.summary-card{flex-direction:column;text-align:center}.calc-btns{flex-direction:column}}@media (max-width: 480px){.attend-top-row{grid-template-columns:1fr}.summary-card{flex-direction:column;text-align:center}.calc-btns{flex-direction:column}.attend-table-wrap{-webkit-overflow-scrolling:touch}.attend-table th,.attend-table td{padding:.55rem .625rem;font-size:.78rem}}.assign-layout{display:grid;grid-template-columns:360px 1fr;gap:var(--gap);align-items:start}.assign-list-panel{padding:.75rem}.assign-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1rem;background:var(--clr-bg);border:1.5px solid var(--clr-border);border-radius:var(--radius-md);margin-bottom:.5rem;transition:border-color var(--t),box-shadow var(--t)}.assign-card:last-child{margin-bottom:0}.assign-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.assign-card.selected{border-color:var(--clr-primary);background:var(--clr-primary-soft);box-shadow:0 0 0 3px var(--clr-primary-soft)}.card-subject-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-subject{font-size:.72rem;font-weight:700;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.04em}.card-title{font-size:.875rem;font-weight:600;color:var(--clr-text);line-height:1.3}.card-due-row{display:flex;align-items:center;justify-content:space-between}.card-due{font-size:.72rem;font-weight:600;color:var(--clr-danger)}.card-pts{font-size:.72rem;font-weight:600;color:var(--clr-muted)}.status-badge{font-size:.65rem;font-weight:700;text-transform:capitalize;padding:.15rem .5rem;border-radius:99px;white-space:nowrap}.status-badge.pending{background:#fee2e2;color:#b91c1c}.status-badge.submitted{background:#fef9c3;color:#854d0e}.status-badge.graded{background:#dcfce7;color:#15803d}.detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--clr-muted);font-size:.85rem;text-align:center;min-height:300px}.detail-empty svg{width:40px;height:40px;opacity:.3}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.detail-subject{font-size:.72rem;font-weight:700;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.04em}.detail-title{font-size:1.1rem;font-weight:800;color:var(--clr-text);margin-bottom:.25rem;line-height:1.3}.detail-points{font-size:.78rem;font-weight:600;color:var(--clr-primary);margin-bottom:.75rem}.detail-instructions{font-size:.85rem;color:var(--clr-text-2);line-height:1.6;margin-bottom:1rem}.attachment-section{display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.82rem}.attachment-section svg{width:15px;height:15px;color:var(--clr-primary);flex-shrink:0}.attachment-section a{color:var(--clr-primary);font-weight:600}.graded-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:1rem}.grade-score{font-size:2rem;font-weight:800;color:#15803d;margin-bottom:.4rem}.grade-feedback{font-size:.82rem;color:var(--clr-text-2);line-height:1.5}.drop-zone{border:2px dashed var(--clr-border);border-radius:var(--radius-md);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;font-size:.8rem;color:var(--clr-muted);cursor:pointer;transition:border-color var(--t),background var(--t)}.drop-zone svg{width:24px;height:24px}.drop-zone:hover,.drop-zone.dragover{border-color:var(--clr-primary);background:var(--clr-primary-soft);color:var(--clr-primary)}.drop-zone:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}@media (max-width: 1024px){.assign-layout{grid-template-columns:300px 1fr}}@media (max-width: 768px){.assign-layout{grid-template-columns:1fr}}@media (max-width: 480px){.assign-layout{grid-template-columns:1fr;gap:.75rem}.assign-card{padding:.75rem .875rem}.drop-zone{padding:1.25rem}.detail-title{font-size:1rem}}.section-heading{font-size:.85rem;font-weight:700;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap)}.live-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-card)}.live-pulse-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;color:#dc2626;text-transform:uppercase;letter-spacing:.05em}.live-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;animation:pulse-live 1.4s infinite}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.live-title{font-size:.95rem;font-weight:700;color:var(--clr-text)}.live-meta{font-size:.75rem;color:var(--clr-muted)}.live-join-btn{margin-top:.25rem}.video-subject{font-size:.68rem;font-weight:700;color:var(--clr-primary);text-transform:uppercase;letter-spacing:.05em}.syllabus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.syllabus-card{background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.875rem;display:flex;flex-direction:column;gap:.4rem}.syllabus-name{font-size:.82rem;font-weight:600;color:var(--clr-text)}.syllabus-meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--clr-muted)}.syllabus-bar{height:6px;background:var(--clr-border);border-radius:3px;overflow:hidden}.syllabus-bar-fill{height:100%;background:var(--clr-primary);border-radius:3px;transition:width .6s ease}.recordings-list{display:flex;flex-direction:column;gap:.5rem}.recording-card{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);transition:border-color var(--t),box-shadow var(--t)}.recording-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.play-btn{width:40px;height:40px;border-radius:50%;background:var(--clr-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t),transform var(--t)}.play-btn svg{width:14px;height:14px;margin-left:2px}.play-btn:hover{background:var(--clr-primary-dark);transform:scale(1.08)}.recording-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.recording-subject{font-size:.68rem;font-weight:700;color:var(--clr-primary);text-transform:uppercase;letter-spacing:.04em}.recording-title{font-size:.875rem;font-weight:600;color:var(--clr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recording-meta{font-size:.72rem;color:var(--clr-muted)}.btn-dl{background:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.4rem;color:var(--clr-muted);transition:all var(--t)}.btn-dl:hover{border-color:var(--clr-primary);color:var(--clr-primary)}@media (max-width: 1024px){.live-grid,.syllabus-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.recording-card{flex-wrap:wrap;gap:.625rem}}@media (max-width: 480px){.live-grid,.syllabus-grid{grid-template-columns:1fr}.recording-card{flex-direction:column;align-items:flex-start}.btn-dl{align-self:flex-end}}.lib-controls{display:flex;flex-direction:column;gap:.75rem}.lib-search-wrap{position:relative}.lib-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--clr-muted);pointer-events:none}.lib-search{width:100%;padding:.65rem .875rem .65rem 2.5rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);font-family:var(--font);font-size:.875rem;color:var(--clr-text);outline:none;transition:border-color var(--t)}.lib-search:focus{border-color:var(--clr-primary)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}.lib-empty{grid-column:1/-1;text-align:center;color:var(--clr-muted);font-size:.85rem;padding:2rem}.book-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.125rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t);position:relative}.book-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.avail-indicator{position:absolute;top:.75rem;right:.75rem;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:99px}.avail-indicator.available{background:#dcfce7;color:#15803d}.avail-indicator.issued{background:#fee2e2;color:#b91c1c}.avail-indicator.requested{background:#fef9c3;color:#854d0e}.book-cover{width:100%;aspect-ratio:3/2;background:var(--clr-primary-soft);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.book-cover span{font-size:2rem;font-weight:800;color:var(--clr-primary)}.book-info{display:flex;flex-direction:column;gap:.2rem;flex:1}.book-title{font-size:.875rem;font-weight:700;color:var(--clr-text);line-height:1.35}.book-author{font-size:.75rem;color:var(--clr-muted)}.book-year{font-size:.68rem;color:var(--clr-muted)}.listing-btn.disabled{background:var(--clr-border)!important;color:var(--clr-muted)!important;cursor:not-allowed!important}.listing-btn.requested{background:var(--clr-warning)!important}@media (max-width: 768px){.lib-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.lib-grid{grid-template-columns:1fr}.modal-card{padding:1rem 1.25rem}}.notes-list{display:flex;flex-direction:column;gap:.5rem}.note-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.875rem 1rem;display:flex;align-items:center;gap:.875rem;transition:border-color var(--t),box-shadow var(--t)}.note-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.note-icon-wrap{width:40px;height:40px;background:var(--clr-primary-soft);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.note-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.note-subject{font-size:.68rem;font-weight:700;color:var(--clr-primary);text-transform:uppercase;letter-spacing:.04em}.note-title{font-size:.875rem;font-weight:600;color:var(--clr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-meta{font-size:.72rem;color:var(--clr-muted)}.note-type-badge{font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:99px;white-space:nowrap}.note-type-badge.notes{background:#ede9fe;color:#6d28d9}.note-type-badge.slides{background:#dbeafe;color:#1e40af}.note-type-badge.pyq{background:#dcfce7;color:#15803d}@media (max-width: 480px){.note-card{flex-wrap:wrap;gap:.625rem}.note-type-badge{align-self:flex-start}}.grades-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.grade-stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;box-shadow:var(--shadow-card)}.grade-stat-val{font-size:2rem;font-weight:800;color:var(--clr-primary)}.grade-stat-label{font-size:.72rem;font-weight:600;color:var(--clr-muted);text-align:center}.grade-pill{font-size:.8rem;font-weight:700;padding:.2rem .55rem;border-radius:99px}@media (max-width:768px){.grades-summary-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.grades-summary-row{grid-template-columns:1fr}}.chats-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--gap);align-items:start;height:calc(100vh - 10rem)}.chats-list-panel{height:100%;overflow-y:auto;padding:0}.chats-list-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.125rem .75rem;border-bottom:1px solid var(--clr-border)}.unread-badge{background:var(--clr-primary);color:#fff;font-size:.65rem;font-weight:700;padding:.1rem .45rem;border-radius:99px}.chat-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;background:none;border:none;text-align:left;transition:background var(--t);position:relative}.chat-item:hover{background:var(--clr-bg)}.chat-item.active{background:var(--clr-primary-soft)}.chat-avatar{width:38px;height:38px;border-radius:50%;background:var(--clr-bg);border:1px solid var(--clr-border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.chat-item-body{flex:1;min-width:0}.chat-item-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-name{font-size:.82rem;font-weight:600;color:var(--clr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-size:.68rem;color:var(--clr-muted);white-space:nowrap}.chat-preview{font-size:.75rem;color:var(--clr-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.chat-dot{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--clr-primary)}.chat-window{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--clr-muted);font-size:.85rem}.chat-window-header{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;border-bottom:1px solid var(--clr-border)}.chat-avatar-lg{width:40px;height:40px;border-radius:50%;background:var(--clr-primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.chat-window-name{font-size:.9rem;font-weight:700;color:var(--clr-text)}.chat-window-meta{font-size:.72rem;color:var(--clr-muted)}.chat-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.875rem;scrollbar-width:thin}.message{display:flex;flex-direction:column;gap:.2rem;max-width:70%}.message.outgoing{align-self:flex-end;align-items:flex-end}.msg-sender{font-size:.68rem;font-weight:600;color:var(--clr-muted)}.msg-bubble{padding:.6rem .875rem;border-radius:1rem;font-size:.85rem;line-height:1.4}.message:not(.outgoing) .msg-bubble{background:var(--clr-bg);border:1px solid var(--clr-border);color:var(--clr-text);border-top-left-radius:.25rem}.message.outgoing .msg-bubble{background:var(--clr-primary);color:#fff;border-top-right-radius:.25rem}.msg-time{font-size:.65rem;color:var(--clr-muted)}.chat-input-row{display:flex;gap:.5rem;padding:.875rem 1.25rem;border-top:1px solid var(--clr-border)}.chat-input{flex:1;padding:.65rem 1rem;border:1.5px solid var(--clr-border);border-radius:9999px;font-family:var(--font);font-size:.875rem;color:var(--clr-text);background:var(--clr-bg);outline:none;transition:border-color var(--t)}.chat-input:focus{border-color:var(--clr-primary)}.send-btn{border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.chats-layout{grid-template-columns:1fr;height:auto}.chat-window{min-height:400px}}.start-conv-btn{font-size:.75rem;padding:.35rem .75rem;border-radius:6px;background:var(--clr-primary);color:#fff;border:none;cursor:pointer;font-weight:600}.start-conv-btn:hover{background:var(--clr-primary-dark, #1d4ed8)}.chat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.chat-modal{background:var(--clr-surface, #fff);border-radius:12px;width:90%;max-width:440px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;overflow:hidden;border:1px solid var(--clr-border)}.chat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--clr-border)}.chat-modal-header h3{margin:0;font-size:1rem;font-weight:700}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--clr-muted)}.chat-modal-content{padding:1.25rem}.menu-options-list{display:flex;flex-direction:column;gap:.75rem}.menu-opt{width:100%;text-align:left;padding:.875rem 1rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:8px;cursor:pointer;font-family:var(--font);font-size:.875rem;font-weight:600;transition:background var(--t),border-color var(--t)}.menu-opt:hover{background:var(--clr-primary-soft);border-color:var(--clr-primary)}.modal-search-input{width:100%;padding:.65rem 1rem;border:1.5px solid var(--clr-border);border-radius:8px;font-family:var(--font);font-size:.85rem;margin-bottom:1rem;background:var(--clr-bg);color:var(--clr-text);outline:none}.modal-search-input:focus{border-color:var(--clr-primary)}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--clr-text)}.form-input{width:100%;padding:.65rem 1rem;border:1.5px solid var(--clr-border);border-radius:8px;font-family:var(--font);font-size:.85rem;background:var(--clr-bg);color:var(--clr-text);outline:none}.form-input:focus{border-color:var(--clr-primary)}.modal-scroll-list{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.contact-list-item{width:100%;text-align:left;padding:.65rem .875rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:6px;cursor:pointer;transition:background var(--t)}.contact-list-item:hover{background:var(--clr-primary-soft)}.invite-selection-box{max-height:180px;overflow-y:auto;border:1.5px solid var(--clr-border);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;background:var(--clr-bg)}.invite-checkbox-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;cursor:pointer;font-size:.8rem}.invite-checkbox-row input{cursor:pointer}.modal-footer-row{display:flex;justify-content:flex-end;gap:.5rem}.action-btn.secondary{background:var(--clr-bg);border:1px solid var(--clr-border);color:var(--clr-text)}.action-btn.secondary:hover{background:var(--clr-primary-soft)}.group-actions-container{position:relative}.group-admin-dropdown{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--clr-surface, #fff);border:1px solid var(--clr-border);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;padding:.75rem;min-width:180px;z-index:100;display:flex;flex-direction:column;gap:.5rem}.dropdown-section{display:flex;flex-direction:column;gap:.25rem}.dropdown-section strong{font-size:.65rem;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.dropdown-item{width:100%;text-align:left;background:none;border:none;padding:.35rem .5rem;font-family:var(--font);font-size:.75rem;cursor:pointer;border-radius:4px;color:var(--clr-text)}.dropdown-item:hover{background:var(--clr-bg)}.dropdown-item.text-danger{color:#ef4444}.dropdown-item.text-danger:hover{background:#fef2f2}.admin-action-bar{background:var(--clr-primary-soft);border-bottom:1px solid var(--clr-border);padding:.5rem 1.25rem;font-size:.75rem}.admin-action-bar form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-action-bar select{padding:.25rem .5rem;border:1px solid var(--clr-border);border-radius:4px;background:var(--clr-bg);color:var(--clr-text);margin-left:.5rem}@media (max-width: 480px){.chats-layout{grid-template-columns:1fr;height:auto}.chat-window{min-height:360px}.chat-input-row{padding:.625rem .875rem}.message{max-width:88%}}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap)}.event-full-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t)}.event-full-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.event-banner{height:100px;display:flex;align-items:center;justify-content:center}.event-banner.hackathon{background:linear-gradient(135deg,#7e22ce,#a855f7)}.event-banner.fest{background:linear-gradient(135deg,#b45309,#f59e0b)}.event-banner.workshop{background:linear-gradient(135deg,#1e40af,#3b82f6)}.event-banner-icon{font-size:2.5rem}.event-card-body{padding:1.125rem;display:flex;flex-direction:column;gap:.5rem}.event-org{font-size:.68rem;font-weight:700;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.05em}.event-full-title{font-size:.975rem;font-weight:700;color:var(--clr-text);line-height:1.3}.event-details{display:flex;flex-direction:column;gap:.3rem;margin:.25rem 0}.event-details span{font-size:.78rem;color:var(--clr-muted)}@media (max-width: 1024px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.events-grid{grid-template-columns:1fr}.modal-card{padding:1rem 1.25rem}}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap)}.listing-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t);display:flex;flex-direction:column}.listing-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.listing-img{height:120px;background:var(--clr-primary-soft);display:flex;align-items:center;justify-content:center;font-size:3rem}.listing-body{padding:1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.listing-badge{font-size:.62rem;font-weight:700;color:var(--clr-primary);letter-spacing:.05em;text-transform:uppercase}.listing-title{font-size:.9rem;font-weight:700;color:var(--clr-text);line-height:1.3}.listing-seller{font-size:.75rem;color:var(--clr-muted)}.listing-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem}.listing-price{font-size:1.1rem;font-weight:800;color:var(--clr-primary)}.listing-btn{font-size:.75rem;padding:.4rem .8rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:var(--clr-surface);border-radius:var(--radius-lg);width:min(480px,90vw);max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-panel)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--clr-border)}.modal-header h2{font-size:1rem;font-weight:700}.modal-close{background:none;border:none;font-size:1rem;color:var(--clr-muted);padding:.25rem}.modal-close:hover{color:var(--clr-text)}.sell-form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.875rem}.sell-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--clr-text)}.sell-form input,.sell-form select,.sell-form textarea{padding:.6rem .75rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:.875rem;color:var(--clr-text);background:var(--clr-input-bg);outline:none;transition:border-color var(--t);resize:vertical}.sell-form input:focus,.sell-form select:focus,.sell-form textarea:focus{border-color:var(--clr-primary)}@media (max-width: 1024px){.merch-products-grid,.marketplace-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.merch-products-grid,.marketplace-grid{grid-template-columns:1fr;gap:1rem}.modal-header,.sell-form{padding:1rem 1.25rem}}.laf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}.laf-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;gap:.875rem;align-items:flex-start;box-shadow:var(--shadow-card);transition:box-shadow var(--t)}.laf-card:hover{box-shadow:var(--shadow-panel)}.laf-card.lost{border-left:3px solid var(--clr-danger)}.laf-card.found{border-left:3px solid var(--clr-success)}.laf-icon-wrap{font-size:2rem;flex-shrink:0;width:48px;height:48px;background:var(--clr-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.laf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.laf-badge{font-size:.62rem;font-weight:700;letter-spacing:.06em}.laf-badge.lost{color:var(--clr-danger)}.laf-badge.found{color:var(--clr-success)}.laf-title{font-size:.9rem;font-weight:700;color:var(--clr-text)}.laf-meta{font-size:.75rem;color:var(--clr-muted)}.laf-contact{font-size:.75rem;color:var(--clr-text-2);font-weight:500}.laf-btn{margin-top:.5rem;font-size:.75rem;padding:.4rem .8rem;align-self:flex-start}@media (max-width: 768px){.laf-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.laf-grid{grid-template-columns:1fr}.modal-card{padding:1rem 1.25rem}}.internship-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap)}.intern-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t)}.intern-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.intern-header{display:flex;align-items:flex-start;gap:.875rem}.intern-logo{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;flex-shrink:0}.intern-role{font-size:.9rem;font-weight:700;color:var(--clr-text)}.intern-company{font-size:.75rem;color:var(--clr-muted);margin-top:.1rem}.match-badge{margin-left:auto;background:var(--clr-primary-soft);color:var(--clr-primary);font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:99px;white-space:nowrap}.intern-details{display:flex;flex-direction:column;gap:.25rem}.intern-details span{font-size:.78rem;color:var(--clr-muted)}.intern-tags{display:flex;flex-wrap:wrap;gap:.375rem}.intern-tag{font-size:.68rem;font-weight:600;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:99px;padding:.15rem .5rem;color:var(--clr-text-2)}.intern-apply-btn{width:100%}.intern-apply-btn.applied{background:var(--clr-success)!important;border-color:var(--clr-success)!important}@media (max-width: 1024px){.internship-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.internship-grid{grid-template-columns:1fr}.intern-header{flex-wrap:wrap}}.resume-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.resume-form-panel{display:flex;flex-direction:column;gap:1rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-section-title{font-size:.78rem;font-weight:700;color:var(--clr-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.25rem;border-bottom:1px solid var(--clr-border)}.resume-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.full-width{grid-column:1/-1}.resume-form-panel label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--clr-text)}.resume-form-panel input,.resume-form-panel textarea{padding:.55rem .75rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:.85rem;color:var(--clr-text);background:var(--clr-input-bg);outline:none;transition:border-color var(--t);resize:vertical}.resume-form-panel input:focus,.resume-form-panel textarea:focus{border-color:var(--clr-primary)}.resume-preview-panel{position:sticky;top:5rem}.resume-preview{background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-md);padding:1.5rem;font-family:Georgia,serif;color:#111;min-height:400px}.rp-header{border-bottom:2px solid #111;padding-bottom:.75rem;margin-bottom:.75rem}.rp-name{font-size:1.3rem;font-weight:700;color:#111;margin-bottom:.2rem}.rp-contact{font-size:.72rem;color:#555}.rp-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#111;border-bottom:1px solid #ccc;padding-bottom:.2rem;margin:.75rem 0 .35rem}.rp-body{font-size:.78rem;color:#333;line-height:1.5}.rp-pre{font-family:inherit;white-space:pre-wrap;word-break:break-word;margin:0}@media (max-width:900px){.resume-layout{grid-template-columns:1fr}.resume-preview-panel{position:static}}@media (max-width: 480px){.resume-layout{grid-template-columns:1fr}.resume-preview-panel{position:static}.resume-toolbar{flex-wrap:wrap;gap:.5rem}.resume-toolbar button{flex:1;min-width:100px}}.mentor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}.mentor-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t);position:relative}.mentor-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.mentor-avail-dot{position:absolute;top:1rem;right:1rem;width:10px;height:10px;border-radius:50%;background:var(--clr-success)}.mentor-avail-dot.offline{background:var(--clr-muted)}.mentor-avatar{font-size:2.5rem;width:72px;height:72px;border-radius:50%;background:var(--clr-primary-soft);display:flex;align-items:center;justify-content:center}.mentor-info{display:flex;flex-direction:column;gap:.4rem;align-items:center}.mentor-name{font-size:.95rem;font-weight:700;color:var(--clr-text)}.mentor-role{font-size:.75rem;color:var(--clr-muted)}.mentor-tags{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.mentor-stats{display:flex;gap:.75rem;font-size:.72rem;color:var(--clr-muted);flex-wrap:wrap;justify-content:center}.avail-text{color:var(--clr-success);font-weight:600}.unavail-text{color:var(--clr-muted)}.mentor-req-btn{width:100%}.mentor-req-btn.applied{background:var(--clr-success)!important;border-color:var(--clr-success)!important}@media (max-width: 1024px){.mentor-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.mentor-grid{grid-template-columns:1fr}}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.tip-card{background:var(--clr-primary-soft);border:1px solid var(--clr-primary);border-radius:var(--radius-md);padding:.875rem;font-size:.82rem;color:var(--clr-text);line-height:1.4}.mock-grid{display:flex;flex-direction:column;gap:.5rem}.mock-card{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);transition:border-color var(--t),box-shadow var(--t)}.mock-card:hover{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.mock-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--clr-primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.mock-body{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.mock-type{font-size:.875rem;font-weight:700;color:var(--clr-text)}.mock-company{font-size:.72rem;color:var(--clr-muted)}.mock-meta{display:flex;gap:.75rem;font-size:.72rem;color:var(--clr-muted);flex-wrap:wrap}.mock-book-btn{flex-shrink:0;font-size:.78rem;padding:.5rem .875rem}.mock-book-btn.applied{background:var(--clr-success)!important;border-color:var(--clr-success)!important}@media (max-width: 768px){.tips-grid{grid-template-columns:repeat(2,1fr)}.mock-card{flex-wrap:wrap;align-items:flex-start}}@media (max-width: 480px){.tips-grid{grid-template-columns:1fr}.mock-book-btn{width:100%;text-align:center}}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--gap);margin-top:1rem}.class-page-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card);transition:box-shadow var(--t),transform var(--t)}.class-page-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.class-card-header{display:flex;justify-content:space-between;align-items:center}.class-code{font-size:.75rem;font-weight:700;color:var(--clr-primary);background:var(--clr-primary-soft);padding:.2rem .6rem;border-radius:99px}.student-count-badge{font-size:.75rem;color:var(--clr-muted);font-weight:600}.class-name-large{font-size:1.15rem;font-weight:800;color:var(--clr-text);line-height:1.3}.class-card-desc{font-size:.8rem;color:var(--clr-muted)}.class-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--clr-border)}.class-card-actions button{font-size:.75rem;padding:.45rem .75rem;flex:1;min-width:90px}@media (max-width: 480px){.classes-grid{grid-template-columns:1fr}.class-card-actions{flex-direction:column}.class-card-actions button{width:100%}.modal-card{padding:1rem 1.25rem}}.dmm-overlay{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1050;position:fixed;top:0;right:0;bottom:0;left:0}.dmm-dialog{background:#0f172a;border:1px solid rgba(139,92,246,.3);border-radius:1rem;width:100%;max-width:640px;box-shadow:0 25px 50px -12px #000000b3;color:#f8fafc;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:dmmIn .2s cubic-bezier(.16,1,.3,1)}@keyframes dmmIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dmm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}.dmm-header-left{display:flex;align-items:center;gap:.75rem}.dmm-icon-wrap{width:38px;height:38px;border-radius:50%;background:#8b5cf626;color:#a855f7;display:flex;align-items:center;justify-content:center}.dmm-title{font-size:1.15rem;font-weight:700;margin:0;color:#fff}.dmm-sub{font-size:.78rem;color:#94a3b8;margin:.15rem 0 0}.dmm-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.4rem;border-radius:.4rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.dmm-close-btn:hover{background:#ffffff1a;color:#fff}.dmm-content{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.dmm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 580px){.dmm-form-grid{grid-template-columns:1fr}}.dmm-field{display:flex;flex-direction:column;gap:.35rem}.dmm-label{font-size:.78rem;font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.04em}.dmm-select{background:#1e293b;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;color:#f8fafc;padding:.6rem .75rem;font-size:.85rem;outline:none;transition:border-color .2s ease}.dmm-select:focus{border-color:#8b5cf6}.dmm-perms-box{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.6rem;padding:1rem;margin-top:.75rem}.dmm-perms-title{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.75rem}.dmm-checkbox-list{display:flex;flex-direction:column;gap:.65rem}.dmm-checkbox-item{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;background:#0003;padding:.6rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.04);transition:background .15s ease}.dmm-checkbox-item:hover{background:#ffffff0d}.dmm-checkbox-item input{accent-color:#8b5cf6;margin-top:.2rem;cursor:pointer}.dmm-perm-icon{flex-shrink:0;margin-top:.15rem}.text-blue{color:#60a5fa}.text-violet{color:#c084fc}.text-teal{color:#2dd4bf}.dmm-perm-name{display:block;font-size:.825rem;font-weight:600;color:#f1f5f9}.dmm-perm-desc{display:block;font-size:.725rem;color:#94a3b8}.dmm-submit-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-top:1rem;padding:.65rem 1.25rem;border-radius:.5rem;border:none;background:#7c3aed;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease}.dmm-submit-btn:hover:not(:disabled){background:#6d28d9}.dmm-submit-btn:disabled{opacity:.6;cursor:not-allowed}.dmm-alert{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:.4rem;font-size:.8rem;margin-top:.5rem}.dmm-alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.dmm-alert-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#86efac}.dmm-active-section{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}.dmm-section-title{font-size:.9rem;font-weight:700;color:#e2e8f0;margin:0 0 .75rem}.dmm-empty{font-size:.8rem;color:#94a3b8;text-align:center;padding:1rem 0}.dmm-table-wrap{overflow-x:auto}.dmm-table{width:100%;border-collapse:collapse;font-size:.8rem}.dmm-table th{text-align:left;padding:.5rem .6rem;color:#94a3b8;font-size:.7rem;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08)}.dmm-table td{padding:.6rem;border-bottom:1px solid rgba(255,255,255,.04)}.dmm-role-badge{display:inline-block;padding:.15rem .45rem;border-radius:1rem;font-size:.7rem;font-weight:700}.badge-class_representative{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.4)}.badge-core_student{background:#38bdf833;color:#7dd3fc;border:1px solid rgba(56,189,248,.4)}.badge-placement_coordinator{background:#34d39933;color:#6ee7b7;border:1px solid rgba(52,211,153,.4)}.dmm-pill-row{display:flex;gap:.25rem;flex-wrap:wrap}.dmm-perm-pill{background:#ffffff14;padding:.1rem .35rem;border-radius:.25rem;font-size:.65rem;color:#cbd5e1}.dmm-revoke-btn{background:transparent;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.3rem .45rem;border-radius:.35rem;cursor:pointer;transition:all .15s ease}.dmm-revoke-btn:hover{background:#ef444433}.roster-controls{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.class-selector{padding:.65rem 1rem;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);font-family:var(--font);font-size:.875rem;color:var(--clr-text);outline:none;transition:border-color var(--t);cursor:pointer}.class-selector:focus{border-color:var(--clr-primary)}@media (max-width: 768px){.roster-controls{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.roster-controls{flex-direction:column;align-items:stretch}.class-selector{width:100%}.roster-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.roster-table-wrap table{min-width:480px}}.announcements-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.ann-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card);transition:border-color var(--t);display:flex;flex-direction:column;gap:.6rem}.ann-card:hover{border-color:var(--clr-primary)}.ann-card.academic{border-left:4px solid var(--clr-primary)}.ann-card.placement{border-left:4px solid var(--clr-success)}.ann-card.event{border-left:4px solid var(--clr-warning)}.ann-card.general{border-left:4px solid var(--clr-muted)}.ann-card-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--clr-muted)}.ann-source{font-weight:700}.ann-time{font-weight:500}.ann-title{font-size:1.05rem;font-weight:700;color:var(--clr-text)}.ann-content{font-size:.85rem;color:var(--clr-text-2);line-height:1.5}.ann-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem;padding-top:.6rem;border-top:1px solid var(--clr-border)}.ann-category-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:99px}.ann-category-tag.academic{background:var(--clr-primary-soft);color:var(--clr-primary)}.ann-category-tag.placement{background:#dcfce7;color:#15803d}.ann-category-tag.event{background:#fef9c3;color:#854d0e}.ann-category-tag.general{background:var(--clr-border);color:var(--clr-text-2)}.delete-ann-btn{background:none;border:none;font-size:.75rem;color:var(--clr-danger);font-weight:600;cursor:pointer;padding:.2rem .5rem}.delete-ann-btn:hover{text-decoration:underline}.ann-root{display:flex;flex-direction:column;gap:var(--sp-4);max-width:820px}.ann-header{margin-bottom:var(--sp-2)}.ann-title{font-size:var(--fs-2xl);font-weight:800;color:var(--clr-text);letter-spacing:-.03em}.ann-sub{font-size:var(--fs-sm);color:var(--clr-muted);margin-top:var(--sp-1)}.ann-error{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--clr-danger-soft);color:var(--clr-danger);border:1px solid var(--clr-danger);border-radius:var(--radius-md);font-size:var(--fs-sm)}.ann-retry{margin-left:auto;padding:.25rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--clr-danger);background:transparent;color:var(--clr-danger);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t)}.ann-retry:hover{background:var(--clr-danger);color:#fff}.ann-loading{display:flex;justify-content:center;padding:var(--sp-8)}.ann-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--clr-border);border-top-color:var(--clr-primary);animation:ann-spin .7s linear infinite}@keyframes ann-spin{to{transform:rotate(360deg)}}.ann-list{display:flex;flex-direction:column;gap:var(--sp-2)}.ann-item{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--t),box-shadow var(--t)}.ann-item:hover,.ann-item--open{border-color:var(--clr-primary);box-shadow:var(--shadow-card)}.ann-item-btn{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:none;border:none;text-align:left;cursor:pointer;color:inherit}.ann-item-btn:focus-visible{outline:2px solid var(--clr-primary);outline-offset:-2px}.ann-item-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--clr-primary)}.ann-item-meta{flex:1;min-width:0}.ann-item-title{display:block;font-size:var(--fs-base);font-weight:600;color:var(--clr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ann-item-source{display:block;font-size:var(--fs-xs);color:var(--clr-muted);margin-top:2px}.ann-chevron{flex-shrink:0;color:var(--clr-muted);transition:transform var(--t)}.ann-chevron--up{transform:rotate(180deg)}.ann-item-content{padding:0 var(--sp-4) var(--sp-4) calc(var(--sp-4) + 8px + var(--sp-3));font-size:var(--fs-sm);color:var(--clr-text-2);line-height:1.7;border-top:1px solid var(--clr-border);animation:ann-fade-in .15s ease}@keyframes ann-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ann-empty{text-align:center;color:var(--clr-muted);font-size:var(--fs-sm);padding:var(--sp-10) 0}.ann-more-wrap{display:flex;justify-content:center;padding:var(--sp-4) 0}.ann-load-more{padding:.6rem 2rem;border:1px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background var(--t),border-color var(--t)}.ann-load-more:hover:not(:disabled){background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary)}.ann-load-more:disabled{opacity:.5;cursor:default}@media (max-width: 1024px){.classes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.classes-grid{grid-template-columns:1fr}.ann-card-header{flex-direction:column;align-items:flex-start;gap:.25rem}.ann-card-footer{flex-direction:column;align-items:flex-start;gap:.5rem}.ann-root{max-width:100%}.modal-card{padding:1rem 1.25rem}}.pd-root{display:flex;flex-direction:column;gap:1.75rem}.pd-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media (max-width: 1200px){.pd-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.pd-stats-grid{grid-template-columns:1fr}}.pd-stat-card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.6rem 1.4rem;border-radius:1.25rem;overflow:hidden;cursor:default;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.pd-stat-card:hover{transform:translateY(-5px)}.pd-stat-blue{background:linear-gradient(135deg,var(--clr-secondary) 0%,var(--clr-secondary) 60%,var(--clr-secondary-soft) 100%);box-shadow:0 8px 28px #6366f159}.pd-stat-green{background:linear-gradient(135deg,var(--clr-success) 0%,var(--clr-success) 60%,#34d399 100%);box-shadow:0 8px 28px #10b98159}.pd-stat-purple{background:linear-gradient(135deg,#7c3aed,#a855f7 60%,#c084fc);box-shadow:0 8px 28px #a855f759}.pd-stat-amber{background:linear-gradient(135deg,var(--clr-warning) 0%,var(--clr-warning) 60%,var(--clr-warning) 100%);box-shadow:0 8px 28px #f59e0b59}.pd-stat-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:#ffffff14;right:-40px;top:-50px;pointer-events:none}.pd-stat-top{display:flex;align-items:flex-start;justify-content:space-between}.pd-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-shrink:0}.pd-stat-icon svg{width:22px;height:22px;stroke:#fff}.pd-stat-trend{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:#fff3;font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.02em}.pd-stat-trend svg{width:12px;height:12px;stroke:#fff}.pd-stat-body{display:flex;flex-direction:column;gap:.2rem}.pd-stat-value{font-size:2rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em}.pd-stat-label{font-size:.78rem;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.07em}.pd-stat-sub{font-size:.74rem;color:#fff9;margin-top:.1rem}.pd-main-grid{display:grid;grid-template-columns:1fr 360px;gap:1.25rem}@media (max-width: 1100px){.pd-main-grid{grid-template-columns:1fr}}.pd-card{background:var(--surface);border:1px solid var(--border);border-radius:1.125rem;padding:1.35rem 1.5rem;box-shadow:0 2px 8px #0000000a}.pd-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.pd-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.pd-link{background:none;border:none;color:var(--clr-secondary);font-size:.82rem;cursor:pointer;font-weight:600;padding:0}.pd-link:hover{text-decoration:underline}.pd-table-wrap{overflow-x:auto}.pd-table{width:100%;border-collapse:collapse;font-size:.84rem}.pd-table th{text-align:left;padding:.5rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-subtle, rgba(0,0,0,.03));border-bottom:1px solid var(--border)}.pd-table th:first-child{border-radius:8px 0 0 8px}.pd-table th:last-child{border-radius:0 8px 8px 0}.pd-table td{padding:.72rem .8rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.pd-table tr:last-child td{border-bottom:none}.pd-table tbody tr{transition:background .15s}.pd-table tbody tr:hover td{background:#6366f10f}.pd-ctc{font-weight:700;color:var(--clr-success)}.pd-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .65rem;border-radius:999px;font-size:.73rem;font-weight:600}.pd-badge-upcoming{background:#6366f126;color:var(--clr-secondary-soft)}.pd-badge-completed{background:#22c55e26;color:var(--clr-success)}.pd-right-col{display:flex;flex-direction:column;gap:1.25rem}.pd-pipeline{display:flex;flex-direction:column;gap:.9rem}.pd-pipe-row{display:flex;align-items:center;gap:.75rem}.pd-pipe-label{font-size:.8rem;color:var(--text-secondary);width:90px;flex-shrink:0}.pd-pipe-bar-wrap{flex:1;height:9px;background:var(--border);border-radius:999px;overflow:hidden}.pd-pipe-bar{height:100%;border-radius:999px;transition:width .7s cubic-bezier(.4,0,.2,1)}.pd-pipe-count{font-size:.82rem;font-weight:700;color:var(--text-primary);width:36px;text-align:right}.pd-branch-list{display:flex;flex-direction:column;gap:.7rem}.pd-branch-row{display:flex;align-items:center;gap:.75rem}.pd-branch-name{font-size:.82rem;font-weight:700;color:var(--text-primary);width:32px;flex-shrink:0}.pd-branch-bar-wrap{flex:1;height:9px;background:var(--border);border-radius:999px;overflow:hidden}.pd-branch-bar{height:100%;background:linear-gradient(90deg,var(--clr-secondary),#a855f7);border-radius:999px;transition:width .7s}.pd-branch-pct{font-size:.75rem;color:var(--text-secondary);width:110px;text-align:right}.pd-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.pd-activity-item{display:flex;align-items:center;gap:.9rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.pd-activity-item:last-child{border-bottom:none}.pd-activity-icon-wrap{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1rem}.pd-ai-shortlist{background:#6366f11f}.pd-ai-offer{background:#22c55e1f}.pd-ai-drive{background:#3b82f61f}.pd-ai-placed{background:#10b9811f}.pd-activity-text{flex:1;font-size:.84rem;color:var(--text-primary)}.pd-activity-time{font-size:.73rem;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.pd-quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}@media (max-width: 900px){.pd-quick-actions{grid-template-columns:repeat(3,1fr)}}@media (max-width: 500px){.pd-quick-actions{grid-template-columns:repeat(2,1fr)}}.pd-quick-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem 1rem;border-radius:1rem;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1)}.pd-quick-btn:hover{border-color:var(--clr-secondary);background:#6366f114;transform:translateY(-3px);box-shadow:0 8px 20px #6366f126}.pd-quick-icon{font-size:1.5rem}.pd-quick-label{font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center}.pd-header-actions{display:flex;gap:.75rem}.pd-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem 1.15rem;border-radius:.8rem;font-size:.84rem;font-weight:600;cursor:pointer;border:none;transition:all .18s}.pd-btn svg{width:15px;height:15px}.pd-btn-primary{background:var(--clr-secondary);color:#fff;box-shadow:0 4px 14px #6366f159}.pd-btn-primary:hover{background:var(--clr-secondary);transform:translateY(-1px);box-shadow:0 6px 18px #6366f173}.pd-btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-primary)}.pd-btn-outline:hover{border-color:var(--clr-secondary);color:var(--clr-secondary);background:#6366f112}@media (max-width: 480px){.pd-header-actions{width:100%;flex-wrap:wrap}.pd-btn{flex:1;justify-content:center}.pd-card{padding:1rem 1.125rem}.pd-stats-grid{gap:.875rem}.pd-stat-card{padding:1.125rem 1.25rem}.pd-stat-value{font-size:1.6rem}.pd-table-wrap{-webkit-overflow-scrolling:touch}.pd-quick-actions{grid-template-columns:repeat(3,1fr);gap:.625rem}.pd-quick-btn{padding:.875rem .625rem}.pd-quick-label{font-size:.68rem}}.co-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.co-sector-tabs{display:flex;gap:.35rem;flex-wrap:wrap}.co-sector-tab{padding:.35rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .16s}.co-sector-tab.active,.co-sector-tab:hover{background:var(--clr-secondary);color:#fff;border-color:var(--clr-secondary)}.co-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.co-sum-card{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.2rem}.co-sum-val{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.co-sum-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.co-table .co-company-cell{display:flex;align-items:center;gap:.65rem}.co-logo{width:32px;height:32px;border-radius:8px;background:#6366f12e;color:var(--clr-secondary-soft);font-weight:800;font-size:.72rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.co-sector-badge{display:inline-flex;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#6366f11f;color:var(--clr-secondary-soft)}.co-email{color:var(--text-secondary);font-size:.82rem}.co-actions{display:flex;gap:.35rem}.co-action-btn{width:30px;height:30px;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .16s}.co-action-btn svg{width:14px;height:14px}.co-action-btn:hover{border-color:var(--clr-secondary);color:var(--clr-secondary);background:#6366f114}.co-action-del:hover{border-color:var(--clr-danger);color:var(--clr-danger);background:#ef444414}.co-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.9rem}.pd-badge-inactive{background:#64748b26;color:var(--clr-muted)}.co-modal{max-width:600px}.co-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.co-field{display:flex;flex-direction:column;gap:.3rem}.co-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.co-input{padding:.6rem .85rem;border:1px solid var(--border);border-radius:.65rem;background:var(--bg);color:var(--text-primary);font-size:.88rem;transition:border-color .16s}.co-input:focus{outline:none;border-color:var(--clr-secondary)}@media (max-width: 768px){.co-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.co-table-wrap table{min-width:540px}.co-header{flex-wrap:wrap;gap:.75rem}}@media (max-width: 480px){.modal-card{padding:1rem 1.25rem;margin:0 .5rem}.co-card-actions{flex-direction:column}.co-action-del-btn{width:100%}}.dr-tabs{display:flex;gap:.35rem;margin-bottom:.5rem}.dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.dr-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:transform .2s,box-shadow .2s}.dr-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000002e}.dr-card.upcoming{border-top:3px solid var(--clr-secondary)}.dr-card.completed{border-top:3px solid var(--clr-success)}.dr-card-top{display:flex;align-items:center;gap:.85rem}.dr-company-logo{width:44px;height:44px;border-radius:12px;background:#6366f12e;color:var(--clr-secondary-soft);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dr-company-info{flex:1}.dr-company-name{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.dr-role{margin:.1rem 0 0;font-size:.82rem;color:var(--text-secondary)}.dr-meta{display:flex;flex-direction:column;gap:.35rem}.dr-meta span{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-secondary)}.dr-meta span svg{width:14px;height:14px;flex-shrink:0}.dr-pills{display:flex;flex-wrap:wrap;gap:.4rem}.dr-pill{padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#6366f11f;color:var(--clr-secondary-soft);border:1px solid rgba(99,102,241,.2)}.dr-pill-cgpa{background:#f59e0b1f;color:var(--clr-warning);border-color:#f59e0b33}.dr-pill-warn{background:#ef44441f;color:var(--clr-danger-soft);border-color:#ef444433}.dr-rounds{display:flex;flex-wrap:wrap;gap:.4rem}.dr-round-chip{padding:.2rem .6rem;border-radius:.4rem;font-size:.72rem;background:var(--bg);border:1px solid var(--border);color:var(--text-secondary)}.dr-stats-row{display:flex;gap:1rem}.dr-stat{display:flex;flex-direction:column;gap:.1rem}.dr-stat-val{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.dr-stat-lbl{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dr-stat-green .dr-stat-val{color:var(--clr-success)}.dr-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.co-action-del-btn{color:var(--clr-danger);border-color:#ef44444d}.co-action-del-btn:hover{background:#ef444414;border-color:var(--clr-danger)}.dr-empty{grid-column:1/-1;text-align:center;color:var(--text-secondary);padding:3rem}.dr-modal{max-width:640px;max-height:90vh;display:flex;flex-direction:column}.dr-form-scroll{overflow-y:auto;flex:1;padding-right:.25rem}.dr-branches-label{margin-bottom:.5rem}.dr-branch-toggles{display:flex;gap:.4rem;flex-wrap:wrap}.dr-branch-toggle{padding:.35rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .16s}.dr-branch-toggle.active{background:var(--clr-secondary);color:#fff;border-color:var(--clr-secondary)}.dr-rounds-edit{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem}.dr-round-edit-chip{display:flex;align-items:center;justify-content:space-between;padding:.4rem .7rem;border-radius:.5rem;background:var(--bg);border:1px solid var(--border);font-size:.82rem;color:var(--text-primary)}.dr-round-edit-chip button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:0 .2rem}.dr-round-add{display:flex;gap:.5rem}.dr-round-add .co-input{flex:1}@media (max-width: 1024px){.dr-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dr-stats-row{flex-wrap:wrap;gap:.75rem}.dr-card-actions{flex-direction:column}.dr-card-actions .btn-secondary,.dr-card-actions .btn-primary{width:100%}}@media (max-width: 480px){.dr-grid{grid-template-columns:1fr}.dr-modal{max-width:100%;max-height:95vh}.modal-card{padding:1rem 1.25rem}.dr-round-add{flex-direction:column}}.el-drive-selector{margin-bottom:.5rem}.el-drive-cards{display:flex;gap:.75rem;flex-wrap:wrap}.el-drive-card{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1.1rem;border-radius:.875rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;transition:all .18s;min-width:160px}.el-drive-card.active,.el-drive-card:hover{border-color:var(--clr-secondary);background:#6366f114}.el-drive-company{font-weight:700;font-size:.95rem;color:var(--text-primary)}.el-drive-role{font-size:.78rem;color:var(--text-secondary)}.el-drive-pills{display:flex;flex-wrap:wrap;gap:.35rem}.el-criteria-banner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.25rem;border-radius:.875rem;background:#6366f114;border:1px solid rgba(99,102,241,.25)}.el-criteria-title{font-size:.85rem;color:var(--text-secondary)}.el-criteria-pills{display:flex;gap:.4rem;flex-wrap:wrap;flex:1}.el-eligible-count{font-size:.9rem;font-weight:700;color:var(--clr-secondary-soft);margin-left:auto}.el-count-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.el-cgpa{padding:.15rem .5rem;border-radius:.4rem;font-weight:700;font-size:.85rem}.el-cgpa.pass{background:#22c55e1f;color:var(--clr-success)}.el-cgpa.fail{background:#ef44441f;color:var(--clr-danger-soft)}@media (max-width: 768px){.el-drive-cards{display:grid;grid-template-columns:repeat(2,1fr)}.el-criteria-banner{flex-direction:column;align-items:flex-start;gap:.75rem}.el-eligible-count{margin-left:0}.el-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.el-table-wrap table{min-width:580px}}@media (max-width: 480px){.el-drive-cards{grid-template-columns:1fr}.el-drive-card{min-width:unset}}.ap-view-toggle{display:flex;border:1px solid var(--border);border-radius:.65rem;overflow:hidden}.ap-view-btn{padding:.45rem 1rem;border:none;background:var(--surface);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.ap-view-btn.active{background:var(--clr-secondary);color:#fff}.ap-kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;overflow-x:auto;padding-bottom:.5rem}@media (max-width: 1200px){.ap-kanban{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (max-width: 800px){.ap-kanban{grid-template-columns:repeat(2,minmax(200px,1fr))}}.ap-column{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.ap-col-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .85rem;border-radius:.65rem;border-top:3px solid;background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.ap-col-title{font-size:.82rem;font-weight:700;color:var(--text-primary)}.ap-col-count{font-size:.75rem;font-weight:700;background:var(--bg);padding:.15rem .45rem;border-radius:.4rem;color:var(--text-secondary)}.ap-col-cards{display:flex;flex-direction:column;gap:.5rem;flex:1}.ap-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.85rem;display:flex;flex-direction:column;gap:.55rem;transition:transform .15s,box-shadow .15s}.ap-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.ap-card-top{display:flex;align-items:center;gap:.55rem}.ap-avatar{width:30px;height:30px;border-radius:8px;background:#6366f12e;color:var(--clr-secondary-soft);font-weight:800;font-size:.68rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ap-student-name{margin:0;font-size:.82rem;font-weight:700;color:var(--text-primary)}.ap-roll{margin:.1rem 0 0;font-size:.72rem;color:var(--text-secondary)}.ap-card-meta{display:flex;flex-direction:column;gap:.2rem}.ap-company{font-size:.8rem;font-weight:700;color:var(--clr-secondary-soft)}.ap-role{font-size:.76rem;color:var(--text-secondary)}.ap-date{font-size:.72rem;color:var(--text-muted, var(--clr-muted))}.ap-advance-btn{padding:.3rem .6rem;border-radius:.5rem;border:1px solid rgba(99,102,241,.3);background:#6366f114;color:var(--clr-secondary-soft);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}.ap-advance-btn:hover{background:var(--clr-secondary);color:#fff}.ap-col-empty{font-size:.8rem;color:var(--text-secondary);text-align:center;padding:1rem .5rem}.ap-status-badge{padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}.of-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.of-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem;position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.of-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.of-locked{border-color:#22c55e4d;background:#22c55e08}.of-lock-ribbon{position:absolute;top:10px;right:-24px;background:var(--clr-success);color:#fff;font-size:.68rem;font-weight:700;padding:.2rem 2rem;transform:rotate(40deg)}.of-card-header{display:flex;align-items:center;gap:.65rem}.of-student{margin:0;font-size:.9rem;font-weight:700;color:var(--text-primary)}.of-roll{margin:.1rem 0 0;font-size:.72rem;color:var(--text-secondary)}.of-details{display:flex;gap:.5rem;align-items:center}.of-company{font-size:.88rem;font-weight:700;color:var(--clr-secondary-soft)}.of-role{font-size:.8rem;color:var(--text-secondary)}.of-ctc{font-size:1.4rem;font-weight:800;color:var(--clr-success)}.of-date{font-size:.76rem;color:var(--text-secondary)}.of-actions{display:flex;gap:.5rem}.of-locked-card{border-left:3px solid var(--clr-success)}@media (max-width: 768px){.of-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.of-grid{grid-template-columns:1fr}.of-actions{flex-direction:column}.of-actions button{width:100%}}.pr-naac-banner{background:linear-gradient(135deg,#6366f126,#a855f71f);border:1px solid rgba(99,102,241,.3);border-radius:1rem;padding:1.25rem 1.5rem}.pr-naac-title{font-size:.82rem;font-weight:700;color:var(--clr-secondary-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem}.pr-naac-stats{display:flex;gap:2rem;flex-wrap:wrap}.pr-naac-stat{display:flex;flex-direction:column;gap:.1rem}.pr-naac-val{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.pr-naac-lbl{font-size:.72rem;color:var(--text-secondary);font-weight:500}.pr-grid{display:grid;grid-template-columns:1fr 340px;gap:1rem}@media (max-width: 1000px){.pr-grid{grid-template-columns:1fr}}.pr-chart{display:flex;align-items:flex-end;gap:1.25rem;height:220px;padding-top:1rem}.pr-bar-col{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1}.pr-bar-val{font-size:.8rem;font-weight:700;color:var(--text-primary)}.pr-bar-wrap{flex:1;display:flex;align-items:flex-end;width:100%}.pr-bar{width:100%;background:linear-gradient(to top,var(--clr-secondary),#a855f7);border-radius:.4rem .4rem 0 0;min-height:8px;transition:height .6s cubic-bezier(.4,0,.2,1)}.pr-bar-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-align:center}.pr-bar-pct{font-size:.7rem;color:var(--text-muted, var(--clr-muted))}.pr-recruiter-list{display:flex;flex-direction:column;gap:.6rem}.pr-recruiter-row{display:flex;align-items:center;gap:.65rem}.pr-rank{font-size:.72rem;font-weight:800;color:var(--text-secondary);width:20px;text-align:center}.pr-recruiter-name{flex:1;font-size:.85rem;font-weight:600;color:var(--text-primary)}.pr-recruiter-hired{font-size:.78rem;color:var(--text-secondary)}.pr-recruiter-ctc{font-size:.82rem;font-weight:700;color:var(--clr-success)}@media print{.pd-header-actions,.sidebar,.topbar{display:none!important}.pr-root{padding:0}}.pn-list{display:flex;flex-direction:column;gap:.85rem}.pn-notice{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem;transition:transform .15s}.pn-notice:hover{transform:translateY(-1px)}.pn-pinned{border-left:3px solid var(--clr-warning);background:#f59e0b08}.pn-urgent{border-left:3px solid var(--clr-danger);background:#ef444408}.pn-pinned.pn-urgent{border-left:3px solid var(--clr-danger)}.pn-notice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pn-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1}.pn-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.pn-pin-badge{font-size:.72rem;font-weight:700;color:var(--clr-warning);background:#f59e0b1f;padding:.15rem .5rem;border-radius:999px}.pn-urgent-badge{font-size:.72rem;font-weight:700;color:var(--clr-danger-soft);background:#ef44441f;padding:.15rem .5rem;border-radius:999px}.pn-actions{display:flex;gap:.35rem;flex-shrink:0}.pn-content{margin:0;font-size:.86rem;color:var(--text-secondary);line-height:1.6}.pn-meta{display:flex;align-items:center;gap:1rem}.pn-audience-chip{font-size:.75rem;font-weight:600;background:#6366f11f;color:var(--clr-secondary-soft);padding:.2rem .65rem;border-radius:999px}.pn-time{font-size:.75rem;color:var(--text-muted, var(--clr-muted));margin-left:auto}.pn-textarea{resize:vertical;min-height:100px;font-family:inherit}.pn-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.pn-checkbox-label input{width:15px;height:15px;cursor:pointer}.pn-field-error{font-size:.78rem;color:#ef4444;font-weight:500;margin-top:.25rem}.pn-inline-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.5rem .75rem;border-radius:.5rem;font-size:.825rem}.co-input.is-invalid{border-color:#ef4444!important}@media (max-width: 768px){.pn-notice-header{flex-direction:column;gap:.5rem}.pn-actions{align-self:flex-end}}@media (max-width: 480px){.pn-notice{padding:.875rem 1rem}.pn-title{font-size:.88rem}.pn-meta{flex-wrap:wrap;gap:.5rem}}.ad-root{display:flex;flex-direction:column;gap:1.75rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.45rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0}.page-sub{font-size:.82rem;color:var(--text-secondary);margin:.2rem 0 0}.ad-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.ad-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--clr-secondary);animation:ad-spin .7s linear infinite}@keyframes ad-spin{to{transform:rotate(360deg)}}.ad-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media (max-width: 1200px){.ad-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.ad-stats-grid{grid-template-columns:1fr}}.ad-stat-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.6rem 1.4rem;border-radius:1.25rem;cursor:default;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}.ad-stat-card:hover{transform:translateY(-5px)}.ad-stat-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:#ffffff14;right:-45px;top:-55px;pointer-events:none}.ad-stat-rose{background:linear-gradient(135deg,#be123c,#e11d48,var(--clr-danger-soft));box-shadow:0 8px 28px #e11d4859}.ad-stat-blue{background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary),var(--clr-primary-soft));box-shadow:0 8px 28px #3b82f659}.ad-stat-violet{background:linear-gradient(135deg,#6d28d9,#8b5cf6,#a78bfa);box-shadow:0 8px 28px #8b5cf659}.ad-stat-teal{background:linear-gradient(135deg,#0f766e,#14b8a6,#2dd4bf);box-shadow:0 8px 28px #14b8a659}.ad-stat-top{display:flex;align-items:flex-start;justify-content:space-between}.ad-stat-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ad-stat-icon svg{width:22px;height:22px;stroke:#fff}.ad-stat-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;background:#ffffff38;font-size:.71rem;font-weight:700;color:#fff}.ad-stat-body{display:flex;flex-direction:column;gap:.2rem}.ad-stat-value{font-size:2rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em}.ad-stat-label{font-size:.77rem;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.07em}.ad-stat-sub{font-size:.73rem;color:#fff9;margin-top:.1rem}.ad-card{background:var(--surface);border:1px solid var(--border);border-radius:1.125rem;padding:1.35rem 1.5rem;box-shadow:0 2px 8px #0000000a}.ad-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.ad-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.ad-link{background:none;border:none;color:var(--clr-secondary);font-size:.82rem;cursor:pointer;font-weight:600;padding:0}.ad-link:hover{text-decoration:underline}.ad-main-grid{display:grid;grid-template-columns:1fr 340px;gap:1.25rem}@media (max-width: 1100px){.ad-main-grid{grid-template-columns:1fr}}.ad-right-col{display:flex;flex-direction:column;gap:1.25rem}.ad-table-wrap{overflow-x:auto}.ad-table{width:100%;border-collapse:collapse;font-size:.84rem}.ad-table th{text-align:left;padding:.5rem .85rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-subtle, rgba(0,0,0,.03));border-bottom:1px solid var(--border)}.ad-table td{padding:.72rem .85rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.ad-table tr:last-child td{border-bottom:none}.ad-table tbody tr:hover td{background:#6366f10d}.ad-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem}.ad-dot-green{background:var(--clr-success)}.ad-dot-amber{background:var(--clr-warning)}.ad-dot-red{background:var(--clr-danger)}.ad-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ad-activity-item{display:flex;align-items:center;gap:.85rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.ad-activity-item:last-child{border-bottom:none}.ad-act-icon{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.95rem}.ad-act-blue{background:#3b82f61f}.ad-act-green{background:#22c55e1f}.ad-act-rose{background:#e11d481f}.ad-act-violet{background:#8b5cf61f}.ad-act-amber{background:#f59e0b1f}.ad-activity-text{flex:1;font-size:.83rem;color:var(--text-primary)}.ad-activity-time{font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.ad-status-list{display:flex;flex-direction:column;gap:.6rem}.ad-status-row{display:flex;align-items:center;justify-content:space-between;font-size:.82rem}.ad-status-row span:first-child{color:var(--text-secondary)}.ad-status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:999px;font-size:.73rem;font-weight:600}.ad-pill-up{background:#22c55e26;color:var(--clr-success)}.ad-pill-warn{background:#f59e0b26;color:var(--clr-warning)}.ad-pill-down{background:#ef444426;color:var(--clr-danger-soft)}.ad-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}@media (max-width: 900px){.ad-quick-grid{grid-template-columns:repeat(2,1fr)}}.ad-quick-btn{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.15rem 1rem;border-radius:1rem;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1)}.ad-quick-btn:hover{border-color:var(--clr-secondary);background:#6366f112;transform:translateY(-3px);box-shadow:0 8px 20px #6366f124}.ad-quick-icon{font-size:1.5rem}.ad-quick-label{font-size:.74rem;font-weight:600;color:var(--text-primary);text-align:center}.ad-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem 1.15rem;border-radius:.8rem;font-size:.84rem;font-weight:600;cursor:pointer;border:none;transition:all .18s}.ad-btn svg{width:15px;height:15px}.ad-btn-primary{background:var(--clr-secondary);color:#fff;box-shadow:0 4px 14px #6366f14d}.ad-btn-primary:hover{background:var(--clr-secondary);transform:translateY(-1px)}.ad-btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-primary)}.ad-btn-outline:hover{border-color:var(--clr-secondary);color:var(--clr-secondary);background:#6366f112}.ad-btn-danger{background:var(--clr-danger);color:#fff}.ad-btn-danger:hover{background:var(--clr-danger);transform:translateY(-1px)}.ad-header-actions{display:flex;gap:.75rem;align-items:center}.ad-tabs{display:flex;gap:.35rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.ad-tab{padding:.45rem 1rem;border-radius:.65rem;border:none;background:none;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .18s}.ad-tab:hover{background:#6366f112;color:var(--text-primary)}.ad-tab.active{background:#6366f11f;color:var(--clr-secondary)}.ad-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600}.ad-badge-active{background:#22c55e26;color:var(--clr-success)}.ad-badge-pending{background:#f59e0b26;color:var(--clr-warning)}.ad-badge-inactive{background:#ef44441f;color:var(--clr-danger-soft)}.ad-badge-info{background:#6366f11f;color:var(--clr-secondary-soft)}.ad-toggle{position:relative;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ad-toggle-track{width:42px;height:24px;border-radius:999px;background:var(--border);transition:background .2s;flex-shrink:0}.ad-toggle-track.on{background:var(--clr-secondary)}.ad-toggle-thumb{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 4px #0003}.ad-toggle-track.on .ad-toggle-thumb{left:21px}.ad-toggle-label{font-size:.83rem;color:var(--text-primary)}.ad-field{display:flex;flex-direction:column;gap:.35rem}.ad-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.ad-input,.ad-select,.ad-textarea{width:100%;padding:.6rem .85rem;border-radius:.75rem;border:1.5px solid var(--border);background:var(--bg, #fff);color:var(--text-primary);font-size:.84rem;transition:border-color .18s,box-shadow .18s;font-family:inherit}.ad-input:focus,.ad-select:focus,.ad-textarea:focus{outline:none;border-color:var(--clr-secondary);box-shadow:0 0 0 3px #6366f11f}.ad-textarea{resize:vertical;min-height:90px}.ad-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999;opacity:0;pointer-events:none;transition:opacity .2s}.ad-modal-overlay.open{opacity:1;pointer-events:all}.ad-modal{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2rem;width:100%;max-width:480px;box-shadow:0 20px 60px #0000002e;transform:translateY(20px);transition:transform .25s}.ad-modal-overlay.open .ad-modal{transform:translateY(0)}.ad-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem}.ad-modal-sub{font-size:.83rem;color:var(--text-secondary);margin:0 0 1.5rem}.ad-modal-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.ad-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.ad-search-row{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.ad-search-wrap{position:relative;flex:1;min-width:200px}.ad-search-wrap svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--text-secondary);pointer-events:none}.ad-search-input{width:100%;padding:.55rem .85rem .55rem 2.3rem;border-radius:.8rem;border:1.5px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:.83rem}.ad-search-input:focus{outline:none;border-color:var(--clr-secondary);box-shadow:0 0 0 3px #6366f11a}.ad-filter-select{padding:.52rem .85rem;border-radius:.8rem;border:1.5px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:.83rem;cursor:pointer}.ad-progress-wrap{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.ad-progress-bar{height:100%;border-radius:999px;transition:width .6s}.ad-rule-group{display:flex;flex-direction:column;gap:1rem}.ad-rule-row{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-radius:.875rem;border:1px solid var(--border);background:var(--bg-subtle, rgba(0,0,0,.02));gap:1rem}.ad-rule-info{flex:1}.ad-rule-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.ad-rule-desc{font-size:.76rem;color:var(--text-secondary);margin-top:.15rem}.ad-rule-control{display:flex;align-items:center;gap:.75rem}.ad-number-input{width:70px;padding:.45rem .6rem;border-radius:.65rem;border:1.5px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:.83rem;text-align:center}.ad-number-input:focus{outline:none;border-color:var(--clr-secondary)}.ad-audit-create{color:var(--clr-success)}.ad-audit-edit{color:var(--clr-primary-soft)}.ad-audit-delete{color:var(--clr-danger-soft)}.ad-audit-login{color:#c084fc}.ad-audit-export{color:var(--clr-warning)}.ad-compliance-meter{margin-bottom:1rem}.ad-compliance-pct{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1}.ad-compliance-sub{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.ad-branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.ad-branch-card{border:1.5px solid var(--border);border-radius:1rem;padding:1.15rem 1.25rem;background:var(--surface);transition:all .22s}.ad-branch-card:hover{border-color:var(--clr-secondary);box-shadow:0 6px 18px #6366f11f;transform:translateY(-3px)}.ad-branch-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.ad-branch-name{font-size:1rem;font-weight:800;color:var(--text-primary)}.ad-branch-tag{font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.ad-branch-tag-good{background:#22c55e26;color:var(--clr-success)}.ad-branch-tag-warn{background:#f59e0b26;color:var(--clr-warning)}.ad-branch-tag-low{background:#ef44441f;color:var(--clr-danger-soft)}.ad-branch-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.85rem}.ad-branch-stat-item{display:flex;flex-direction:column;gap:.12rem}.ad-branch-stat-val{font-size:1.1rem;font-weight:800;color:var(--text-primary)}.ad-branch-stat-key{font-size:.7rem;color:var(--text-secondary)}.ad-branch-bar-wrap{height:7px;background:var(--border);border-radius:999px;overflow:hidden}.ad-branch-bar{height:100%;border-radius:999px;transition:width .6s}.ad-ann-list{display:flex;flex-direction:column;gap:.85rem}.ad-ann-card{border:1px solid var(--border);border-radius:.875rem;padding:1rem 1.15rem;background:var(--surface);position:relative;overflow:hidden}.ad-ann-priority{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}.ad-ann-priority-high{background:var(--clr-danger)}.ad-ann-priority-medium{background:var(--clr-warning)}.ad-ann-priority-low{background:var(--clr-secondary)}.ad-ann-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem;padding-left:.75rem}.ad-ann-title{font-size:.88rem;font-weight:700;color:var(--text-primary)}.ad-ann-body{font-size:.8rem;color:var(--text-secondary);padding-left:.75rem}.ad-ann-meta{display:flex;gap:.75rem;align-items:center;margin-top:.5rem;padding-left:.75rem;flex-wrap:wrap}.ad-ann-chip{font-size:.7rem;padding:.18rem .55rem;border-radius:999px;background:var(--border);color:var(--text-secondary);font-weight:600}.pd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border-radius:.5rem;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease-in-out;text-decoration:none}.pd-btn-sm{padding:.3rem .65rem;font-size:.75rem;border-radius:.375rem}.pd-btn-success{background-color:var(--clr-success);color:#fff}.pd-btn-success:hover{background-color:var(--clr-success)}.pd-btn-outline-danger{background-color:transparent;border-color:var(--clr-danger);color:var(--clr-danger)}.pd-btn-outline-danger:hover{background-color:#ef444414}@media (max-width: 480px){.page-title{font-size:1.2rem}.page-sub{font-size:.78rem}.ad-header-actions{width:100%;justify-content:stretch}.ad-header-actions .pd-btn,.ad-header-actions button{flex:1;justify-content:center}.ad-card{padding:1rem 1.125rem}.ad-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ad-stats-grid{gap:.875rem}.ad-stat-card{padding:1.125rem 1.25rem}.ad-stat-value{font-size:1.6rem}}.branches-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.branches-summary-card{background:var(--clr-card, rgba(30, 41, 59, .5));border:1px solid var(--clr-border, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);padding:1rem 1.25rem;display:flex;flex-direction:column}.branches-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.35rem}.branches-card-value{font-size:1.75rem;font-weight:700;color:#f8fafc}.branches-filter-pills{display:flex;gap:.35rem}.branches-pill{background:transparent;border:1px solid var(--clr-border, rgba(255, 255, 255, .12));color:#94a3b8;font-size:.75rem;padding:.25rem .75rem;border-radius:9999px;cursor:pointer;transition:all .15s ease}.branches-pill:hover{background:#ffffff0d;color:#f1f5f9}.branches-pill.active{background:var(--clr-primary, #6366f1);border-color:var(--clr-primary, #6366f1);color:#fff;font-weight:600}.branch-code-badge{display:inline-block;padding:.2rem .55rem;background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3);border-radius:4px;font-family:monospace;font-weight:700;font-size:.85rem}.row-deactivated{opacity:.55;background:#0f172a4d}.branches-empty-state{padding:3rem 1.5rem;text-align:center;color:#94a3b8;display:flex;flex-direction:column;align-items:center;justify-content:center}@media (max-width: 1024px){.branches-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.branches-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.branches-table-wrap table{min-width:540px}.branches-filter-pills{flex-wrap:wrap}}@media (max-width: 480px){.branches-summary-grid{grid-template-columns:1fr}.branches-summary-card{padding:.875rem 1rem}}.prof-assign-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.prof-assign-controls .search-bar{display:flex;align-items:center;gap:.5rem;background:var(--clr-bg-surface, #ffffff);border:1px solid var(--clr-border, #e2e8f0);border-radius:8px;padding:.5rem .75rem;flex:1;min-width:260px}.prof-assign-controls .search-bar input{border:none;outline:none;background:transparent;width:100%;font-size:.875rem}.filter-group{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.filter-group select{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--clr-border, #e2e8f0);background:var(--clr-bg-surface, #ffffff);font-size:.875rem}.prof-assign-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--clr-border, #e2e8f0);background:var(--clr-bg-surface, #ffffff)}.prof-info{display:flex;flex-direction:column}.prof-name{font-weight:600;color:var(--clr-text-primary, #1e293b)}.prof-email{font-size:.75rem;color:var(--clr-text-secondary, #64748b)}.branch-badge{background:#6366f11a;color:#4f46e5;font-weight:600;padding:.25rem .5rem;border-radius:4px}.inactive-row{opacity:.65;background-color:#f8fafc}.row-actions{display:flex;gap:.5rem;align-items:center}.btn-icon{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--clr-border, #cbd5e1);background:transparent;cursor:pointer;transition:all .15s ease}.btn-edit:hover{background:#f1f5f9}.btn-deactivate{color:#dc2626;border-color:#fca5a5}.btn-deactivate:hover{background:#fef2f2}.btn-activate{color:#16a34a;border-color:#86efac}.btn-activate:hover{background:#f0fdf4}.prof-assign-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.prof-assign-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500}.prof-assign-form input,.prof-assign-form select{padding:.6rem .75rem;border-radius:6px;border:1px solid var(--clr-border, #cbd5e1);font-size:.875rem}.req{color:#dc2626}@media (max-width: 1024px){.prof-assign-controls{flex-direction:column;align-items:stretch}}@media (max-width: 768px){.prof-assign-table-wrap{overflow-x:auto}.prof-assign-table-wrap table{min-width:750px}}@media (max-width: 480px){.form-grid-2{grid-template-columns:1fr!important}.modal-card{padding:1.25rem 1rem!important}.row-actions{flex-direction:column;align-items:flex-start}}.attendance-timetable-page{padding:1rem 0}.tab-nav-wrapper{display:flex;gap:.5rem;border-bottom:2px solid var(--border);padding-bottom:2px;margin-bottom:1.5rem}.tab-nav-btn{background:none;border:none;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .2s;display:flex;align-items:center;gap:.5rem}.tab-nav-btn:hover{color:var(--text-primary)}.tab-nav-btn.active{color:var(--clr-secondary)}.tab-nav-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--clr-secondary);border-radius:99px}.badge-count-pill{background-color:var(--clr-danger);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:99px;line-height:1}.control-filters-card{margin-bottom:1.5rem}.filter-controls-flex{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.35rem;min-width:140px}.filter-group label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.filter-group select,.filter-group input{padding:.6rem .85rem;border-radius:.65rem;border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.85rem;font-weight:600;outline:none;transition:border-color .2s}.filter-group select:focus,.filter-group input:focus{border-color:var(--clr-secondary)}.add-slot-trigger-btn{margin-left:auto;align-self:flex-end;height:38px}.timetable-board-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;align-items:start}@media (max-width: 1300px){.timetable-board-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 800px){.timetable-board-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.timetable-board-grid{grid-template-columns:1fr}}.timetable-day-column{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1rem;box-shadow:0 4px 12px #00000005;min-height:400px;display:flex;flex-direction:column;gap:.75rem}.timetable-day-header{font-size:1rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;text-align:center;border-bottom:1px dashed var(--border);padding-bottom:.5rem}.timetable-slots-stack{display:flex;flex-direction:column;gap:.65rem}.no-slots-placeholder{font-size:.75rem;color:var(--text-secondary);text-align:center;padding:2rem 0;font-style:italic}.timetable-slot-item{position:relative;background:var(--background);border:1px solid var(--border);border-radius:.75rem;padding:.75rem .85rem;font-size:.8rem;transition:transform .2s,box-shadow .2s}.timetable-slot-item:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.slot-time{font-weight:700;color:var(--clr-secondary);margin-bottom:.2rem}.slot-name{font-weight:800;color:var(--text-primary);line-height:1.25;margin-bottom:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-code-room{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.slot-code{font-weight:700;color:var(--text-secondary);background-color:var(--border);padding:.1rem .35rem;border-radius:4px;font-size:.7rem}.slot-room{color:var(--text-secondary);font-weight:600}.slot-prof{color:var(--text-secondary);font-size:.75rem;font-weight:600}.slot-delete-btn{position:absolute;top:.4rem;right:.4rem;background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s,color .2s}.timetable-slot-item:hover .slot-delete-btn{opacity:1}.slot-delete-btn:hover{color:var(--clr-danger)}.slot-type-lecture{border-left:3px solid var(--clr-secondary)}.slot-type-lab{border-left:3px solid var(--clr-success)}.slot-type-extra{border-left:3px solid var(--clr-warning);background-color:#f59e0b08}.roll-pill{background-color:var(--border);color:var(--text-primary);padding:.15rem .4rem;border-radius:6px;font-weight:600;font-size:.8rem}.time-badge{color:var(--clr-secondary);font-weight:700}.status-badge-pill{display:inline-flex;padding:.25rem .6rem;border-radius:99px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-present{background-color:#10b9811f;color:var(--clr-success);border:1px solid rgba(16,185,129,.2)}.status-late{background-color:#f59e0b1f;color:var(--clr-warning);border:1px solid rgba(245,158,11,.2)}.status-absent{background-color:#ef44441f;color:var(--clr-danger);border:1px solid rgba(239,68,68,.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;width:100%;max-width:580px;padding:1.75rem 2rem;box-shadow:0 12px 36px #00000026;animation:scaleUp .2s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.modal-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);margin:0}.modal-close-btn{background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 500px){.form-grid-2{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.form-group input,.form-group select{padding:.65rem .85rem;border-radius:.5rem;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:.85rem;outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--clr-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;border-top:1px solid var(--border);padding-top:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.marketplace-manager-page{padding:1rem 0}.merch-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.merch-product-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;box-shadow:0 4px 12px #00000008;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.merch-product-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #00000014}.merch-image-wrapper{height:200px;background-color:var(--background);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border)}.merch-image-wrapper img{width:100%;height:100%;object-fit:cover}.merch-image-placeholder{font-size:.85rem;color:var(--text-secondary);font-weight:600;text-align:center}.merch-card-body{padding:1.25rem;display:flex;flex-direction:column;flex-grow:1}.merch-title{font-size:1rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;line-height:1.35}.merch-desc{font-size:.8rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.merch-payment-methods{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;margin-bottom:1rem}.method-pill{font-size:.7rem;font-weight:700;color:var(--clr-secondary);background-color:#6366f114;padding:.2rem .5rem;border-radius:6px;border:1px solid rgba(99,102,241,.15)}.merch-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:.75rem}.merch-price{font-size:1.15rem;font-weight:900;color:var(--text-primary)}.merch-badge-role{font-size:.65rem;font-weight:800;text-transform:uppercase;color:var(--clr-success);background-color:#10b98114;padding:.15rem .45rem;border-radius:4px;letter-spacing:.05em}.pay-ref-pill{background-color:var(--background);padding:.2rem .45rem;border-radius:6px;font-size:.75rem;font-weight:700;color:var(--text-secondary);border:1px solid var(--border)}.status-update-select{padding:.35rem .65rem;border-radius:6px;border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.8rem;font-weight:700;outline:none;cursor:pointer;transition:border-color .2s}.status-update-select:focus{border-color:var(--clr-secondary)}.form-textarea-field{padding:.65rem .85rem;border-radius:.5rem;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:.85rem;outline:none;font-family:inherit;resize:vertical}.form-textarea-field:focus{border-color:var(--clr-secondary)}.device-upload-dropzone{border:2px dashed var(--border);border-radius:.75rem;padding:1.5rem 1rem;text-align:center;background-color:var(--background);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center}.device-upload-dropzone:hover{border-color:var(--clr-primary);background-color:#3b82f60a}.upload-icon{color:var(--clr-primary);margin-bottom:.5rem}.upload-text{font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.upload-hint{font-size:.72rem;color:var(--text-secondary)}.device-image-preview-card{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:.75rem;border:1px solid var(--border);background:var(--background)}.device-preview-img{width:70px;height:70px;object-fit:cover;border-radius:.5rem;border:1px solid var(--border)}.preview-info{display:flex;flex-direction:column;gap:.35rem}.preview-status{font-size:.8rem;font-weight:700;color:var(--clr-success);display:flex;align-items:center;gap:.35rem}.remove-img-btn{background:transparent;border:none;color:var(--clr-danger);font-size:.75rem;font-weight:700;cursor:pointer;text-align:left;padding:0}.remove-img-btn:hover{text-decoration:underline}.payment-apps-selector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.35rem}.pay-app-chip{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);font-size:.78rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-align:center}.pay-app-chip.active{border-color:var(--clr-primary);background:#3b82f61a;color:var(--clr-primary);box-shadow:0 2px 6px #3b82f626}.gpay-chip.active{border-color:#4285f4;color:#4285f4;background:#4285f41a}.phonepe-chip.active{border-color:#5f259f;color:#5f259f;background:#5f259f1a}.paytm-chip.active{border-color:#00baf2;color:#00baf2;background:#00baf21a}.bhim-chip.active{border-color:#0f9d58;color:#0f9d58;background:#0f9d581a}@media (max-width: 1024px){.merch-products-grid,.payment-apps-selector-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.orders-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.orders-table-wrap table{min-width:560px}}@media (max-width: 480px){.merch-products-grid{grid-template-columns:1fr;gap:1rem}.modal-card{padding:1rem 1.25rem;border-radius:1rem}.device-image-preview-card{flex-direction:column;align-items:flex-start}.device-preview-img{width:100%;height:140px}}.settings-page-wrapper{max-width:680px;margin:1.5rem auto;padding:0 1rem}.settings-page-header{margin-bottom:2rem}.settings-page-title{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.settings-page-sub{font-size:.88rem;color:var(--text-secondary);margin:.25rem 0 0}.settings-card-shell{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem 2rem;box-shadow:0 4px 12px #00000008}.settings-card-header{margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.settings-card-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.dpdp-consent-notice{font-size:.8rem;color:#d97706;background-color:#d977060f;border:1px solid rgba(217,119,6,.15);padding:.85rem 1rem;border-radius:.75rem;margin-bottom:1.75rem;line-height:1.45}.settings-form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.settings-field-label{font-size:.8rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.settings-text-input{padding:.75rem 1rem;border-radius:.65rem;border:1px solid var(--border);background-color:var(--background);color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .2s}.settings-text-input:focus{border-color:#6366f1}.settings-checkbox-container{display:inline-flex;align-items:center;gap:.65rem;margin-top:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.settings-checkbox-container input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:#6366f1}.settings-checkbox-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.settings-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:1.25rem;margin-top:1.75rem}.settings-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem}@media (max-width: 768px){.settings-page-wrapper{margin:1rem auto}}@media (max-width: 480px){.settings-card-shell{padding:1.25rem;border-radius:1rem}.settings-page-title{font-size:1.35rem}.settings-actions{justify-content:stretch}.settings-actions button{width:100%}}.sd-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.4);flex-shrink:0;box-shadow:0 4px 14px #00000040}.sd-avatar-placeholder{width:76px;height:76px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;flex-shrink:0;border:3px solid rgba(255,255,255,.4);box-shadow:0 4px 14px #00000040}.sd-avatar-edit-btn{position:absolute;bottom:0;right:0;background:var(--clr-secondary);border:2px solid #fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .15s,background .15s}.sd-avatar-edit-btn:hover{transform:scale(1.1);background:#3b82f6}.sd-hero-sub{font-size:.84rem;opacity:.85;margin:0 0 .5rem}.sd-hero-chip{padding:.22rem .65rem;border-radius:999px;background:#ffffff2e;font-size:.72rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sd-section-body{padding:1.35rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem 1.5rem}.sd-field-label{font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);display:flex;align-items:center}.sd-field-edit-btn{opacity:.7;transition:opacity .15s,transform .15s}.sd-input-invalid{border-color:var(--clr-danger)!important;background:#ef444408}.sd-input-invalid:focus{box-shadow:0 0 0 3px #ef44442e!important}.sd-select{cursor:pointer}.sd-textarea{resize:vertical;min-height:60px}.sd-field-error{display:flex;align-items:center;gap:.35rem;color:var(--clr-danger, #ef4444);font-size:.72rem;font-weight:500;line-height:1.2;margin-top:.15rem;animation:sdFadeIn .15s ease}.sd-spin-icon{animation:sdSpin .7s linear infinite}.sd-toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sd-toggle input{position:absolute;opacity:0;width:0;height:0}.sd-toggle-track{width:38px;height:20px;background:var(--border);border-radius:999px;position:relative;transition:background .2s;flex-shrink:0}.sd-toggle input:checked+.sd-toggle-track{background:var(--clr-success, #22c55e)}.sd-toggle-thumb{width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #00000040}.sd-toggle input:checked+.sd-toggle-track .sd-toggle-thumb{transform:translate(18px)}.sd-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:sdFadeIn .18s ease}.sd-confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2rem;width:100%;max-width:440px;box-shadow:0 20px 60px #00000047;animation:sdSlideUp .22s ease}.sd-confirm-sub{font-size:.83rem;color:var(--text-secondary);margin:0 0 1.25rem;line-height:1.45}.sd-confirm-diff{background:#0000000a;border:1px solid var(--border);border-radius:.65rem;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.82rem}.pu-root{display:flex;flex-direction:column;gap:1rem}.pu-dropzone{border:2px dashed rgba(99,179,255,.35);border-radius:1rem;background:#63b3ff0a;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;overflow:hidden;min-height:180px;display:flex;align-items:center;justify-content:center;position:relative;outline:none}.pu-dropzone:hover,.pu-dropzone:focus{border-color:#63b3ffb3;background:#63b3ff14;box-shadow:0 0 0 4px #63b3ff1f}.pu-dropzone--over{border-color:var(--clr-primary, #3b82f6)!important;background:#3b82f624!important;box-shadow:0 0 0 6px #3b82f62e!important;transform:scale(1.01)}.pu-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;pointer-events:none}.pu-cloud-icon{color:var(--clr-secondary, #60a5fa);opacity:.75}.pu-drop-label{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.pu-drop-hint{margin:0;font-size:.78rem;color:var(--text-secondary)}.pu-drop-hint u{text-decoration-color:var(--clr-secondary, #60a5fa);color:var(--clr-secondary, #60a5fa)}.pu-preview-wrap{width:100%;height:220px;position:relative;display:flex;align-items:center;justify-content:center}.pu-preview{width:100%;height:100%;object-fit:cover;display:block}.pu-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:#fff;font-size:.82rem;font-weight:600;opacity:0;transition:opacity .2s}.pu-dropzone:hover .pu-preview-overlay,.pu-dropzone:focus .pu-preview-overlay{opacity:1}.pu-progress-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.pu-ring{filter:drop-shadow(0 0 6px rgba(99,179,255,.6))}.pu-ring-track{fill:none;stroke:#ffffff2e;stroke-width:4}.pu-ring-fill{fill:none;stroke:var(--clr-secondary, #60a5fa);stroke-width:4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.pu-pct{color:#fff;font-size:.85rem;font-weight:700}.pu-url-row{display:flex;gap:.5rem;align-items:center}.pu-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}@media (max-width: 480px){.sd-hero{padding:1.125rem 1rem;gap:1rem}.sd-hero-name{font-size:1.2rem}.sd-confirm-modal{padding:1.25rem;margin:0 1rem}.sd-confirm-actions{flex-direction:column-reverse}.sd-confirm-actions button{width:100%}.sd-section-header{padding:.875rem 1rem}.sd-section-body{padding:1rem;grid-template-columns:1fr}.pu-preview-wrap{height:160px}.pu-actions{flex-direction:column-reverse;align-items:stretch}.pu-actions>*{width:100%;justify-content:center}}.sd-root{display:flex;flex-direction:column;gap:1.5rem}.sd-hero{display:flex;align-items:center;gap:1.5rem;padding:1.6rem;background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary));border-radius:1.25rem;box-shadow:0 8px 28px #3b82f659;color:#fff;flex-wrap:wrap}.sd-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.35);flex-shrink:0}.sd-avatar-placeholder{width:72px;height:72px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;flex-shrink:0;border:3px solid rgba(255,255,255,.35)}.sd-hero-info{flex:1}.sd-hero-name{font-size:1.4rem;font-weight:800;margin:0 0 .2rem}.sd-hero-sub{font-size:.84rem;opacity:.8;margin:0 0 .5rem}.sd-hero-chip{padding:.22rem .65rem;border-radius:999px;background:#ffffff2e;font-size:.72rem;font-weight:600}.sd-hero-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sd-section{background:var(--surface);border:1px solid var(--border);border-radius:1.125rem;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s}.sd-section:hover{box-shadow:0 4px 16px #00000014}.sd-section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.sd-section-title svg{width:17px;height:17px;stroke:var(--clr-secondary)}.sd-section-meta{font-size:.72rem;color:var(--text-secondary)}.sd-chevron{transition:transform .22s;color:var(--text-secondary)}.sd-chevron.open{transform:rotate(180deg)}.sd-section-body{padding:1.35rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.sd-field{display:flex;flex-direction:column;gap:.25rem}.sd-field-label{font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.sd-field-value.masked{color:var(--text-secondary);font-style:italic;letter-spacing:.05em}.sd-editable-row{display:flex;align-items:center;gap:.5rem}.sd-edit-input{flex:1;padding:.4rem .7rem;border-radius:.6rem;border:1.5px solid var(--border);background:var(--bg);color:var(--text-primary);font-size:.84rem;transition:border-color .18s}.sd-edit-input:focus{outline:none;border-color:var(--clr-secondary);box-shadow:0 0 0 3px #6366f11f}.sd-sensitive-banner{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:.75rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);font-size:.8rem;color:var(--clr-warning);margin-bottom:1rem}.sd-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:sdFadeIn .18s ease}@keyframes sdFadeIn{0%{opacity:0}to{opacity:1}}.sd-confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2rem;width:100%;max-width:440px;box-shadow:0 20px 60px #0003;animation:sdSlideUp .22s ease}@keyframes sdSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.sd-confirm-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0 0 .4rem}.sd-confirm-sub{font-size:.83rem;color:var(--text-secondary);margin:0 0 1.25rem}.sd-confirm-diff{background:#0000000a;border-radius:.65rem;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.82rem}.sd-confirm-diff-row{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}.sd-confirm-diff-old{color:var(--clr-danger);text-decoration:line-through}.sd-confirm-diff-new{color:var(--clr-success);font-weight:600}.sd-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.sd-cgpa-badge{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700}.sd-cgpa-high{background:#22c55e26;color:var(--clr-success)}.sd-cgpa-mid{background:#f59e0b26;color:var(--clr-warning)}.sd-cgpa-low{background:#ef44441f;color:var(--clr-danger-soft)}.sd-activity-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface)}.sd-activity-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#6366f11a}.sd-activity-icon svg{width:15px;height:15px;stroke:var(--clr-secondary)}.sd-activity-body{flex:1;font-size:.82rem;color:var(--text-primary)}.sd-activity-time{font-size:.72rem;color:var(--text-secondary)}.sd-offer-card{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:.875rem;border:1px solid var(--border)}.sd-offer-company{font-size:.88rem;font-weight:700;color:var(--text-primary)}.sd-offer-ctc{font-size:.85rem;font-weight:700;color:var(--clr-success);margin-left:auto}.sd-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;text-align:center}.sd-empty-icon{width:44px;height:44px;stroke:var(--text-secondary);opacity:.4}.sd-empty-text{font-size:.85rem;color:var(--text-secondary)}.sd-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--clr-secondary);animation:sdSpin .7s linear infinite;margin:3rem auto}@media (max-width: 640px){.sd-hero{flex-direction:column;align-items:flex-start}.sd-section-body{grid-template-columns:1fr}}@media (max-width: 1024px){.sd-section-body{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.sd-hero{padding:1.125rem 1rem;gap:1rem}.sd-hero-name{font-size:1.2rem}.sd-confirm-modal{padding:1.25rem;margin:0 1rem}.sd-confirm-actions{flex-direction:column-reverse}.sd-confirm-actions button{width:100%}.sd-section-header{padding:.875rem 1rem}.sd-section-body{padding:1rem;grid-template-columns:1fr}}.sd-root{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:3rem;max-width:1200px;margin:0 auto}.sd-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sd-header-idcard-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;border-radius:.6rem;background:#ffffff0d;border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.sd-header-idcard-btn:hover{background:#6366f11f;border-color:#6366f166;color:var(--clr-secondary);transform:translateY(-1px)}.sd-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.sd-spinner{width:44px;height:44px;border:3.5px solid rgba(99,102,241,.15);border-top-color:var(--clr-secondary);border-radius:50%;animation:sdSpin .8s linear infinite}@keyframes sdSpin{to{transform:rotate(360deg)}}.sd-hero{display:flex;align-items:center;gap:1.75rem;padding:1.75rem 2rem;background:linear-gradient(135deg,#1e3a8a,#2563eb,#4f46e5);border-radius:1.25rem;box-shadow:0 12px 35px -8px #2563eb73,0 0 0 1px #ffffff26 inset;color:#fff;flex-wrap:wrap;position:relative;overflow:hidden}.sd-hero:after{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,#ffffff2e,#fff0 70%);pointer-events:none}.sd-hero-avatar-wrap{position:relative;flex-shrink:0}.sd-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3.5px solid rgba(255,255,255,.6);box-shadow:0 8px 20px #00000059}.sd-avatar-placeholder{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#ffffff40,#ffffff1a);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#fff;border:3.5px solid rgba(255,255,255,.5);box-shadow:0 8px 20px #00000059}.sd-avatar-edit-btn{position:absolute;bottom:0;right:0;background:#3b82f6;border:2.5px solid #fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 8px #00000059;transition:transform .15s,background .15s}.sd-avatar-edit-btn:hover{transform:scale(1.12);background:#2563eb}.sd-hero-info{flex:1;min-width:260px}.sd-hero-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.3rem;flex-wrap:wrap}.sd-hero-name{font-size:1.55rem;font-weight:800;margin:0;letter-spacing:-.01em;color:#fff}.sd-hero-sub{font-size:.88rem;color:#ffffffe0;margin:0 0 .75rem;font-weight:500}.sd-hero-chips{display:flex;gap:.5rem;flex-wrap:wrap}.sd-hero-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .75rem;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.2);font-size:.74rem;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f8fafc}.sd-chip-success{background:#22c55e40;border-color:#22c55e66;color:#bbf7d0}.sd-chip-warning{background:#f59e0b40;border-color:#f59e0b66;color:#fef08a}.sd-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.sd-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.15rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 2px 8px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.sd-kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.sd-kpi-header{display:flex;align-items:center;justify-content:space-between}.sd-kpi-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.sd-kpi-icon{opacity:.9}.clr-purple{color:#8b5cf6}.clr-blue{color:#3b82f6}.clr-amber{color:#f59e0b}.clr-emerald{color:#10b981}.sd-kpi-val{font-size:1.45rem;font-weight:800;color:var(--text-primary);display:flex;align-items:baseline;gap:.3rem}.sd-kpi-denom{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.sd-kpi-meta{font-size:.74rem;font-weight:600;color:var(--text-secondary);margin:0}.sd-progress-bar-bg{width:100%;height:6px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:.35rem}.sd-progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#06b6d4);transition:width .4s ease}.sd-nav-tabs{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:.85rem;padding:.35rem;overflow-x:auto;scrollbar-width:none}.sd-nav-tabs::-webkit-scrollbar{display:none}.sd-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.1rem;border-radius:.65rem;background:transparent;border:none;font-size:.825rem;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.sd-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.sd-tab-btn.active{background:var(--clr-secondary);color:#fff;box-shadow:0 4px 12px #6366f14d}.sd-tab-panel{display:flex;flex-direction:column;gap:1.5rem;animation:sdPanelFade .2s ease}@keyframes sdPanelFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sd-section{background:var(--surface);border:1px solid var(--border);border-radius:1.125rem;overflow:hidden;box-shadow:0 2px 8px #0000000a}.sd-section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:#ffffff05}.sd-section-title{display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.sd-section-body{padding:1.35rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem 1.75rem}.sd-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.sd-field-full{grid-column:1 / -1}.sd-field-label{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);display:flex;align-items:center}.sd-field-value{font-size:.88rem;color:var(--text-primary);font-weight:500;word-break:break-word}.sd-field-empty{color:var(--text-secondary);font-style:italic;font-size:.82rem}.sd-field-edit-btn{opacity:.6;border-radius:.4rem;transition:opacity .15s,transform .15s}.sd-field:hover .sd-field-edit-btn{opacity:1}.sd-field-edit-container{display:flex;flex-direction:column;gap:.3rem;width:100%}.sd-editable-row{display:flex;align-items:center;gap:.5rem;width:100%}.sd-edit-input{flex:1;min-width:0;padding:.42rem .75rem;border-radius:.6rem;border:1.5px solid var(--border);background:var(--bg);color:var(--text-primary);font-size:.84rem;font-family:inherit;transition:border-color .18s,box-shadow .18s}.sd-edit-input:focus{outline:none;border-color:var(--clr-secondary);box-shadow:0 0 0 3px #6366f124}.sd-input-invalid{border-color:var(--clr-danger, #ef4444)!important}.sd-field-error{display:flex;align-items:center;gap:.35rem;color:var(--clr-danger, #ef4444);font-size:.72rem;font-weight:500}.sd-skill-pill{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff0f;border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem;font-size:.82rem;font-weight:500;color:var(--text-primary)}.sd-skill-remove-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--text-secondary);display:flex;align-items:center;transition:color .15s}.sd-skill-remove-btn:hover{color:var(--clr-danger, #ef4444)}.sd-add-skill-box{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.85rem;padding:.85rem;background:#00000026;border:1px solid var(--border);border-radius:.75rem}.sd-visibility-box{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.sd-checkbox-label{display:flex;align-items:center;gap:.6rem;font-size:.84rem;color:var(--text-primary);cursor:pointer;margin-bottom:.45rem;-webkit-user-select:none;user-select:none}.sd-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--clr-secondary);cursor:pointer}.sd-cgpa-badge{display:inline-flex;align-items:center;padding:.35rem .95rem;border-radius:999px;font-size:.92rem;font-weight:700;letter-spacing:.02em}.sd-cgpa-high{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.4)}.sd-cgpa-mid{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.4)}.sd-cgpa-low{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.35)}.sd-activity-list{display:flex;flex-direction:column;gap:.6rem}.sd-activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff08;border:1px solid var(--border);border-radius:.65rem}.sd-activity-icon{width:32px;height:32px;border-radius:50%;background:#6366f126;color:var(--clr-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sd-activity-body{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.sd-activity-tag{font-size:.72rem;background:#ffffff14;padding:.15rem .45rem;border-radius:.3rem;color:var(--text-secondary)}.sd-activity-time{font-size:.75rem;color:var(--text-secondary)}.sd-offer-list{display:flex;flex-direction:column;gap:.6rem}.sd-offer-card{display:flex;align-items:center;gap:1rem;padding:.85rem 1.1rem;background:#ffffff08;border:1px solid var(--border);border-radius:.75rem;flex-wrap:wrap}.sd-offer-company{font-size:.92rem;font-weight:700;color:var(--text-primary)}.sd-offer-role{font-size:.78rem;color:var(--text-secondary)}.sd-offer-ctc{font-size:.84rem;font-weight:700;color:var(--clr-success, #22c55e);background:#22c55e1f;padding:.2rem .55rem;border-radius:.35rem}.sd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;gap:.85rem;text-align:center}.sd-empty-text{font-size:.95rem;color:var(--text-secondary);margin:0}.perm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:permFadeIn .25s cubic-bezier(.16,1,.3,1)}.perm-modal-card{width:90%;max-width:480px;background:linear-gradient(135deg,#1e293bf2,#0f172afa);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;box-shadow:0 25px 50px -12px #00000080,0 0 40px #6366f126;color:#f8fafc;animation:permScaleUp .3s cubic-bezier(.16,1,.3,1)}.perm-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.perm-modal-badge{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6366f133,#a855f733);border:1px solid rgba(168,85,247,.3);display:flex;align-items:center;justify-content:center;font-size:24px}.perm-modal-close{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:6px;border-radius:8px;transition:all .2s ease}.perm-modal-close:hover{background:#ffffff1a;color:#fff}.perm-modal-title{font-size:20px;font-weight:700;margin:0 0 8px;color:#fff;letter-spacing:-.01em}.perm-modal-desc{font-size:14px;color:#94a3b8;margin:0 0 16px;line-height:1.5}.perm-use-case-box{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;margin-bottom:16px}.perm-use-case-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#818cf8;display:block;margin-bottom:6px}.perm-use-case-text{font-size:13px;color:#e2e8f0;margin:0;line-height:1.45}.perm-privacy-note{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#64748b;line-height:1.4;margin-bottom:24px}.perm-lock-icon{font-size:13px}.perm-modal-footer{display:flex;flex-direction:column;gap:10px}.perm-btn{width:100%;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.perm-btn-allow{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 14px #6366f159}.perm-btn-allow:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.perm-btn-session{background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.12)}.perm-btn-session:hover{background:#ffffff24}.perm-btn-deny{background:transparent;color:#64748b}.perm-btn-deny:hover{color:#94a3b8}@keyframes permFadeIn{0%{opacity:0}to{opacity:1}}@keyframes permScaleUp{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 480px){.perm-modal-card{padding:18px;border-radius:16px}.perm-modal-title{font-size:18px}}.cgm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;animation:cgm-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes cgm-fade-in{0%{opacity:0}to{opacity:1}}.cgm-card{background:var(--clr-surface, #ffffff);border:1px solid var(--clr-border, #e2e8f0);border-radius:1.25rem;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;overflow:hidden;animation:cgm-slide-up .3s cubic-bezier(.16,1,.3,1)}@keyframes cgm-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cgm-header{padding:1.5rem 1.75rem 1.25rem;border-bottom:1px solid var(--clr-border, #e2e8f0);display:flex;align-items:center;gap:1rem;background:linear-gradient(to bottom,rgba(59,130,246,.04),transparent)}.cgm-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #3b82f64d}.cgm-title{font-size:1.15rem;font-weight:800;color:var(--clr-text, #0f172a);margin:0 0 .2rem;letter-spacing:-.01em}.cgm-subtitle{font-size:.8rem;color:var(--clr-muted, #64748b);margin:0;line-height:1.4}.cgm-body{padding:1.5rem 1.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.cgm-section{display:flex;flex-direction:column;gap:.85rem}.cgm-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-muted, #64748b);display:flex;align-items:center;gap:.4rem;margin:0}.cgm-perm-list{display:flex;flex-direction:column;gap:.65rem}.cgm-perm-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:var(--clr-bg, #f8fafc);border:1px solid var(--clr-border, #e2e8f0);border-radius:.85rem;transition:border-color .15s,background-color .15s}.cgm-perm-item:hover{border-color:#cbd5e1}.cgm-perm-left{display:flex;gap:.85rem;align-items:flex-start}.cgm-perm-icon-wrap{width:34px;height:34px;border-radius:8px;background:#3b82f61a;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.cgm-perm-name{font-size:.85rem;font-weight:700;color:var(--clr-text, #0f172a);margin:0 0 .15rem}.cgm-perm-desc{font-size:.76rem;color:var(--clr-muted, #64748b);margin:0;line-height:1.45}.cgm-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;margin-top:4px}.cgm-switch input{opacity:0;width:0;height:0}.cgm-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;border-radius:22px;transition:.2s}.cgm-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}input:checked+.cgm-slider{background-color:#2563eb}input:checked+.cgm-slider:before{transform:translate(18px)}.cgm-accordion{display:flex;flex-direction:column;gap:.5rem}.cgm-accordion-item{border:1px solid var(--clr-border, #e2e8f0);border-radius:.75rem;overflow:hidden;background:var(--clr-bg, #f8fafc)}.cgm-accordion-header{width:100%;padding:.75rem 1rem;background:none;border:none;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:700;color:var(--clr-text, #0f172a);cursor:pointer;text-align:left}.cgm-accordion-body{padding:.75rem 1rem;background:var(--clr-surface, #ffffff);border-top:1px solid var(--clr-border, #e2e8f0);font-size:.75rem;color:var(--clr-muted, #475569);line-height:1.6;max-height:140px;overflow-y:auto}.cgm-check-group{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#3b82f60a;border:1px solid rgba(59,130,246,.2);border-radius:.85rem}.cgm-checkbox-label{display:flex;align-items:flex-start;gap:.65rem;font-size:.8rem;color:var(--clr-text, #1e293b);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.45}.cgm-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer;margin-top:2px;flex-shrink:0}.cgm-footer{padding:1.15rem 1.75rem;border-top:1px solid var(--clr-border, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--clr-bg, #f8fafc)}.cgm-btn-secondary{padding:.65rem 1.15rem;font-size:.82rem;font-weight:600;color:var(--clr-muted, #64748b);background:transparent;border:1px solid var(--clr-border, #cbd5e1);border-radius:.65rem;cursor:pointer;transition:all .15s}.cgm-btn-secondary:hover{background:#f1f5f9;color:var(--clr-text, #0f172a)}.cgm-btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.4rem;font-size:.82rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:.65rem;cursor:pointer;box-shadow:0 4px 12px #2563eb40;transition:all .15s}.cgm-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.cgm-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.cgm-spin{animation:cgm-spin .8s linear infinite}@keyframes cgm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.cgm-card{border-radius:1rem}.cgm-header{padding:1.25rem 1.25rem 1rem}.cgm-body{padding:1.25rem}.cgm-footer{padding:1rem 1.25rem;flex-direction:column}.cgm-footer button{width:100%;justify-content:center}}.fpcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99998;padding:1rem;animation:fpcm-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes fpcm-fade-in{0%{opacity:0}to{opacity:1}}.fpcm-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;overflow:hidden;animation:fpcm-slide-up .3s cubic-bezier(.16,1,.3,1)}@keyframes fpcm-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fpcm-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(to bottom,rgba(79,70,229,.04),transparent)}.fpcm-header-icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4f46e540}.fpcm-title{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0 0 .35rem}.fpcm-subtitle{font-size:.85rem;color:#64748b;margin:0;line-height:1.45}.fpcm-subtitle code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:monospace;font-weight:600;color:#4f46e5}.fpcm-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.fpcm-error{display:flex;align-items:center;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.75rem 1rem;border-radius:.75rem;font-size:.85rem}.fpcm-form-group{display:flex;flex-direction:column;gap:.35rem}.fpcm-label{font-size:.82rem;font-weight:600;color:#334155}.fpcm-input-wrap{position:relative;display:flex;align-items:center}.fpcm-input{width:100%;padding:.75rem 2.5rem .75rem .9rem;border:1.5px solid #cbd5e1;border-radius:.75rem;font-size:.92rem;color:#0f172a;background:#f8fafc;transition:all .2s ease;outline:none}.fpcm-input:focus{border-color:#4f46e5;background:#fff;box-shadow:0 0 0 3px #4f46e526}.fpcm-pw-toggle{position:absolute;right:.75rem;background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.fpcm-pw-toggle:hover{color:#475569}.fpcm-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid #f1f5f9}.fpcm-btn-secondary{padding:.7rem 1.25rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:.75rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}.fpcm-btn-secondary:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.fpcm-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;border-radius:.75rem;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #4f46e54d;transition:all .15s}.fpcm-btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.fpcm-btn-primary:disabled,.fpcm-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.fpcm-spin{animation:fpcm-rotate 1s linear infinite}@keyframes fpcm-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cc-floating-launcher,.cc-fab{position:fixed;bottom:2rem;right:2rem;z-index:999;background:transparent;border:none;cursor:pointer;padding:0;outline:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center}.cc-floating-launcher:hover,.cc-fab:hover{transform:scale(1.08) translateY(-2px)}.cc-floating-launcher:active,.cc-fab:active{transform:scale(.96)}.cc-launcher-glow,.cc-fab-glow{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:radial-gradient(circle,#8b5cf699,#6366f100 70%);animation:ccFabPulse 2.5s infinite ease-in-out;pointer-events:none}@keyframes ccFabPulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}}.cc-launcher-inner,.cc-fab-inner{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 10px 25px -5px #7c3aed99,0 0 0 1px #fff3 inset}.cc-launcher-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid #a78bfa;animation:ccLauncherRing 2s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none}@keyframes ccLauncherRing{0%{transform:scale(.9);opacity:1}to{transform:scale(1.4);opacity:0}}.cc-widget-drawer,.cc-drawer{position:fixed;bottom:2rem;right:2rem;width:440px;height:640px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);background:#090e1a;border:1px solid rgba(139,92,246,.35);border-radius:1.25rem;box-shadow:0 25px 60px -15px #000000d9,0 0 30px #7c3aed40;display:flex;flex-direction:column;z-index:1000;overflow:hidden;animation:ccDrawerIn .25s cubic-bezier(.16,1,.3,1)}.cc-widget-drawer.expanded,.cc-drawer--expanded{width:720px;height:800px}@keyframes ccDrawerIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.cc-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.cc-header-left,.cc-header-info{display:flex;align-items:center;gap:.75rem}.cc-bot-avatar,.cc-ai-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 14px #7c3aed73}.cc-sparkle-icon{color:#fef08a}.cc-title-row{display:flex;align-items:center;gap:.5rem}.cc-title{font-size:.95rem;font-weight:700;margin:0;color:#f8fafc}.cc-league-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:.35rem;font-size:.68rem;font-weight:700;border:1px solid rgba(139,92,246,.3);background:#ffffff0d}.cc-status-dot-line{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:#94a3b8}.cc-green-dot,.cc-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981}.cc-header-actions{display:flex;align-items:center;gap:.25rem}.cc-action-icon{background:transparent;border:none;color:#94a3b8;width:28px;height:28px;border-radius:.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.cc-action-icon:hover{background:#ffffff14;color:#f8fafc}.cc-quick-actions{padding:.6rem 1rem;background:#00000040;border-bottom:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.4rem}.cc-quick-label{font-size:.65rem;font-weight:800;letter-spacing:.05em;color:#64748b;text-transform:uppercase}.cc-quick-chips{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.cc-quick-chips::-webkit-scrollbar{display:none}.cc-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:.72rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s ease;flex-shrink:0}.cc-chip:hover:not(:disabled){background:#8b5cf633;border-color:#8b5cf666;color:#fff;transform:translateY(-1px)}.cc-chip:disabled{opacity:.5;cursor:not-allowed}.cc-chip-icon{font-size:.8rem}.cc-messages-body{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.cc-message-row{display:flex;gap:.6rem;max-width:88%}.cc-message-row.assistant{align-self:flex-start}.cc-message-row.user{align-self:flex-end;flex-direction:row-reverse}.cc-avatar-small{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.cc-message-bubble{padding:.75rem .95rem;border-radius:.85rem;font-size:.825rem;line-height:1.5;position:relative;word-break:break-word}.cc-message-row.assistant .cc-message-bubble{background:#131b2e;border:1px solid rgba(255,255,255,.08);color:#e2e8f0;border-top-left-radius:.2rem}.cc-message-row.user .cc-message-bubble{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;border-top-right-radius:.2rem;box-shadow:0 4px 12px #7c3aed40}.cc-tool-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:.3rem;background:#10b9811f;border:1px solid rgba(16,185,129,.25);color:#34d399;font-size:.68rem;font-weight:700;margin-bottom:.5rem;font-family:monospace}.cc-message-text p{margin:0 0 .5rem}.cc-message-text p:last-child{margin-bottom:0}.cc-heading{margin:.4rem 0 .3rem;font-size:.92rem;font-weight:700;color:#f1f5f9}.cc-subheading{margin:.3rem 0 .2rem;font-size:.85rem;font-weight:700;color:#cbd5e1}.cc-quote{margin:.4rem 0;padding-left:.75rem;border-left:3px solid #8b5cf6;color:#94a3b8;font-style:italic}.cc-list{margin:.3rem 0;padding-left:1.2rem}.cc-list li{margin-bottom:.25rem}.cc-inline-code{background:#ffffff14;color:#a78bfa;padding:.1rem .3rem;border-radius:.25rem;font-size:.75rem;font-family:monospace}.cc-code-block{margin:.5rem 0;border-radius:.5rem;overflow:hidden;background:#060911;border:1px solid rgba(255,255,255,.1)}.cc-code-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem .6rem;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06)}.cc-code-lang{font-size:.68rem;color:#94a3b8;font-family:monospace;text-transform:uppercase}.cc-copy-btn{background:transparent;border:none;color:#94a3b8;font-size:.68rem;display:flex;align-items:center;gap:.25rem;cursor:pointer}.cc-copy-btn:hover{color:#fff}.cc-code-block pre{margin:0;padding:.6rem .8rem;overflow-x:auto;font-family:monospace;font-size:.75rem;color:#38bdf8;line-height:1.4}.cc-action-card{margin-top:.6rem;padding:.5rem .75rem;background:#7c3aed1a;border:1px solid rgba(124,58,237,.25);border-radius:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cc-action-title{font-size:.72rem;color:#a78bfa;font-weight:600}.cc-action-btn{display:inline-flex;align-items:center;gap:.3rem;background:#7c3aed;color:#fff;border:none;padding:.3rem .65rem;border-radius:.35rem;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s ease}.cc-action-btn:hover{background:#6d28d9;transform:translateY(-1px)}.cc-msg-footer{margin-top:.4rem;display:flex;justify-content:flex-end}.cc-speak-btn{background:transparent;border:none;color:#64748b;font-size:.68rem;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;transition:color .15s ease}.cc-speak-btn:hover,.cc-speak-btn.speaking{color:#a78bfa}.cc-typing{display:flex;align-items:center;gap:4px;padding:.75rem 1rem}.cc-dot{width:6px;height:6px;border-radius:50%;background:#8b5cf6;animation:ccDotBounce 1.4s infinite ease-in-out both}.cc-dot:nth-child(1){animation-delay:-.32s}.cc-dot:nth-child(2){animation-delay:-.16s}@keyframes ccDotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.cc-input-footer{padding:.75rem 1rem;background:#ffffff05;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.4rem}.cc-input-wrap{display:flex;align-items:center;gap:.5rem}.cc-input{flex:1;background:#131b2e;border:1px solid rgba(255,255,255,.12);border-radius:.6rem;color:#f8fafc;padding:.6rem .85rem;font-size:.825rem;outline:none;transition:border-color .15s ease}.cc-input:focus{border-color:#8b5cf6}.cc-mic-btn{width:36px;height:36px;border-radius:.5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.cc-mic-btn:hover{background:#ffffff1f;color:#fff}.cc-mic-btn.listening{background:#ef444433;border-color:#ef4444;color:#f87171;animation:ccMicPulse 1s infinite alternate}@keyframes ccMicPulse{0%{box-shadow:0 0 5px #ef444466}to{box-shadow:0 0 15px #ef4444cc}}.cc-send-btn{width:36px;height:36px;border-radius:.5rem;background:#7c3aed;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.cc-send-btn:hover:not(:disabled){background:#6d28d9}.cc-send-btn:disabled{opacity:.4;cursor:not-allowed}.cc-footer-note{font-size:.65rem;color:#64748b;text-align:center}
