:root{--bg-base: #0f172a;--bg-panel: rgba(255, 255, 255, .92);--bg-panel-strong: rgba(255, 255, 255, .98);--border-subtle: rgba(255, 255, 255, .35);--shadow-soft: 0 10px 40px rgba(15, 23, 42, .18);--shadow-card: 0 10px 30px rgba(15, 23, 42, .12);--text-strong: #0f172a;--text-muted: #475569;--primary: #6b8bff;--primary-strong: #4c6fff;--primary-soft: rgba(108, 139, 255, .16);--accent: #10b981}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:radial-gradient(circle at 20% 20%,rgba(108,139,255,.22),transparent 28%),radial-gradient(circle at 80% 0%,rgba(16,185,129,.18),transparent 26%),linear-gradient(135deg,#0f172a,#0b1020 55%,#0f172a);color:#03111f;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}button{border-radius:12px!important;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#061831;padding:10px 14px;min-height:36px;line-height:1.2;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 20px #0f172a24;transition:all .2s ease}button:hover{background:#ffffff2e;border-color:#ffffff47;box-shadow:0 12px 26px #0f172a2e}button:active{transform:translateY(1px) scale(.995)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}html,body,#root{height:100%;width:100%;max-width:100%;overflow:hidden;overscroll-behavior-x:none}@media (min-width: 1200px){html{font-size:92%}}h1{font-size:32px;font-weight:700;color:#f1f5f9;margin-bottom:12px}h2{font-size:28px;font-weight:700;color:#3a7dd5;margin-bottom:10px}h3{font-size:22px;font-weight:600;color:#121e2e;margin-bottom:8px}h4{font-size:16px;font-weight:600;color:#121e2e;margin-bottom:6px}p{font-size:14px;color:#121e2e;margin-bottom:8px}.container{max-width:100%;margin:0;padding:20px}.card{background:var(--bg-panel);border-radius:12px;padding:18px;box-shadow:var(--shadow-card);transition:all .25s ease;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card:hover{box-shadow:0 14px 32px #00000029;transform:translateY(-1px)}.card-header{padding:16px 18px;border-bottom:1px solid var(--border-subtle);background:#fff9;border-top-left-radius:10px;border-top-right-radius:10px;display:flex;justify-content:space-between;align-items:center}.card-body{padding:18px}.card-footer{padding:14px 18px;background:#ffffffb3;border-top:1px solid var(--border-subtle);border-bottom-left-radius:10px;border-bottom-right-radius:10px;display:flex;justify-content:flex-end;gap:10px}.btn{padding:10px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 16px #0000001f}.btn-primary{background:linear-gradient(135deg,#6b8bff,#4c6fff);color:#fff;border:1px solid rgba(76,111,255,.8)}.btn-primary:hover{background:linear-gradient(135deg,#5f7ff7,#3f62f3);box-shadow:0 10px 20px #5b76ff59;border-color:#4c6ffff2}.btn-primary:active{transform:translateY(1px) scale(.99)}.btn-secondary{background:#e0e0e0;color:#0f172a}.btn-secondary:hover{background:#d0d0d0}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#45a049}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#da190b}.btn-warning{background:#ff9800;color:#fff}.btn-warning:hover{background:#e68900}.btn-info{background:#2196f3;color:#fff}.btn-info:hover{background:#0b7dda}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 28px;font-size:16px}.btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:20px;display:flex;flex-direction:column}input,select,textarea{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px 12px;background:#ffffffe6;box-shadow:0 6px 18px #0f172a14;color:var(--text-strong);transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),0 10px 24px #0f172a1f}textarea{resize:vertical;min-height:120px}table{width:100%;border-collapse:collapse;background:var(--bg-panel);box-shadow:var(--shadow-soft);border-radius:12px;overflow:hidden}table th,table td{padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);font-size:13px;color:var(--text-strong)}table thead th{background:#6c8bff14;font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:12px}table tbody tr:hover{background:#6c8bff0f}.form-label{font-weight:600;color:#121e2e;margin-bottom:8px;font-size:14px}.form-control{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s ease}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control::placeholder{color:#64748b}textarea.form-control{resize:vertical;min-height:100px}select.form-control{cursor:pointer}.form-control:disabled{background:#f5f5f5;color:#475569;cursor:not-allowed}.form-control-inline{display:flex;gap:10px;align-items:center}.form-control-inline input,.form-control-inline select{flex:1}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],textarea,select{width:100%}input[type=checkbox],input[type=radio]{cursor:pointer;margin-right:8px}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:10px}.checkbox-item,.radio-item{display:flex;align-items:center;gap:8px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.table th{background:#2c3e50;color:#fff;padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #1a252f}.table td{padding:12px;border-bottom:1px solid #e0e0e0}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background:#f9f9f9}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(odd){background:#f9f9f9}.table-sm th,.table-sm td{padding:8px;font-size:13px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:60000;padding:20px}.modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;display:flex;justify-content:space-between;align-items:start}.modal-header h2{color:#fff;margin:0}.modal-close-btn{background:#ffffff40;border:none;color:#fff;font-size:24px;cursor:pointer;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:#fff6}.modal-body{padding:24px}.modal-footer{padding:16px 24px;background:#f5f5f5;border-top:1px solid #e0e0e0;border-bottom-left-radius:12px;border-bottom-right-radius:12px;display:flex;justify-content:flex-end;gap:10px}.alert{padding:16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.message{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.message-success{background:#4caf50;color:#fff}.message-error{background:#f44336;color:#fff}.message-warning{background:#ff9800;color:#fff}.message-info{background:#2196f3;color:#fff}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.badge-primary{background:#667eea;color:#fff}.badge-success{background:#4caf50;color:#fff}.badge-danger{background:#f44336;color:#fff}.badge-warning{background:#ff9800;color:#fff}.badge-info{background:#2196f3;color:#fff}.badge-secondary{background:#e0e0e0;color:#0f172a}.tag{display:inline-block;padding:6px 12px;margin-right:6px;margin-bottom:6px;background:#f0f0f0;color:#0f172a;border-radius:20px;font-size:13px;border:1px solid #e0e0e0}.tag:hover{background:#e0e0e0}.tabs{display:flex;gap:8px;margin-bottom:20px;background:#f5f5f5;padding:4px;border-radius:8px;flex-wrap:wrap}.tab-btn{padding:8px 16px;background:transparent;color:#121e2e;border:none;border-radius:6px;cursor:pointer;font-weight:600;text-transform:capitalize;transition:all .2s ease}.tab-btn:hover{background:#667eea1a}.tab-btn.active{background:#667eea;color:#fff}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex;gap:10px}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mt-5{margin-top:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.mx-1{margin-left:4px;margin-right:4px}.mx-2{margin-left:8px;margin-right:8px}.mx-3{margin-left:16px;margin-right:16px}.mx-4{margin-left:24px;margin-right:24px}.my-1{margin-top:4px;margin-bottom:4px}.my-2{margin-top:8px;margin-bottom:8px}.my-3{margin-top:16px;margin-bottom:16px}.my-4{margin-top:24px;margin-bottom:24px}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:16px}.p-4{padding:24px}.p-5{padding:32px}.px-1{padding-left:4px;padding-right:4px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:16px;padding-right:16px}.px-4{padding-left:24px;padding-right:24px}.py-1{padding-top:4px;padding-bottom:4px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:16px;padding-bottom:16px}.py-4{padding-top:24px;padding-bottom:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#667eea}.text-secondary{color:#64748b}.text-success{color:#4caf50}.text-danger{color:#f44336}.text-warning{color:#ff9800}.text-info{color:#2196f3}.text-muted{color:#475569}.text-bold{font-weight:700}.text-semi-bold{font-weight:600}.text-normal{font-weight:400}.text-light{font-weight:300}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-nowrap{white-space:nowrap}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border:1px solid #e0e0e0}.border-top{border-top:1px solid #e0e0e0}.border-bottom{border-bottom:1px solid #e0e0e0}.border-left{border-left:1px solid #e0e0e0}.border-right{border-right:1px solid #e0e0e0}.rounded{border-radius:6px}.rounded-lg{border-radius:10px}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 2px 4px #00000014}.shadow-md{box-shadow:0 4px 12px #0000001f}.shadow-lg{box-shadow:0 10px 30px #0003}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@media (max-width: 768px){.container{padding:10px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.table-sm{font-size:12px}.btn-sm{padding:6px 10px;font-size:11px}.flex-column-mobile{flex-direction:column}}@media (max-width: 480px){h1{font-size:20px}h2{font-size:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{padding:8px 16px;font-size:13px}.card{padding:12px}.tabs{flex-direction:column}.tab-btn{width:100%;text-align:left}.modal{max-width:calc(100% - 20px)}}@media print{body{background:#fff}.no-print{display:none}.card{box-shadow:none;border:1px solid #000;page-break-inside:avoid}.btn,.modal-overlay,.tabs{display:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.bounce{animation:bounce 1s infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:#667eea;color:#fff}::-moz-selection{background:#667eea;color:#fff}::placeholder{color:#64748b;opacity:1}::-moz-placeholder{color:#64748b;opacity:1}:-ms-input-placeholder{color:#64748b}::-ms-input-placeholder{color:#64748b}.app-layout{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;position:relative}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 12px #00000026;flex-shrink:0;z-index:100}.app-header.floating{position:fixed;top:16px;left:16px;width:auto;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:12px 16px;flex:none;flex-shrink:0;z-index:200;box-shadow:0 4px 12px #0003;opacity:.9;transition:opacity .2s ease}.app-header.floating:hover{opacity:1}.app-header.floating h1{margin:0;font-size:20px;color:#fff;flex:none}.sidebar-toggle{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff1a}.app-body{flex:1;overflow:hidden}.sidebar{position:fixed;left:0;top:max(12px,15vh);transform:none;height:70vh;min-height:70vh;max-height:70vh;width:58px;background:linear-gradient(180deg,#f8fbff,#eef4fb);border-right:1px solid rgba(148,163,184,.45);border-radius:0 14px 14px 0;box-shadow:0 16px 34px #0f172a33;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:visible;transition:width .34s cubic-bezier(.22,1,.36,1),box-shadow .24s ease;z-index:1000}.sidebar:hover{width:212px;box-shadow:0 24px 50px #0f172a40}.sidebar.icon-mode{width:58px}.sidebar.icon-mode:hover{width:212px}.sidebar nav{display:flex;flex-direction:column;gap:clamp(1px,.32vh,4px);padding:clamp(7px,1.25vh,14px) clamp(5px,.95vh,8px);max-height:calc(70vh - 12px);overflow:visible}.nav-separator{border:none;border-top:1px solid rgba(71,85,105,.5);margin:10px 8px}.tab-link{position:relative;padding:clamp(5px,.9vh,8px) clamp(8px,1.25vh,11px);min-height:34px;color:#1f2937;text-decoration:none;font-weight:650;font-size:clamp(10px,1.2vh,11px);letter-spacing:.2px;transition:transform .2s ease,background .22s ease,color .2s ease,box-shadow .22s ease;display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:12px;border:1px solid transparent;overflow:hidden}.sidebar:not(:hover) .tab-link{justify-content:center;padding:clamp(6px,1vh,8px) clamp(4px,.75vh,6px);background:transparent!important}.sidebar:hover .tab-link{padding:clamp(5px,.9vh,8px) clamp(8px,1.25vh,11px)}.sidebar .tab-link:not(.submenu-link):not(.menu-header){margin-bottom:clamp(2px,.45vh,6px)}.sidebar:not(:hover) .menu-text{display:none!important}.sidebar:hover .menu-text{display:inline!important}.tab-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#3b82f61f,#22d3ee1a);opacity:0;transition:opacity .22s ease;pointer-events:none}.tab-link:hover{color:#fff;border-color:#3b82f673;background:#2563ebe6;box-shadow:0 10px 16px #1e40af40;transform:translate(2px)}.tab-link:hover:after{opacity:1}.tab-link.active{background:linear-gradient(135deg,#2563ebf5,#06b6d4f5);color:#fff;border-color:#bae6fde6;box-shadow:0 12px 20px #1e40af57;transform:translate(3px)}.tab-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:999px;background:#1f1f20}.profile-link{margin-top:0}.menu-icon{font-size:clamp(14px,1.95vh,16px);width:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.menu-header{opacity:1!important;color:#475569;text-transform:uppercase;letter-spacing:.9px;font-size:clamp(10px,1.2vh,11px)!important;pointer-events:none;display:flex;align-items:center;gap:8px;padding:clamp(5px,.9vh,8px) clamp(8px,1.25vh,11px);min-height:34px}.menu-text{color:inherit}.sidebar:not(:hover) .menu-header{justify-content:center;padding:4px 8px!important}.sidebar:not(:hover) .menu-header .menu-text{display:none!important}.finance-menu-group,.students-menu-group,.academics-menu-group,.staff-menu-group,.operations-menu-group,.tools-menu-group,.resources-menu-group{position:relative;border-radius:10px;transition:background .18s ease,box-shadow .18s ease}.finance-menu-group:hover,.students-menu-group:hover,.academics-menu-group:hover,.staff-menu-group:hover,.operations-menu-group:hover,.tools-menu-group:hover,.resources-menu-group:hover{background:transparent;box-shadow:none}.submenu-container{position:absolute;top:-2px;left:calc(100% - 8px);right:auto;width:214px;max-height:0;overflow:hidden;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translate(-8px);transform-origin:left top;pointer-events:none;z-index:5000;padding:6px;border-radius:12px;border:1px solid rgba(148,163,184,.4);background:#f8fafcfa;box-shadow:0 16px 32px #0f172a33}.finance-menu-group:hover .submenu-container,.students-menu-group:hover .submenu-container,.academics-menu-group:hover .submenu-container,.staff-menu-group:hover .submenu-container{max-height:320px;opacity:1;transform:translate(0);pointer-events:auto}.operations-menu-group:hover .submenu-container{max-height:420px;opacity:1;transform:translate(0);pointer-events:auto}.tools-menu-group:hover .submenu-container,.resources-menu-group:hover .submenu-container{max-height:320px;opacity:1;transform:translate(0);pointer-events:auto}.sidebar:not(:hover) .submenu-container{display:none}.submenu-link{padding-left:clamp(11px,1.55vh,14px)!important;padding-right:clamp(10px,1.35vh,12px)!important;margin-bottom:clamp(2px,.4vh,5px);font-size:clamp(10px,1.25vh,11px)!important;opacity:.82;border-radius:10px}@media (max-height: 720px){.sidebar nav{gap:1px;padding:6px 5px}.tab-link{padding:5px 8px;font-size:11px}.sidebar:not(:hover) .tab-link{padding:6px 4px}.menu-icon{font-size:14px}.menu-header{padding:4px 8px;font-size:10px!important}}@media (min-height: 980px){.sidebar nav{gap:3px;padding-top:14px;padding-bottom:14px}.tab-link{padding-top:8px;padding-bottom:8px}}@media (max-width: 900px){.submenu-container{width:min(72vw,230px)}}.sidebar:not(:hover) .submenu-link{padding-left:8px!important}.submenu-link:hover{opacity:1}.sidebar .logout-btn{cursor:pointer;margin-top:4px;background:linear-gradient(135deg,#7f1d1d80,#b91c1c99);border:1px solid rgba(252,165,165,.36)!important;color:#fee2e2!important}.sidebar .logout-btn:hover{background:linear-gradient(135deg,#991b1bcc,#dc2626db);box-shadow:0 12px 24px #7f1d1d57}@media (max-width: 900px){.sidebar,.sidebar.icon-mode{width:54px}.sidebar:hover,.sidebar.icon-mode:hover{width:min(82vw,280px)}.main-content{padding-left:54px}}.main-content{position:absolute;top:5px;left:0;width:100%;max-width:100%;height:calc(100vh - 5px);padding-left:66px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;z-index:1;background:transparent}.app-footer{display:none}.page-container{min-height:100%;padding:24px;background:transparent;flex:1;display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box}.page-shell{max-width:100%;width:100%;margin:0;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:28px;font-weight:700;color:#f1f5f9;text-shadow:0 1px 8px rgba(2,6,23,.4)}.page-actions{display:flex;gap:12px;flex-wrap:wrap}.search-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:250px;padding:10px 14px;border:1.5px solid rgba(148,163,184,.22);border-radius:10px;font-size:14px;background:#ffffff0f;color:#e2e8f0;transition:all .22s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-input::placeholder{color:#94a3b88c}.search-input:focus{outline:none;border-color:#63b3eda6;background:#ffffff17;box-shadow:0 0 0 3px #38bdf81f}.filter-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-label{font-weight:600;color:#94a3b8e6;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:8px 12px;border:1.5px solid rgba(148,163,184,.22);border-radius:8px;font-size:13px;background:#ffffff12;color:#e2e8f0;cursor:pointer;transition:all .22s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filter-select option{background:#1e293b;color:#e2e8f0}.filter-select:focus{outline:none;border-color:#63b3eda6;box-shadow:0 0 0 3px #38bdf81f}.tabs-container{display:flex;gap:4px;margin-bottom:20px;background:#ffffff0d;border:1px solid rgba(148,163,184,.15);padding:5px;border-radius:12px;flex-wrap:wrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tab-btn{padding:9px 18px;background:transparent;color:#94a3b8e6;border:none;border-radius:9px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{background:#38bdf81a;color:#bae6fd}.tab-btn.active{background:linear-gradient(135deg,#2563ebe6,#06b6d4e6);color:#fff;box-shadow:0 4px 12px #2563eb47}.sub-tabs-container{display:flex;gap:3px;margin-bottom:16px;background:#ffffff0a;border:1px solid rgba(148,163,184,.12);padding:4px;border-radius:10px;flex-wrap:wrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sub-tab-btn{padding:7px 14px;background:transparent;color:#94a3b8d9;border:none;border-radius:7px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease}.sub-tab-btn:hover{background:#38bdf81a;color:#bae6fd}.sub-tab-btn.active{background:linear-gradient(135deg,#2563ebd9,#06b6d4d9);color:#fff;box-shadow:0 3px 9px #2563eb38}.sub-tabs-underline{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid rgba(148,163,184,.2)}.sub-tab-underline{padding:10px 18px;background:transparent;color:#94a3b8cc;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:400;font-size:14px;transition:all .2s ease}.sub-tab-underline:hover{background:#38bdf80d;color:#bae6fd}.sub-tab-underline.active{color:#7dd3fc;border-bottom-color:#38bdf8;font-weight:600}.nested-tabs-container{display:flex;gap:3px;margin-bottom:12px;background:#ffffff09;border:1px solid rgba(148,163,184,.1);padding:3px;border-radius:8px;flex-wrap:wrap}.nested-tab-btn{padding:5px 12px;background:transparent;color:#94a3b8cc;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:12px;transition:all .2s ease}.nested-tab-btn:hover{background:#38bdf81a;color:#bae6fd}.nested-tab-btn.active{background:#2563ebbf;color:#e0f2fe;font-weight:600;box-shadow:0 2px 6px #2563eb33}.tabs-pills{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab-pill{padding:8px 16px;background:#ffffff0d;color:#94a3b8e0;border:1px solid rgba(148,163,184,.22);border-radius:20px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease}.tab-pill:hover{border-color:#7dd3fc80;color:#bae6fd;background:#38bdf81a}.tab-pill.active{background:linear-gradient(135deg,#2563ebe0,#06b6d4e0);color:#fff;border-color:#bae6fdb3}.tabs-vertical{display:flex;gap:20px}.tabs-vertical-nav{display:flex;flex-direction:column;gap:4px;min-width:180px;background:#ffffff0a;border:1px solid rgba(148,163,184,.15);padding:8px;border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tab-vertical-btn{padding:10px 14px;background:transparent;color:#94a3b8db;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;text-align:left;transition:all .2s ease;display:flex;align-items:center;gap:10px}.tab-vertical-btn:hover{background:#38bdf81a;color:#bae6fd}.tab-vertical-btn.active{background:linear-gradient(135deg,#2563ebe0,#06b6d4e0);color:#fff;font-weight:600}.tabs-vertical-content{flex:1}.tabs-with-icons{display:flex;gap:8px;margin-bottom:20px;background:#ffffff0a;border:1px solid rgba(148,163,184,.15);padding:4px;border-radius:10px;flex-wrap:wrap}.tab-with-icon{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;color:#94a3b8db;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease}.tab-with-icon:hover{background:#38bdf81a;color:#bae6fd}.tab-with-icon.active{background:linear-gradient(135deg,#2563ebe0,#06b6d4e0);color:#fff}.tab-icon{font-size:18px}.tabs-segmented{display:inline-flex;gap:0;background:#ffffff0a;border:1px solid rgba(148,163,184,.14);padding:2px;border-radius:10px;margin-bottom:20px}.tab-segment{padding:8px 16px;background:transparent;color:#94a3b8d9;border:none;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease;white-space:nowrap}.tab-segment:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.tab-segment:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.tab-segment:hover{background:#38bdf81a;color:#bae6fd}.tab-segment.active{background:linear-gradient(135deg,#2563ebe0,#06b6d4e0);color:#fff;box-shadow:0 4px 10px #2563eb38}.tab-content{animation:fadeIn .3s ease}.sub-tab-content{animation:fadeIn .25s ease}.nested-tab-content{animation:fadeIn .2s ease}.modal-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content{background:linear-gradient(160deg,#0f172af2,#1e293bf2);border-radius:16px;border:1px solid rgba(148,163,184,.22);max-width:700px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 24px 70px #0206178c;animation:slideIn .3s ease}.modal-header{padding:20px;background:linear-gradient(135deg,#2563ebd6,#06b6d4d6);color:#e0f2fe;border-top-left-radius:16px;border-top-right-radius:16px;display:flex;justify-content:space-between;align-items:center}.modal-header h2,.modal-header h3{color:#fff;margin:0}.modal-close{background:#ffffff29;border:none;color:#fff;font-size:28px;cursor:pointer;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#ffffff4d}.modal-body{padding:24px;color:#e2e8f0}.modal-footer{padding:16px 24px;background:#0f172aad;border-top:1px solid rgba(148,163,184,.2);border-bottom-left-radius:16px;border-bottom-right-radius:16px;display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:600;color:#bae6fdeb;font-size:14px}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1.5px solid rgba(148,163,184,.22);border-radius:10px;font-size:14px;font-family:inherit;transition:all .2s ease;background:#ffffff0f;color:#e2e8f0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b899}.form-select option{background:#1e293b;color:#e2e8f0}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#63b3eda6;background:#ffffff17;box-shadow:0 0 0 3px #38bdf81f}.form-textarea{resize:vertical;min-height:100px}.form-error{color:#f44336;font-size:12px;margin-top:4px}.form-hint{color:#94a3b8d9;font-size:12px;margin-top:4px}.table-container{background:linear-gradient(160deg,#0f172ae6,#1e293be0);border-radius:14px;border:1px solid rgba(148,163,184,.2);overflow:hidden;box-shadow:0 14px 34px #02061761;margin-bottom:20px}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#0f172abf;color:#e2e8f0}.data-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:14px;border-bottom:1px solid rgba(148,163,184,.22)}.data-table td{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.16);font-size:14px;color:#e2e8f0e6}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:#38bdf814}.data-table tbody tr:last-child td{border-bottom:none}.data-table .row-actions{display:flex;gap:8px;align-items:center}.staff-page .staff-list-table thead{background:#1e293b;color:#f8fafc}.staff-page .staff-list-table th{color:#f8fafc}.staff-page .staff-list-table td{color:#0f172a;background:#fff}.staff-page .staff-list-table tbody tr:nth-child(2n) td{background:#f8fafc}.staff-page .staff-list-table tbody tr:hover td{background:#e2e8f0}.action-btn{padding:6px 12px;background:#ffffff0f;border:1px solid rgba(148,163,184,.26);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.action-btn:hover{background:#38bdf81f;border-color:#7dd3fc73;color:#bae6fd}.action-btn-edit{color:#2196f3}.action-btn-delete{color:#f44336}.action-btn-view{color:#667eea}.list-item{background:linear-gradient(160deg,#0f172adb,#1e293bd6);padding:16px;border-radius:12px;border:1px solid rgba(148,163,184,.2);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.list-item:hover{box-shadow:0 12px 24px #02061759;transform:translateY(-2px) scale(1.01)}.list-item-info{flex:1}.list-item-title{font-weight:600;color:#e2e8f0;margin-bottom:4px}.list-item-subtitle{font-size:13px;color:#94a3b8d9}.list-item-actions{display:flex;gap:8px;margin-left:16px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.info-card{background:linear-gradient(160deg,#0f172ae6,#1e293bdb);border-radius:14px;padding:20px;border:1px solid rgba(148,163,184,.2);box-shadow:0 14px 32px #02061759;transition:all .3s ease}.info-card:hover{box-shadow:0 20px 36px #0206176b;transform:translateY(-4px) scale(1.01)}.info-card-label{font-size:12px;color:#7dd3fce0;text-transform:uppercase;font-weight:600;margin-bottom:8px}.info-card-value{font-size:24px;font-weight:700;color:#f1f5f9;margin-bottom:8px}.info-card-subtitle{font-size:13px;color:#94a3b8d6}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:linear-gradient(160deg,#0f172ae6,#1e293bdb);padding:18px;border-radius:12px;border-left:4px solid rgba(56,189,248,.85);border-top:1px solid rgba(148,163,184,.16);border-right:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12);box-shadow:0 12px 28px #02061757;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 18px 32px #02061766}.stat-label{font-size:12px;color:#7dd3fce0;text-transform:uppercase;font-weight:600;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:#f1f5f9}.stat-change{font-size:12px;color:#4caf50;margin-top:8px;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-active{background:#10b98133;color:#6ee7b7}.status-inactive{background:#f43f5e2e;color:#fda4af}.status-pending{background:#f59e0b33;color:#fcd34d}.status-completed{background:#38bdf833;color:#7dd3fc}.alert-box{padding:14px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:flex-start;gap:12px}.alert-success{background:#10b9812e;color:#6ee7b7;border:1px solid rgba(110,231,183,.45)}.alert-error{background:#f43f5e2e;color:#fda4af;border:1px solid rgba(253,164,175,.45)}.alert-warning{background:#f59e0b2e;color:#fde68a;border:1px solid rgba(253,230,138,.45)}.alert-info{background:#38bdf82e;color:#bae6fd;border:1px solid rgba(186,230,253,.45)}.alert-icon{font-size:18px;flex-shrink:0}.alert-message{flex:1;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:#94a3b8e6;background:linear-gradient(160deg,#0f172acc,#1e293bc2);border:1px solid rgba(148,163,184,.2);border-radius:14px}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:#e2e8f0;margin-bottom:8px}.empty-state-text{font-size:14px;color:#94a3b8e6;margin-bottom:24px}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:6px;height:20px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.content-section{background:#fff;border-radius:10px;padding:20px;margin-bottom:20px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #00000014}.content-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.content-section-title{font-size:18px;font-weight:700;color:#2c3e50;margin:0}.content-section-subtitle{font-size:14px;color:#475569;margin-top:4px;margin-bottom:0}.content-section-body{padding:12px 0}.content-section-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.content-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.content-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.content-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-group{margin-bottom:20px}.info-item{display:flex;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:#2c3e50;min-width:150px;font-size:14px}.info-value{color:#555;font-size:14px;flex:1}.info-value-editable{color:#555;font-size:14px;flex:1;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.info-value-editable:hover{background:#f5f5f5;color:#667eea}.section-with-icon{display:flex;gap:12px;align-items:start}.section-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:8px;flex-shrink:0}.section-icon-content{flex:1}.collapsible-section{margin-bottom:16px}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-radius:8px;cursor:pointer;transition:all .2s ease}.collapsible-header:hover{background:#f0f0f0}.collapsible-header.active{background:#667eea;color:#fff}.collapsible-content{padding:16px;border:1px solid #e0e0e0;border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.data-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.data-row:last-child{border-bottom:none}.data-label{font-weight:600;color:#2c3e50;font-size:14px}.data-value{color:#555;font-size:14px;text-align:right}.sidebar-layout{display:grid;grid-template-columns:250px 1fr;gap:20px}.sidebar{background:#fff;border-radius:10px;padding:16px;border:1px solid #e0e0e0;height:fit-content;position:sticky;top:90px}.sidebar-item{padding:10px 12px;margin-bottom:6px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:10px}.sidebar-item:hover{background:#f5f5f5}.sidebar-item.active{background:#667eea;color:#fff;font-weight:600}.panel{background:#fff;border-radius:10px;border:1px solid #e0e0e0;overflow:hidden;margin-bottom:20px}.panel-header{padding:16px 20px;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.panel-title{font-size:16px;font-weight:700;color:#2c3e50;margin:0}.panel-body{padding:20px}.panel-footer{padding:16px 20px;background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.highlight-box{background:#f0f8ff;border-left:4px solid #2196F3;padding:16px;border-radius:6px;margin-bottom:16px}.highlight-box-success{background:#f0f9f4;border-left-color:#4caf50}.highlight-box-warning{background:#fff8e1;border-left-color:#ff9800}.highlight-box-danger{background:#ffebee;border-left-color:#f44336}.timeline{position:relative;padding-left:30px}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#e0e0e0}.timeline-item{position:relative;margin-bottom:24px}.timeline-item:before{content:"";position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:#667eea;border:3px solid white;box-shadow:0 0 0 2px #667eea}.timeline-content{background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0}.timeline-date{font-size:12px;color:#64748b;margin-bottom:8px}.timeline-title{font-weight:600;color:#2c3e50;margin-bottom:6px}.timeline-description{font-size:14px;color:#475569}.card-list{display:flex;flex-direction:column;gap:12px}.card-list-item{background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;display:flex;gap:16px;align-items:center;transition:all .2s ease;cursor:pointer}.card-list-item:hover{box-shadow:0 4px 12px #0000001a;transform:translate(4px)}.card-list-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:8px;font-size:24px;flex-shrink:0}.card-list-content{flex:1}.card-list-title{font-weight:600;color:#2c3e50;margin-bottom:4px}.card-list-subtitle{font-size:13px;color:#64748b}.card-list-actions{display:flex;gap:8px;flex-shrink:0}.stepper{display:flex;justify-content:space-between;margin-bottom:24px;position:relative}.stepper:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:#e0e0e0;z-index:0}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1}.step-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#64748b;margin-bottom:8px;transition:all .2s ease}.step.active .step-circle{background:#667eea;border-color:#667eea;color:#fff}.step.completed .step-circle{background:#4caf50;border-color:#4caf50;color:#fff}.step-label{font-size:13px;color:#475569;text-align:center;font-weight:600}.step.active .step-label{color:#667eea}.divider-horizontal{height:1px;background:#e0e0e0;margin:20px 0}.divider-vertical{width:1px;background:#e0e0e0;margin:0 20px;align-self:stretch}.divider-text{display:flex;align-items:center;text-align:center;margin:20px 0;color:#64748b;font-size:13px;font-weight:600}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:#e0e0e0}.divider-text:before{margin-right:16px}.divider-text:after{margin-left:16px}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:120px}.quick-action-btn:hover{border-color:#667eea;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.quick-action-icon{font-size:32px;color:#667eea}.quick-action-label{font-size:13px;font-weight:600;color:#2c3e50;text-align:center}.dropdown{position:relative;display:inline-block}.dropdown-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease}.dropdown-toggle:hover{border-color:#667eea}.dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:10px 16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:10px;font-size:14px;color:#0f172a}.dropdown-item:hover{background:#f5f5f5}.dropdown-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.dropdown-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.dropdown-divider{height:1px;background:#e0e0e0;margin:4px 0}.checkbox-wrapper,.radio-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease}.checkbox-wrapper:hover,.radio-wrapper:hover{background:#f5f5f5}.checkbox-input,.radio-input{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-label,.radio-label{cursor:pointer;font-size:14px;color:#0f172a;-webkit-user-select:none;user-select:none}.switch{position:relative;display:inline-block;width:48px;height:24px}.switch-input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.switch-input:checked+.switch-slider{background-color:#667eea}.switch-input:checked+.switch-slider:before{transform:translate(24px)}.file-upload-wrapper{position:relative;display:inline-block}.file-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-upload-label{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#475569}.file-upload-label:hover{border-color:#667eea;background:#f8f9ff;color:#667eea}.file-upload-icon{font-size:20px}.image-preview{width:100px;height:100px;border-radius:8px;border:2px solid #e0e0e0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f9f9f9}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview-large{width:200px;height:200px}.image-preview-small{width:50px;height:50px}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0e0e0;color:#475569;font-weight:600;font-size:16px}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:14px}.avatar-lg{width:64px;height:64px;font-size:24px}.avatar-xl{width:96px;height:96px;font-size:32px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f0f0f0;border-radius:16px;font-size:13px;color:#0f172a;margin-right:6px;margin-bottom:6px}.chip-primary{background:#e8ebff;color:#667eea}.chip-success{background:#e8f5e9;color:#4caf50}.chip-danger{background:#ffebee;color:#f44336}.chip-warning{background:#fff3e0;color:#ff9800}.chip-removable{cursor:pointer}.chip-close{cursor:pointer;font-size:16px;line-height:1;margin-left:4px}.tooltip-wrapper{position:relative;display:inline-block}.tooltip-content{visibility:hidden;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;opacity:0;transition:opacity .2s ease}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2c3e50}.tooltip-wrapper:hover .tooltip-content{visibility:visible;opacity:1}.pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:20px}.pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;min-width:36px;text-align:center}.pagination-btn:hover{border-color:#667eea;color:#667eea}.pagination-btn.active{background:#667eea;color:#fff;border-color:#667eea}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:14px}.breadcrumb-item{color:#475569;text-decoration:none;transition:color .2s ease}.breadcrumb-item:hover{color:#667eea}.breadcrumb-item.active{color:#2c3e50;font-weight:600}.breadcrumb-separator{color:#64748b}.accordion{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.accordion-item{border-bottom:1px solid #e0e0e0}.accordion-item:last-child{border-bottom:none}.accordion-header{padding:16px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.accordion-header:hover{background:#f9f9f9}.accordion-header.active{background:#f5f5f5}.accordion-title{font-weight:600;color:#2c3e50;font-size:15px}.accordion-icon{transition:transform .2s ease}.accordion-header.active .accordion-icon{transform:rotate(180deg)}.accordion-content{padding:16px;background:#fff;border-top:1px solid #e0e0e0}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner-large{width:60px;height:60px;border:6px solid #f3f3f3;border-top:6px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:16px;color:#475569;font-size:14px}.toast-container{position:fixed;top:20px;right:20px;z-index:10001;display:flex;flex-direction:column;gap:12px}.toast{background:#fff;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:start;gap:12px;min-width:300px;max-width:400px;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{font-size:20px;flex-shrink:0}.toast-content{flex:1}.toast-title{font-weight:600;color:#2c3e50;margin-bottom:4px}.toast-message{font-size:13px;color:#475569}.toast-close{cursor:pointer;color:#64748b;font-size:18px;line-height:1;flex-shrink:0}.toast-success{border-left:4px solid #4CAF50}.toast-error{border-left:4px solid #f44336}.toast-warning{border-left:4px solid #FF9800}.toast-info{border-left:4px solid #2196F3}.tabs-wrapper{margin-bottom:20px}.tab-content-wrapper{background:#fff;border-radius:10px;padding:20px;border:1px solid #e0e0e0}.stat-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:12px}.stat-card-icon-primary{background:#e8ebff;color:#667eea}.stat-card-icon-success{background:#e8f5e9;color:#4caf50}.stat-card-icon-danger{background:#ffebee;color:#f44336}.stat-card-icon-warning{background:#fff3e0;color:#ff9800}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.calendar-day:hover{background:#f5f5f5}.calendar-day.today{background:#667eea;color:#fff;font-weight:600}.calendar-day.selected{background:#e8ebff;color:#667eea;font-weight:600}.calendar-day.other-month{color:#64748b}.calendar-day-header{font-weight:600;color:#475569;padding:10px;text-align:center;font-size:13px;text-transform:uppercase}.table-action-cell{white-space:nowrap}.table-clickable-row{cursor:pointer}.table-clickable-row:hover{background:#f8f9ff!important}.table-header-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-header-sortable:hover{background:#1a252f}.table-sort-icon{margin-left:6px;font-size:12px}.table-no-data{text-align:center;padding:40px 20px;color:#64748b;font-size:14px}.table-mobile-card{display:none}@media (max-width: 768px){.table-responsive .data-table{display:none}.table-mobile-card{display:block}.mobile-card-item{background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:12px}.mobile-card-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.mobile-card-row:last-child{border-bottom:none}.mobile-card-label{font-weight:600;color:#475569;font-size:13px}.mobile-card-value{color:#0f172a;font-size:13px;text-align:right}}.print-header,.print-footer{display:none}@media print{.no-print{display:none!important}.print-header{display:block;text-align:center;margin-bottom:20px}.print-footer{display:block;text-align:center;margin-top:20px;font-size:12px;color:#475569}.page-container{padding:0}.card,.content-section,.panel{box-shadow:none;page-break-inside:avoid}.data-table{page-break-inside:auto}.data-table tr{page-break-inside:avoid;page-break-after:auto}}.filter-panel{background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:20px}.filter-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-panel-title{font-weight:600;color:#2c3e50;font-size:15px}.filter-panel-toggle{cursor:pointer;color:#667eea;font-size:13px;font-weight:600}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.filter-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.export-menu{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:8px 0;box-shadow:0 4px 12px #00000026}.export-option{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s ease;font-size:14px}.export-option:hover{background:#f5f5f5}.export-icon{font-size:18px;color:#667eea}.summary-card{background:#fff;padding:20px;border-radius:10px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #00000014}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.summary-row:last-child{border-bottom:none;padding-top:16px;margin-top:16px;border-top:2px solid #e0e0e0;font-weight:700}.summary-label{color:#475569;font-size:14px}.summary-value{color:#2c3e50;font-size:14px;font-weight:600}.transaction-card{background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.transaction-info{flex:1}.transaction-title{font-weight:600;color:#2c3e50;margin-bottom:4px}.transaction-details{font-size:13px;color:#475569}.transaction-amount{font-size:18px;font-weight:700;color:#2c3e50}.transaction-amount-positive{color:#4caf50}.transaction-amount-negative{color:#f44336}.profile-card{background:#fff;padding:20px;border-radius:10px;border:1px solid #e0e0e0;display:flex;gap:16px;margin-bottom:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;background:#e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1}.profile-name{font-size:20px;font-weight:700;color:#2c3e50;margin-bottom:4px}.profile-subtitle{font-size:14px;color:#475569;margin-bottom:12px}.profile-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#475569}.profile-meta-item{display:flex;align-items:center;gap:6px}.search-highlight{background:#fff3cd;padding:2px 4px;border-radius:3px;font-weight:600}.no-results{text-align:center;padding:60px 20px;color:#64748b}.no-results-icon{font-size:64px;margin-bottom:16px;opacity:.5}.no-results-title{font-size:18px;font-weight:600;color:#475569;margin-bottom:8px}.no-results-text{font-size:14px;color:#64748b;margin-bottom:24px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-dot-success{background:#4caf50}.status-dot-danger{background:#f44336}.status-dot-warning{background:#ff9800}.status-dot-info{background:#2196f3}.status-dot-inactive{background:#999}.remark-box{background:#f9f9f9;border-left:3px solid #667eea;padding:12px;border-radius:6px;margin-bottom:12px}.remark-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.remark-author{font-weight:600;color:#2c3e50;font-size:13px}.remark-date{font-size:12px;color:#64748b}.remark-content{font-size:14px;color:#555;line-height:1.5}.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.contact-info-item{display:flex;align-items:start;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px}.contact-info-icon{font-size:20px;color:#667eea;flex-shrink:0}.contact-info-content{flex:1}.contact-info-label{font-size:12px;color:#64748b;text-transform:uppercase;font-weight:600;margin-bottom:4px}.contact-info-value{font-size:14px;color:#2c3e50;font-weight:600}.editable-field{position:relative;padding:8px;border-radius:4px;transition:all .2s ease}.editable-field:hover{background:#f5f5f5}.editable-field-edit-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease;cursor:pointer;color:#667eea;font-size:16px}.editable-field:hover .editable-field-edit-btn{opacity:1}.date-range-inputs{display:flex;gap:12px;align-items:center}.date-range-separator{color:#64748b;font-weight:600}.multi-select-display{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.action-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-radius:8px;margin-bottom:16px}.action-bar-left,.action-bar-right{display:flex;gap:12px;align-items:center}.bulk-select-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:16px 24px;border-radius:10px;box-shadow:0 8px 24px #0000004d;display:flex;gap:16px;align-items:center;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.bulk-select-count{font-weight:600}.bulk-select-actions{display:flex;gap:10px}.dashboard-container{min-height:100vh;background:#f5f5f5;padding-top:15px}.dashboard-header{background:#2c3e50;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.dashboard-header h3{margin:0;font-size:18px;font-weight:700;color:#fff}.logout-btn{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.user-welcome{background:#fff;border-bottom:1px solid #e0e0e0;padding:20px}.user-welcome-label{margin:0 0 8px;font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.user-welcome-name{margin:0 0 5px;font-size:22px;font-weight:700;color:#2c3e50}.user-welcome-role{margin:0;font-size:12px;color:#475569}.student-select-title{margin:0 0 15px;font-size:16px;font-weight:700;color:#2c3e50}.student-cards-grid{display:grid;grid-template-columns:1fr;gap:12px}.student-select-card{padding:16px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:start;gap:12px}.student-select-card:hover{border-color:#667eea;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.student-select-info{flex:1}.student-select-name{margin:0 0 6px;font-size:15px;font-weight:600;color:#2c3e50}.student-select-details{display:grid;gap:4px;font-size:12px;color:#475569}.student-select-details p{margin:0}.student-select-details span{font-weight:500;color:#2c3e50}.student-select-icon{font-size:32px}.student-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.student-dashboard-info h2{margin:0 0 6px;font-size:22px;font-weight:700;color:#2c3e50}.student-dashboard-info p{margin:0;font-size:13px;color:#64748b}.back-to-selection-btn{padding:10px 16px;background:#e0e0e0;color:#0f172a;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.dashboard-tabs{display:flex;gap:0;margin-bottom:25px;border-bottom:2px solid #e0e0e0}.dashboard-tab{padding:12px 24px;background:transparent;color:#475569;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:400;font-size:14px;transition:all .2s ease}.dashboard-tab:hover{background:#667eea0d}.dashboard-tab.active{background:#667eea;color:#fff;border-bottom-color:#667eea;font-weight:700}.attendance-status-card{margin-bottom:25px;padding:20px;border-radius:10px;border:2px solid}.attendance-status-header{display:flex;align-items:center;gap:15px}.attendance-status-icon{font-size:40px;font-weight:700}.attendance-status-label{margin:0 0 4px;font-size:12px;font-weight:600;text-transform:uppercase}.attendance-status-title{margin:0;font-size:20px;font-weight:700}.attendance-remarks{margin:6px 0 0;font-size:12px;color:#475569}.attendance-timestamp{margin:4px 0 0;font-size:11px;color:#64748b}.personal-info-section{margin-bottom:25px;padding:20px;background:#fff;border:1px solid #e0e0e0;border-radius:10px}.personal-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.personal-info-title{margin:0;font-size:16px;font-weight:700;color:#2c3e50;display:flex;align-items:center;gap:8px}.edit-toggle-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px}.photo-upload-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;align-items:center}.photo-upload-section>div:first-child{flex:1}.photo-upload-label{margin:0 0 10px;font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase}.photo-upload-controls{display:flex;gap:10px;align-items:center}.photo-upload-input{flex:1}.photo-preview{width:100px;height:100px;border-radius:8px;border:2px solid #e0e0e0;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.save-success-msg{color:#4caf50;font-size:13px;font-weight:600}.info-display-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-display-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.info-display-item:last-child{border-bottom:none}.info-display-label{font-weight:600;color:#475569;font-size:13px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.info-display-value{color:#2c3e50;font-size:15px;font-weight:500}.info-display-full-width{grid-column:1 / -1}.marks-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.marks-section-title{font-size:18px;font-weight:700;color:#2c3e50}.exam-selector{padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff}.marks-table-wrapper{overflow-x:auto;margin-bottom:20px}.marks-summary{background:#f9f9f9;padding:16px;border-radius:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.marks-summary-item{text-align:center}.marks-summary-label{font-size:12px;color:#64748b;text-transform:uppercase;font-weight:600;margin-bottom:6px}.marks-summary-value{font-size:24px;font-weight:700;color:#2c3e50}.attendance-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px}.attendance-stat-box{text-align:center;padding:10px;color:#fff;border-radius:6px}.attendance-stat-box.present{background:#28a745}.attendance-stat-box.absent{background:#dc3545}.attendance-stat-box.late{background:#ffc107}.attendance-stat-box.half-day{background:#17a2b8}.attendance-stat-box.percentage{background:#6c757d}.attendance-stat-value{font-size:24px;font-weight:700}.attendance-stat-label{font-size:14px}.bulk-action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.bulk-action-buttons{display:flex;gap:10px}.status-btn{padding:6px 12px;border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.status-btn-present{background:#fff;color:#28a745;border-color:#28a745}.status-btn-present.active{background:#28a745;color:#fff}.status-btn-absent{background:#fff;color:#dc3545;border-color:#dc3545}.status-btn-absent.active{background:#dc3545;color:#fff}.status-btn-late{background:#fff;color:#ffc107;border-color:#ffc107}.status-btn-late.active{background:#ffc107;color:#fff}.status-btn-half{background:#fff;color:#17a2b8;border-color:#17a2b8}.status-btn-half.active{background:#17a2b8;color:#fff}.history-card{border:1px solid #ddd;border-radius:6px;overflow:hidden;margin-bottom:20px}.history-card-header{background:#f8f9fa;padding:12px 15px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}.history-card-header h4{margin:0}.history-stats{display:flex;gap:15px;font-size:14px}.history-card-body{padding:15px}.not-found-state{margin-top:30px;padding:30px;background:#ffebee;border-radius:10px;text-align:center}.not-found-icon{font-size:48px;margin-bottom:15px}.not-found-title{color:#c62828;margin-bottom:10px}.not-found-message{color:#475569;font-size:14px}.row-deleted{text-decoration:line-through;opacity:.5}@media (max-width: 768px){.app-header{padding:12px 16px;flex-direction:column;gap:12px;align-items:flex-start}.app-header h1{font-size:24px}.app-header nav{width:100%}.page-container{padding:16px}.page-shell{padding:16px 14px 32px}.page-header{flex-direction:column;gap:12px;align-items:flex-start}.search-bar{flex-direction:column}.search-input{width:100%}.form-row,.cards-grid{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:10px 12px}.list-item{flex-direction:column;gap:12px}.list-item-actions{width:100%;justify-content:space-between;margin-left:0}.content-grid-2,.content-grid-3,.content-grid-4{grid-template-columns:1fr}.info-item{flex-direction:column;gap:6px}.info-label{min-width:auto}.sub-tabs-container{flex-direction:column}.sub-tab-btn{width:100%;text-align:left}.dashboard-tabs{flex-wrap:wrap}.dashboard-tab{flex:1;min-width:100px}.info-display-grid{grid-template-columns:1fr}.student-dashboard-header{flex-direction:column;gap:12px;align-items:flex-start}.marks-summary,.attendance-stats-grid{grid-template-columns:repeat(2,1fr)}.photo-upload-section{flex-direction:column}.sidebar-layout{grid-template-columns:1fr}.sidebar{position:relative;top:0}}@media (max-width: 480px){.page-title{font-size:22px}.modal-content{max-width:calc(100% - 20px)}.stats-container{grid-template-columns:1fr}.row-actions{flex-direction:column;width:100%}.action-btn{width:100%}.dashboard-header{flex-direction:column;gap:10px;align-items:flex-start}.marks-summary,.attendance-stats-grid{grid-template-columns:1fr}.history-stats{flex-direction:column;gap:8px;align-items:flex-start}.bulk-action-bar{flex-direction:column;gap:12px;align-items:stretch}.bulk-action-buttons{flex-direction:column}.page-container{padding:12px}.page-shell{padding:12px 10px 24px}}@media (max-width: 480px){.page-title{font-size:22px}.modal-content{max-width:calc(100% - 20px)}.stats-container{grid-template-columns:1fr}.row-actions{flex-direction:column;width:100%}.action-btn{width:100%}}.reception-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:0 0 16px 16px;box-shadow:0 4px 12px #0000001a;margin-bottom:0}.reception-header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.reception-header-title h2{margin:0 0 8px;font-size:28px;font-weight:700}.reception-header-title p{margin:0;font-size:14px;opacity:.9}.reception-header-actions{display:flex;gap:12px}.reception-glass-btn{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reception-glass-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.reception-tabs{display:flex;gap:8px;margin-bottom:28px;border-bottom:2px solid #E0E7FF;padding-bottom:12px}.reception-tab-btn{padding:10px 20px;border-radius:8px 8px 0 0;font-size:15px;font-weight:500;border:none;background:transparent;color:#475569;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px}.reception-tab-btn.active{font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.reception-tab-badge{background:#ff6b6b;border-radius:12px;padding:2px 8px;font-size:12px;color:#fff}.reception-tab-badge.info{background:#4ecdc4}.reception-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px}.reception-stat-card{padding:24px;border-radius:12px;color:#fff;box-shadow:0 4px 15px #00000026;transition:all .3s}.reception-stat-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0003}.reception-stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66}.reception-stat-card.pink{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 15px #f5576c66}.reception-stat-card.blue{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 15px #4facfe66}.reception-stat-content{display:flex;justify-content:space-between;align-items:start}.reception-stat-info p{margin:0 0 8px;font-size:13px;opacity:.9;font-weight:600}.reception-stat-number{font-size:42px;font-weight:800;margin:0}.reception-stat-label{font-size:12px;opacity:.85}.reception-stat-icon{font-size:32px}.reception-visitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.reception-visitor-card{background:#fff;border-radius:12px;padding:20px;border-left:4px solid #667eea;box-shadow:0 2px 8px #00000014;transition:all .3s}.reception-visitor-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.reception-visitor-card.status-in{border-left-color:#4caf50}.reception-visitor-card.status-out{border-left-color:#64748b}.reception-visitor-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.reception-visitor-name{font-weight:700;font-size:16px;color:#2c3e50;margin:0 0 4px}.reception-visitor-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}.reception-visitor-status.in{background:#e8f5e9;color:#2e7d32}.reception-visitor-status.out{background:#f5f5f5;color:#757575}.reception-visitor-details{font-size:13px;color:#475569;line-height:1.6}.reception-visitor-details p{margin:4px 0}.reception-visitor-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.reception-modal-content{background:#fff;border-radius:16px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.reception-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.reception-form-group{margin-bottom:16px}.competition-tabs{display:flex;gap:10px;border-bottom:2px solid #e0e0e0;padding-bottom:10px;margin-bottom:20px}.competition-tab-btn{padding:10px 20px;background:#e0e0e0;color:#0f172a;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:all .3s;display:flex;align-items:center;gap:6px}.competition-tab-btn.active{background:#2c3e50;color:#fff}.competition-tab-btn:hover:not(.active){background:#d0d0d0}.competition-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.competition-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s}.competition-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.competition-card-title{margin:0 0 10px;color:#2c3e50;font-size:18px;font-weight:700}.competition-card-description{margin:5px 0;font-size:13px;color:#475569;line-height:1.5}.competition-card-meta{margin:5px 0;font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px}.competition-card-meta.capitalize{text-transform:capitalize}.competition-winners-section{margin:15px 0;padding:10px;background:#f5f5f5;border-radius:4px}.competition-winners-title{font-size:12px;font-weight:700;margin-bottom:8px}.competition-winners-list{margin:8px 0 0;padding:0 0 0 20px;font-size:12px;list-style:none}.competition-winners-list li{margin-bottom:4px;display:flex;align-items:center;gap:6px}.competition-winners-empty{margin:8px 0 0;font-size:12px;color:#64748b;font-style:italic}.competition-prizes-section{margin:15px 0;padding:10px;background:#f0f7ff;border-radius:4px;border-left:3px solid #2196F3}.competition-prizes-title{font-size:12px;font-weight:700;margin-bottom:8px;color:#2196f3}.competition-prizes-list{margin:8px 0 0;padding:0 0 0 20px;font-size:12px}.competition-prizes-list li{margin-bottom:4px}.competition-form-container{max-width:600px;margin:0 auto}.competition-form-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:25px;box-shadow:0 2px 8px #00000014}.competition-form-title{margin:0 0 20px;font-size:24px;font-weight:700;color:#2c3e50}.competition-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.competition-checkbox-label{display:flex;align-items:center;gap:5px;cursor:pointer;padding:8px;border-radius:4px;transition:background .2s}.competition-checkbox-label:hover{background:#f5f5f5}.competition-prize-builder{margin:20px 0;padding:15px;background:#f9f9f9;border-radius:8px;border:2px dashed #ddd}.competition-prize-row{display:grid;grid-template-columns:80px 1fr 120px auto;gap:10px;align-items:end;margin-bottom:10px}.competition-prize-item{padding:10px;background:#fff;border-radius:4px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e0e0e0}.competition-prize-details{flex:1}.competition-prize-remove{background:#f44336;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:11px;transition:all .2s}.competition-prize-remove:hover{background:#d32f2f}.competition-winner-selector{margin-top:20px}.competition-winner-search{position:relative}.competition-winner-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:4px;margin-top:4px;box-shadow:0 4px 12px #0000001a;z-index:10}.competition-winner-option{padding:12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.competition-winner-option:hover{background:#f5f5f5}.competition-winner-option strong{display:block;color:#2c3e50;margin-bottom:4px}.competition-winner-option small{color:#64748b;font-size:12px}.competition-selected-winners{margin-top:20px}.competition-selected-winner-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px}.competition-winner-position-input{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-weight:700}.competition-winner-info{flex:1}.competition-winner-info strong{display:block;color:#2c3e50;margin-bottom:4px}.competition-winner-info small{color:#64748b}.competition-empty-state{text-align:center;padding:50px 30px;color:#64748b}.sidebar .tab-link:not(.submenu-link),.sidebar .tab-link:not(.submenu-link) .menu-text,.sidebar .tab-link:not(.submenu-link) .menu-icon{color:#1f2937!important;text-shadow:none!important}.sidebar .menu-header,.sidebar .menu-header .menu-text,.sidebar .menu-header .menu-icon{color:#475569!important;opacity:1!important}.sidebar .tab-link:not(.submenu-link):hover{background:#2563ebe6!important;border-color:#3b82f673!important;color:#fff!important;box-shadow:0 10px 16px #1e40af40!important}.sidebar .tab-link:not(.submenu-link):hover .menu-text,.sidebar .tab-link:not(.submenu-link):hover .menu-icon{color:#fff!important}.finance-menu-group:hover .tab-link:not(.submenu-link),.students-menu-group:hover .tab-link:not(.submenu-link),.academics-menu-group:hover .tab-link:not(.submenu-link),.staff-menu-group:hover .tab-link:not(.submenu-link),.operations-menu-group:hover .tab-link:not(.submenu-link),.tools-menu-group:hover .tab-link:not(.submenu-link),.resources-menu-group:hover .tab-link:not(.submenu-link),.finance-menu-group:hover .menu-header,.students-menu-group:hover .menu-header,.academics-menu-group:hover .menu-header,.staff-menu-group:hover .menu-header,.operations-menu-group:hover .menu-header,.tools-menu-group:hover .menu-header,.resources-menu-group:hover .menu-header{background:#2563ebe6!important;border-color:#3b82f673!important;box-shadow:0 10px 16px #1e40af40!important;color:#fff!important;transform:none!important}.menu-header:hover{transform:none!important}.finance-menu-group:hover .menu-text,.students-menu-group:hover .menu-text,.academics-menu-group:hover .menu-text,.staff-menu-group:hover .menu-text,.operations-menu-group:hover .menu-text,.tools-menu-group:hover .menu-text,.resources-menu-group:hover .menu-text,.finance-menu-group:hover .menu-icon,.students-menu-group:hover .menu-icon,.academics-menu-group:hover .menu-icon,.staff-menu-group:hover .menu-icon,.operations-menu-group:hover .menu-icon,.tools-menu-group:hover .menu-icon,.resources-menu-group:hover .menu-icon{color:#fff!important}.sidebar .tab-link.active:not(.submenu-link),.sidebar .tab-link.active:not(.submenu-link) .menu-text,.sidebar .tab-link.active:not(.submenu-link) .menu-icon{color:#fff!important}.sidebar .submenu-link,.sidebar .submenu-link .menu-text,.sidebar .submenu-link .menu-icon{color:#1f2937!important}.sidebar .submenu-link:hover{background:#2563ebe6!important;border-color:#3b82f673!important;color:#fff!important}.competition-empty-state-icon{font-size:48px;margin-bottom:16px}.competition-empty-state-text{font-size:16px;color:#475569}@media (max-width: 768px){.reception-stats-grid,.reception-visitor-grid,.reception-form-row{grid-template-columns:1fr}.reception-header-content{flex-direction:column;gap:16px;align-items:flex-start}.reception-header-actions{width:100%}.reception-glass-btn{flex:1;font-size:12px;padding:8px 12px}.competition-cards-grid,.competition-prize-row{grid-template-columns:1fr}.competition-checkbox-grid{grid-template-columns:repeat(2,1fr)}}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.w-full{width:100%}.w-auto{width:auto}.w-50{width:50%}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.h-full{height:100%}.h-auto{height:auto}.gap-0{gap:0}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-no-wrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-shrink-0{flex-shrink:0}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.visible{visibility:visible}.invisible{visibility:hidden}.translate-x-1{transform:translate(4px)}.translate-x-2{transform:translate(8px)}.translate-x-3{transform:translate(12px)}.translate-x-4{transform:translate(16px)}.translate-y-1{transform:translateY(4px)}.translate-y-2{transform:translateY(8px)}.translate-y-3{transform:translateY(12px)}.translate-y-4{transform:translateY(16px)}.translate-y-n1{transform:translateY(-4px)}.translate-y-n2{transform:translateY(-8px)}.translate-y-n3{transform:translateY(-12px)}.translate-y-n4{transform:translateY(-16px)}.scale-75{transform:scale(.75)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.rotate-0{transform:rotate(0)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.transition-none{transition:none}.transition-all{transition:all .2s ease}.transition-colors{transition:background-color,border-color,color .2s ease}.transition-transform{transition:transform .2s ease}.transition-opacity{transition:opacity .2s ease}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9f9f9}.bg-gray-100{background-color:#f5f5f5}.bg-gray-200{background-color:#e0e0e0}.bg-primary{background-color:#667eea}.bg-success{background-color:#4caf50}.bg-danger{background-color:#f44336}.bg-warning{background-color:#ff9800}.bg-info{background-color:#2196f3}.border-gray{border-color:#e0e0e0}.border-primary{border-color:#667eea}.border-success{border-color:#4caf50}.border-danger{border-color:#f44336}.border-warning{border-color:#ff9800}.font-mono{font-family:Courier New,Courier,monospace}.code-block{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;padding:12px;font-family:Courier New,Courier,monospace;font-size:13px;overflow-x:auto}@media print{.no-print{display:none!important}.print-only{display:block!important}}@media (max-width: 768px){.hide-on-mobile{display:none}.show-on-mobile{display:block}}@media (min-width: 769px) and (max-width: 1024px){.hide-on-tablet{display:none}.show-on-tablet{display:block}}@media (min-width: 1025px){.hide-on-desktop{display:none}.show-on-desktop{display:block}}.clearfix:after{content:"";display:table;clear:both}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate-multiline{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.float-left{float:left}.float-right{float:right}.float-none{float:none}.list-none{list-style:none}.list-disc{list-style:disc}.list-decimal{list-style:decimal}.link-underline{text-decoration:underline}.link-no-underline{text-decoration:none}a.link{color:#667eea;text-decoration:none;transition:all .2s ease}a.link:hover{text-decoration:underline;color:#764ba2}.divider{height:1px;background:#e0e0e0;margin:16px 0}.divider-vertical{width:1px;background:#e0e0e0;margin:0 16px}.progress{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;background:#667eea;border-radius:4px;transition:width .3s ease}.progress-bar-success{background:#4caf50}.progress-bar-warning{background:#ff9800}.progress-bar-danger{background:#f44336}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:text-primary{color:#667eea}@media (prefers-color-scheme: dark){.dark\:bg-gray-900{background-color:#1a1a1a}.dark\:text-gray-100{color:#f5f5f5}.dark\:border-gray-700{border-color:#333}}
