:root{--bg: #f8f9fa;--card: #fff;--input-bg: #f4fbfb;--border: #e2e8f0;--border-hover: #cbd5e0;--text: #2d3748;--text-secondary: #4a5568;--muted: #718096;--placeholder: #a0aec0;--primary: #4BB7BC;--primary-end: #8CD1D4;--primary-dark: #3a9a9f;--primary-mid: #8CD1D4;--primary-light: #C9E9EB;--primary-gradient: linear-gradient(135deg, #4BB7BC 0%, #8CD1D4 100%);--primary-gradient-horizontal: linear-gradient(90deg, #4BB7BC, #8CD1D4);--primary-hover: #7ac4c8;--primary-shadow: rgba(75, 183, 188, .25);--focus-ring: rgba(75, 183, 188, .2);--success: #48bb78;--success-bg: #c6f6d5;--success-text: #2f855a;--warning: #ed8936;--warning-bg: #fef5e7;--warning-text: #744210;--danger: #c53030;--danger-bg: #fed7d7;--danger-border: #feb2b2;--info-bg: #C9E9EB;--info-text: #2d7a7e;--neutral-bg: #e2e8f0;--neutral-text: #4a5568;--table-header-bg: #f0fafa;--table-row-hover: #f4fbfb;--table-border: #e8f4f4;--login-bg: linear-gradient(135deg, #4BB7BC 0%, #8CD1D4 100%);--login-container-shadow: 0 20px 40px rgba(0, 0, 0, .1);--login-container-radius: 12px;--login-container-max-width: 400px;--login-input-border: 2px solid #e2e8f0;--login-step-shadow: 0 4px 12px rgba(75, 183, 188, .35);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--nav-shadow: 0 2px 10px rgba(0, 0, 0, .1)}.admin-container:not(.facility-layout){--primary: #667eea;--primary-dark: #5a67d8;--primary-end: #764ba2;--primary-mid: #667eea;--primary-light: #a3bffa;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-gradient-horizontal: linear-gradient(90deg, #667eea, #764ba2);--primary-hover: #5a67d8;--primary-shadow: rgba(102, 126, 234, .35);--focus-ring: rgba(102, 126, 234, .2);--input-bg: #f7fafc;--info-bg: #bee3f8;--info-text: #2b6cb0;--table-header-bg: #f7fafc;--table-row-hover: #f8f9fa;--table-border: #f1f5f9}.admin-container:not(.facility-layout) .admin-header .btn,.admin-container:not(.facility-layout) .admin-header .logout-button{color:#fff}.admin-container{min-height:100vh;display:flex;flex-direction:column}.admin-header{position:sticky;top:0;z-index:100;background:var(--primary-dark);color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.admin-header .btn,.admin-header .logout-button{background:var(--primary-mid);color:var(--text);border:1px solid rgba(0,0,0,.08)}.admin-header .logout-button:hover{background:var(--primary-hover)}.admin-header .btn:hover{background:var(--primary-hover);color:var(--text)}.admin-header .header-left h1{font-size:24px;font-weight:600;margin:0 0 4px}.admin-header .header-left p{font-size:14px;opacity:.9;margin:0}.admin-header .header-right,.admin-header .admin-info{display:flex;align-items:center;gap:15px}.admin-header .logout-button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.admin-container .tab-navigation{position:sticky;top:0;z-index:99;background:#fff;border-bottom:1px solid var(--border);display:flex;padding:0 30px;box-shadow:0 1px 0 var(--border)}.admin-container .tab{padding:16px 24px;cursor:pointer;border:none;border-bottom:3px solid transparent;font-weight:500;color:var(--muted);background:none;font-size:1rem;transition:all .2s ease}.admin-container .tab:hover{color:var(--text-secondary);background-color:var(--input-bg)}.admin-container .tab.active{color:var(--primary);border-bottom-color:var(--primary);background-color:var(--input-bg)}.global-dev-mode-toggle{background:#fff;padding:16px 30px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.global-dev-mode-toggle .checkbox-label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-secondary);cursor:pointer}.global-dev-mode-toggle .help-text{color:var(--muted);font-size:12px;margin-left:26px}.admin-container .main-content{flex:1;padding:24px 30px}.admin-container .content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:1rem}.admin-container .content-header h2{font-size:20px;font-weight:600;color:var(--text);margin:0}.admin-container .header-actions{display:flex;align-items:center;gap:12px}.primary-button{background:var(--primary-mid);color:var(--text);border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-shadow)}.secondary-button{background:#fff;color:var(--text-secondary);border:1px solid var(--border);padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.secondary-button:hover{background:var(--input-bg);border-color:var(--border-hover)}.delete-button{background:var(--danger);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-button:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 4px 12px #e53e3e4d}.corporations-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.corporations-table{width:100%;border-collapse:collapse}.corporations-table th,.corporations-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--table-border);font-size:14px}.corporations-table th{background:var(--table-header-bg);font-weight:600;color:var(--text-secondary)}.corporations-table td code,.corporations-table .auto-generated-text,.preview-id{font-size:14px;font-family:Courier New,monospace}.corporations-table tr:hover{background-color:var(--table-row-hover)}.corporations-table .loading{text-align:center;color:var(--muted);font-style:italic}.corporation-section{margin-bottom:32px}.corporation-header{background:var(--primary-dark);color:#fff;padding:16px 20px;border-radius:8px 8px 0 0;margin-bottom:0;display:flex;justify-content:space-between;align-items:center}.corporation-header-info{flex:1}.corporation-header-title,.corporation-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.corporation-header .facility-count{font-size:14px;opacity:.9;margin-top:4px;color:#fffffff2}.corporation-header .add-facility-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.corporation-header .add-facility-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px);color:#fff}.corporation-facilities{background:#fff;border-radius:0 0 8px 8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.corporation-facilities .facilities-table{margin:0;width:100%;border-collapse:collapse}.corporation-facilities .facilities-table th{background:#f7fafc;padding:12px 16px;text-align:left;font-weight:600;color:#4a5568;border-bottom:1px solid #e2e8f0;font-size:14px}.corporation-facilities .facilities-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:14px}.corporation-facilities .facilities-table tr:hover{background-color:#f8f9fa}.corporation-facilities .facilities-table tr:last-child td{border-bottom:none}.corporation-facilities .facilities-table td code{font-size:14px;font-family:Courier New,monospace}.corporation-facilities .action-buttons{display:flex;gap:8px;flex-wrap:wrap}.edit-btn{background:#4299e1;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;margin-right:6px;transition:all .2s ease}.edit-btn:hover{background:#3182ce}.reset-btn{background:var(--warning);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;margin-right:6px;transition:all .2s ease}.reset-btn:hover{background:#dd6b20}.delete-btn{background:#f56565;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#e53e3e}.modal{position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.modal .modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .3s ease-out;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal .modal-header h3{font-size:18px;font-weight:600;color:var(--text);margin:0}.modal .modal-close{background:none;border:none;font-size:24px;color:var(--placeholder);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.modal .modal-close:hover{background:var(--input-bg);color:var(--text-secondary)}.modal .modal-form{padding:24px}.modal .form-group{margin-bottom:20px}.modal .form-group label{display:block;font-weight:500;color:var(--text-secondary);margin-bottom:6px;font-size:14px}.modal .form-group input,.modal .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s ease}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.modal .form-group small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}.modal .modal-actions.modal-actions-spw{justify-content:space-between;align-items:center}.modal .modal-actions .modal-actions-right{display:flex;gap:8px}.auto-generated-field{padding:4px 0}.auto-generated-text{color:var(--muted);font-style:italic;font-size:14px;display:block;margin-bottom:4px}.auto-generated-field small{color:var(--muted);font-size:12px}.preview-id{margin:8px 0;padding:8px 12px;background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;display:flex;align-items:center;gap:8px}.preview-label{color:#1976d2;font-size:13px;font-weight:500}.preview-value{color:#0d47a1;font-size:14px;font-weight:600;font-family:Courier New,monospace}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-active{background:var(--success-bg);color:var(--success-text)}.status-inactive{background:var(--muted-bg, #f0f0f0);color:var(--muted-text, #666)}.facility-layout{--sticky-header-height: 90px}.facility-layout .admin-header{background:#c9e9eb;color:var(--text)}.facility-layout .admin-header .btn,.facility-layout .admin-header .logout-button{background:#8cd1d4}.facility-layout .admin-header .btn:hover,.facility-layout .admin-header .logout-button:hover{background:var(--primary-hover)}.facility-layout .facility-header-subtitle{font-size:14px;opacity:.95;margin:4px 0 0}.facility-layout .facility-main{padding:24px 30px}.facility-layout .tab-navigation{top:var(--sticky-header-height, 90px)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.btn{display:inline-block;padding:.5rem 1rem;border-radius:6px;border:none;font-size:.9rem;font-weight:500;cursor:pointer;background:var(--primary-mid);color:var(--text);transition:all .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-shadow);background:var(--primary-hover)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:var(--card);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--input-bg);border-color:var(--border-hover);box-shadow:none}.card-list-tab{padding:.35rem .75rem;font-size:.9rem;border-radius:6px;border:1px solid var(--border);cursor:pointer;background:var(--primary-light);color:var(--text);font-weight:500;transition:background .2s ease}.card-list-tab:hover{background:var(--primary-mid)}.card-list-tab.selected{background:var(--primary-mid);font-weight:700;border-color:var(--primary)}.card-list-tab.card-list-tab-sm{padding:.25rem .5rem;font-size:.85rem}.card-list-tab.card-list-tab-fixed{box-sizing:border-box;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006}.modal-overlay .modal-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;box-shadow:0 8px 24px #00000026}input,select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:var(--input-bg);transition:all .2s ease}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-secondary);font-size:14px}.form-group{margin-bottom:1rem}.nav{position:sticky;top:0;z-index:100;background:var(--primary-dark);color:#fff;padding:20px 30px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.nav>div{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.nav a{color:#ffffffe6;font-weight:500;padding:8px 12px;border-radius:6px;text-decoration:none;border-bottom:3px solid transparent;transition:all .2s ease}.nav a:hover{background:#ffffff1a;color:#fff;text-decoration:none}.nav a.active{color:#fff;border-bottom-color:#fff;background:#ffffff26;text-decoration:none}.nav .nav-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.nav .nav-user{font-size:.9rem;color:#ffffffe6}.nav .btn-logout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.nav .btn-logout:hover{background:#ffffff4d}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-draft{background:var(--neutral-bg);color:var(--text-secondary)}.badge-submitted{background:var(--info-bg);color:var(--info-text)}.badge-locked,.badge-compliant{background:var(--success-bg);color:var(--success-text)}.badge-minor_gap{background:var(--warning-bg);color:var(--warning-text)}.badge-non_compliant{background:var(--danger-bg);color:var(--danger)}.badge-unknown{background:var(--neutral-bg);color:var(--muted)}.badge-high{background:var(--danger-bg);color:var(--danger)}.badge-medium{background:var(--warning-bg);color:var(--warning-text)}.badge-low{background:var(--neutral-bg);color:var(--muted)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--table-border);font-size:14px}th{font-weight:600;color:var(--text-secondary);background:var(--table-header-bg)}tr:hover{background-color:var(--table-row-hover)}.facility-submissions-table td code{font-size:14px;font-family:inherit;font-weight:inherit}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--login-bg);font-family:var(--font-sans)}.login-container{background:var(--card);border-radius:var(--login-container-radius);box-shadow:var(--login-container-shadow);width:100%;max-width:var(--login-container-max-width);padding:40px;position:relative;overflow:hidden;animation:loginFadeIn .6s ease-out}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-dark)}.login-header{text-align:center;margin-bottom:40px}.login-header h1{font-size:24px;font-weight:600;color:var(--text);margin-bottom:8px}.login-header p{font-size:16px;color:var(--muted);font-weight:400}.login-step-indicator{display:flex;justify-content:center;margin-bottom:30px}.login-step{display:flex;flex-direction:column;align-items:center}.login-step-number{width:40px;height:40px;border-radius:50%;background:var(--primary-mid);color:var(--text);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;margin-bottom:8px;box-shadow:var(--login-step-shadow)}.login-step-label{font-size:12px;color:var(--primary);font-weight:600}.login-form-container,.login-form-group{margin-bottom:24px}.login-form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.login-form-group input{width:100%;padding:12px 16px;border:var(--login-input-border);border-radius:var(--radius-md);font-size:16px;background:var(--input-bg);box-sizing:border-box}.login-form-group input:focus{outline:none;border-color:var(--primary);background:var(--card);box-shadow:0 0 0 3px var(--focus-ring)}.login-form-group input::placeholder{color:var(--placeholder)}.login-google-btn{width:100%;padding:12px 16px;background:var(--card);color:var(--text-secondary);border:var(--login-input-border);border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;font-family:var(--font-sans)}.login-google-btn:hover{border-color:var(--border-hover);background:var(--input-bg);box-shadow:0 2px 8px #0000001a}.login-google-btn:disabled{opacity:.7;cursor:not-allowed}.login-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--placeholder);font-size:14px}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.login-divider span{padding:0 16px}.login-submit-btn{width:100%;padding:14px 24px;background:var(--primary-mid);color:var(--text);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease}.login-submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px var(--primary-shadow)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-error{padding:12px 16px;border-radius:var(--radius-md);margin-top:16px;font-size:14px;font-weight:500;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.login-footer{text-align:center;padding-top:20px;border-top:1px solid var(--border);margin-top:24px}.login-footer p{font-size:12px;color:var(--placeholder)}.login-step2-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);position:relative;z-index:10;pointer-events:auto}.login-step2-header-row{margin-bottom:8px}.login-step2-back-row{display:flex;justify-content:flex-end}.login-user-info{font-size:14px;color:var(--text-secondary);font-weight:500;margin:0}.login-back-button{background:none;border:none;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;padding:10px 16px;border-radius:var(--radius-sm);transition:all .2s ease;font-family:var(--font-sans);position:relative;z-index:11;min-width:88px;min-height:40px;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.login-back-button:hover{background:var(--input-bg)}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
