:root{--primary: #1e40af;--primary-dark: #1e3a8a;--primary-light: #dbeafe;--secondary: #6b7280;--accent: #0ea5e9;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--bg: #f9fafb;--card-bg: #ffffff;--text: #111827;--text-light: #6b7280;--border: #e5e7eb;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px}.loading{text-align:center;padding:48px;color:var(--text-light)}.navbar{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:0 24px;display:flex;align-items:center;height:56px;gap:24px}.nav-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px}.nav-logo{font-size:24px}.nav-links{display:flex;gap:4px;flex:1;overflow-x:auto}.nav-link{color:#ffffffd9;text-decoration:none;padding:8px 16px;border-radius:var(--radius);font-size:14px;transition:background .2s;white-space:nowrap}.nav-link:hover{background:#ffffff26;color:#fff}.nav-user{display:flex;align-items:center;gap:12px;font-size:14px}.nav-company{opacity:.9}.plan-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.plan-free{background:#fff3}.plan-monthly{background:#fbbf24;color:#92400e}.plan-yearly{background:#a78bfa;color:#4c1d95}.badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.status-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;display:inline-block}.status-detected{background:#fef3c7;color:#92400e}.status-investigating{background:#ffedd5;color:#9a3412}.status-containing{background:#fee2e2;color:#991b1b}.status-eradicating{background:#fce7f3;color:#9d174d}.status-recovering{background:#dbeafe;color:#1e40af}.status-resolved{background:#d1fae5;color:#065f46}.status-closed{background:#f3f4f6;color:#374151}.risk-low{background:#d1fae5;color:#065f46}.risk-medium{background:#fef3c7;color:#92400e}.risk-high{background:#ffedd5;color:#9a3412}.risk-critical{background:#fee2e2;color:#991b1b}.severity-low{background:#d1fae5;color:#065f46}.severity-medium{background:#fef3c7;color:#92400e}.severity-high{background:#ffedd5;color:#9a3412}.severity-critical{background:#fee2e2;color:#991b1b}.criticality-low{background:#d1fae5;color:#065f46}.criticality-medium{background:#fef3c7;color:#92400e}.criticality-high{background:#ffedd5;color:#9a3412}.criticality-critical{background:#fee2e2;color:#991b1b}.status-draft{background:#f3f4f6;color:#374151}.status-underreview{background:#fef3c7;color:#92400e}.status-approved{background:#dbeafe;color:#1e40af}.status-active{background:#d1fae5;color:#065f46}.status-archived{background:#e5e7eb;color:#6b7280}.status-expired{background:#fee2e2;color:#991b1b}.status-planned{background:#dbeafe;color:#1e40af}.status-inprogress{background:#fef3c7;color:#92400e}.status-completed{background:#d1fae5;color:#065f46}.status-cancelled{background:#f3f4f6;color:#374151}.status-identified{background:#dbeafe;color:#1e40af}.status-assessed{background:#fef3c7;color:#92400e}.status-mitigated{background:#d1fae5;color:#065f46}.status-accepted{background:#e0e7ff;color:#3730a3}.status-notassessed{background:#f3f4f6;color:#374151}.status-pending{background:#fef3c7;color:#92400e}.status-overdue{background:#fee2e2;color:#991b1b}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;gap:6px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:16px}.btn-block{width:100%}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:inherit}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:24px}.header-actions{display:flex;gap:8px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border-left:4px solid var(--primary)}.stat-card.stat-policies{border-left-color:#3b82f6}.stat-card.stat-risks{border-left-color:#f59e0b}.stat-card.stat-incidents{border-left-color:#ef4444}.stat-card.stat-suppliers{border-left-color:#8b5cf6}.stat-card.stat-training{border-left-color:#10b981}.stat-card.stat-assets{border-left-color:#06b6d4}.stat-label{font-size:13px;color:var(--text-light);margin-bottom:4px}.stat-value{font-size:28px;font-weight:700}.stat-sub{font-size:12px;color:var(--text-light);margin-top:4px}.score-card{background:var(--card-bg);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);text-align:center;margin-bottom:24px}.score-value{font-size:72px;font-weight:800;line-height:1;margin-bottom:8px}.score-value.score-high{color:#10b981}.score-value.score-medium{color:#f59e0b}.score-value.score-low{color:#ef4444}.score-label{font-size:16px;color:var(--text-light)}.score-bar{height:8px;background:#e5e7eb;border-radius:4px;margin-top:16px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .5s}.score-bar-fill.score-high{background:#10b981}.score-bar-fill.score-medium{background:#f59e0b}.score-bar-fill.score-low{background:#ef4444}.area-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.area-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);text-align:center}.area-card h3{font-size:14px;color:var(--text-light);margin-bottom:8px}.area-score{font-size:36px;font-weight:700}.area-detail{font-size:12px;color:var(--text-light);margin-top:4px}.info-bar{background:var(--card-bg);padding:12px 16px;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;box-shadow:var(--shadow)}.upgrade-hint{color:var(--warning);font-size:13px}.alert-box{padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}.alert-danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fed7aa}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.alert-success{background:#f0fdf4;color:#065f46;border:1px solid #bbf7d0}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.data-table th{background:#f9fafb;padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:var(--text-light);border-bottom:2px solid var(--border);white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.data-table tr:hover{background:#f9fafb}.text-right{text-align:right}.text-center{text-align:center}.timeline-indicators{display:flex;gap:8px}.timeline-dot{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;cursor:help}.timeline-dot.sent{background:#10b981}.timeline-dot.overdue{background:#ef4444}.timeline-dot.pending{background:#f59e0b}.timeline-dot.not-due{background:#d1d5db;color:#6b7280}.risk-matrix{display:grid;grid-template-columns:40px repeat(5,1fr);grid-template-rows:repeat(5,1fr) 40px;gap:4px;width:100%;max-width:500px;margin:0 auto;aspect-ratio:1.1}.matrix-cell{display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:18px;font-weight:700;min-height:60px}.matrix-cell.level-low{background:#d1fae5;color:#065f46}.matrix-cell.level-medium{background:#fef3c7;color:#92400e}.matrix-cell.level-high{background:#ffedd5;color:#9a3412}.matrix-cell.level-critical{background:#fee2e2;color:#991b1b}.matrix-label{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-light);font-weight:600}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--text-light)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.error-message{background:#fef2f2;color:var(--danger);padding:8px 12px;border-radius:var(--radius);margin-bottom:12px;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:12px;padding:32px;max-width:480px;width:100%;position:relative;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-wide{max-width:720px}.modal h2{margin-bottom:20px}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-light)}.modal-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--text-light)}.card-section{background:var(--card-bg);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow)}.card-section h2{font-size:18px;margin-bottom:16px}.upgrade-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--radius);padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.upgrade-content h3{font-size:18px;margin-bottom:4px}.upgrade-content p{font-size:14px;color:#92400e}.upgrade-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-state{text-align:center;padding:48px 24px;color:var(--text-light)}.empty-state h2{margin-bottom:8px;color:var(--text)}.landing{min-height:100vh}.hero{background:linear-gradient(135deg,#1e3a8a,#1e40af,#3b82f6);color:#fff;padding:80px 24px;text-align:center}.hero-content{max-width:700px;margin:0 auto}.hero-badge{display:inline-block;background:#fff3;padding:4px 16px;border-radius:20px;font-size:14px;margin-bottom:16px}.hero h1{font-size:48px;margin-bottom:16px}.hero-subtitle{font-size:20px;opacity:.9;margin-bottom:12px}.hero-deadline{font-size:14px;background:#ffffff26;display:inline-block;padding:4px 16px;border-radius:20px;margin-bottom:32px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.features-section{padding:64px 24px;max-width:1000px;margin:0 auto}.features-section h2{text-align:center;font-size:32px;margin-bottom:40px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.feature-card{background:var(--card-bg);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);text-align:center}.feature-icon{font-size:36px;margin-bottom:12px}.feature-card h3{font-size:18px;margin-bottom:8px}.feature-card p{font-size:14px;color:var(--text-light)}.how-section{padding:64px 24px;background:#eff6ff}.how-section h2{text-align:center;font-size:32px;margin-bottom:40px}.steps{display:flex;gap:24px;max-width:900px;margin:0 auto;flex-wrap:wrap;justify-content:center}.step{flex:1;min-width:180px;text-align:center}.step-number{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;margin-bottom:12px}.step h3{font-size:16px;margin-bottom:4px}.step p{font-size:13px;color:var(--text-light)}.pricing-section{padding:64px 24px;max-width:1000px;margin:0 auto}.pricing-section h2{text-align:center;font-size:32px;margin-bottom:40px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.pricing-card{background:var(--card-bg);border-radius:12px;padding:32px;box-shadow:var(--shadow);position:relative;text-align:center}.pricing-featured{border:2px solid var(--primary);transform:scale(1.03)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:4px 16px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.pricing-card h3{font-size:20px;margin-bottom:16px}.pricing-price{margin-bottom:24px}.price-amount{font-size:42px;font-weight:700;color:var(--primary)}.price-currency{font-size:18px;color:var(--text-light)}.price-period{font-size:14px;color:var(--text-light)}.pricing-features{list-style:none;margin-bottom:24px;text-align:left}.pricing-features li{padding:6px 0;font-size:14px}.pricing-features .check{color:var(--primary);margin-right:8px;font-weight:700}.footer{text-align:center;padding:16px 24px;color:var(--text-light);font-size:13px;border-top:1px solid var(--border)}.footer a{color:var(--primary);text-decoration:none}.landing-footer{text-align:center;padding:32px 24px;color:var(--text-light);font-size:13px;border-top:1px solid var(--border)}.landing-footer a{color:var(--primary);text-decoration:none}.help-section{margin-bottom:40px}.help-section h2{font-size:20px;margin-bottom:16px;border-bottom:2px solid var(--primary);padding-bottom:8px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.help-card{padding:16px;border-radius:var(--radius)}.help-card h4{margin-bottom:8px}.help-card p{font-size:14px;color:var(--text-light)}@media (max-width: 768px){.navbar{flex-wrap:wrap;height:auto;padding:12px;gap:8px}.nav-links{order:3;width:100%}.form-row,.form-row-3{grid-template-columns:1fr}.hero h1{font-size:32px}.pricing-featured{transform:none}.upgrade-banner{flex-direction:column}.stats-grid,.area-scores{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr}.risk-matrix{max-width:100%}}
