:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;background-color:#f8f9fa;font-family:Roboto,sans-serif}*{box-sizing:border-box}#__nuxt,body,html{min-height:100%;margin:0}body{background-color:#f8f9fa;min-width:320px;font-family:Roboto,sans-serif}button,input,textarea{font:inherit}.login-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #e1e4e8;border-radius:10px;width:min(100%,400px);padding:36px;box-shadow:0 10px 28px #20212414}.login-card h1{color:#202124;letter-spacing:-.02em;text-align:center;margin:0 0 32px;font-size:1.75rem;font-weight:600}.login-form{gap:20px;display:grid}.field{gap:8px;display:grid}.field label{color:#3c4043;font-size:.875rem;font-weight:500}.field input{color:#202124;background:#fff;border:1px solid #c7cbd1;border-radius:6px;outline:none;width:100%;height:44px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#92969c}.field input:focus{border-color:#3157d5;box-shadow:0 0 0 3px #3157d524}.form-message{border-radius:6px;margin:-4px 0 0;padding:10px 12px;font-size:.875rem;line-height:1.4}.form-message--error{color:#9f1c1c;background:#fff1f1;border:1px solid #f4cccc}.login-form button{color:#fff;cursor:pointer;background:#3157d5;border:0;border-radius:6px;height:44px;margin-top:4px;font-weight:500;transition:background-color .15s,transform .15s}.login-form button:hover:not(:disabled){background:#2849b7}.login-form button:active:not(:disabled){transform:translateY(1px)}.login-form button:focus-visible{outline-offset:2px;outline:3px solid #3157d547}.login-form button:disabled{cursor:wait;opacity:.65}@media (width<=480px){.login-page{padding:16px}.login-card{padding:28px 22px}}.app-shell{background:#f8f9fa;grid-template-columns:248px minmax(0,1fr);min-height:100dvh;transition:grid-template-columns .18s;display:grid}.app-shell--collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e1e4e8;flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{white-space:nowrap;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:8px;min-height:68px;padding:0 16px 0 20px;display:flex}.sidebar-brand strong{color:#202124;font-size:.95rem;font-weight:600}.sidebar-toggle{color:#5f6368;cursor:pointer;background:#f8f9fa;border:1px solid #dfe3e7;border-radius:6px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;display:flex}.sidebar-toggle:hover{color:#3157d5;border-color:#3157d5}.sidebar-nav{gap:6px;padding:18px 12px;display:grid}.sidebar-link{color:#5f6368;white-space:nowrap;border-radius:6px;align-items:center;gap:12px;min-height:44px;padding:0 12px;text-decoration:none;display:flex}.sidebar-link:hover{color:#202124;background:#f3f5f8}.sidebar-link--active{color:#3157d5;background:#edf1ff;font-weight:500}.sidebar-link-icon{background:#e9ecf3;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:grid}.sidebar-link--active .sidebar-link-icon{color:#fff;background:#3157d5}.sidebar-footer{border-top:1px solid #edf0f2;gap:10px;margin-top:auto;padding:16px 12px;display:grid}.sidebar-email{color:#73777d;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-size:.75rem;overflow:hidden}.sidebar-footer button{color:#5f6368;cursor:pointer;background:0 0;border:1px solid #dfe3e7;border-radius:6px;min-height:38px}.sidebar-footer button:hover:not(:disabled){color:#3157d5;background:#f3f5f8;border-color:#3157d5}.sidebar-footer button:disabled{cursor:wait;opacity:.65}.app-content{min-width:0}.page-section{width:min(100%,1240px);margin:0 auto;padding:40px 36px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{color:#202124;margin:0;font-size:1.75rem;font-weight:600}.page-heading p{color:#6b7077;margin:7px 0 0;font-size:.925rem}.secondary-button,.state-card button{color:#3157d5;background:#fff;border:1px solid #c7cbd1;padding:0 14px}.primary-button,.secondary-button,.state-card button{cursor:pointer;border-radius:6px;min-height:40px;font-weight:500}.primary-button{color:#fff;background:#3157d5;border:1px solid #3157d5;padding:0 16px}.primary-button:hover:not(:disabled){background:#2849b7;border-color:#2849b7}.primary-button:disabled{cursor:wait;opacity:.65}.header-actions{align-items:center;gap:10px;display:flex}.page-notice{border-radius:6px;margin:-10px 0 20px;padding:12px 14px;font-size:.875rem}.page-notice--success{color:#247245;background:#eaf7ef;border:1px solid #cde8d7}.page-notice--error{color:#a12a2a;background:#fff0f0;border:1px solid #efcaca}.page-notice--warning{color:#8a5800;background:#fff8e7;border:1px solid #f1dfae;margin-top:20px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.dashboard-metric-card{min-width:0;color:inherit;background:#fff;border:1px solid #e1e4e8;border-radius:10px;align-content:start;gap:12px;padding:22px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 4px 14px #2021240a}a.dashboard-metric-card:focus-visible,a.dashboard-metric-card:hover{border-color:#aebcea;transform:translateY(-1px);box-shadow:0 8px 22px #20212414}.dashboard-metric-card__heading{color:#6b7077;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;font-size:.78rem;font-weight:600;display:flex}.dashboard-metric-card>strong{color:#202124;letter-spacing:-.03em;font-size:2rem;font-weight:600;line-height:1.1}.dashboard-metric-card>small{color:#73777d;font-size:.8rem;line-height:1.45}.dashboard-metric-card>.metric-detail{color:#92969c;margin-top:-6px;font-size:.73rem}.metric-icon{color:#3157d5;letter-spacing:0;background:#edf1ff;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;font-size:.65rem;display:grid}.metric-icon--warning{color:#8a5800;background:#fff5dc;font-size:1rem}.health-indicator{box-sizing:content-box;background:#2f8b55;border:3px solid #d8f0e1;border-radius:50%;flex:none;width:12px;height:12px}.health-indicator--offline{background:#b33a3a;border-color:#f5d8d8}.dashboard-metric-card>.metric-status{color:#247245;letter-spacing:-.01em;font-size:1.35rem}.dashboard-metric-card>.metric-status--offline{color:#a22929}.modal-overlay{z-index:100;background:#14181f7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #dfe3e7;border-radius:10px;width:min(100%,520px);max-height:calc(100vh - 48px);padding:26px;overflow-y:auto;box-shadow:0 20px 55px #14181f33}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.modal-heading h2{color:#202124;margin:0;font-size:1.25rem;font-weight:600}.modal-heading p{color:#6b7077;margin:6px 0 0;font-size:.875rem;line-height:1.45}.modal-close{color:#5f6368;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;width:34px;height:34px;font-size:1.4rem;line-height:1}.modal-close:hover:not(:disabled){color:#202124;background:#f1f3f4}.registration-form{gap:18px;display:grid}.registration-form .field input,.registration-form .field textarea{color:#202124;background:#fff;border:1px solid #c7cbd1;border-radius:6px;outline:none;width:100%;padding:0 12px;transition:border-color .15s,box-shadow .15s}.registration-form .field input{height:44px}.registration-form .field textarea{resize:vertical;min-height:88px;padding-block:10px}.registration-form .field input:focus,.registration-form .field textarea:focus{border-color:#3157d5;box-shadow:0 0 0 3px #3157d524}.registration-form .field label span,.registration-form .field small{color:#848990;font-size:.75rem;font-weight:400}.modal-actions{border-top:1px solid #edf0f2;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:20px;display:flex}.secondary-button:hover:not(:disabled),.state-card button:hover{background:#f1f3f9;border-color:#3157d5}.secondary-button:disabled{cursor:wait;opacity:.6}.state-card,.table-card{background:#fff;border:1px solid #e1e4e8;border-radius:10px;box-shadow:0 4px 14px #2021240a}.state-card{color:#6b7077;justify-content:center;align-items:center;gap:16px;min-height:160px;padding:28px;display:flex}.state-card--error{color:#9f1c1c;background:snow;border-color:#f1d1d1}.table-scroll{overflow-x:auto}.sites-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.sites-table td,.sites-table th{border-bottom:1px solid #edf0f2;padding:16px 18px}.sites-table th{color:#6b7077;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#fbfcfd;font-size:.75rem;font-weight:600}.sites-table td{color:#3c4043;font-size:.9rem}.sites-table tbody tr:last-child td{border-bottom:0}.sites-table tbody tr:hover{background:#fafbfc}.sites-table td:first-child span,.sites-table td:first-child strong{display:block}.site-link{color:inherit;text-decoration:none;display:inline-block}.site-link:focus-visible strong,.site-link:hover strong{color:#3157d5;text-decoration:underline}.back-link{color:#5f6368;margin-bottom:22px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{color:#3157d5}.site-detail-heading{margin-bottom:20px}.status-badge,.update-badge{color:#247245;background:#eaf7ef;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge--inactive,.update-badge{color:#a22929;background:#fff0f0}.update-badge--clear{color:#247245;background:#eaf7ef}.detail-card{background:#fff;border:1px solid #e1e4e8;border-radius:10px;padding:24px;box-shadow:0 4px 14px #2021240a}.detail-card h2,.section-heading h2{color:#202124;margin:0;font-size:1.05rem;font-weight:600}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin:24px 0 0;display:grid}.detail-grid div{min-width:0}.detail-grid__wide{grid-column:1/-1}.detail-grid dt{color:#73777d;letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;font-size:.75rem;font-weight:600}.detail-grid dd{color:#3c4043;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.5}.detail-grid a{color:#3157d5}.report-history{margin-top:32px}.section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.section-heading p{color:#6b7077;margin:6px 0 0;font-size:.875rem}.reports-table{min-width:980px}.malware-status{text-transform:capitalize}.load-more-row{justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;display:flex}.load-more-error{color:#9f1c1c;font-size:.85rem}.report-link{color:#3157d5;font-weight:500;text-decoration:none}.report-link:focus-visible,.report-link:hover{text-decoration:underline}.report-detail-heading{margin-bottom:20px}.report-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.summary-card{background:#fff;border:1px solid #e1e4e8;border-radius:10px;align-content:start;gap:8px;min-width:0;padding:18px;display:grid;box-shadow:0 4px 14px #2021240a}.summary-card>span{color:#73777d;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.summary-card strong{color:#202124;font-size:1.5rem;font-weight:600;line-height:1.15}.summary-card .summary-card__status{text-transform:capitalize;font-size:1rem}.summary-card small{color:#73777d;line-height:1.35}.malware-text--error,.malware-text--suspicious,.summary-card .summary-card__warning{color:#a22929}.malware-text--clean{color:#247245}.report-section{margin-top:32px}.section-heading--compact{margin-bottom:0}.detail-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-count{color:#5f6368;background:#e9ecf3;border-radius:999px;justify-content:center;align-items:center;min-width:32px;padding:5px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.state-card--success{color:#247245;background:#f7fcf9;border-color:#cde8d7}.vulnerability-list{gap:14px;display:grid}.vulnerability-card{background:#fff;border:1px solid #ead6d6;border-left:4px solid #ba3a3a;border-radius:8px;padding:20px;box-shadow:0 4px 14px #2021240a}.vulnerability-card__heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.vulnerability-card__heading>div>span{color:#73777d;letter-spacing:.03em;text-transform:uppercase;font-size:.75rem;font-weight:600}.vulnerability-card h3{color:#202124;margin:6px 0 0;font-size:.975rem;line-height:1.4}.malware-badge,.severity-badge{border-radius:999px;flex:none;padding:5px 9px;font-size:.75rem;font-weight:600}.malware-badge--error,.malware-badge--suspicious,.severity-badge--critical,.severity-badge--high{color:#a22929;background:#fff0f0}.severity-badge--medium{color:#8a5800;background:#fff5dc}.malware-badge--clean,.severity-badge--low{color:#247245;background:#eaf7ef}.malware-badge--not_scanned,.malware-badge--unknown,.severity-badge--unknown{color:#5f6368;background:#eef0f2}.vulnerability-meta{flex-wrap:wrap;gap:12px 28px;margin:16px 0 0;display:flex}.vulnerability-meta div{gap:7px;display:flex}.vulnerability-meta dt{color:#73777d;font-size:.8rem}.vulnerability-meta dd{color:#3c4043;margin:0;font-size:.8rem;font-weight:500}.reference-links{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.reference-links a{color:#3157d5;font-size:.8rem}.component-table{min-width:820px}.component-table td:first-child span,.component-table td:first-child strong{display:block}.component-table td:first-child span{color:#848990;margin-top:4px;font-size:.78rem}.finding-group{border-top:1px solid #edf0f2;margin-top:24px;padding-top:20px}.finding-group h3{color:#3c4043;margin:0 0 12px;font-size:.9rem}.finding-group ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.finding-group li{color:#5f6368;background:#f8f9fa;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:18px;padding:10px 12px;font-size:.8rem;display:flex}.finding-group code{color:#3c4043;overflow-wrap:anywhere}.integrity-message{color:#8a5800;background:#fff8e7;border-radius:6px;margin:22px 0 0;padding:12px;font-size:.85rem}.sites-table td:first-child strong{color:#202124;font-weight:500}.sites-table td:first-child span{color:#848990;margin-top:4px;font-size:.78rem}.alert-count{color:#a22929;background:#fff0f0;border-radius:999px;justify-content:center;align-items:center;min-width:30px;padding:4px 9px;font-size:.8rem;font-weight:600;display:inline-flex}.alert-count--clear{color:#247245;background:#eaf7ef}@media (width<=720px){.app-shell,.app-shell--collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-brand strong,.sidebar-email,.sidebar-link>span:last-child{display:none}.sidebar-brand{justify-content:center;padding:0}.sidebar-toggle{display:none}.page-section{padding:28px 20px}.page-heading{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.dashboard-grid{grid-template-columns:1fr}.header-actions button{flex:1}.modal-overlay{padding:14px}.modal-card{max-height:calc(100vh - 28px);padding:22px 18px}.detail-grid{grid-template-columns:1fr}.detail-grid__wide{grid-column:auto}.section-heading{flex-direction:column;align-items:flex-start}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid--three{grid-template-columns:1fr}.finding-group li,.vulnerability-card__heading{flex-direction:column}}@media (width<=420px){.report-summary-grid{grid-template-columns:1fr}}
