:root{--primary:#795238;--primary-dark:#8a6345;--primary-light:rgba(121,82,56,0.1);--accent:#795238;--risk-critical:#CC0000;--risk-high:#FF6600;--risk-medium:#FF9900;--risk-low:#00AA00;--success:#10b981;--success-light:#d1fae5;--success-dark:#065f46;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#92400e;--danger:#D94040;--danger-light:#fee2e2;--danger-dark:#991b1b;--info:#3b82f6;--info-light:#dbeafe;--info-dark:#1e40af;--white:#FFFFFF;--gray-50:#F9FAFB;--gray-100:#F3F4F6;--gray-200:#E5E7EB;--gray-300:#D1D5DB;--gray-400:#9CA3AF;--gray-500:#6B7280;--gray-600:#4B5563;--gray-700:#374151;--gray-800:#1F2937;--gray-900:#111827;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--navy:#1e3a8a;--navy-dark:#1e3a5f;--navy-darker:#1a3a5c;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-dark:#374151;--text-heading:#111827;--border-light:#e2e8f0;--border-default:#e5e7eb;--border-dark:#d1d5db;--bg-page:#f8fafc;--bg-card:#ffffff;--bg-muted:#f1f5f9;--bg-hover:#f8fafc;--status-success:#059669;--status-success-light:#dcfce7;--status-warning:#d97706;--status-warning-light:#fef3c7;--status-danger:#dc2626;--status-danger-light:#fee2e2;--status-info:#2563eb;--status-info-light:#dbeafe;--status-partial:#e8a87c;--status-partial-light:#fef2f2;--green-dark:#1B5E20;--green-shop:#166534;--green-success-bg:#ffffff;--green-success-border:#22c55e;--teal-info:#0c5460;--teal-bg:#d1f2eb;--blue-link:#2563eb;--blue-info-bg:#e3f2fd;--blue-700:#1e40af;--blue-600:#007bff;--blue-teal:#1565c0;--amber-dark:#856404;--green-700:#2e7d32;--green-800:#155724;--gray-bootstrap:#6c757d;--gray-dark-bs:#495057;--gray-bg-bs:#f8f9fa;--gray-disabled:#c0c4cc;--navy-scope:#1a3a5c;--gray-scope:#667085;--gray-table:#4a5568;--gray-table-light:#718096;--emerald-500:#10b981;--black:#000000;--text-primary:#000000;--text-secondary:#374151;--text-tertiary:#6B7280;--text-muted:#9CA3AF;--bg-primary:#FFFFFF;--bg-secondary:#F9FAFB;--bg-tertiary:#F3F4F6;--bg-dark:#2c2c2c;--border-light:#E5E7EB;--border-medium:#D1D5DB;--border-dark:#9CA3AF;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--spacing-4xl:4rem;--spacing-5xl:5rem;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;}
/* ============================================================================GLOBAL STYLES============================================================================ */*{box-sizing:border-box;}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);margin:0;padding:0;}
/* ============================================================================UTILITY CLASSES============================================================================ */.d-none{display:none !important;}
.d-block{display:block !important;}
.d-inline{display:inline !important;}
.d-inline-block{display:inline-block !important;}
.d-flex{display:none !important;}
.d-inline-flex{display:inline-flex !important;}
.d-grid{display:grid !important;}
.flex-row{flex-direction:row !important;}
.flex-column{flex-direction:column !important;}
.justify-start{justify-content:flex-start !important;}
.justify-end{justify-content:flex-end !important;}
.justify-center{justify-content:center !important;}
.justify-between{justify-content:space-between !important;}
.justify-around{justify-content:space-around !important;}
.align-start{align-items:flex-start !important;}
.align-end{align-items:flex-end !important;}
.align-center{align-items:center !important;}
.align-stretch{align-items:stretch !important;}
.gap-xs{gap:var(--spacing-xs) !important;}
.gap-sm{gap:var(--spacing-sm) !important;}
.gap-md{gap:var(--spacing-md) !important;}
.gap-lg{gap:var(--spacing-lg) !important;}
.gap-xl{gap:var(--spacing-xl) !important;}
.m-0{margin:0 !important;}
.m-auto{margin:auto !important;}
.mt-0{margin-top:0 !important;}
.mt-xs{margin-top:var(--spacing-xs) !important;}
.mt-sm{margin-top:var(--spacing-sm) !important;}
.mt-md{margin-top:var(--spacing-md) !important;}
.mt-lg{margin-top:var(--spacing-lg) !important;}
.mt-xl{margin-top:var(--spacing-xl) !important;}
.mb-0{margin-bottom:0 !important;}
.mb-xs{margin-bottom:var(--spacing-xs) !important;}
.mb-sm{margin-bottom:var(--spacing-sm) !important;}
.mb-md{margin-bottom:var(--spacing-md) !important;}
.mb-lg{margin-bottom:var(--spacing-lg) !important;}
.mb-xl{margin-bottom:var(--spacing-xl) !important;}
.p-0{padding:0 !important;}
.p-xs{padding:var(--spacing-xs) !important;}
.p-sm{padding:var(--spacing-sm) !important;}
.p-md{padding:var(--spacing-md) !important;}
.p-lg{padding:var(--spacing-lg) !important;}
.p-xl{padding:var(--spacing-xl) !important;}
.pt-0{padding-top:0 !important;}
.pt-xs{padding-top:var(--spacing-xs) !important;}
.pt-sm{padding-top:var(--spacing-sm) !important;}
.pt-md{padding-top:var(--spacing-md) !important;}
.pt-lg{padding-top:var(--spacing-lg) !important;}
.pb-0{padding-bottom:0 !important;}
.pb-xs{padding-bottom:var(--spacing-xs) !important;}
.pb-sm{padding-bottom:var(--spacing-sm) !important;}
.pb-md{padding-bottom:var(--spacing-md) !important;}
.pb-lg{padding-bottom:var(--spacing-lg) !important;}
.text-left{text-align:left !important;}
.text-center{text-align:center !important;}
.text-right{text-align:right !important;}
.text-xs{font-size:var(--font-size-xs) !important;}
.text-sm{font-size:var(--font-size-sm) !important;}
.text-base{font-size:var(--font-size-base) !important;}
.text-lg{font-size:var(--font-size-lg) !important;}
.text-xl{font-size:var(--font-size-xl) !important;}
.text-2xl{font-size:var(--font-size-2xl) !important;}
.text-3xl{font-size:var(--font-size-3xl) !important;}
.text-4xl{font-size:var(--font-size-4xl) !important;}
.font-normal{font-weight:var(--font-weight-normal) !important;}
.font-medium{font-weight:var(--font-weight-medium) !important;}
.font-semibold{font-weight:var(--font-weight-semibold) !important;}
.font-bold{font-weight:var(--font-weight-bold) !important;}
.text-primary{color:var(--text-primary) !important;}
.text-secondary{color:var(--text-secondary) !important;}
.text-tertiary{color:var(--text-tertiary) !important;}
.text-muted{color:var(--text-muted) !important;}
.text-success{color:var(--success) !important;}
.text-warning{color:var(--warning) !important;}
.text-danger{color:var(--danger) !important;}
.text-info{color:var(--info) !important;}
.rounded-none{border-radius:var(--radius-none) !important;}
.rounded-sm{border-radius:var(--radius-sm) !important;}
.rounded-md{border-radius:var(--radius-md) !important;}
.rounded-lg{border-radius:var(--radius-lg) !important;}
.rounded-xl{border-radius:var(--radius-xl) !important;}
.rounded-2xl{border-radius:var(--radius-2xl) !important;}
.rounded-full{border-radius:var(--radius-full) !important;}
.w-full{width:100% !important;}
.w-auto{width:auto !important;}
.cursor-pointer{cursor:pointer !important;}
.select-none{user-select:none !important;}
.opacity-50{opacity:0.5 !important;}
.min-w-160{min-width:160px !important;}
.italic{font-style:italic !important;}
.mr-sm{margin-right:var(--spacing-sm) !important;}
.ml-sm{margin-left:var(--spacing-sm) !important;}
.uppercase{text-transform:uppercase !important;}
.tracking-wide{letter-spacing:0.5px !important;}
.border-gray{border:1px solid #ddd !important;}
.border-black{border:1px solid #000000 !important;}
.bg-white{background:white !important;}
.align-middle{vertical-align:middle !important;}
.text-black{color:#000000 !important;}
.text-gray-500{color:#666 !important;}
.w-18{width:18px !important;}
.h-18{height:18px !important;}
.modal-overlay{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;background:rgba(0,0,0,0.5) !important;display:none !important;align-items:center !important;justify-content:center !important;z-index:10000 !important;}
.modal-overlay.active{display:flex !important;}
.badge{padding:0.25rem 0.5rem !important;border-radius:1rem !important;font-size:0.75rem !important;font-weight:500 !important;display:inline-block !important;}
.badge-success{background-color:rgba(16,185,129,0.1) !important;color:var(--success) !important;}
.p-2xl{padding:var(--spacing-2xl) !important;}
.mr-xs{margin-right:var(--spacing-xs) !important;}
.mr-md{margin-right:var(--spacing-md) !important;}
.text-5xl{font-size:3rem !important;}
.divider{margin:8px 0 !important;border:none !important;border-top:1px solid var(--gray-300) !important;}
.alert-warning{background-color:var(--warning) !important;color:white !important;padding:0.5rem !important;border-radius:0.25rem !important;margin-top:0.5rem !important;font-size:0.875rem !important;}
.ryc-table td,.ryc-table th{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.badge,.tag,.chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle;}
.card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.form-input{max-width:100%;}
textarea.form-input,.form-textarea{white-space:pre-wrap;word-wrap:break-word;}
/* ═══════════════════════════════════════════════TABLES — universal base stylesApplied to ALL tables (element selector)Page-specific CSS can override═══════════════════════════════════════════════ */.ryc-table{width:100%;border-collapse:collapse;font-size:0.9rem;background:#fff;}
.ryc-table thead th,.ryc-table th{background:#f1f5f9;padding:10px 14px;text-align:left;font-weight:600;font-size:0.82rem;color:#1e293b;border-bottom:2px solid #e2e8f0;white-space:nowrap;}
.ryc-table tbody td,.ryc-table td{padding:10px 14px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:0.88rem;vertical-align:top;max-width:350px;overflow:hidden;text-overflow:ellipsis;}
.ryc-table tbody tr:hover{background:#f8fafc;}
.ryc-table tbody tr:last-child td{border-bottom:none;}
.table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;}
.table-wrap .ryc-table{margin-bottom:0;}
.ryc-table .empty-row td{text-align:center;padding:32px 14px;color:#94a3b8;font-style:italic;}
/* ═══════════════════════════════════════════════TABS — universal base styles═══════════════════════════════════════════════ */.ryc-tabs,.tab-nav,.tabs-nav{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.ryc-tab,.tab-nav button,.tab-nav a,.tabs-nav button,.tabs-nav a,[role="tab"]{padding:10px 20px;cursor:pointer;font-weight:500;font-size:0.88rem;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color 0.2s,border-color 0.2s;white-space:nowrap;text-decoration:none;}
.ryc-tab:hover,.tab-nav button:hover,.tab-nav a:hover,.tabs-nav button:hover,.tabs-nav a:hover,[role="tab"]:hover{color:#1e293b;}
.ryc-tab.active,.tab-nav button.active,.tab-nav a.active,.tabs-nav button.active,.tabs-nav a.active,[role="tab"].active,[role="tab"][aria-selected="true"]{color:#1e3a5f;border-bottom-color:#1e3a5f;font-weight:600;}
.tab-content,.tab-pane,.ryc-tab-content{display:none;}
.tab-content.active,.tab-pane.active,.ryc-tab-content.active{display:block;}
/* ═══════════════════════════════════════════════BADGES / STATUS — consistent across tables═══════════════════════════════════════════════ */.badge,.status-badge,.tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:0.78rem;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#f1f5f9;color:#475569;}
.badge.critical,.status-badge.critical{background:#f8fafc;color:#dc2626;}
.badge.high,.status-badge.high{background:#f8fafc;color:#ea580c;}
.badge.medium,.status-badge.medium{background:#f8fafc;color:#b45309;}
.badge.low,.status-badge.low{background:#f8fafc;color:#16a34a;}
.badge.info,.status-badge.info{background:#f8fafc;color:#2563eb;}
.badge.complete,.status-badge.complete{background:#f8fafc;color:#16a34a;}
.badge.pending,.status-badge.pending{background:#f8fafc;color:#b45309;}
.badge.overdue,.status-badge.overdue{background:#f8fafc;color:#dc2626;}
/* ═══════════════════════════════════════════════CARDS — consistent base═══════════════════════════════════════════════ */.ryc-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:16px;}
.ryc-card-header{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:12px;}
/* ═══════════════════════════════════════════════FORM ELEMENTS — consistent base═══════════════════════════════════════════════ */.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:0.88rem;color:#1e293b;background:#fff;transition:border-color 0.2s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px rgba(30,58,95,0.1);}
.assessment-page table td,.assessment-page table th{max-width:none;white-space:normal;overflow:visible;text-overflow:unset;}
