.auth-page{min-height:100vh;background-color:#fff;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000000f}.auth-logo{display:block;width:264px;min-width:264px;max-width:264px;height:auto;margin:0 auto 1.75rem;object-fit:contain}.auth-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.auth-tab{flex:1;padding:.6rem 1rem;border:none;background:transparent;font-size:.9375rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.auth-tab:hover{color:#374151}.auth-tab.active{color:#ea580c;border-bottom-color:#ea580c}.auth-form{display:flex;flex-direction:column;gap:1.125rem}.auth-label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;color:#374151}.auth-input{padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;color:#111827;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#9ca3af}.auth-input:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1f}.auth-submit{margin-top:.25rem;padding:.75rem 1rem;background:#ea580c;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.auth-submit:hover{background:#c2410c}.auth-submit:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.auth-switch{margin:1.25rem 0 0;font-size:.875rem;color:#6b7280;text-align:center}.auth-link{padding:0;border:none;background:none;font-size:inherit;font-weight:600;color:#ea580c;cursor:pointer;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-error{margin:0 0 1rem;padding:.5rem .75rem;font-size:.875rem;color:#b91c1c;background:#fef2f2;border-radius:8px}.auth-heading{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:#111827}.auth-api-key-hint{margin:0 0 1rem;font-size:.875rem;color:#6b7280;line-height:1.45}.auth-api-key-box{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.auth-api-key-value{flex:1;font-size:.8125rem;word-break:break-all;color:#374151}.auth-copy-key{flex-shrink:0;padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:#ea580c;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;cursor:pointer}.auth-copy-key:hover{background:#ffedd5}.report-page{min-height:100vh;background:#fff}.report-header{display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;justify-content:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.report-back{font-size:.875rem;color:#ea580c;text-decoration:none;font-weight:500;justify-self:start}.report-back:hover{text-decoration:underline}.report-logo{height:88px;width:220px;min-width:220px;max-width:220px;min-height:88px;max-height:88px;flex-shrink:0;display:block;object-fit:contain}.report-logout{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#6b7280;background:transparent;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;justify-self:end}.report-main{max-width:1400px;margin:0 auto;padding:1rem 1.25rem}.report-title{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#111827}.report-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;align-items:start}.report-dash-full{grid-column:1 / -1}.report-dash-left{grid-column:1}.report-dash-right{grid-column:2}.report-dashboard-left-stack{display:flex;flex-direction:column;gap:1.25rem}@media (max-width: 900px){.report-dashboard{grid-template-columns:1fr}.report-dash-left,.report-dash-right{grid-column:1}}.report-dashboard .report-section{margin-bottom:0}.report-dashboard .report-section h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#374151}.report-dashboard .report-chart-container{padding:.75rem;min-height:160px}.report-dashboard .report-estate-totals .estate-totals-grid{display:flex;flex-wrap:wrap;gap:.75rem}.report-dashboard .report-estate-totals .estate-total-card{padding:.75rem 1rem;flex:1;min-width:100px}.report-dashboard .report-estate-totals .estate-total-value{font-size:1.5rem}.report-dashboard .report-trends .report-chart-container{padding-bottom:2.75rem}.report-dashboard .report-trends .recharts-responsive-container{height:220px!important}.report-dashboard .report-priority{min-height:280px}.report-dashboard .report-priority .findings-list{max-height:240px;overflow-y:auto}.report-dashboard .report-top-assets .report-top-assets-chart-box{box-sizing:border-box;overflow:visible}.report-dashboard .report-top-assets .report-top-assets-chart-box .recharts-responsive-container{margin:0}.report-dashboard .report-family-pie{margin-top:2.25rem}.report-dashboard .report-family-pie .report-pie-chart-expanded{min-height:320px;padding:.75rem 1rem}.report-dashboard .report-family-pie .report-pie-chart-inner{min-width:380px}.report-dashboard .report-summary .severity-cards{margin-bottom:.75rem}.report-dashboard .report-summary .severity-card{min-width:70px;padding:.5rem .75rem}.report-dashboard .report-summary .severity-count{font-size:1.25rem}.report-dashboard .report-findings .findings-list{max-height:320px;overflow-y:auto}.report-section{margin-bottom:2.5rem}.report-section-desc{margin:0 0 1rem;font-size:.875rem;color:#6b7280}.report-chart-container{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;min-height:200px}.report-bar-chart{padding-left:.5rem}.report-pie-chart{max-width:520px;margin:0 auto}.report-pie-chart-expanded{max-width:960px;min-height:380px;padding:1rem 1.25rem;background:#f8fafc;border-radius:12px}.report-pie-chart-expanded .report-pie-wrapper{display:flex;flex-wrap:nowrap;flex-direction:row;align-items:center;justify-content:flex-start;gap:1.5rem}.report-pie-chart-expanded .recharts-responsive-container{flex-shrink:0;overflow:visible}.report-pie-chart-expanded .recharts-wrapper{overflow:visible}.report-pie-chart-expanded .report-pie-chart-inner{overflow:visible;flex-shrink:0}.report-pie-chart-inner{overflow:visible;min-width:380px;min-height:340px}.report-section.report-family-pie .report-pie-chart-inner,.report-main{overflow:visible}.report-dashboard .report-family-pie{min-width:0}.report-dashboard .report-family-pie .report-chart-container{max-width:100%;min-width:0}.report-dashboard .report-family-pie .report-pie-chart-expanded .report-pie-wrapper{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start}.report-dashboard .report-family-pie .report-family-legend{flex:1 1 auto;min-width:140px;max-width:100%}.report-dashboard .report-family-pie .report-family-legend-name{min-width:0;word-break:break-word}.report-pie-wrapper{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:1.5rem}.report-pie-wrapper .recharts-responsive-container{flex:0 0 auto;max-width:280px}.report-family-legend{list-style:none;margin:0;padding:0;min-width:180px;flex:0 1 auto;max-width:320px}.report-pie-chart-expanded .report-family-legend{flex:0 0 auto;max-width:280px}.report-family-legend-item{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.875rem;border-bottom:1px solid #eee}.report-family-legend-item:last-child{border-bottom:none}.report-family-legend-swatch{flex-shrink:0;width:12px;height:12px;border-radius:3px}.report-family-legend-name{flex:1;color:#374151;word-break:break-word}.report-family-legend-value{flex-shrink:0;font-weight:600;color:#111827}.chart-tooltip{background:#fff;padding:.5rem .75rem;border-radius:8px;border:1px solid #e5e7eb;font-size:.8125rem;box-shadow:0 4px 6px -1px #00000014}.report-estate-totals h2{margin-bottom:1rem}.estate-totals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.estate-total-card{padding:1.25rem;border-radius:12px;text-align:center;border:2px solid transparent}.estate-total-card.estate-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.estate-total-card.estate-clickable:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000000f}.estate-total-card.estate-clickable:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.estate-total-card.estate-critical{background:#fef2f2;border-color:#b91c1c}.estate-total-card.estate-high{background:#fff7ed;border-color:#ea580c}.estate-total-card.estate-medium{background:#fefce8;border-color:#ca8a04}.estate-total-card.estate-low{background:#eff6ff;border-color:#2563eb}.estate-total-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#374151;margin-bottom:.25rem}.estate-total-value{display:block;font-size:2rem;font-weight:800;color:#111827}@media (max-width: 560px){.estate-totals-grid{grid-template-columns:repeat(2,1fr)}}.finding-host{font-size:.8125rem;color:#6b7280;font-family:ui-monospace,monospace}.report-main h1{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:#111827}.report-main h2{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#374151}.report-message,.report-error{margin:0;padding:1rem;border-radius:8px;font-size:.9375rem}.report-error{color:#b91c1c;background:#fef2f2}.report-summary{margin-bottom:2.5rem}.severity-cards{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.severity-card{min-width:100px;padding:.75rem 1rem;border-radius:10px;background:#f9fafb;border-left:4px solid var(--sev-color, #6b7280)}.severity-label{display:block;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase}.severity-count{display:block;font-size:1.5rem;font-weight:700;color:#111827}.severity-bars{display:flex;flex-direction:column;gap:.5rem}.severity-bar-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:.75rem}.severity-bar-label{font-size:.875rem;color:#374151}.severity-bar-track{height:24px;background:#f3f4f6;border-radius:6px;overflow:hidden}.severity-bar-fill{height:100%;border-radius:6px;transition:width .2s}.severity-bar-count{font-size:.875rem;font-weight:500;color:#374151;text-align:right}.report-findings h2{margin-top:.5rem}.findings-filters{display:flex;gap:.75rem;margin-bottom:1rem}.findings-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff}.findings-search{flex:1;max-width:280px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem}.findings-list{list-style:none;margin:0;padding:0}.findings-list li{margin-bottom:.25rem}.finding-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.9375rem;transition:background .15s,border-color .15s}.finding-row:hover{background:#f3f4f6;border-color:#d1d5db}.finding-severity{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;text-transform:capitalize}.finding-severity_critical{background:#fecaca;color:#991b1b}.finding-severity_high{background:#fed7aa;color:#9a3412}.finding-severity_medium{background:#fef08a;color:#854d0e}.finding-severity_low{background:#bfdbfe;color:#1e40af}.finding-severity_log{background:#e5e7eb;color:#4b5563}.finding-name{flex:1;color:#111827;font-weight:500}.finding-cvss{font-size:.8125rem;color:#6b7280}.finding-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.finding-modal{background:#fff;border-radius:12px;max-width:560px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.finding-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.finding-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827;padding-right:1rem}.finding-modal-close{flex-shrink:0;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:1.25rem;line-height:1;cursor:pointer;color:#6b7280}.finding-modal-close:hover{background:#e5e7eb;color:#374151}.finding-modal-body{padding:1.5rem;overflow-y:auto}.finding-modal-body h4{margin:1rem 0 .5rem;font-size:.875rem;font-weight:600;color:#374151}.finding-modal-body h4:first-child{margin-top:0}.finding-description,.finding-solution{margin:0;font-size:.9375rem;line-height:1.6;color:#374151;white-space:pre-wrap}.finding-modal-body ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem;color:#6b7280}.summary-page .summary-header{display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;justify-content:center;gap:1rem}.summary-header-left{display:flex;align-items:center;gap:.75rem;justify-self:start}.summary-scan-btn{padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:#fff;background:#ea580c;border-radius:8px;text-decoration:none;white-space:nowrap}.summary-scan-btn:hover{background:#c2410c}.summary-scan-select{min-width:220px;max-width:360px;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;cursor:pointer}.summary-scan-select:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c33}.summary-export-wrap{position:relative}.summary-export-btn{padding:.5rem .75rem;font-size:.875rem;font-weight:600;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;white-space:nowrap}.summary-export-btn:hover{background:#f9fafb}.summary-export-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #00000014;padding:.25rem;z-index:10}.summary-export-item{display:block;width:100%;text-align:left;padding:.55rem .65rem;font-size:.875rem;background:transparent;border:0;border-radius:8px;cursor:pointer;color:#111827}.summary-export-item:hover{background:#f3f4f6}.failed-controls-scroll{max-height:320px;overflow-y:auto;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.create-scan-page{min-height:100vh;background:#fff}.create-scan-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.create-scan-back{display:inline-block;font-size:.875rem;color:#ea580c;text-decoration:none;margin-bottom:.5rem}.create-scan-back:hover{text-decoration:underline}.create-scan-header h1{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.create-scan-main{max-width:560px;margin:0 auto;padding:2rem 1.5rem}.create-scan-form{display:flex;flex-direction:column;gap:1.25rem}.create-scan-error{margin:0;padding:.75rem 1rem;background:#fef2f2;color:#b91c1c;border-radius:8px;font-size:.875rem}.create-scan-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9375rem;font-weight:500;color:#374151}.required{color:#dc2626}.create-scan-hint{font-weight:400;font-size:.8125rem;color:#6b7280}.create-scan-input,.create-scan-textarea,.create-scan-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem}.create-scan-input:focus,.create-scan-textarea:focus,.create-scan-select:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 2px #ea580c26}.create-scan-textarea{resize:vertical;font-family:inherit}.create-scan-file-row{margin-top:.5rem}.create-scan-file-label{display:inline-block;font-size:.875rem;color:#ea580c;cursor:pointer}.create-scan-file-label:hover{text-decoration:underline}.create-scan-file-input{position:absolute;width:0;height:0;opacity:0}.create-scan-fieldset{border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem;margin:0}.create-scan-fieldset legend{padding:0 .5rem;font-size:.9375rem;font-weight:500;color:#374151}.create-scan-radio{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer;margin-bottom:.5rem}.create-scan-radio:last-of-type{margin-bottom:0}.create-scan-datetime,.create-scan-time{margin-left:1.5rem;margin-top:.35rem}.create-scan-recurring{display:flex;align-items:center;gap:.75rem;margin-left:1.5rem;margin-top:.5rem}.create-scan-select{min-width:120px}.create-scan-inline-label{display:flex;align-items:center;gap:.5rem;font-weight:400}.create-scan-cred-fields{display:flex;flex-direction:column;gap:.5rem;margin-left:1.5rem;margin-top:.5rem;max-width:280px}.create-scan-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.create-scan-cancel{font-size:.9375rem;color:#6b7280;text-decoration:none}.create-scan-cancel:hover{color:#374151;text-decoration:underline}.create-scan-submit{padding:.5rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background:#ea580c;border:none;border-radius:8px;cursor:pointer}.create-scan-submit:hover:not(:disabled){background:#c2410c}.create-scan-submit:disabled{opacity:.7;cursor:not-allowed}.active-scans-page{min-height:100vh;background:#fff}.active-scans-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.active-scans-header-left{display:flex;align-items:center}.active-scans-logo{height:52px;width:auto;object-fit:contain}.active-scans-logout{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#6b7280;background:transparent;border:1px solid #d1d5db;border-radius:8px;cursor:pointer}.active-scans-logout:hover{background:#f9fafb;color:#374151}.active-scans-main{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.active-scans-title-row{margin-bottom:2rem}.active-scans-back{display:inline-block;margin-bottom:.5rem;color:#6b7280;text-decoration:none;font-size:.875rem}.active-scans-back:hover{color:#374151;text-decoration:underline}.active-scans-main h1{margin:0 0 .5rem;font-size:1.875rem;font-weight:600;color:#111827}.active-scans-subtitle{margin:0;font-size:.9375rem;color:#6b7280}.active-scans-message,.active-scans-error{margin:0;padding:1rem;border-radius:8px;font-size:.9375rem}.active-scans-message{color:#6b7280;background:#f9fafb}.active-scans-error{color:#b91c1c;background:#fef2f2}.active-scans-empty{text-align:center;padding:3rem 1rem}.active-scans-scan-btn{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background:#ea580c;border-radius:8px;text-decoration:none}.active-scans-scan-btn:hover{background:#c2410c}.active-scans-list{display:flex;flex-direction:column;gap:1.5rem}.active-scan-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .15s,border-color .15s}.active-scan-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db}.active-scan-header{margin-bottom:1.5rem}.active-scan-info{display:flex;flex-direction:column;gap:.75rem}.active-scan-name{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.active-scan-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem}.active-scan-status{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:6px;text-transform:capitalize}.active-scan-status_running{background:#fef3c7;color:#92400e}.active-scan-status_scheduled{background:#e0e7ff;color:#3730a3}.active-scan-status_pending{background:#f3f4f6;color:#6b7280}.active-scan-targets{color:#6b7280}.active-scan-date{color:#9ca3af;margin-left:auto}.active-scan-progress-section{width:100%}.active-scan-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.active-scan-progress-label{font-size:.875rem;font-weight:500;color:#374151}.active-scan-progress-percent{font-size:1rem;font-weight:600;color:#ea580c}.active-scan-progress-status{font-size:.875rem;color:#6b7280}.active-scan-progress-bar-container{width:100%;margin-bottom:.5rem}.active-scan-progress-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;position:relative}.active-scan-progress-fill{height:100%;background:linear-gradient(90deg,#ea580c,#f97316);border-radius:6px;transition:width .5s ease;box-shadow:0 0 8px #ea580c4d}.active-scan-progress-bar-indeterminate{background:linear-gradient(90deg,#e5e7eb,#fef3c7,#ea580c,#fef3c7,#e5e7eb);background-size:200% 100%;animation:active-scan-progress-pulse 2s ease-in-out infinite}@keyframes active-scan-progress-pulse{0%,to{background-position:0% 0%;opacity:.8}50%{background-position:100% 0%;opacity:1}}.active-scan-comment{margin:.5rem 0 0;font-size:.8125rem;color:#6b7280;font-style:italic}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
