:root{--primary: #042C53;--primary-light: #f0f4f8;--secondary: #185FA5;--accent: #1D9E75;--background: #f8fafc;--card-bg: #ffffff;--text: #042c53;--text-light: #888780;--border: #dbe2e9;--success: #1D9E75;--warning: #b45309;--danger: #b91c1c;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text);line-height:1.5;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:2rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--secondary);transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:var(--text-light);border-color:var(--border)}.btn-ghost:hover{background-color:var(--primary-light);color:var(--primary)}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;margin-top:.25rem;font-family:inherit}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin-top:.25rem;cursor:pointer}input:focus{outline:2px solid var(--accent);outline-offset:1px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.container{padding:1rem}.device-profile-grid{grid-template-columns:1fr!important}header{flex-wrap:wrap;gap:1rem}header>div:last-child{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.card{padding:1rem}.workspace-wrapper{display:block;position:relative}.workspace-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;z-index:300;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto}.workspace-sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #0000004d}.workspace-main{width:100%;padding-top:56px}}.workspace-wrapper{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background-color:var(--background)}.workspace-sidebar{background-color:var(--primary);color:#fff;padding:1.5rem 1rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1.5rem;box-shadow:2px 0 8px #0000000d}.sidebar-brand{display:flex;flex-direction:column;gap:.25rem;padding:0 .5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:#ffffffb3;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;border:none;background:transparent;width:100%;text-align:left}.sidebar-nav-link:hover{color:#fff;background-color:#ffffff0d}.sidebar-nav-link.active{color:#fff;background-color:var(--secondary);font-weight:600;box-shadow:inset 3.5px 0 0 var(--accent)}.risk-table-container{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.risk-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.risk-table th{background-color:#f8fafc;color:#475569;font-weight:700;padding:.75rem 1rem;border-bottom:1px solid var(--border);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.risk-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}.risk-table tbody tr:hover{background-color:#f8fafc}.badge-risk{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:800;line-height:1;text-align:center;border:1px solid transparent}.badge-risk-low{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);color:#15803d;border-color:#bbf7d0}.badge-risk-medium{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);color:#b45309;border-color:#fde68a}.badge-risk-high{background:linear-gradient(135deg,#fff5f5 0%,#fee2e2 100%);color:#c53030;border-color:#feb2b2}.badge-status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:700;border:1px solid transparent}.badge-status-draft{background-color:#f1f5f9;color:#475569;border-color:#cbd5e1}.badge-status-review{background-color:#fffbeb;color:#d97706;border-color:#fde68a}.badge-status-approved{background-color:#ecfdf5;color:#059669;border-color:#a7f3d0}.badge-control{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;text-transform:uppercase}.badge-control-design{background-color:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.badge-control-protective{background-color:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.badge-control-information{background-color:#fff7ed;color:#c2410c;border:1px solid #ffedd5}.v-status-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:800;padding:.1rem .25rem;border-radius:3px;text-transform:uppercase;margin-right:.25rem}.v-passed{background-color:#dcfce7;color:#166534}.v-failed{background-color:#fee2e2;color:#991b1b}.v-pending{background-color:#f1f5f9;color:#475569}.timeline-item{position:relative;padding-left:1.5rem;padding-bottom:1.5rem;border-left:2px solid var(--border)}.timeline-item:last-child{border-left:2px solid transparent;padding-bottom:0}.timeline-dot{position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background-color:var(--accent)}.project-selector-wrapper{display:flex;flex-direction:column;gap:.35rem;padding:0 .5rem}.project-selector-label{font-size:.65rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.project-selector-dropdown{background-color:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;outline:none;margin-top:0}.project-selector-dropdown:hover{background-color:#ffffff1f;border-color:#ffffff40}.project-selector-dropdown:focus{outline:2px solid var(--accent);outline-offset:1px}.project-selector-dropdown option{background-color:var(--primary);color:#fff}.sidebar-credit-badge{background:rgba(29,158,117,.1);border:1px solid rgba(29,158,117,.3);padding:.5rem .75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;color:var(--accent);margin:.5rem 0}.report-history-card{background:white;border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:box-shadow .2s}.report-history-card:hover{box-shadow:0 4px 6px -1px #0000000d}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;background:white;border:1px solid var(--border);border-radius:12px;max-width:600px;margin:4rem auto;box-shadow:0 4px 6px -1px #0000000d}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);z-index:299;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.sidebar-overlay.visible{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;height:56px;background-color:var(--primary);color:#fff;z-index:200;align-items:center;padding:0 1rem;gap:1rem;box-shadow:0 2px 8px #0003}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:.45rem;cursor:pointer;transition:background .2s;flex-shrink:0}.mobile-menu-btn:hover{background:rgba(255,255,255,.18)}.mobile-topbar-title{font-size:.95rem;font-weight:700;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.mobile-topbar{display:flex}.risk-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.risk-table{min-width:900px}}
