:root{--primary: #2563eb;--secondary: #10b981;--danger: #ef4444;--dark: #1f2937;--light: #f3f4f6}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-container{width:100%;max-width:450px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{background:linear-gradient(135deg,var(--primary) 0%,#1e40af 100%);color:#fff;padding:30px 20px;text-align:center}.auth-header h1{font-size:28px;font-weight:700;margin:0}.auth-header p{font-size:14px;opacity:.9;margin-top:8px}.auth-body{padding:40px}.form-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark);font-size:14px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .3s;font-family:inherit}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}input.error{border-color:var(--danger)}.error-text{color:var(--danger);font-size:12px;margin-top:4px}.success-message{background:#d1fae5;color:#065f46;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--secondary)}.info-message{background:#dbeafe;color:#0c4a6e;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--primary);font-size:13px}.error-message{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--danger);font-size:13px}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,var(--primary) 0%,#1e40af 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #2563eb4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.toggle-form{text-align:center;margin-top:20px;color:#6b7280;font-size:14px}.toggle-form a{color:var(--primary);text-decoration:none;font-weight:600;cursor:pointer}.toggle-form a:hover{text-decoration:underline}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:15px}.register-option{margin:10px 0;padding:15px;background:var(--light);border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .3s}.register-option:hover{border-color:var(--primary);background:#2563eb0d}.register-option label{margin:0;cursor:pointer;display:flex;align-items:center;font-weight:500}.register-option input[type=radio]{margin-right:10px}@media (max-width: 480px){.auth-body{padding:25px}.two-column{grid-template-columns:1fr}.auth-header h1{font-size:24px}}:root{--blue: #00338d;--blue2: #005eb8;--dark: #101828;--muted: #667085;--bg: #f4f6fb;--card: #fff;--border: #d0d5dd;--green: #039855;--red: #d92d20;--amber: #f79009;--purple: #7a5af8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--dark)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0003}.app-header h1{font-size:22px;font-weight:800}.app-header .header-sub{font-size:12px;opacity:.85;margin-top:2px}.header-right{display:flex;align-items:center;gap:14px}.header-role{background:#ffffff2e;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}.btn-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#ffffff47}.app-body{display:grid;grid-template-columns:230px 1fr;flex:1;height:calc(100vh - 57px)}.sidebar{background:#fff;border-right:1px solid var(--border);padding:12px;overflow-y:auto;position:sticky;top:57px;height:calc(100vh - 57px)}.sidebar-section{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:14px 10px 6px}.navbtn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 12px;border:1px solid transparent;background:transparent;border-radius:9px;font-size:13px;font-weight:600;color:#475467;cursor:pointer;text-decoration:none;transition:all .15s;margin-bottom:2px}.navbtn:hover{background:#f2f4f7;color:var(--dark)}.navbtn.active{background:#eef4ff;border-color:#b2ccff;color:var(--blue)}.navbtn .nav-icon{font-size:15px;width:18px;text-align:center}.main-panel{padding:24px;overflow-y:auto}.page-header{margin-bottom:20px}.page-header h2{font-size:22px;color:var(--blue);font-weight:800}.page-header p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.stat-card .stat-value{font-size:26px;font-weight:800;color:var(--blue)}.stat-card .stat-label{font-size:12px;color:var(--muted)}.stat-card .stat-sub{font-size:11px;color:var(--green);font-weight:600;margin-top:2px}.panel-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px}.panel-card h3{font-size:15px;color:var(--dark);font-weight:800;margin-bottom:12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.btn{border:none;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s}.btn:hover:not(:disabled){filter:brightness(.94)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:#eef4ff;color:var(--blue);border:1px solid #b2ccff}.btn-success{background:var(--green);color:#fff}.btn-danger{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.btn-sm{padding:6px 12px;font-size:12px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%}th{background:#f2f4f7;color:#344054;font-size:12px;font-weight:700;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);position:sticky;top:0}td{font-size:13px;padding:11px 14px;border-bottom:1px solid #eaecf0;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#f8faff}td.num{text-align:right;font-family:Consolas,monospace}.pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;white-space:nowrap}.pill-draft{background:#f2f4f7;color:#344054}.pill-computing{background:#fef0c7;color:#b54708}.pill-submitted{background:#dcfae6;color:#027a48}.pill-reviewed{background:#e0f2fe;color:#026aa2}.pill-assessed{background:#d1fae5;color:#065f46}.pill-finalized{background:#111827;color:#fff}.alert{padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:16px;line-height:1.5}.alert-info{background:#eff8ff;border-left:4px solid var(--blue2);color:#1d4ed8}.alert-success{background:#ecfdf3;border-left:4px solid var(--green);color:#065f46}.alert-warn{background:#fffaeb;border-left:4px solid var(--amber);color:#7a2e0e}.alert-error{background:#fef3f2;border-left:4px solid var(--red);color:#991b1b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-grid.cols-1{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:800;color:#344054}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:13px;font-family:inherit;background:#fff;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue2);box-shadow:0 0 0 3px #005eb81a}.field .note{font-size:11px;color:var(--muted)}.field-span-2{grid-column:span 2}.readiness-grid{display:grid;gap:8px}.readiness-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--border);border-radius:9px;font-size:13px}.readiness-item .check{font-size:16px}.readiness-item.pass{border-color:#abefc6;background:#f6fef9}.readiness-item.fail{border-color:#fecdca;background:#fff9f9}.readiness-item.warn{border-color:#fedf89;background:#fffcf0}.steps-list{display:flex;flex-direction:column;gap:8px}.step-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#f8faff;border:1px solid #dbe7ff;border-radius:9px;font-size:13px;color:var(--blue);font-weight:600}.step-num{background:var(--blue);color:#fff;border-radius:50%;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state .empty-icon{font-size:42px;margin-bottom:12px}.empty-state h3{font-size:16px;color:var(--dark);margin-bottom:6px}.empty-state p{font-size:13px;line-height:1.5}.spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--muted);font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1018288c;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}.modal{background:#fff;border-radius:14px;padding:28px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #0000002e}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h3{font-size:17px;font-weight:800;color:var(--dark)}.modal-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--muted);line-height:1;padding:4px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media (max-width: 900px){.app-body{grid-template-columns:1fr}.sidebar{height:auto;position:relative;top:0;display:flex;flex-wrap:wrap;gap:4px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-section{display:none}.stat-cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field-span-2{grid-column:span 1}}
