:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--secondary: #0ea5e9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--gray-900: #0f172a;--gray-800: #1e293b;--gray-700: #334155;--gray-600: #475569;--gray-500: #64748b;--gray-300: #cbd5e1;--gray-200: #e2e8f0;--gray-100: #f1f5f9;--gray-50: #f8fafc;--white: #ffffff;--radius: 10px}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{background-color:#f1f5f9;color:var(--gray-800);min-height:100vh}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.container{max-width:1200px;width:100%;margin:0 auto;padding:1.5rem;flex:1}.navbar{background:#fff;border-bottom:1px solid var(--gray-200);padding:.85rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50;box-shadow:0 1px 2px #0000000d}.nav-brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:24px;background:var(--primary-light);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.brand-title{font-weight:700;font-size:1.15rem;color:var(--gray-900)}.brand-subtitle{font-size:.75rem;color:var(--gray-500)}.user-pill{display:flex;align-items:center;gap:8px;background:var(--gray-100);padding:5px 12px;border-radius:9999px;font-size:.85rem;font-weight:600}.role-badge{padding:2px 8px;border-radius:9999px;font-size:.7rem;font-weight:700;text-transform:uppercase}.role-admin{background:#fee2e2;color:#991b1b}.role-staff{background:#fef3c7;color:#92400e}.role-student{background:#dbeafe;color:#1e40af}.role-verifier{background:#f3e8ff;color:#6b21a8}.status-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.725rem;font-weight:700;text-transform:uppercase}.status-active{background:#d1fae5;color:#065f46}.status-revoked{background:#fee2e2;color:#991b1b}.status-expired{background:#e2e8f0;color:#475569}.demo-bar{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#fff;padding:10px 16px;border-radius:var(--radius);margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.demo-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;padding:4px 10px;border-radius:9999px;font-size:.785rem;font-weight:600;cursor:pointer;transition:all .2s}.demo-btn:hover{background:#fff;color:var(--primary)}.tabs-header{display:flex;gap:8px;border-bottom:2px solid var(--gray-200);margin-bottom:20px}.tab-btn{padding:10px 18px;background:none;border:none;font-size:.925rem;font-weight:600;color:var(--gray-500);cursor:pointer;position:relative;transition:color .2s}.tab-btn.active{color:var(--primary)}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}.card{background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200);padding:24px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px}.card-title{font-size:1.25rem;font-weight:700;margin-bottom:6px;color:var(--gray-900)}.card-desc{font-size:.85rem;color:var(--gray-500);margin-bottom:18px}.btn{padding:7px 15px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;transition:background .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-200)}.btn-danger{background:#fee2e2;color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:.785rem}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.825rem;font-weight:600;color:var(--gray-700);margin-bottom:5px}.form-control{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.table-responsive{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:var(--gray-50);padding:10px 14px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}td{padding:12px 14px;font-size:.875rem;border-bottom:1px solid var(--gray-200);vertical-align:middle}tr:hover td{background:#f8fafc}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{background:#fff;width:90%;max-width:560px;border-radius:12px;padding:24px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.cert-student-card{background:#fff;border:2px solid #e0e7ff;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;justify-content:space-between}
