:root{--primary-color:#0b1736;--primary-color-hover:#060e22;--primary-color-light:#d0d7e8;--primary-color-lighter:#edf0f7;--accent-color:#feb15c;--accent-color-hover:#fd9f35;--accent-color-light:#fff4e6;--secondary-color:#6c757d;--danger-color:#dc3545;--success-color:#28a745;--border-color:#dee2e6;--bg-light:#f8f9fa;--bg-dark:#212529;--text-dark:#212529;--text-light:#fff;--shadow:0 1px 3px #0b17361a;--shadow-lg:0 6px 14px #0b17361f;--font-family:"IBM Plex Sans", "Source Sans 3", "Segoe UI", Tahoma, sans-serif;--font-family-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--table-header-bg:#eef2f9;--status-neutral-bg:#eef2f7;--status-neutral-fg:#2f446d;--status-success-bg:#e7f4eb;--status-success-fg:#1f5f39;--status-warning-bg:#fff6e5;--status-warning-fg:#744a06;--status-danger-bg:#fcecee;--status-danger-fg:#7f1d2d}html.dark-mode{--bg-light:#1e1e1e;--bg-dark:#0d0d0d;--text-dark:#e0e0e0;--text-light:#1e1e1e;--border-color:#404040}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:linear-gradient(180deg, #f3f5f9 0%, #f7f8fb 120px, var(--bg-light) 320px);color:var(--text-dark);line-height:1.45}#app{max-width:1380px;margin:0 auto;padding:16px 18px 24px}.page{animation:none}.hero{text-align:left;border:1px solid var(--border-color);border-left:5px solid var(--primary-color);background-color:var(--text-light);box-shadow:var(--shadow);border-radius:6px;padding:22px 24px}.hero h1{color:var(--primary-color);letter-spacing:.01em;margin-bottom:8px;font-size:1.6rem}.hero p{color:var(--secondary-color);margin-bottom:16px;font-size:.96rem}.cta-buttons{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:3px;padding:8px 14px;font-size:.92rem;font-weight:600;transition:background-color .12s,color .12s,border-color .12s,box-shadow .12s}.btn-primary{background-color:var(--accent-color);color:var(--primary-color);font-weight:700}.btn-primary:hover{background-color:var(--accent-color-hover);box-shadow:none}.btn-secondary{background-color:var(--primary-color);color:#fff}.btn-secondary:hover{background-color:var(--primary-color-hover)}.btn-tertiary{color:var(--primary-color);border:1px solid var(--primary-color-light);background-color:#0000}.btn-tertiary:hover{background-color:var(--accent-color-light);border-color:var(--accent-color-hover)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{padding:6px 12px;font-size:.875rem}.page-header{border-bottom:2px solid var(--primary-color-light);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:10px;display:flex}.page-header h1{color:var(--primary-color);letter-spacing:.04em;text-transform:uppercase;font-size:1.35rem;font-weight:700}.projects-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--border-color);background-color:var(--text-light);box-shadow:var(--shadow);border-top:3px solid var(--accent-color);border-radius:6px;padding:14px;transition:border-color .12s,background-color .12s}.project-card:hover{box-shadow:var(--shadow);border-top-color:var(--accent-color-hover);border-color:var(--primary-color-light)}.project-card h3{margin-bottom:8px;font-size:1.08rem}.project-card p{color:var(--secondary-color);margin-bottom:10px;font-size:.9rem}.project-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:.8rem;display:flex}.date{color:var(--secondary-color)}.badge{letter-spacing:.02em;border-radius:3px;padding:2px 6px;font-size:.72rem;font-weight:600}.badge-encrypted{background-color:var(--primary-color-lighter);color:var(--primary-color);border:1px solid var(--primary-color-light);font-weight:600}.project-actions{flex-wrap:wrap;gap:8px;display:flex}.info-section{background-color:var(--text-light);border:1px solid var(--border-color);border-radius:6px;margin-top:16px;padding:18px}.info-section h2{color:var(--primary-color);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--primary-color-light);margin-bottom:10px;padding-bottom:6px;font-size:.92rem}.info-section h3{margin-top:20px;margin-bottom:10px}.info-section ul{padding-left:0;list-style:none}.form-group{flex-direction:column;margin-bottom:20px;display:flex}.form-group label{color:var(--primary-color);margin-bottom:8px;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);font-family:var(--font-family);border-radius:3px;padding:8px 10px;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #feb15c1a}.form-hint{color:var(--secondary-color);margin-top:4px;font-size:.875rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-errors{margin-bottom:15px}.error-message{color:#721c24;border-left:4px solid var(--danger-color);background-color:#f8d7da;border-radius:4px;padding:12px 15px}dialog.asset-dialog,dialog.risk-dialog,dialog.control-dialog,dialog.review-dialog,dialog.backup-dialog,dialog.new-project-dialog{box-shadow:var(--shadow-lg);background-color:var(--text-light);opacity:0;border:none;border-radius:6px;width:min(760px,94vw);max-height:90vh;margin:auto;padding:0;transition:opacity .12s,transform .12s;inset:0;overflow:hidden;transform:translateY(4px)scale(.996)}dialog.asset-dialog[open],dialog.risk-dialog[open],dialog.control-dialog[open],dialog.review-dialog[open],dialog.backup-dialog[open],dialog.new-project-dialog[open]{opacity:1;transform:translateY(0)scale(1)}dialog.asset-dialog::backdrop,dialog.risk-dialog::backdrop,dialog.control-dialog::backdrop,dialog.review-dialog::backdrop,dialog.backup-dialog::backdrop,dialog.new-project-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#060e2273}.dialog-content{max-height:90vh;padding:22px;overflow-y:auto}.dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dialog-content h2{color:var(--primary-color);margin:0;font-size:1.3rem}.modal-close-btn{width:36px;height:36px;color:var(--primary-color);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.modal-close-btn:hover{background-color:var(--primary-color-lighter);border-color:var(--primary-color-light);transform:translateY(-1px)}.modal-close-btn:focus-visible{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #feb15c29}.dialog-content form{flex-direction:column;display:flex}.dialog-form-long .dialog-section{border-top:1px solid var(--border-color);margin-top:4px;padding-top:14px}.dialog-form-long .dialog-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.dialog-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--primary-color);margin:0 0 12px;font-size:.9rem;font-weight:700}.dialog-form-long .form-group{margin-bottom:16px}.dialog-form-long textarea{line-height:1.45}.dialog-actions{border-top:1px solid var(--border-color);background-color:var(--text-light);justify-content:flex-end;gap:10px;margin-top:8px;padding-top:14px;display:flex;position:sticky;bottom:0}dialog.new-project-dialog{width:min(560px,94vw)}.btn:disabled{opacity:.6;cursor:not-allowed}.projects-empty-state{text-align:center;padding:60px 20px}.projects-empty-state h2{color:var(--primary-color);margin-bottom:10px;font-size:1.5rem}.projects-empty-state p{color:var(--secondary-color);font-size:1.1rem}.project-detail-header{border-bottom:2px solid var(--primary-color-light);flex-direction:column;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.btn-back{color:var(--primary-color);cursor:pointer;letter-spacing:.03em;text-transform:uppercase;background:0 0;border:none;padding:0;font-size:.88rem;font-weight:600;transition:color .12s}.btn-back:hover{color:var(--primary-color-hover);text-decoration:none}.project-title{flex:1}.project-title h1{color:var(--primary-color);margin-bottom:4px;font-size:1.45rem}.project-title p{color:var(--secondary-color);font-size:.9rem}.project-stats{gap:20px;display:flex}.stat{flex-direction:column;display:flex}.stat-label{color:var(--secondary-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:.74rem}.stat-value{color:var(--primary-color);font-weight:600}.project-tabs{margin-top:12px}.tabs-nav{border-bottom:2px solid var(--primary-color-light);flex-wrap:wrap;gap:0;margin-bottom:0;display:flex}.tab-button{color:var(--secondary-color);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-bottom:3px solid #0000;padding:8px 12px;font-size:.82rem;font-weight:700;transition:background-color .12s,color .12s,border-color .12s}.tab-button:hover{color:var(--primary-color);background-color:var(--primary-color-lighter)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:#f4f7fc}.tab-pane{padding:14px 0}.tab-pane>h2,.overview-section h2,.settings-section h2,.scope-info h3{color:var(--primary-color);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--primary-color-light);margin-bottom:10px;padding-bottom:6px;font-size:.9rem}.info-list{grid-template-columns:150px 1fr;gap:15px;display:grid}.info-list dt{color:var(--primary-color);font-weight:600}.info-list dd{color:var(--text-dark);margin:0}.scope-form{max-width:600px}.scope-info{background-color:var(--text-light);border:1px solid var(--border-color);border-radius:6px;padding:14px}.scope-info h3{color:var(--primary-color);margin-top:12px;margin-bottom:8px}.scope-info p{margin-bottom:10px}.scope-info ul{margin-bottom:15px;padding-left:0;list-style:none}.scope-info li{padding:4px 0 4px 14px;position:relative}.scope-info li:before{content:"";background-color:var(--primary-color-light);border-radius:999px;width:6px;height:6px;position:absolute;top:10px;left:0}.scope-actions{margin-top:20px}.form-actions{gap:10px;margin-top:20px;display:flex}.text-muted{color:var(--secondary-color)}.link-primary{color:var(--accent-color);cursor:pointer;text-decoration:none}.link-primary:hover{color:var(--accent-color-hover);text-decoration:underline}.list-table{border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:6px;margin-bottom:14px;overflow:hidden}.list-table table{border-collapse:collapse;background-color:var(--text-light);width:100%}.list-table thead{background-color:var(--table-header-bg);border-bottom:1px solid var(--primary-color-light)}.list-table th{text-align:left;color:var(--primary-color);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:8px 10px;font-size:.74rem;font-weight:700}.list-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:7px 10px;font-size:.84rem}.list-table tbody tr:hover{background-color:#f7f9fc}.list-table tbody tr:last-child td{border-bottom:none}.empty-state{text-align:center;background-color:var(--bg-light);border:2px dashed var(--border-color);border-radius:8px;padding:60px 20px}.empty-state h3{color:var(--primary-color);margin-bottom:10px;font-size:1.25rem}.empty-state p{color:var(--secondary-color);margin-bottom:20px}.badge-low{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.badge-medium{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.badge-high{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.badge-critical{color:#fff;background-color:#dc3545;border:1px solid #c82333}.badge-status{background-color:var(--status-neutral-bg);color:var(--status-neutral-fg);border:1px solid #ced8ea;font-weight:600}.status-neutral,.status-plain{background-color:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:#ced8ea}.status-identified,.status-assessed,.status-planned,.status-partial,.status-needs-evidence,.status-missing{background-color:var(--status-warning-bg);color:var(--status-warning-fg);border-color:#f2e2c5}.status-treated,.status-closed,.status-complete,.status-encrypted,.status-strong{background-color:var(--status-success-bg);color:var(--status-success-fg);border-color:#cce3d3}.status-failed,.status-blocked{background-color:var(--status-danger-bg);color:var(--status-danger-fg);border-color:#eec6cf}.badge-evidence-link,.badge-evidence-security,.badge-driver{font-family:var(--font-family-mono);letter-spacing:.02em;font-size:.69rem}.badge-driver-opfs{color:#27456f;background-color:#e8f0ff;border:1px solid #ccdaef}.badge-driver-indexeddb-blob,.badge-driver-external-folder{color:#3d3d3d;background-color:#f4f4f4;border:1px solid #d7d7d7}.info-section li{border-bottom:1px solid var(--border-color);padding:8px 0}.info-section li:last-child{border-bottom:none}.settings-section{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:14px}.settings-section h2{margin-bottom:15px}.settings-section label{cursor:pointer;align-items:center;gap:10px;display:flex}.settings-section input[type=checkbox]{cursor:pointer}.empty-state{text-align:center;color:var(--secondary-color);padding:26px 16px;font-size:.95rem}.error-page{text-align:center;padding:60px 20px}.error-page h1{color:var(--danger-color);margin-bottom:20px}.error-page p{margin-bottom:10px;font-size:1.1rem}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start;gap:15px}.cta-buttons{flex-direction:column}.btn{width:100%}.projects-list{grid-template-columns:1fr}.hero h1{font-size:1.2rem}.form-row{grid-template-columns:1fr}.dialog-content{padding:16px}.dialog-header{margin-bottom:12px}.dialog-actions{flex-direction:column-reverse}.list-table{overflow-x:auto}}@media (prefers-reduced-motion:reduce){dialog.asset-dialog,dialog.risk-dialog,dialog.control-dialog,dialog.review-dialog,dialog.backup-dialog,dialog.new-project-dialog,.modal-close-btn,.btn{transition:none;animation:none;transform:none}.page{animation:none}}
