:root{--blue-900:#0A3D91;--blue-700:#1D4ED8;--blue-500:#60A5FA;--blue-100:#dbeafe;--white:#fff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e5e7eb;--slate-500:#64748b;--slate-700:#374151;--slate-900:#172033;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--radius:14px;--shadow:0 8px 28px rgba(15,42,91,.08);--font-family:Inter,system-ui,sans-serif;--primary-dark:var(--blue-900);--primary-light:var(--blue-700);--gray-50:var(--slate-50);--gray-100:var(--slate-100);--gray-200:var(--slate-200);--gray-500:var(--slate-500);--gray-700:var(--slate-700);--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}
*{box-sizing:border-box}body{margin:0;background:var(--slate-50);color:var(--slate-900);font-family:var(--font-family);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:264px;background:linear-gradient(165deg,#062d72,#0a3d91 58%,#123e88);color:#fff;padding:26px 14px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10;transition:width .25s ease;box-shadow:6px 0 28px rgba(10,61,145,.14)}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 30px;font-size:21px;font-weight:800;letter-spacing:-.7px}.brand-mark,.logo-large{display:grid;place-items:center;background:linear-gradient(135deg,#60a5fa,#1d4ed8);color:#fff;box-shadow:0 8px 18px rgba(6,45,114,.3)}.brand-mark{height:34px;width:34px;border-radius:10px;font-size:15px}.sidebar-toggle{margin-left:auto;position:absolute;right:-15px;top:28px;width:30px;height:30px;border:1px solid #dbeafe;background:#fff;color:var(--blue-900);border-radius:50%;box-shadow:var(--shadow)}.nav-label{font-size:10px;letter-spacing:1.4px;opacity:.56;margin:0 12px 10px;font-weight:700}.sidebar-nav{display:grid;gap:4px}.nav-link{height:44px;display:flex;align-items:center;gap:14px;padding:0 13px;border-radius:10px;color:rgba(255,255,255,.78);font-weight:500;transition:.2s}.nav-link i{width:18px;text-align:center;font-size:16px}.nav-link:hover,.nav-link.active{color:#fff;background:rgba(96,165,250,.2);box-shadow:inset 3px 0 #93c5fd}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding-top:14px}.logout-btn{width:100%;border:0;background:transparent;text-align:left}.app-area{width:calc(100% - 264px);margin-left:264px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:8;box-shadow:0 2px 12px rgba(15,23,42,.03)}.global-search{display:flex;align-items:center;gap:10px;width:min(390px,42vw);background:var(--slate-50);border:1px solid transparent;border-radius:10px;padding:10px 13px;color:var(--slate-500)}.global-search:focus-within{border-color:var(--blue-500);background:#fff}.global-search input{background:transparent;border:0;outline:0;width:100%;color:var(--slate-700)}.topbar-actions{display:flex;align-items:center;gap:20px}.icon-button{height:38px;width:38px;border:0;border-radius:10px;background:var(--slate-50);color:var(--blue-900);position:relative}.icon-button b{position:absolute;height:7px;width:7px;border-radius:50%;background:var(--danger);right:9px;top:8px}.profile-chip{display:flex;align-items:center;gap:9px}.profile-chip strong,.profile-chip small{display:block}.profile-chip small{font-size:11px;color:var(--slate-500);margin-top:2px}.profile-chip>i{font-size:10px;color:var(--slate-500)}.profile-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0a3d91,#60a5fa);color:#fff;font-size:12px;font-weight:700}.main-content{padding:34px;max-width:1560px;margin:auto;animation:pageIn .35s ease}.mobile-menu{display:none}.page-header{margin-bottom:28px}.page-header h1,.admin-header h1{margin:0;color:var(--slate-900);font-size:28px;letter-spacing:-.8px}.page-header p{margin:7px 0 0;color:var(--slate-500)}.eyebrow{color:var(--blue-700);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}.card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:22px}.card:hover,.stat-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(15,42,91,.11)}.dashboard-grid,.stats-grid,.grid-2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card,.card-stat{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;gap:15px;transition:.2s}.stat-icon,.card-icon{min-width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e8f1ff;color:var(--blue-700);font-size:19px}.stat-icon.green,.card-icon.green{background:#e8f1ff;color:var(--blue-700)}.stat-icon.orange,.card-icon.orange{background:#eff6ff;color:var(--blue-900)}.stat-icon.purple,.card-icon.red{background:#dbeafe;color:var(--blue-700)}.stat-info h3,.card-content h3{font-size:12px;color:var(--slate-500);font-weight:600;margin:2px 0 6px}.stat-value{font-size:25px;font-weight:800;color:var(--slate-900);letter-spacing:-.8px}.stat-description{color:var(--slate-500);font-size:12px;margin:5px 0 0}.stat-row{display:flex;gap:24px}.stat-item{display:grid}.stat-label{font-size:11px;color:var(--slate-500)}.card-header,.admin-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.card h2{font-size:17px;margin:0}.btn{border:1px solid transparent;border-radius:10px;padding:11px 16px;font-weight:700;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0a3d91);box-shadow:0 6px 13px rgba(10,61,145,.2)}.btn-primary:hover{transform:translateY(-2px);filter:brightness(.96)}.btn-secondary{background:#fff;color:var(--blue-900);border-color:#b9cdf2}.btn-secondary:hover{color:#fff;background:var(--blue-900)}.btn-danger{background:var(--danger);color:#fff}.btn-small{padding:9px 13px}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-weight:600;color:var(--slate-700)}.form-group input,.form-group textarea,.form-group select,.form-control{border:1px solid #cbd5e1;border-radius:10px;padding:12px;background:#fff;outline:0;transition:.2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-control:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(96,165,250,.16)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;gap:10px}.data-table,.history-table,.admin-table{width:100%;border-collapse:separate;border-spacing:0}.table-container,.table-responsive{overflow:auto}.data-table th,.history-table th,.admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;text-align:left;color:var(--slate-500);background:#f8fafc;padding:13px;border-bottom:1px solid var(--slate-200)}.data-table td,.history-table td,.admin-table td{padding:14px 13px;border-bottom:1px solid #eef2f7;color:var(--slate-700)}.data-table tr:hover td,.history-table tr:hover td,.admin-table tr:hover td{background:#f8fbff}.badge,.status-badge{display:inline-flex;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:700;background:#dbeafe;color:#1d4ed8}.status-pending{background:#fff7ed;color:var(--warning)}.status-approved,.badge-success{background:#ecfdf5;color:var(--success)}.status-rejected,.badge-danger{background:#fef2f2;color:var(--danger)}.actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.action-btn{border:1px solid var(--slate-200);border-radius:12px;padding:19px 12px;display:grid;gap:8px;text-align:center;color:var(--blue-900);font-weight:650;transition:.2s}.action-btn i{font-size:20px}.action-btn:hover{background:var(--blue-900);color:#fff;transform:translateY(-2px)}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter-btn{border:1px solid var(--slate-200);border-radius:99px;background:#fff;color:var(--slate-500);padding:7px 12px;font-size:12px}.filter-btn.active{background:var(--blue-900);border-color:var(--blue-900);color:#fff}.action-buttons{display:flex;gap:7px}.btn-action{border:0;border-radius:8px;padding:7px 10px;color:#fff;font-size:12px;font-weight:700}.btn-approve,.btn-view{background:var(--blue-700)}.btn-reject{background:var(--danger)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,29,67,.48);z-index:30;padding:18px}.modal-overlay.active{display:grid;place-items:center}.modal{width:min(560px,100%);background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.25);animation:pageIn .2s ease}.modal-header,.modal-body,.modal-footer{padding:20px 24px}.modal-header{display:flex;justify-content:space-between;border-bottom:1px solid var(--slate-200)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--slate-200)}.close-modal,.modal-close{border:0;background:transparent;font-size:24px;color:var(--slate-500)}.alert-container{position:fixed;right:22px;bottom:22px;z-index:50}.alert{padding:14px 18px;border-radius:12px;background:#fff;box-shadow:var(--shadow);border-left:4px solid var(--blue-700)}.alert-success{border-color:var(--success)}.alert-error{border-color:var(--danger)}.notification{position:fixed;right:22px;bottom:22px;z-index:60;background:#fff;padding:14px 17px;border-radius:12px;box-shadow:var(--shadow);transform:translateY(12px);opacity:0;transition:.25s}.notification.show{transform:none;opacity:1}.login-container{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f8fbff 0%,#fff 55%,#e5f0ff 100%);position:relative;overflow:hidden}.login-container:before,.login-container:after{content:"";position:absolute;background:linear-gradient(135deg,#0a3d91,#1d4ed8);opacity:.97;transform:rotate(-31deg);border-radius:60px}.login-container:before{height:620px;width:240px;left:-110px;bottom:-180px}.login-container:after{height:430px;width:150px;right:-65px;top:-135px}.login-box{position:relative;z-index:1;width:min(440px,100%);padding:38px;border:1px solid #e2e8f0;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 25px 70px rgba(10,61,145,.16);animation:pageIn .55s ease}.login-header{text-align:center;margin-bottom:28px}.logo-large{width:58px;height:58px;border-radius:16px;margin:0 auto 15px;font-size:25px}.login-header h1{font-size:28px;letter-spacing:-1px;color:var(--blue-900);margin:0}.login-header p{color:var(--slate-500);margin:7px 0}.login-form{display:grid;gap:16px}.login-form .form-group{position:relative}.login-links{text-align:center;margin:18px 0}.forgot-password{color:var(--blue-700);font-weight:600;font-size:13px}.login-divider{display:flex;align-items:center;gap:10px;color:var(--slate-500);font-size:12px;margin:22px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--slate-200);flex:1}.login-footer{text-align:center;margin-top:25px;padding-top:17px;border-top:1px solid var(--slate-200);font-size:11px;color:var(--slate-500)}fieldset{border:0;padding:0;margin:0 0 24px}legend{font-weight:750;font-size:16px;color:var(--blue-900);margin-bottom:16px}.text-center{text-align:center}@keyframes pageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:950px){.sidebar{width:76px;padding:26px 12px}.brand-name,.sidebar .nav-link span,.sidebar .nav-label{display:none}.brand{padding-left:9px}.sidebar-toggle{display:none}.sidebar .nav-link{justify-content:center;padding:0}.sidebar-bottom{padding-top:14px}.app-area{width:calc(100% - 76px);margin-left:76px}.dashboard-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.sidebar{transform:translateX(-100%);width:260px}.sidebar.is-open{transform:none}.sidebar.is-open .brand-name,.sidebar.is-open .nav-link span,.sidebar.is-open .nav-label{display:inline}.sidebar.is-open .nav-link{justify-content:flex-start;padding:0 13px}.app-area{width:100%;margin:0}.topbar{height:64px;padding:0 16px}.mobile-menu{display:block;border:0;background:transparent;color:var(--blue-900);font-size:18px}.global-search{width:auto;flex:1;margin-left:12px}.profile-chip>span:not(.profile-avatar),.profile-chip>i{display:none}.topbar-actions{gap:10px}.main-content{padding:22px 16px}.dashboard-grid,.stats-grid,.grid-2,.actions-grid,.form-row{grid-template-columns:1fr}.page-header h1{font-size:24px}.card-header,.admin-header{align-items:flex-start;flex-direction:column}.login-box{padding:28px 22px}}
