: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}.app-dialog-overlay{z-index:2147483647}.app-page-modal-overlay,.staff-attendance-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:18px}.staff-mark-attendance-overlay{overflow-x:hidden}.staff-mark-attendance-overlay .ilm-modal-panel{width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.staff-mark-attendance-overlay .staff-mark-attendance-modal{width:100%;max-width:100%}.staff-mark-attendance-calendar-strip{width:100%;max-width:100%;scrollbar-gutter:stable}.staff-mark-attendance-calendar-strip::-webkit-scrollbar{height:6px}.staff-mark-attendance-calendar-strip::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.transport-vehicle-dashboard-backdrop{position:fixed;top:0;right:0;bottom:0;left:72px;z-index:12000;background:#0f172a70}.transport-vehicle-dashboard-shell{position:fixed;top:0;right:0;bottom:0;left:72px;z-index:12001;padding:34px 24px;overflow:hidden;display:block;box-sizing:border-box}.transport-vehicle-dashboard-shell-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-right:6px;padding-bottom:12px}@media (max-width: 900px){.transport-vehicle-dashboard-backdrop,.transport-vehicle-dashboard-shell{left:66px}}.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}.tasks-page{display:grid;gap:16px;padding:16px;max-width:100%;overflow:auto;height:100%}.tasks-page-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.tasks-page-header h1{margin:0;color:var(--text-strong)}.tasks-page-subtitle{color:#64748b;font-size:13px;margin-top:4px}.tasks-btn-primary{padding:10px 14px;border-radius:8px;border:1px solid #2563eb;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.tasks-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;border-radius:12px;background:#ffffffb8;border:1px solid rgba(148,163,184,.35)}.tasks-filter-pill{padding:6px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:700;cursor:pointer;font-size:13px}.tasks-filter-pill.active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.tasks-toolbar select,.tasks-toolbar input[type=search],.tasks-toolbar input[type=text]{padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;min-height:36px}.tasks-search{margin-left:auto;min-width:220px}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start}.tasks-card{background:#fffffff2;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:grid;gap:10px;box-shadow:0 8px 20px #0f172a0f}.tasks-card-header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tasks-card-title{border:none;background:transparent;padding:0;margin:0;text-align:left;font-weight:800;font-size:16px;color:#0f172a;cursor:pointer;box-shadow:none;min-height:0}.tasks-card-title:hover{color:#1d4ed8;background:transparent;transform:none}.tasks-card-more{border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;padding:4px 10px;min-height:0;border-radius:999px;box-shadow:none}.tasks-card-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tasks-badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:700}.tasks-card-due{font-size:12px;color:#64748b;margin-left:2px}.tasks-card-field,.tasks-card-section{display:grid;gap:6px}.tasks-card-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.tasks-card-label{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em}.tasks-card-meta{font-size:11px;color:#94a3b8;font-weight:700}.tasks-card-textarea,.tasks-field textarea,.tasks-field input,.tasks-field select,.tasks-inline-form input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #dbeafe;background:#f8fafc;font-family:inherit;font-size:13px;color:#0f172a}.tasks-card-textarea:focus,.tasks-field textarea:focus,.tasks-field input:focus,.tasks-field select:focus,.tasks-inline-form input:focus{outline:none;border-color:#60a5fa;background:#fff}.tasks-checklist{display:grid;gap:4px}.tasks-checklist-item{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#334155}.tasks-check-done{text-decoration:line-through;color:#94a3b8}.tasks-inline-form{display:flex;gap:8px}.tasks-inline-form button{min-height:36px;padding:8px 12px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:700;box-shadow:none}.tasks-comments{display:grid;gap:8px;max-height:220px;overflow-y:auto}.tasks-comment{padding:8px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.tasks-comment-meta{font-size:11px;color:#64748b;margin-bottom:4px}.tasks-comment-input{margin-top:0}.tasks-empty-hint{font-size:12px;color:#94a3b8}.tasks-empty-state{grid-column:1 / -1;padding:28px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;text-align:center;background:#fff9}.tasks-detail-modal{width:min(720px,92vw);max-height:90vh;overflow:auto;margin:0}.tasks-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.tasks-detail-roles{margin-top:6px;font-size:12px;font-weight:700;color:#1d4ed8}.tasks-detail-people{margin-top:4px;font-size:12px;color:#64748b}.tasks-modal-close{border:none;background:#f1f5f9;color:#475569;width:32px;height:32px;min-height:32px;border-radius:8px;padding:0;box-shadow:none}.tasks-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tasks-field{display:grid;gap:6px;font-size:12px;font-weight:700;color:#475569}.tasks-detail-section{margin-top:16px;display:grid;gap:8px}.tasks-activity{display:grid;gap:6px;max-height:180px;overflow-y:auto;font-size:12px}.tasks-activity-row{color:#475569}.tasks-activity-time{color:#94a3b8}.tasks-detail-footer{margin-top:18px;display:flex;justify-content:space-between;gap:10px}.tasks-btn-secondary{padding:8px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:700;box-shadow:none}.tasks-btn-danger{padding:8px 14px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-weight:700;box-shadow:none}.tasks-create-modal{width:min(560px,92vw);margin:0}.tasks-quick-add{display:grid;gap:12px;padding:14px;border-radius:14px;background:#ffffffeb;border:1px solid rgba(148,163,184,.35)}.tasks-quick-title{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #cbd5e1;font-size:15px;font-weight:600}.tasks-quick-date{width:fit-content;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff}.tasks-quick-people{display:grid;gap:8px}.tasks-quick-label{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em}.tasks-people-picker{display:flex;flex-wrap:wrap;gap:6px}.tasks-person-chip{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;min-height:0;box-shadow:none}.tasks-person-chip.is-selected{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.tasks-person-chip.is-me{box-shadow:inset 0 0 0 1px #1d4ed8}.tasks-person-chip.is-locked{cursor:default;opacity:.95}.tasks-chip-remove{margin-left:6px;border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0;min-height:0;box-shadow:none}.tasks-person-chip:disabled{cursor:not-allowed;opacity:.7}.tasks-btn-compact{padding:7px 12px;min-height:0;font-size:12px}.tasks-btn-secondary{padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:700;cursor:pointer;box-shadow:none}.tasks-card-description{margin:0;color:#475569;font-size:13px;line-height:1.45}.tasks-card-meta-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}.tasks-card-people{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tasks-card-actions{display:flex;gap:8px;flex-wrap:wrap}.tasks-card.is-open{border-style:dashed;background:#fcfdff}.tasks-card.is-done{opacity:.88}.tasks-card-due.is-overdue{color:#b91c1c;font-weight:700}.tasks-open-hint{font-size:12px;color:#64748b}.tasks-comment-preview{font-size:12px;color:#475569;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.tasks-join-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;margin-bottom:14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:13px}@media (max-width: 720px){.tasks-search{margin-left:0;width:100%}.tasks-detail-grid{grid-template-columns:1fr}}.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}.perm-shell{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;min-height:280px;max-height:min(78vh,900px);border-radius:14px;overflow:hidden}.perm-shell--dark{background:linear-gradient(180deg,#0f172afa,#020617fc);border:1px solid rgba(51,65,85,.65);color:#f1f5f9}.perm-shell--light{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0f;color:#0f172a}.perm-shell__nav{flex:0 0 min(248px,100%);max-width:100%;min-width:0;display:flex;flex-direction:column;gap:2px;padding:12px 10px 14px;max-height:inherit;overflow-y:auto;border-right:1px solid rgba(51,65,85,.55)}.perm-shell--light .perm-shell__nav{background:linear-gradient(180deg,#f8fbff,#f1f5f9);border-right-color:#e2e8f0}.perm-shell--dark .perm-shell__nav{background:#0f172a99}.perm-shell__nav::-webkit-scrollbar{width:5px}.perm-shell__nav::-webkit-scrollbar-thumb{background:#475569;border-radius:8px}.perm-shell--light .perm-shell__nav::-webkit-scrollbar-thumb{background:#cbd5e1}.perm-shell__nav-title{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#64748b;margin:4px 8px 10px}.perm-shell__nav-head{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin:12px 8px 6px;-webkit-user-select:none;user-select:none}.perm-shell__nav-head-icon{font-size:14px;letter-spacing:0;text-transform:none}.perm-shell__nav-item{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;text-align:left;border:1px solid transparent;border-radius:12px;padding:9px 10px;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:inherit;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.perm-shell--light .perm-shell__nav-item{color:#1e293b}.perm-shell__nav-item:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f640}.perm-shell__nav-item--active{background:#3b82f638!important;border-color:#3b82f68c!important;box-shadow:inset 3px 0 #3b82f6}.perm-shell__nav-item:disabled{opacity:.45;cursor:not-allowed}.perm-shell__nav-icon{font-size:17px;width:26px;text-align:center;flex-shrink:0}.perm-shell__nav-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-shell__main{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;max-height:inherit;overflow:hidden}.perm-shell--dark .perm-shell__main{background:#02061759}.perm-shell--light .perm-shell__main{background:#fafbfc}.perm-shell__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(51,65,85,.45);flex-shrink:0}.perm-shell--light .perm-shell__toolbar{border-bottom-color:#e2e8f0;background:#fff}.perm-shell__toolbar-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.02em}.perm-shell__toolbar-emoji{font-size:22px;line-height:1}.perm-shell__toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.perm-shell__toolbar-sep{width:1px;height:22px;background:#94a3b859;margin:0 4px}.perm-shell--light .perm-shell__toolbar-sep{background:#cbd5e1}.perm-shell__row-wrap{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;align-content:flex-start}.perm-shell__row-wrap-heading{flex:1 1 100%;width:100%;min-width:100%}.perm-shell__row-wrap-tile{flex:1 1 180px;max-width:100%;min-width:min(180px,100%)}.perm-shell__hint{font-size:13px;padding:8px 4px}.perm-shell__empty--panel.perm-shell__empty--light{background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b}.perm-shell__empty--panel:not(.perm-shell__empty--light){background:#0f172a80;border:1px dashed rgba(148,163,184,.35);color:#94a3b8}.main-content{position:absolute;top:5px;left:0;width:100%;max-width:100%;height:calc(100vh - 5px);padding-left:72px;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}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.students-page-shell{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%;min-height:0;box-sizing:border-box;overflow-x:clip}.students-page-chrome{flex:0 0 auto;width:100%;max-width:100%;min-width:0;padding:8px 5px 12px;margin:0;border-bottom:1px solid #e2e8f0;background:#ffffffeb;position:sticky;top:0;z-index:40;box-sizing:border-box;overflow-x:clip;overflow-y:visible}.students-page-chrome .students-page-tabs .students-session-switcher{position:relative;z-index:1;margin:0}.students-session-trigger{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:min(280px,42vw)}.students-page-chrome .students-page-tabs .students-session-trigger{width:auto;max-width:none;min-height:0!important;height:clamp(20px,2.35em,34px);padding:0 .5em!important;gap:4px!important;font-size:inherit;overflow:visible;border-width:1.5px;border-radius:12px;border:1.5px solid #1d4ed8;background:#1d4ed8;color:#fff;cursor:pointer;text-align:center;justify-content:center!important;align-items:center!important;box-shadow:none!important;font-weight:600;line-height:1.1;position:relative;z-index:1;transform-origin:center center;transition:transform .22s cubic-bezier(.34,1.35,.64,1),box-shadow .22s ease,border-color .15s ease,background .15s ease}.students-page-chrome .students-page-tabs .students-session-trigger:hover{transform:scale(1.08);z-index:4;box-shadow:0 4px 14px #1d4ed859}.students-page-chrome .students-page-tabs .students-session-trigger:active{transform:scale(1.02)}.students-session-trigger:hover{border-color:#2563eb;background:#2563eb}.students-session-trigger.is-open{border-color:#93c5fd;background:#1e40af}.students-session-trigger-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.students-session-trigger-label{font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.students-session-trigger-meta{font-size:10px;opacity:.88;white-space:nowrap}.students-session-trigger-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.students-session-trigger-chevron{flex:0 0 auto;font-size:14px;opacity:.9;transition:transform .15s ease}.students-session-trigger.is-open .students-session-trigger-chevron{transform:rotate(180deg)}.students-session-trigger-menu{flex:0 0 auto;margin-left:2px;padding:2px 6px;border-radius:8px;border-left:1px solid rgba(255,255,255,.35);color:#fff;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.students-session-trigger-menu:hover{background:#ffffff29}.students-session-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;line-height:1.2}.students-session-badge-hidden,.students-session-badge-frozen{background:#fff3;color:#fff}.students-session-badge-running{background:#dcfce7;color:#166534;border:1px solid #86efac}.students-session-dropdown{position:fixed;z-index:2000;max-width:min(360px,calc(100vw - 24px));max-height:min(440px,calc(100vh - 100px));overflow-y:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 16px 40px #0f172a2e;padding:8px;box-sizing:border-box}.students-session-dropdown-section{display:flex;flex-direction:column;gap:4px}.students-session-dropdown-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:4px 8px 6px}.students-session-dropdown-row{display:flex;align-items:stretch;gap:4px}.students-session-dropdown-item{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#0f172a;cursor:pointer;text-align:left}.students-session-dropdown-item:hover{background:#f1f5f9}.students-session-dropdown-item-label{font-size:13px;font-weight:700}.students-session-dropdown-item-meta{font-size:11px;color:#64748b}.students-session-dropdown-item-badges{display:flex;flex-wrap:wrap;gap:4px}.students-session-dropdown-item-badges .students-session-badge-hidden{background:#fef3c7;color:#92400e}.students-session-dropdown-item-badges .students-session-badge-frozen{background:#dbeafe;color:#1d4ed8}.students-session-dropdown-item-badges .students-session-badge-running{background:#dcfce7;color:#166534;border:1px solid #86efac}.students-session-row-menu-btn{flex:0 0 auto;width:36px;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:18px;cursor:pointer;align-self:center}.students-session-row-menu-btn:hover{background:#f1f5f9;color:#0f172a}.students-session-dropdown-empty{padding:12px;font-size:13px;color:#64748b;text-align:center}.students-session-dropdown-toggle-hidden{width:100%;margin-top:6px;padding:8px 10px;border:none;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;font-weight:600;cursor:pointer;text-align:left}.students-session-dropdown-toggle-hidden:hover{background:#f1f5f9}.students-session-dropdown-footer{margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px}.students-session-dropdown-action{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;cursor:pointer;text-align:left}.students-session-dropdown-action:hover{background:#f8fafc}.students-session-dropdown-action-primary{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.students-session-dropdown-action-primary:hover{background:#dbeafe}.students-session-dropdown-action-title{font-size:13px;font-weight:700}.students-session-dropdown-action-desc{font-size:11px;opacity:.85}.students-session-action-menu{position:fixed;z-index:2100;min-width:168px;padding:6px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 12px 32px #0f172a29;display:flex;flex-direction:column;gap:2px}.students-session-action-menu-item{width:100%;padding:9px 12px;border:none;border-radius:6px;background:transparent;color:#0f172a;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.students-session-action-menu-item:hover:not(:disabled){background:#f1f5f9}.students-session-action-menu-item-danger{color:#b91c1c}.students-session-action-menu-item-danger:hover:not(:disabled){background:#fff1f2}.students-session-action-menu-item:disabled{opacity:.5;cursor:not-allowed}.students-page-chrome .students-page-tabs{--students-tab-count: 10;--students-tab-gap: 2px;--students-tab-slot: calc( (100cqi - (var(--students-tab-count) - 1) * var(--students-tab-gap)) / var(--students-tab-count) );container-type:inline-size;display:flex;flex-wrap:nowrap;gap:var(--students-tab-gap);margin:0;padding:4px 0;align-items:center;width:100%;max-width:100%;min-width:0;overflow:visible;font-size:clamp(7px,calc(var(--students-tab-slot) * .36),13px)}.students-page-chrome .students-page-tabs .students-session-switcher{flex:0 0 auto;width:auto;min-width:max-content;max-width:none}.students-page-chrome .students-page-tabs .students-tab-pill{flex:1 1 0;min-width:0;max-width:none}.students-page-chrome .students-page-tabs .students-session-trigger-meta{display:none}.students-page-chrome .students-page-tabs .students-session-trigger-main{flex:0 1 auto;min-width:0;flex-direction:row;align-items:center;justify-content:center;gap:0}.students-page-chrome .students-page-tabs .students-session-trigger-label{flex:0 0 auto;min-width:max-content;font-size:1em;overflow:visible;text-overflow:clip;white-space:nowrap;text-align:center}.students-page-chrome .students-page-tabs .students-session-trigger-chevron{font-size:.85em;flex-shrink:0}.students-page-chrome .students-page-tabs .students-tab-pill{min-height:0!important;height:clamp(20px,2.35em,34px);padding:0 .35em!important;gap:0!important;margin:0;font-size:inherit!important;font-weight:600!important;line-height:1!important;border-style:solid!important;border-width:1.5px!important;border-radius:12px!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden;cursor:pointer;position:relative;z-index:1;transform-origin:center center;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .22s ease,transform .22s cubic-bezier(.34,1.35,.64,1)}.students-page-chrome .students-page-tabs .students-tab-pill:hover{transform:scale(1.1);z-index:4;box-shadow:0 4px 14px #0f172a2e}.students-page-chrome .students-page-tabs .students-tab-pill-label{display:block;width:100%;height:100%;font-size:1em;line-height:clamp(18px,2.2em,32px);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-page-chrome .students-page-tabs .students-tab-pill:active{transform:scale(1.03);transition-duration:.1s}.students-page-chrome .students-page-tabs .students-session-trigger-badges{display:none}.students-page-content{flex:1 1 auto;width:100%;max-width:100%;min-width:0;min-height:0;padding:10px 16px 28px;box-sizing:border-box;position:relative;overflow-x:clip;overflow-y:visible}.students-page-content>.student-tab-content{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:2px;padding:18px 20px 24px;background:#fff;border:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;border-radius:14px;box-shadow:0 1px 2px #0f172a0a,0 6px 18px #0f172a0d;overflow-x:auto}.students-page-content>.student-tab-content.student-tab-content--narrow{max-width:860px;margin-left:auto;margin-right:auto}.students-page-content>.student-tab-content.student-tab-panel--exit{position:absolute;top:10px;left:16px;right:16px;z-index:0;pointer-events:none;overflow:hidden}.students-page-content>.student-tab-content.student-tab-panel--enter,.students-page-content>.student-tab-content.student-tab-panel--idle{position:relative;z-index:1}.students-page-content>.student-tab-content.student-tab-panel--enter.student-tab-panel--slide-forward{animation:studentTabEnterFromRight var(--ilm-duration-medium, .42s) var(--ilm-ease-fluid, cubic-bezier(.22, 1, .36, 1)) forwards}.students-page-content>.student-tab-content.student-tab-panel--exit.student-tab-panel--slide-forward{animation:studentTabExitToLeft .28s var(--ilm-ease-tide, cubic-bezier(.4, 0, .2, 1)) forwards}.students-page-content>.student-tab-content.student-tab-panel--enter.student-tab-panel--slide-back{animation:studentTabEnterFromLeft var(--ilm-duration-medium, .42s) var(--ilm-ease-fluid, cubic-bezier(.22, 1, .36, 1)) forwards}.students-page-content>.student-tab-content.student-tab-panel--exit.student-tab-panel--slide-back{animation:studentTabExitToRight .28s var(--ilm-ease-tide, cubic-bezier(.4, 0, .2, 1)) forwards}.students-page-content>.student-tab-content.student-tab-panel--enter,.students-page-content>.student-tab-content.student-tab-panel--idle{opacity:1;transform:translateZ(0)}@keyframes studentTabEnterFromRight{0%{opacity:.4;transform:translate3d(64px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes studentTabExitToLeft{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-64px,0,0)}}@keyframes studentTabEnterFromLeft{0%{opacity:.4;transform:translate3d(-64px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes studentTabExitToRight{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(64px,0,0)}}@media (prefers-reduced-motion: reduce){.students-page-content>.student-tab-content.student-tab-panel--enter,.students-page-content>.student-tab-content.student-tab-panel--exit{animation:none!important}}.students-page-content .student-tab-panel{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.students-page-content .student-tab-panel>section,.students-page-content .student-tab-panel>.page-card{width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}.students-page-content .student-tab-panel .section-card:first-child,.students-page-content .student-tab-panel h2:first-child,.students-page-content .student-tab-panel h1:first-child{margin-top:0}.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;color:#475569!important;opacity:1!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)}}.sidebar{--sidebar-collapsed: 64px;--sidebar-expanded: 240px;--sidebar-bg: #0f172a;--sidebar-bg-elevated: #1e293b;--sidebar-border: rgba(148, 163, 184, .14);--sidebar-text: #cbd5e1;--sidebar-text-muted: #94a3b8;--sidebar-accent: #3b82f6;--sidebar-accent-soft: rgba(59, 130, 246, .18);position:fixed;left:0;top:0;width:var(--sidebar-collapsed);height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--sidebar-bg) 0%,#111827 100%);border-right:1px solid var(--sidebar-border);box-shadow:4px 0 24px #00000038;overflow:hidden;z-index:1000;transition:width .28s cubic-bezier(.22,1,.36,1),box-shadow .24s ease}.sidebar:hover,.sidebar.icon-mode:hover{width:var(--sidebar-expanded);box-shadow:8px 0 32px #00000047}.sidebar.icon-mode{width:var(--sidebar-collapsed)}.sidebar-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 10px;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand-logo{width:36px;height:36px;border-radius:10px;object-fit:contain;background:#ffffff14;flex-shrink:0}.sidebar-brand-mark{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);flex-shrink:0}.sidebar-brand-label{font-size:14px;font-weight:700;color:#f8fafc;letter-spacing:.02em}.sidebar:not(:hover) .sidebar-brand-label{display:none!important}.sidebar-nav-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:2px;padding:8px 8px 6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.sidebar-nav-scroll::-webkit-scrollbar{width:4px}.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.sidebar-footer{flex:0 0 auto;padding:8px;border-top:1px solid var(--sidebar-border)}.nav-separator{border:none;border-top:1px solid var(--sidebar-border);margin:8px 4px}.sidebar .tab-link{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;margin:0;border-radius:10px;border:1px solid transparent;color:var(--sidebar-text)!important;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.35,.64,1),box-shadow .2s ease}.sidebar .tab-link:after{display:none}.sidebar:not(:hover) .tab-link:not(.submenu-link):not(.menu-header){justify-content:center;width:44px;min-height:44px;padding:0;margin:0 auto 4px}.sidebar:hover .tab-link:not(.submenu-link):not(.menu-header){justify-content:flex-start;width:auto;min-height:40px;padding:8px 10px;margin:0 0 2px}.sidebar:not(:hover) .menu-text{display:none!important}.sidebar:hover .menu-text{display:inline!important}.sidebar .menu-icon{width:22px;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar .tab-link:not(.submenu-link):not(.menu-header):hover{color:#fff!important;background:var(--sidebar-accent-soft)!important;border-color:#3b82f659!important;transform:translate(2px) scale(1.02);box-shadow:none!important}.sidebar .tab-link.active:not(.submenu-link){color:#fff!important;background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;border-color:#93c5fd73!important;box-shadow:0 4px 14px #2563eb59!important;transform:none}.sidebar .tab-link.active:not(.submenu-link):before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:58%;border-radius:0 4px 4px 0;background:#93c5fd}.sidebar .sidebar-group-label,.sidebar .menu-header{margin-top:6px!important;margin-bottom:2px!important;min-height:32px!important;padding:6px 10px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--sidebar-text-muted)!important;background:transparent!important;border:none!important;box-shadow:none!important;pointer-events:none;transform:none!important}.sidebar:not(:hover) .sidebar-group-label,.sidebar:not(:hover) .menu-header{justify-content:center;width:44px;padding:6px 0!important;margin:4px auto 2px!important}.sidebar:not(:hover) .sidebar-group-label .menu-text,.sidebar:not(:hover) .menu-header .menu-text{display:none!important}.sidebar-menu-group,.finance-menu-group,.students-menu-group,.academics-menu-group,.staff-menu-group,.operations-menu-group,.tools-menu-group,.resources-menu-group{position:relative;margin-bottom:2px}.submenu-container{max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .28s ease,opacity .2s ease,margin .2s ease}.sidebar:not(:hover) .submenu-container{display:none!important}.sidebar:hover .sidebar-menu-group:hover .submenu-container,.sidebar:hover .finance-menu-group:hover .submenu-container,.sidebar:hover .students-menu-group:hover .submenu-container,.sidebar:hover .academics-menu-group:hover .submenu-container,.sidebar:hover .staff-menu-group:hover .submenu-container,.sidebar:hover .operations-menu-group:hover .submenu-container,.sidebar:hover .tools-menu-group:hover .submenu-container,.sidebar:hover .resources-menu-group:hover .submenu-container{position:static;width:100%;max-height:480px;opacity:1;pointer-events:auto;margin:2px 0 6px;padding:4px 0 4px 6px;border-left:2px solid rgba(59,130,246,.45);background:#0f172a73;border-radius:0 8px 8px 0;box-shadow:none;transform:none}.sidebar:hover .sidebar-menu-group:hover .sidebar-group-label,.sidebar:hover .finance-menu-group:hover .sidebar-group-label,.sidebar:hover .students-menu-group:hover .sidebar-group-label,.sidebar:hover .academics-menu-group:hover .sidebar-group-label,.sidebar:hover .staff-menu-group:hover .sidebar-group-label,.sidebar:hover .operations-menu-group:hover .sidebar-group-label,.sidebar:hover .tools-menu-group:hover .sidebar-group-label,.sidebar:hover .resources-menu-group:hover .sidebar-group-label,.sidebar:hover .sidebar-menu-group:hover .menu-header,.sidebar:hover .finance-menu-group:hover .menu-header,.sidebar:hover .students-menu-group:hover .menu-header,.sidebar:hover .academics-menu-group:hover .menu-header,.sidebar:hover .staff-menu-group:hover .menu-header,.sidebar:hover .operations-menu-group:hover .menu-header,.sidebar:hover .tools-menu-group:hover .menu-header,.sidebar:hover .resources-menu-group:hover .menu-header{color:#e2e8f0!important;background:#3b82f61f!important}.sidebar .submenu-link{min-height:36px!important;padding:6px 10px 6px 12px!important;margin:0 0 2px!important;font-size:12px!important;font-weight:550!important;opacity:1!important;color:var(--sidebar-text)!important}.sidebar .submenu-link:hover{color:#fff!important;background:var(--sidebar-accent-soft)!important;transform:translate(2px)}.sidebar .submenu-link.active{color:#fff!important;background:#3b82f659!important}.sidebar .logout-btn{width:100%;min-height:40px;margin:0;color:#fecaca!important;background:#7f1d1d59!important;border:1px solid rgba(248,113,113,.28)!important;box-shadow:none!important}.sidebar:not(:hover) .logout-btn{justify-content:center;width:44px;min-height:44px;padding:0;margin:0 auto}.sidebar .logout-btn:hover{color:#fff!important;background:#b91c1cbf!important;border-color:#fca5a580!important;transform:scale(1.02);box-shadow:0 4px 12px #7f1d1d59!important}.main-content{padding-left:calc(var(--sidebar-collapsed, 64px) + 8px)}@media (max-width: 900px){.sidebar,.sidebar.icon-mode{width:58px}.sidebar:hover,.sidebar.icon-mode:hover{width:min(82vw,260px)}.main-content{padding-left:66px}}.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}}:root{--ilm-ease-fluid: cubic-bezier(.22, 1, .36, 1);--ilm-ease-soft: cubic-bezier(.25, .8, .25, 1);--ilm-ease-bounce: cubic-bezier(.34, 1.35, .64, 1);--ilm-duration-fast: .18s;--ilm-duration-medium: .28s;--ilm-duration-modal: .38s}html.ilm-motion .main-content{z-index:1}html.ilm-motion .page-shell,html.ilm-motion .ilm-route-view{position:relative;z-index:1}@keyframes ilmPageFadeIn{0%{opacity:.6}to{opacity:1}}html.ilm-motion .ilm-route-view{animation:ilmPageFadeIn var(--ilm-duration-medium) var(--ilm-ease-soft) forwards}@keyframes ilmProgressFlow{0%{transform:translate(-120%) scaleX(.35);opacity:0}20%{opacity:1}to{transform:translate(120%) scaleX(1);opacity:0}}html.ilm-motion .ilm-route-progress{position:fixed;top:0;left:0;width:42%;height:3px;z-index:20000;pointer-events:none;border-radius:0 999px 999px 0;background:linear-gradient(90deg,transparent,rgba(56,189,248,.95),rgba(45,212,191,.95),transparent);animation:ilmProgressFlow .45s var(--ilm-ease-soft) forwards}@keyframes ilmOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes ilmModalBounceIn{0%{opacity:0;transform:scale(.88)}65%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}html.ilm-motion .modal-overlay,html.ilm-motion .modal-wrapper,html.ilm-motion .ilm-modal-overlay{animation:ilmOverlayFade var(--ilm-duration-fast) var(--ilm-ease-soft) forwards}html.ilm-motion .ilm-modal-panel,html.ilm-motion .modal,html.ilm-motion .ilm-modal-ready>.ilm-modal-panel,html.ilm-motion .ilm-modal-ready>.modal,html.ilm-motion .ilm-modal-ready>.card,html.ilm-motion .ilm-modal-ready>:first-child:not(.ilm-modal-panel):not(style):not(script){animation:ilmModalBounceIn var(--ilm-duration-modal) var(--ilm-ease-bounce) forwards;transform-origin:center center}html.ilm-motion .ilm-modal-panel{display:flex;flex-direction:column;align-items:stretch;max-width:100%;max-height:100%}html.ilm-motion .ilm-modal-panel>.card,html.ilm-motion .ilm-modal-ready .ilm-modal-panel .card,html.ilm-motion .modal-overlay .modal .card{animation:none}html.ilm-motion .modal-overlay .modal{animation:ilmModalBounceIn var(--ilm-duration-modal) var(--ilm-ease-bounce) forwards}@keyframes ilmDropdownIn{0%{opacity:0;transform:translate3d(0,-6px,0)}to{opacity:1;transform:translateZ(0)}}html.ilm-motion .dropdown-menu,html.ilm-motion .students-session-dropdown,html.ilm-motion .filter-dropdown-panel{animation:ilmDropdownIn var(--ilm-duration-fast) var(--ilm-ease-soft) forwards;transform-origin:top center}html.ilm-motion button,html.ilm-motion .btn,html.ilm-motion .tab-btn{transition:background var(--ilm-duration-fast) ease,border-color var(--ilm-duration-fast) ease,box-shadow var(--ilm-duration-fast) ease,color var(--ilm-duration-fast) ease}html.ilm-motion .card{transition:box-shadow var(--ilm-duration-fast) ease,border-color var(--ilm-duration-fast) ease}html.ilm-motion .card:hover{box-shadow:0 8px 24px #0e74901a}html.ilm-motion input:not([type=checkbox]):not([type=radio]),html.ilm-motion select,html.ilm-motion textarea,html.ilm-motion .filter-select,html.ilm-motion .form-select{transition:border-color var(--ilm-duration-fast) ease,box-shadow var(--ilm-duration-fast) ease}html.ilm-motion input:not([type=checkbox]):not([type=radio]):focus,html.ilm-motion select:focus,html.ilm-motion textarea:focus{box-shadow:0 0 0 2px #38bdf833}html.ilm-motion input[type=checkbox],html.ilm-motion input[type=radio]{accent-color:#0ea5e9;transition:transform .15s var(--ilm-ease-bounce)}html.ilm-motion input[type=checkbox]:checked,html.ilm-motion input[type=radio]:checked{transform:scale(1.08)}html.ilm-motion .tab-link{transition:background var(--ilm-duration-fast) ease,color var(--ilm-duration-fast) ease}html.ilm-motion .list tbody tr,html.ilm-motion .data-table tbody tr{transition:background var(--ilm-duration-fast) ease}html.ilm-motion .list tbody tr:hover,html.ilm-motion .data-table tbody tr:hover{background:#e0f2fe66}@keyframes ilmTabFade{0%{opacity:.7}to{opacity:1}}html.ilm-motion .tab-content,html.ilm-motion .sub-tab-content,html.ilm-motion .nested-tab-content{animation:ilmTabFade var(--ilm-duration-medium) var(--ilm-ease-soft) forwards}@media (prefers-reduced-motion: reduce){html.ilm-motion .ilm-route-view,html.ilm-motion .ilm-route-progress,html.ilm-motion .modal-overlay,html.ilm-motion .modal-wrapper,html.ilm-motion .ilm-modal-overlay,html.ilm-motion .ilm-modal-panel,html.ilm-motion .modal,html.ilm-motion .tab-content,html.ilm-motion .dropdown-menu,html.ilm-motion .students-session-dropdown{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}.finance-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;background:#0f172a85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.finance-modal-panel{display:flex;justify-content:center;align-items:center;width:fit-content;max-width:min(920px,96vw);margin:0 auto;flex:0 1 auto;animation:financeModalIn .22s cubic-bezier(.22,1,.36,1)}@keyframes financeModalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.finance-modal-shell{width:min(760px,92vw);max-height:min(88vh,920px);overflow:auto;margin:0 auto;padding:0;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 24px 48px #0f172a2e,0 0 0 1px #fff9 inset}.finance-modal-shell--wide{width:min(1000px,96vw)}.finance-modal-shell--narrow{width:min(440px,92vw)}.finance-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f0f9ff,#f8fafc 55%,#fff);border-radius:16px 16px 0 0;position:sticky;top:0;z-index:2}.finance-modal-title{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.3}.finance-modal-subtitle{margin:6px 0 0;font-size:12px;color:#64748b;line-height:1.45;font-weight:500}.finance-modal-close{flex-shrink:0;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease,border-color .15s ease}.finance-modal-close:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.finance-modal-body{padding:18px 20px 20px}.finance-modal-shell>h3:first-child{margin:0;padding:18px 20px 12px;font-size:1.1rem;font-weight:800;color:#0f172a;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f0f9ff,#f8fafc)}.finance-modal-shell>h3:first-child+p,.finance-modal-shell>h3:first-child+div{margin-left:20px;margin-right:20px}.finance-modal-shell>form,.finance-modal-shell>.finance-form,.finance-modal-body>form,.finance-modal-body>.finance-form{padding:0 20px 20px}.finance-modal-shell>form:first-of-type,.finance-modal-shell>.grid-2:first-of-type{padding:16px 20px 20px}.finance-form{display:grid;gap:14px}.finance-form-grid,.finance-modal-shell form.grid-2,.finance-modal-shell .grid-2.finance-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}@media (max-width: 640px){.finance-form-grid,.finance-modal-shell form.grid-2,.finance-modal-shell .grid-2.finance-form{grid-template-columns:1fr}}.finance-form label,.finance-modal-shell form label,.finance-modal-shell .grid-2 label{display:grid;gap:6px;margin:0;font-size:12px;font-weight:700;color:#334155;letter-spacing:.02em;text-transform:none}.finance-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.finance-form select,.finance-form textarea,.finance-modal-shell form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.finance-modal-shell form select,.finance-modal-shell form textarea{width:100%;box-sizing:border-box;min-height:40px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font-size:14px;font-weight:500;transition:border-color .15s ease,box-shadow .15s ease}.finance-form textarea,.finance-modal-shell form textarea{min-height:84px;resize:vertical;line-height:1.45}.finance-form input:focus,.finance-form select:focus,.finance-form textarea:focus,.finance-modal-shell form input:focus,.finance-modal-shell form select:focus,.finance-modal-shell form textarea:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833}.finance-form input:read-only,.finance-form select:disabled,.finance-modal-shell form input:read-only{background:#f1f5f9;color:#475569;cursor:default}.finance-form-section{padding:14px 16px;border:1px solid #bfdbfe;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#f0f9ff)}.finance-form-section .finance-form-grid,.finance-form-section>div[style*=grid]{gap:12px}.finance-callout{padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.5;font-weight:500}.finance-callout--info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.finance-callout--warn{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.finance-callout--danger{color:#9f1239;background:#fdf2f8;border:1px solid #fbcfe8}.finance-callout--success{color:#166534;background:#f0fdf4;border:1px solid #86efac}.finance-form-actions,.finance-modal-shell .form-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;margin-top:4px;padding-top:14px;border-top:1px solid #e2e8f0}.finance-form-actions button,.finance-modal-shell .form-actions button{min-height:40px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.finance-form-actions button[type=submit],.finance-modal-shell .form-actions button[type=submit]{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;box-shadow:0 4px 14px #0284c759}.finance-form-actions button[type=submit]:hover,.finance-modal-shell .form-actions button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0284c766}.finance-form-actions button[type=button],.finance-modal-shell .form-actions button[type=button]:not([style*=background]){background:#fff;border-color:#cbd5e1;color:#334155}.finance-form-actions button[type=button]:hover,.finance-modal-shell .form-actions button[type=button]:hover{background:#f8fafc;border-color:#94a3b8}.finance-pill-track{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:999px;background:#e2e8f0}.finance-pill-btn{padding:9px 16px;border-radius:999px;border:none;cursor:pointer;font-size:12px;font-weight:700;background:transparent;color:#334155;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.finance-pill-btn.is-active,.finance-pill-btn[data-active=true]{background:#fff;color:#0f172a;box-shadow:0 2px 8px #0f172a1f}.finance-pill-btn--success.is-active{background:#16a34a;color:#fff}.finance-pill-btn--warning.is-active{background:#ea580c;color:#fff}.finance-field-hint{font-size:11px;color:#64748b;margin-top:4px;line-height:1.4;font-weight:500}.finance-modal-shell [style*="gridColumn: '1/-1'"],.finance-modal-shell [style*="grid-column: 1 / -1"]{grid-column:1 / -1}.finance-modal-overlay .finance-modal-shell{margin:16px auto}.finance-modal-overlay>.finance-modal-shell{margin:auto}
