@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--primary-50:#eef2ff;--primary-100:#d8e2ff;--primary-200:#b3c7ff;--primary-300:#7fa0ff;--primary-400:#4a73ff;--primary-500:#1e3a8a;--primary-600:#1e3a5f;--primary-700:#162d4a;--primary-800:#0f1f33;--primary-900:#0a1628;--accent-400:#38bdf8;--accent-500:#2563eb;--accent-600:#1d4ed8;--accent-700:#1e40af;--success-50:#ecfdf5;--success-100:#d1fae5;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-500:#ef4444;--danger-600:#dc2626;--gray-25:#fcfcfd;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--sidebar-width:260px;--navbar-height:64px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--gray-50);color:var(--gray-800);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{color:var(--gray-900);font-weight:700;line-height:1.3}h1{letter-spacing:-.02em;font-size:1.875rem}h2{letter-spacing:-.01em;font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--gray-500)}.text-primary{color:var(--accent-500)}.text-success{color:var(--success-600)}.text-warning{color:var(--warning-600)}.text-danger{color:var(--danger-600)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.page-wrapper{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);padding-top:var(--navbar-height);flex:1;min-height:100vh}.page-content{max-width:1440px;margin:0 auto;padding:32px}.page-header{margin-bottom:32px}.page-header h1{align-items:center;gap:12px;display:flex}.page-header p{color:var(--gray-500);margin-top:4px;font-size:.9375rem}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-cols-4{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}@media (max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}.main-content{margin-left:0}.page-content{padding:16px}}.card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), transform var(--transition-base);background:#fff}.card:hover{box-shadow:var(--shadow-md)}.card-body{padding:24px}.card-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-header h3{font-size:1rem;font-weight:600}.card-footer{border-top:1px solid var(--gray-100);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:all var(--transition-base);background:#fff;padding:24px;position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:0 4px 4px 0;width:4px;height:100%;position:absolute;top:0;left:0}.stat-card.blue:before{background:var(--accent-500)}.stat-card.green:before{background:var(--success-500)}.stat-card.orange:before{background:var(--warning-500)}.stat-card.red:before{background:var(--danger-500)}.stat-card.purple:before{background:#8b5cf6}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card .stat-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:1.375rem;display:flex}.stat-card.blue .stat-icon{background:var(--primary-50);color:var(--accent-500)}.stat-card.green .stat-icon{background:var(--success-50);color:var(--success-600)}.stat-card.orange .stat-icon{background:var(--warning-50);color:var(--warning-600)}.stat-card.red .stat-icon{background:var(--danger-50);color:var(--danger-600)}.stat-card.purple .stat-icon{color:#8b5cf6;background:#f5f3ff}.stat-card .stat-value{color:var(--gray-900);letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.stat-card .stat-label{color:var(--gray-500);margin-top:2px;font-size:.8125rem;font-weight:500}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent-500), var(--accent-600));color:#fff;box-shadow:0 1px 3px #2563eb4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-600), var(--accent-700));transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.btn-secondary{color:var(--gray-700);border:1px solid var(--gray-300);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-success{background:linear-gradient(135deg, var(--success-500), var(--success-600));color:#fff;box-shadow:0 1px 3px #10b9814d}.btn-success:hover:not(:disabled){background:linear-gradient(135deg, var(--success-600), var(--success-700));transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.btn-danger{background:linear-gradient(135deg, var(--danger-500), var(--danger-600));color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg, var(--danger-600), #b91c1c);transform:translateY(-1px)}.btn-ghost{color:var(--gray-600);background:0 0;padding:8px 12px}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:1rem}.btn-icon{border-radius:var(--radius-md);width:40px;height:40px;padding:0}.form-group{margin-bottom:20px}.form-label{color:var(--gray-700);letter-spacing:.01em;margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.form-label .required{color:var(--danger-500);margin-left:2px}.form-input,.form-select,.form-textarea{border:1.5px solid var(--gray-300);border-radius:var(--radius-md);width:100%;color:var(--gray-800);transition:all var(--transition-fast);background:#fff;outline:none;padding:10px 14px;font-size:.9375rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--gray-400)}.form-textarea{resize:vertical;min-height:100px}.form-help{color:var(--gray-400);margin-top:4px;font-size:.75rem}.form-error{color:var(--danger-500);margin-top:4px;font-size:.75rem}.form-row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:capitalize;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-draft{background:var(--gray-100);color:var(--gray-600)}.badge-submitted{background:var(--primary-100);color:var(--primary-600)}.badge-review{background:var(--warning-50);color:var(--warning-600);border:1px solid var(--warning-100)}.badge-scored{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe}.badge-approved{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.badge-rejected{background:var(--danger-50);color:var(--danger-600);border:1px solid var(--danger-100)}.badge-issued{color:#047857;background:#ecfdf5;border:1px solid #d1fae5}.badge-role-msme{color:#1e40af;background:#dbeafe}.badge-role-staff{color:#92400e;background:#fef3c7}.badge-role-admin{color:#9d174d;background:#fce7f3}.table-container{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:#fff;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:14px 20px;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:14px 20px;font-size:.875rem}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--gray-25)}.table tbody tr:last-child td{border-bottom:none}.stepper{align-items:center;gap:0;padding:20px 0;display:flex;overflow-x:auto}.stepper-step{cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.stepper-step:hover{background:var(--gray-50)}.stepper-number{border-radius:var(--radius-full);width:32px;height:32px;transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.stepper-step.completed .stepper-number{background:var(--success-500);color:#fff}.stepper-step.active .stepper-number{background:var(--accent-500);color:#fff;box-shadow:0 0 0 4px #2563eb26}.stepper-step.pending .stepper-number{background:var(--gray-200);color:var(--gray-500)}.stepper-label{color:var(--gray-600);white-space:nowrap;font-size:.8125rem;font-weight:500}.stepper-step.active .stepper-label{color:var(--accent-600);font-weight:600}.stepper-connector{background:var(--gray-200);flex-shrink:0;width:32px;height:2px}.stepper-connector.completed{background:var(--success-500)}.score-circle{border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto;display:flex;position:relative}.score-circle.grade-aaa,.score-circle.grade-aa{border:3px solid var(--success-500);background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.score-circle.grade-a,.score-circle.grade-bbb{border:3px solid var(--accent-500);background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.score-circle.grade-bb,.score-circle.grade-b{border:3px solid var(--warning-500);background:linear-gradient(135deg,#fffbeb,#fef3c7)}.score-circle.grade-c,.score-circle.grade-d{border:3px solid var(--danger-500);background:linear-gradient(135deg,#fef2f2,#fee2e2)}.score-value{color:var(--gray-900);font-size:1.75rem;font-weight:800}.score-grade{letter-spacing:.05em;font-size:.75rem;font-weight:700}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--gray-200);z-index:100;height:100vh;transition:transform var(--transition-base);background:#fff;flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--gray-100);flex-direction:column;align-items:stretch;gap:10px;padding:20px 24px;display:flex}.sidebar-brand-icon{border-radius:var(--radius-xl);border:1px solid var(--gray-100);background:0 0;justify-content:center;align-items:center;width:100%;height:64px;display:flex;overflow:hidden}.sidebar-brand-text{color:var(--gray-900);text-align:center;font-size:1rem;font-weight:700}.sidebar-brand-text span{color:var(--gray-400);margin-top:-2px;font-size:.6875rem;font-weight:500;display:block}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.sidebar-nav-group{margin-bottom:24px}.sidebar-nav-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);margin-bottom:8px;padding:0 12px;font-size:.6875rem;font-weight:600}.sidebar-nav-item{border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-item:hover{background:var(--gray-50);color:var(--gray-800)}.sidebar-nav-item.active{background:var(--primary-50);color:var(--accent-600);font-weight:600}.sidebar-nav-item .nav-icon{text-align:center;width:24px;font-size:1.125rem}.sidebar-footer{border-top:1px solid var(--gray-100);padding:16px}.sidebar-user{border-radius:var(--radius-md);background:var(--gray-50);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.sidebar-user-header{align-items:center;gap:10px;display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-500), var(--primary-500));color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8125rem;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--gray-400);text-transform:none;font-size:.6875rem}.sidebar-user-actions{margin-top:10px}.sidebar-logout-btn{border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);background:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;font-weight:600;line-height:1;display:inline-flex}.sidebar-logout-icon{font-size:1.05rem;line-height:1}.sidebar-logout-text{line-height:1}.sidebar-logout-btn:hover{background:var(--danger-50);border-color:var(--danger-200);color:var(--danger-600)}.sidebar-logout-btn:disabled{opacity:.6;cursor:wait}.navbar{height:var(--navbar-height);top:0;left:var(--sidebar-width);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);z-index:90;background:#ffffffd9;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:fixed;right:0}.navbar-left{align-items:center;gap:16px;display:flex}.navbar-breadcrumb{color:var(--gray-500);align-items:center;gap:8px;font-size:.875rem;display:flex}.navbar-breadcrumb .sep{color:var(--gray-300)}.navbar-breadcrumb .current{color:var(--gray-800);font-weight:600}.navbar-right{align-items:center;gap:12px;display:flex}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{margin-bottom:16px;font-size:3rem}.empty-state h3{margin-bottom:8px;font-size:1.125rem}.empty-state p{color:var(--gray-500);max-width:400px;margin:0 auto 24px;font-size:.9375rem}.tabs{border-bottom:2px solid var(--gray-200);gap:0;margin-bottom:24px;display:flex}.tab{color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:.875rem;font-weight:500}.tab:hover{color:var(--gray-700)}.tab.active{color:var(--accent-600);border-bottom-color:var(--accent-500);font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--transition-fast) ease;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:560px;max-height:85vh;animation:slideUp var(--transition-base) ease;background:#fff;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:24px 24px 0;display:flex}.modal-header h3{font-size:1.125rem}.modal-body{padding:24px}.modal-footer{justify-content:flex-end;gap:12px;padding:0 24px 24px;display:flex}.toast-container{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;top:80px;right:24px}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;animation:slideInRight var(--transition-base) ease;background:#fff;border-left:4px solid;padding:14px 20px;font-size:.875rem;font-weight:500}.toast.success{border-color:var(--success-500);color:var(--success-700)}.toast.error{border-color:var(--danger-500);color:var(--danger-600)}.toast.info{border-color:var(--accent-500);color:var(--accent-600)}.toast.warning{border-color:var(--warning-500);color:var(--warning-600)}.progress-bar{background:var(--gray-200);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent-500), var(--accent-400));height:100%;transition:width var(--transition-slow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease}.animate-slideUp{animation:slideUp var(--transition-base) ease}.spinner{border:3px solid var(--gray-200);border-top-color:var(--accent-500);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.login-page{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f5f7fa 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-xl);background:#fff;overflow:hidden}.login-header{text-align:center;padding:40px 40px 24px}.login-logo{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-500), var(--primary-500));color:#fff;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;font-size:1.25rem;font-weight:800;display:inline-flex}.login-header h1{margin-bottom:4px;font-size:1.5rem}.login-header p{color:var(--gray-500);font-size:.9375rem}.login-body{padding:8px 40px 40px}.login-footer{background:var(--gray-50);border-top:1px solid var(--gray-100);padding:20px 40px}.login-demo-creds{color:var(--gray-500);font-size:.75rem}.login-demo-creds strong{color:var(--gray-700);margin-bottom:6px;font-size:.8125rem;display:block}.login-demo-creds table{border-collapse:collapse;width:100%}.login-demo-creds td{padding:3px 0;font-family:SF Mono,Fira Code,monospace;font-size:.6875rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
