@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');:root{--sidebar-bg: #00466b;--sidebar-dark: #003354;--accent: #0079bf;--accent-hover: #0068a3;--accent-light: #eff8ff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--border-light: #f1f5f9;--sidebar-text: rgba(255,255,255,0.68);--sidebar-text-hover: #ffffff;--sidebar-hover: rgba(255,255,255,0.08);--success: #0a7b4d;--success-bg: #ecfdf5;--success-border: #a7f3d0;--danger: #c0392b;--danger-bg: #fef2f2;--danger-border: #fecaca;--warning: #9a7d0a;--warning-bg: #fffbeb;--warning-border: #fde68a;--info: #0079bf;--info-bg: #eff8ff;--info-border: #bae6fd;--transition: .15s ease;--transition-fast: .1s ease;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.04);--shadow: 0 4px 6px -1px rgba(0,0,0,.06),0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -2px rgba(0,0,0,.04);--sidebar-w: clamp(220px,17vw,264px);--topbar-h: 64px}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}body{font-family: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size: 15px;line-height: 1.5;color: var(--text-primary);background: var(--bg);min-height: 100vh;-webkit-font-smoothing: antialiased}.form-group{margin-bottom: 18px}.form-group label{display: block;font-size: 12px;font-weight: 600;color: var(--text-secondary);margin-bottom: 6px;text-transform: uppercase;letter-spacing: 0.5px}.form-group input,.form-group select,.form-group textarea{width: 100%;padding: 10px 14px;border: 1.5px solid var(--border);border-radius: var(--radius);font-size: 15px;font-family: inherit;color: var(--text-primary);background: var(--surface);outline: none;transition: border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color: var(--accent);box-shadow: 0 0 0 3px rgba(0,121,191,.10)}.form-group select{cursor: pointer;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 12px center;padding-right: 36px}.form-group input:disabled,.form-group select:disabled{background: var(--bg);color: var(--text-muted);cursor: not-allowed}.form-group input[readonly]{background: var(--bg);color: var(--text-secondary);cursor: default}.alert{display: flex;align-items: flex-start;gap: 10px;padding: 12px 16px;border-radius: var(--radius);margin-bottom: 16px;font-size: 14px;border: 1px solid;position: relative;overflow: hidden;transition: opacity .25s,max-height .3s,margin-bottom .3s,padding .3s}.alert-icon{width: 16px;height: 16px;flex-shrink: 0;margin-top: 1px}.alert::after{content: '';position: absolute;bottom: 0;left: 0;height: 3px;width: 100%;background: currentColor;opacity: 0.25;transform-origin: left}.alert-success::after{animation: alert-shrink 4s linear forwards}.alert-info::after{animation: alert-shrink 5s linear forwards}.alert-error::after,.alert-warning::after,.alert[data-persist]::after{display: none}@keyframes alert-shrink{from{transform: scaleX(1)}to{transform: scaleX(0)}} .alert > span{flex: 1;line-height: 1.45}.alert-dismiss{flex-shrink: 0;background: none;border: none;cursor: pointer;color: inherit;opacity: 0.45;padding: 2px;margin: -2px -2px -2px 4px;display: flex;align-items: center;justify-content: center;border-radius: 4px;transition: opacity .15s,background .15s}.alert-dismiss:hover{opacity: 1;background: rgba(0,0,0,.07)}.alert-dismiss [data-lucide]{width: 14px;height: 14px;pointer-events: none}.alert-error{background: var(--danger-bg);color: var(--danger);border-color: var(--danger-border)}.card{background: var(--surface);border-radius: var(--radius-lg);padding: 24px;border: 1px solid var(--border);box-shadow: var(--shadow-sm);margin-bottom: 20px}.nav-group-toggle{display: flex;align-items: center;gap: 10px;width: calc(100% - 16px);margin: 1px 8px;padding: 9px 12px;background: none;border: none;border-radius: var(--radius);color: var(--sidebar-text);font-size: 14px;font-weight: 500;font-family: inherit;cursor: pointer;text-align: left;transition: background .15s,color .15s}.nav-group-toggle .nav-icon{width: 17px;height: 17px;flex-shrink: 0}.nav-group-toggle .nav-label{flex: 1}.nav-group-toggle:hover{background: var(--sidebar-hover);color: var(--sidebar-text-hover)}.nav-group-toggle.active{background: rgba(255,255,255,0.14);color: #fff;font-weight: 600}.nav-arrow{width: 14px;height: 14px;flex-shrink: 0;opacity: 0.45;transition: transform .2s}.nav-group.open .nav-arrow{transform: rotate(180deg)}.nav-group-items{max-height: 0;overflow: hidden;transition: max-height .25s ease}.nav-group.open .nav-group-items{max-height: 600px}.nav-group-items a{display: block;padding: 8px 12px 8px 39px;margin: 1px 8px;color: var(--sidebar-text);text-decoration: none;font-size: 13.5px;font-weight: 500;border-radius: var(--radius);transition: background .15s,color .15s}.nav-group-items a:hover{background: var(--sidebar-hover);color: var(--sidebar-text-hover)}.nav-group-items a.active{background: rgba(255,255,255,0.14);color: #fff;font-weight: 600}.alert-success{background: var(--success-bg);color: var(--success);border-color: var(--success-border)}.alert-warning{background: var(--warning-bg);color: var(--warning);border-color: var(--warning-border)}.alert-info{background: var(--info-bg);color: var(--info);border-color: var(--info-border)}.page-hero{display: flex;align-items: flex-end;justify-content: space-between;gap: 12px;flex-wrap: wrap;margin-bottom: 28px}.page-hero-title{font-size: 22px;font-weight: 700;color: var(--text-primary);letter-spacing: -0.4px}.page-hero-sub{font-size: 13px;color: var(--text-muted);margin-top: 4px}.table-wrap{background: var(--surface);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);border: 1px solid var(--border);overflow-x: auto;-webkit-overflow-scrolling: touch}.data-table{width: 100%;border-collapse: collapse;font-size: 14px;min-width: 520px}.data-table th{background: var(--bg);padding: 0;text-align: left;border-bottom: 1px solid var(--border);white-space: nowrap}.data-table td{padding: 13px 16px;border-bottom: 1px solid var(--border-light);color: var(--text-secondary);vertical-align: middle}.data-table tbody tr:last-child td{border-bottom: none}.data-table tbody tr:hover{background: var(--border-light)}.data-table .text-center{text-align: center}.data-table .text-right{text-align: right}.data-table thead tr:first-child th:first-child{border-top-left-radius: var(--radius-lg)}.data-table thead tr:first-child th:last-child{border-top-right-radius: var(--radius-lg)}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius: var(--radius-lg)}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius: var(--radius-lg)}.th-label{display: block;padding: 11px 16px;font-size: 11px;font-weight: 700;color: var(--text-muted);text-transform: uppercase;letter-spacing: 0.6px}.th-btn{display: flex;align-items: center;gap: 5px;width: 100%;padding: 11px 16px;background: none;border: none;font-size: 11px;font-weight: 700;font-family: inherit;color: var(--text-muted);text-transform: uppercase;letter-spacing: 0.6px;cursor: pointer;white-space: nowrap;text-align: left;transition: background .12s,color .12s}.th-btn:hover{background: rgba(0,0,0,.03);color: var(--text-secondary)}.th-btn--active{color: var(--accent)}.th-sort-icon{width: 11px;height: 11px;opacity: 0.3;flex-shrink: 0}.th-btn--active .th-sort-icon{opacity: 0.85}.th-has-filter{background: var(--accent-light) !important}.th-has-filter .th-btn{color: var(--accent)}.th-has-filter .th-sort-icon{opacity: 0.85}.th-wrap{position: relative;display: inline-block;width: 100%}.th-dropdown{display: none;position: fixed;min-width: 190px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);z-index: 400;overflow: hidden;padding: 4px 0}.th-dropdown.open{display: block}.th-dropdown-item{display: flex;align-items: center;gap: 9px;width: 100%;padding: 8px 14px;font-size: 13px;font-family: inherit;font-weight: 500;color: var(--text-secondary);background: none;border: none;cursor: pointer;text-align: left;text-decoration: none;transition: background .1s,color .1s}.th-dropdown-item:hover{background: var(--accent-light);color: var(--text-primary)}.th-dropdown-item--active{color: var(--accent);font-weight: 600}.th-dropdown-item--active::after{content: '✓';margin-left: auto;font-size: 12px}.th-dropdown-item [data-lucide]{width: 13px;height: 13px;flex-shrink: 0;opacity: 0.7}.th-dropdown-divider{height: 1px;background: var(--border-light);margin: 4px 0}.th-inline-arrow{width: 11px;height: 11px;vertical-align: middle;display: inline-block;opacity: 0.7}.th-dropdown-label{padding: 5px 14px 2px;font-size: 10px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.5px;color: var(--text-muted)}.table-toolbar{display: flex;align-items: center;justify-content: space-between;margin-bottom: 16px;gap: 12px;flex-wrap: wrap}.search-box{position: relative;display: flex;align-items: center;gap: 8px;background: var(--surface);border: 1.5px solid var(--border);border-radius: var(--radius);padding: 0 12px;flex: 1;min-width: 0;max-width: 360px;color: var(--text-muted);transition: border-color .2s,box-shadow .2s}.search-box:focus-within{border-color: var(--accent);box-shadow: 0 0 0 3px rgba(0,121,191,.08)}.search-icon{flex-shrink: 0;width: 15px;height: 15px;pointer-events: none}.search-box input{border: none;outline: none;padding: 9px 0;font-size: 14px;width: 100%;background: transparent;color: var(--text-primary);font-family: inherit}.search-box input::placeholder{color: var(--text-muted)}.search-dropdown{display: none;position: absolute;top: calc(100% + 4px);left: -1px;right: -1px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);z-index: 200;overflow: hidden}.search-dropdown.open{display: block}.search-suggestion{display: flex;align-items: center;gap: 10px;padding: 9px 14px;text-decoration: none;color: var(--text-primary);border-bottom: 1px solid var(--border-light);transition: background .1s}.search-suggestion:last-child{border-bottom: none}.search-suggestion:hover,.search-suggestion.focused{background: var(--accent-light)}.suggestion-label{flex: 1;font-size: 14px;font-weight: 500}.suggestion-meta{font-size: 12px;color: var(--text-muted)}.search-no-results{padding: 14px;text-align: center;font-size: 13px;color: var(--text-muted)}.btn{display: inline-flex;align-items: center;gap: 6px;padding: 9px 18px;border-radius: var(--radius);font-size: 14px;font-weight: 600;font-family: inherit;text-decoration: none;border: none;cursor: pointer;white-space: nowrap;line-height: 1;transition: background .15s,opacity .15s,box-shadow .15s}.btn:active{opacity: .85}.btn-sm{padding: 6px 12px;font-size: 13px}.btn-primary{background: var(--accent);color: #fff}.btn-primary:hover{background: var(--accent-hover)}.btn-signing-in{background: var(--accent) !important;color: #fff !important;opacity: 0.6;cursor: not-allowed;pointer-events: none}.btn-spinner{width: 13px;height: 13px;border: 2px solid rgba(255,255,255,0.35);border-top-color: #fff;border-radius: 50%;animation: btn-spin .7s linear infinite;flex-shrink: 0}@keyframes btn-spin{to{transform: rotate(360deg)}} .btn-success{background: var(--success);color: #fff}.btn-success:hover{opacity: .88}.btn-danger{background: var(--danger);color: #fff}.btn-danger:hover{opacity: .88}.btn-outline-danger{background: transparent;color: var(--danger);border: 1.5px solid var(--danger)}.btn-outline-danger:hover{background: var(--danger-bg)}.btn-secondary{background: var(--bg);color: var(--text-secondary);border: 1.5px solid var(--border)}.btn-secondary:hover{background: var(--border-light)}.btn-disabled,.btn:disabled{opacity: 0.45;cursor: not-allowed;pointer-events: none}.form-row{display: flex;gap: 16px;flex-wrap: wrap;margin-bottom: 18px}.form-row .form-group{flex: 1;min-width: 200px;margin-bottom: 0}.form-actions{display: flex;gap: 10px;margin-top: 24px;flex-wrap: wrap}.form-actions.region-section-save{margin-top: 14px;justify-content: flex-end}.pagination{display: flex;align-items: center;justify-content: center;gap: 4px;padding: 16px;font-size: 13px;flex-wrap: wrap}.pagination a,.pagination span{display: inline-flex;align-items: center;justify-content: center;min-width: 34px;height: 34px;padding: 0 8px;border-radius: var(--radius);text-decoration: none;color: var(--text-secondary);font-weight: 500;transition: background .15s}.pagination a:hover{background: var(--border-light)}.pagination .active{background: var(--accent);color: #fff}.pagination .disabled{color: var(--border);pointer-events: none}.pagination-info{font-size: 13px;color: var(--text-muted);text-align: center;padding: 0 16px 12px}.badge{display: inline-flex;align-items: center;padding: 3px 10px;border-radius: 20px;font-size: 12px;font-weight: 600;letter-spacing: 0.2px}.badge-active{background: var(--success-bg);color: var(--success)}.badge-inactive{background: var(--danger-bg);color: var(--danger)}.badge-you{background: var(--info-bg);color: var(--info);margin-left: 6px}.badge-log-error{background: var(--danger-bg);color: var(--danger)}.badge-log-warn{background: var(--warning-bg);color: var(--warning)}.badge-log-notice{background: var(--info-bg);color: var(--info)}.matrix-table th,.matrix-table td{text-align: center}.matrix-table td:first-child{text-align: left}.matrix-table input[type="checkbox"]{width: 16px;height: 16px;accent-color: var(--accent);cursor: pointer}.matrix-th-section,.matrix-th-role{border-bottom: 2px solid var(--border) !important}.matrix-th-label{display: block;padding: 12px 16px;font-size: 11px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-muted);text-align: left}.matrix-role-name{display: block;padding: 12px 16px;font-size: 13px;font-weight: 600;color: var(--text-primary);letter-spacing: -0.1px}.matrix-section-label{font-size: 14px;font-weight: 500;color: var(--text-primary)}.card-heading{font-size: 17px;font-weight: 700;margin-bottom: 16px;letter-spacing: -0.3px}.card-lead{font-size: 14px;color: var(--text-secondary);margin-bottom: 16px}.card-spaced{margin-top: 24px}.error-list{margin: 0;padding-left: 18px}.form-inline{display: inline}.radio-group{margin-bottom: 10px}.radio-label{display: flex;align-items: center;gap: 6px;cursor: pointer}.radio-label + .radio-label{margin-top: 6px}.pw-checklist-wrap{margin-top: 10px;padding: 10px 14px;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg)}.pw-checklist{list-style: none;margin: 8px 0 0;padding: 0;display: flex;flex-direction: column;gap: 4px}.pw-checklist li{display: flex;align-items: center;gap: 6px;font-size: 12px;color: var(--text-muted);transition: color .2s}.pw-checklist li::before{content: '✕';font-size: 10px;font-weight: 700;width: 14px;flex-shrink: 0}.pw-checklist li.met{color: var(--success)}.pw-checklist li.met::before{content: '✓'}.pw-wrap{position: relative;display: flex;align-items: center}.pw-wrap input{flex: 1;padding-right: 40px}.pw-toggle{position: absolute;right: 10px;display: flex;align-items: center;justify-content: center;width: 24px;height: 24px;border: none;background: none;cursor: pointer;color: var(--text-muted);padding: 0;flex-shrink: 0;transition: color .15s}.pw-toggle:hover{color: var(--text-secondary)}.pw-toggle [data-lucide]{width: 16px;height: 16px;pointer-events: none}.action-menu{position: relative;display: inline-block}.action-icon-btn{display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: var(--radius);background: none;border: 1px solid transparent;cursor: pointer;color: var(--text-muted);padding: 0;transition: background .15s,color .15s,border-color .15s}.action-icon-btn:hover{background: var(--border-light);color: var(--text-secondary);border-color: var(--border)}.action-icon-btn:disabled{opacity: 0.35;cursor: not-allowed;pointer-events: none}.action-icon-btn [data-lucide]{width: 16px;height: 16px;pointer-events: none}.action-menu-dropdown{display: none;position: fixed;min-width: 164px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);z-index: 300;overflow: hidden;padding: 4px 0}.action-menu.open .action-menu-dropdown{display: block}.action-menu-item{display: flex;align-items: center;gap: 8px;width: 100%;padding: 8px 14px;font-size: 13px;font-family: inherit;font-weight: 500;text-decoration: none;color: var(--text-secondary);background: none;border: none;cursor: pointer;text-align: left;transition: background .1s}.action-menu-item:hover{background: var(--accent-light);color: var(--text-primary)}.action-menu-item [data-lucide]{width: 14px;height: 14px;flex-shrink: 0}.action-menu-item--danger{color: var(--danger)}.action-menu-item--danger:hover{background: var(--danger-bg);color: var(--danger)}.action-menu-item--success{color: var(--success)}.action-menu-item--success:hover{background: var(--success-bg);color: var(--success)}.action-menu-item--disabled{color: var(--text-muted);cursor: not-allowed;opacity: 0.55;pointer-events: none}.modal-overlay{position: fixed;inset: 0;background: rgba(0,0,0,0.40);display: flex;align-items: center;justify-content: center;z-index: 500;backdrop-filter: blur(2px)}.modal-overlay.hidden{display: none}.modal{background: var(--surface);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);width: 100%;max-width: 440px;margin: 16px;overflow: hidden;border: 1px solid var(--border)}.modal-header{display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;padding: 20px 20px 0 24px}.modal-title{font-size: 17px;font-weight: 700;color: var(--text-primary);letter-spacing: -0.3px;flex: 1}.modal-close{flex-shrink: 0;display: flex;align-items: center;justify-content: center;width: 28px;height: 28px;border: none;background: none;cursor: pointer;border-radius: var(--radius);color: var(--text-muted);padding: 0;margin-top: -2px;transition: background .15s,color .15s}.modal-close:hover{background: var(--border-light);color: var(--text-primary)}.modal-close [data-lucide]{width: 15px;height: 15px;pointer-events: none}.modal-body{padding: 12px 24px 20px;font-size: 14px;color: var(--text-secondary);line-height: 1.6}.modal-footer{display: flex;justify-content: flex-end;gap: 10px;padding: 16px 24px;border-top: 1px solid var(--border-light)}.btn-ghost{background: transparent;color: var(--accent);border: 1.5px solid var(--border)}.btn-ghost:hover{background: var(--border-light);border-color: var(--accent)}.form-section-divider{display: flex;align-items: center;gap: 12px;margin: 28px 0 20px;font-size: 11px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-muted)}.form-section-divider:empty{gap: 0}.form-section-divider::before,.form-section-divider::after{content: '';flex: 1;height: 1px;background: var(--border)}.empty-state{display: flex;flex-direction: column;align-items: center;padding: 56px 24px;color: var(--text-muted);gap: 10px}.empty-state [data-lucide]{width: 36px;height: 36px;opacity: 0.30}.empty-state p{font-size: 14px}.dash-welcome{margin-bottom: 32px;padding-bottom: 28px;border-bottom: 1px solid var(--border-light)}.dash-greeting{font-size: 24px;font-weight: 700;color: var(--text-primary);letter-spacing: -0.5px}.dash-sub{font-size: 13.5px;color: var(--text-muted);margin-top: 5px}.section-heading{font-size: 11px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-muted);margin-bottom: 14px}.stat-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(170px,1fr));gap: 16px;margin-bottom: 36px}.stat-card{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 22px 24px;display: flex;flex-direction: column;gap: 12px;box-shadow: var(--shadow-sm);transition: box-shadow var(--transition),border-color var(--transition)}.stat-card:hover{box-shadow: var(--shadow);border-color: var(--accent)}.stat-icon{display: inline-flex;align-items: center;justify-content: center;width: 38px;height: 38px;border-radius: var(--radius);flex-shrink: 0}.stat-icon [data-lucide]{width: 18px;height: 18px}.stat-icon--blue{background: var(--info-bg);color: var(--info)}.stat-icon--green{background: var(--success-bg);color: var(--success)}.stat-icon--amber{background: var(--warning-bg);color: var(--warning)}.stat-value{font-size: 32px;font-weight: 700;color: var(--text-primary);line-height: 1;letter-spacing: -0.8px}.stat-label{font-size: 12.5px;color: var(--text-muted);font-weight: 500}.action-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 12px;margin-bottom: 32px}.action-card{display: flex;align-items: center;gap: 14px;padding: 18px 20px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);text-decoration: none;color: var(--text-primary);box-shadow: var(--shadow-sm);transition: border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.action-card:hover{border-color: var(--accent);box-shadow: var(--shadow);transform: translateY(-1px)}.action-icon{display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: var(--radius);background: var(--accent-light);color: var(--accent);flex-shrink: 0}.action-icon [data-lucide]{width: 18px;height: 18px}.action-body{flex: 1;min-width: 0}.action-title{font-size: 14px;font-weight: 600;color: var(--text-primary)}.action-desc{font-size: 12px;color: var(--text-muted);margin-top: 2px}.action-arrow{flex-shrink: 0;color: var(--text-muted);transition: transform var(--transition)}.action-arrow [data-lucide]{width: 14px;height: 14px}.action-card:hover .action-arrow{transform: translateX(3px);color: var(--accent)}.pagination [data-lucide]{width: 14px;height: 14px}.pagination .ellipsis{color: var(--text-muted);min-width: 24px}.hidden{display: none}.card-form{max-width: 820px}@media (max-width: 520px){.table-toolbar{flex-direction: column;align-items: stretch}.table-toolbar .search-box{max-width: none}.table-toolbar .btn{justify-content: center}.data-table th{padding: 9px 12px}.data-table td{padding: 10px 12px}.page-hero-title{font-size: 19px}} .error-page-wrap{display: flex;justify-content: center;align-items: flex-start;padding-top: 60px}.error-card{text-align: center;max-width: 480px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 52px 40px;box-shadow: var(--shadow-sm)}.error-icon{margin-bottom: 24px;color: var(--accent)}.error-icon svg{width: 48px;height: 48px}.error-emoji{margin-bottom: 20px}.error-emoji img{width: 96px;height: 96px;object-fit: contain}.error-title{font-size: 20px;font-weight: 700;color: var(--text-primary);margin-bottom: 10px;letter-spacing: -0.3px}.error-body{font-size: 14px;color: var(--text-muted);margin-bottom: 28px;line-height: 1.6}.log-entry-count{font-size: 13px;color: var(--text-muted)}.log-ts{white-space: nowrap;color: var(--text-muted);font-size: 13px}.log-msg{max-width: 480px;word-break: break-word;font-size: 13px}.log-file{color: var(--text-muted);font-family: monospace;font-size: 12px;white-space: nowrap}.log-line{font-family: monospace;font-size: 13px}.log-empty{text-align: center;padding: 40px;color: var(--text-muted)}.import-form{max-width: 560px}.import-form .field-row{display: grid;grid-template-columns: 1fr 1fr;gap: 12px}.import-form hr{margin: 18px 0;border: none;border-top: 1px solid var(--border)}.import-form button{padding: 8px 22px;cursor: pointer;font-size: 14px}.import-form input[type="text"],.import-form input[type="password"],.import-form input[type="file"]{display: block;width: 100%;margin-bottom: 14px;padding: 7px 10px;border: 1px solid var(--border);border-radius: var(--radius);font-size: 14px;font-family: inherit}.import-form input[type="file"]{padding: 4px}.import-form label{display: block;margin-bottom: 5px;font-weight: 600;font-size: 13px}.import-server-wrap{margin-bottom: 14px}#import-results{margin-top: 24px}.result-row{padding: 6px 10px;border-radius: var(--radius);margin-bottom: 4px;font-size: 13px;font-family: monospace;word-break: break-word}.result-row.ok{background: var(--success-bg);color: var(--success)}.result-row.error{background: var(--danger-bg);color: var(--danger)}.import-summary{font-weight: 600;margin-bottom: 12px}.import-error{color: var(--danger)}.import-error pre{font-size: 12px;white-space: pre-wrap}.richtext-wrap{border: 1.5px solid var(--border);border-radius: var(--radius);overflow: hidden;transition: border-color .2s,box-shadow .2s}.richtext-wrap:focus-within{border-color: var(--accent);box-shadow: 0 0 0 3px rgba(0,121,191,.10)}.richtext-toolbar{display: flex;gap: 2px;padding: 6px;background: var(--bg);border-bottom: 1px solid var(--border);flex-wrap: wrap}.richtext-btn{display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;border: none;border-radius: var(--radius);background: none;color: var(--text-secondary);cursor: pointer;transition: background .15s,color .15s}.richtext-btn:hover{background: var(--border-light);color: var(--text-primary)}.richtext-btn [data-lucide]{width: 15px;height: 15px;pointer-events: none}.richtext-editor{min-height: 120px;max-height: 420px;overflow-y: auto;padding: 12px 14px;font-size: 15px;line-height: 1.6;background: var(--surface);outline: none}.richtext-editor p{margin-bottom: 10px}.richtext-editor p:last-child{margin-bottom: 0}.richtext-editor ul,.richtext-editor ol{padding-left: 22px;margin-bottom: 10px}.richtext-editor a{color: var(--accent)}.richtext-editor:empty::before{content: attr(data-placeholder);color: var(--text-muted)}.modal--lg{max-width: 640px}.modal--lg .modal-body{max-height: 70vh;overflow-y: auto}label.checkbox-label{display: flex;align-items: center;gap: 8px;font-size: 13.5px;font-weight: 500;text-transform: none;letter-spacing: normal;color: var(--text-secondary);cursor: pointer}.checkbox-label input[type="checkbox"]{width: 16px;height: 16px;flex-shrink: 0;accent-color: var(--accent);cursor: pointer}.tooltip-wrap{position: relative;display: inline-flex;margin-left: 6px;color: var(--text-muted);cursor: help;vertical-align: middle}.tooltip-wrap [data-lucide]{width: 14px;height: 14px;pointer-events: none}.tooltip-bubble{position: absolute;bottom: calc(100% + 8px);left: 50%;transform: translateX(-50%);background: var(--text-primary);color: var(--surface);font-size: 12px;font-weight: 500;text-transform: none;letter-spacing: normal;line-height: 1.45;padding: 8px 10px;border-radius: var(--radius);width: max-content;max-width: 240px;opacity: 0;visibility: hidden;transition: opacity .15s,visibility .15s;pointer-events: none;z-index: 30;box-shadow: var(--shadow-lg)}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-visible .tooltip-bubble{opacity: 1;visibility: visible}.layout{display: flex;min-height: 100vh}.sidebar{position: fixed;top: 0;left: 0;width: var(--sidebar-w);height: 100%;background: var(--sidebar-bg);color: var(--sidebar-text);display: flex;flex-direction: column;z-index: 200;transform: translateX(-100%);transition: transform .25s ease;overflow: hidden}.sidebar-open .sidebar{transform: translateX(0)}.sidebar-overlay{display: none;position: fixed;inset: 0;background: rgba(0,0,0,.45);z-index: 199}.sidebar-open .sidebar-overlay{display: block}.sidebar-brand{height: var(--topbar-h);padding: 0 18px;font-size: 16px;font-weight: 700;color: #fff;border-bottom: 1px solid rgba(255,255,255,.08);flex-shrink: 0;display: flex;align-items: center;gap: 10px;letter-spacing: -0.3px}.sidebar-brand .brand-icon{width: 20px;height: 20px;flex-shrink: 0;color: var(--accent-light);opacity: 0.85}.sidebar-nav{flex: 1;padding: 10px 0;overflow-y: auto;scrollbar-gutter: stable;scrollbar-width: thin;scrollbar-color: rgba(255,255,255,0.15) transparent}.sidebar-nav::-webkit-scrollbar{width: 4px}.sidebar-nav::-webkit-scrollbar-track{background: transparent}.sidebar-nav::-webkit-scrollbar-thumb{background: rgba(255,255,255,0.15);border-radius: 2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background: rgba(255,255,255,0.28)}.nav-section-label{padding: 14px 18px 4px;font-size: 10px;font-weight: 600;text-transform: uppercase;letter-spacing: 0.8px;color: rgba(255,255,255,0.38);user-select: none}.sidebar-nav > a{display: flex;align-items: center;gap: 10px;padding: 9px 12px;margin: 1px 8px;color: var(--sidebar-text);text-decoration: none;font-size: 14px;font-weight: 500;border-radius: var(--radius);transition: background .15s,color .15s}.sidebar-nav > a:hover{background: var(--sidebar-hover);color: var(--sidebar-text-hover)}.sidebar-nav > a.active{background: rgba(255,255,255,0.14);color: #fff;font-weight: 600}.sidebar-nav > a .nav-icon{width: 17px;height: 17px;flex-shrink: 0}.main{flex: 1;display: flex;flex-direction: column;min-width: 0;width: 100%}.topbar{position: sticky;top: 0;background: var(--surface);padding: 0 16px;height: var(--topbar-h);display: flex;align-items: center;justify-content: space-between;border-bottom: 1px solid var(--border);box-shadow: 0 1px 0 var(--border);z-index: 100;gap: 12px}.topbar-left{display: flex;align-items: center;gap: 12px;min-width: 0}.hamburger{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;flex-shrink: 0;border: none;background: none;cursor: pointer;border-radius: var(--radius);color: var(--text-secondary);transition: background .15s,color .15s}.hamburger:hover{background: var(--border-light);color: var(--text-primary)}.topbar-title{display: flex;align-items: center;gap: 4px;font-size: 15px;font-weight: 600;color: var(--text-primary);white-space: nowrap;overflow: hidden}.breadcrumb-sep{width: 14px;height: 14px;flex-shrink: 0;opacity: 0.30}.breadcrumb-ancestor{color: var(--text-muted);font-weight: 500}.breadcrumb-current{color: var(--text-primary)}a.breadcrumb-ancestor{text-decoration: none;cursor: pointer}a.breadcrumb-ancestor:hover{color: var(--text-primary);text-decoration: underline}.topbar-right{display: flex;align-items: center;gap: 4px;flex-shrink: 0}.topbar-dropdown-wrap{position: relative}.topbar-icon-btn{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;flex-shrink: 0;border: none;background: none;cursor: pointer;border-radius: var(--radius);color: var(--text-secondary);transition: background .15s,color .15s}.topbar-icon-btn:hover,.topbar-dropdown-wrap.open > .topbar-icon-btn{background: var(--border-light);color: var(--text-primary)}.topbar-user-btn{display: flex;align-items: center;gap: 8px;height: 36px;padding: 0 10px 0 6px;border: 1px solid var(--border);background: var(--surface);cursor: pointer;border-radius: 20px;color: var(--text-secondary);font-family: inherit;font-size: 13px;font-weight: 500;transition: background .15s,color .15s,border-color .15s}.topbar-user-btn:hover,.topbar-dropdown-wrap.open > .topbar-user-btn{background: var(--border-light);border-color: var(--accent);color: var(--text-primary)}.user-btn-avatar{width: 26px;height: 26px;flex-shrink: 0;border-radius: 50%;background: var(--sidebar-bg);color: #fff;display: flex;align-items: center;justify-content: center;font-size: 11px;font-weight: 700;letter-spacing: 0.3px}.user-btn-chevron{width: 13px;height: 13px;flex-shrink: 0;opacity: 0.45;transition: transform .2s}.topbar-dropdown-wrap.open .user-btn-chevron{transform: rotate(180deg)}.topbar-dropdown-menu{display: none;position: absolute;top: calc(100% + 8px);left: 0;min-width: 200px;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);z-index: 300;overflow: hidden}.topbar-dropdown-menu--right{left: auto;right: 0}.topbar-dropdown-wrap.open .topbar-dropdown-menu{display: block}.topbar-dropdown-header{padding: 12px 16px;font-size: 13px;font-weight: 600;color: var(--text-primary)}.dropdown-user-role{font-size: 12px;font-weight: 400;color: var(--text-muted);margin-top: 2px}.topbar-dropdown-divider{height: 1px;background: var(--border-light);margin: 4px 0}.topbar-dropdown-item{display: flex;align-items: center;gap: 10px;padding: 9px 16px;font-size: 13.5px;color: var(--text-secondary);text-decoration: none;transition: background .1s,color .1s}.topbar-dropdown-item:hover{background: var(--border-light);color: var(--text-primary)}.topbar-dropdown-item--btn{width: 100%;border: none;background: none;font-family: inherit;font-size: 13.5px;cursor: pointer;text-align: left}.topbar-dropdown-item--danger{color: var(--danger)}.topbar-dropdown-item--danger:hover{background: var(--danger-bg);color: var(--danger)}.td-icon{width: 15px;height: 15px;flex-shrink: 0}.content{padding: 24px 16px;flex: 1}.page-title{font-size: 20px;font-weight: 700;color: var(--text-primary);letter-spacing: -0.4px;margin-bottom: 20px}.alert-float-wrap{position: fixed;top: var(--topbar-h);left: 0;right: 0;z-index: 450;padding: 10px 16px 0;display: flex;flex-direction: column;gap: 8px;pointer-events: none}.alert-float-wrap .alert{pointer-events: auto;box-shadow: var(--shadow-lg);animation: alert-float-in .18s ease;margin-bottom: 0}@keyframes alert-float-in{from{opacity: 0;transform: translateY(-6px)}to{opacity: 1;transform: translateY(0)}} @media (min-width: 1024px){.alert-float-wrap{left: var(--sidebar-w);padding: 10px 36px 0}.sidebar-collapsed .alert-float-wrap{left: 60px}} .sidebar-collapse-btn{display: none;align-items: center;justify-content: center;width: 36px;height: 36px;flex-shrink: 0;border: none;background: none;cursor: pointer;border-radius: var(--radius);color: var(--text-secondary);transition: background .15s,color .15s}.sidebar-collapse-btn:hover{background: var(--border-light);color: var(--text-primary)}.sidebar-collapse-btn [data-lucide]{width: 18px;height: 18px}.icon-expand{display: none}@media (min-width: 1024px){.sidebar{position: sticky;top: 0;height: 100vh;transform: none;transition: width .22s ease;flex-shrink: 0;overflow: hidden}.sidebar-overlay{display: none !important}.hamburger{display: none}.sidebar-collapse-btn{display: flex}.topbar{padding: 0 36px}.content{padding: 32px 36px}.page-title{font-size: 22px;margin-bottom: 24px}.sidebar-collapsed .sidebar{width: 60px}.sidebar-collapsed .sidebar-brand{padding: 0;justify-content: center;gap: 0}.sidebar-collapsed .brand-text{display: none}.sidebar-collapsed .sidebar-nav > a{justify-content: center;padding: 9px;margin: 1px 6px;gap: 0}.sidebar-collapsed .sidebar-nav > a .nav-label{display: none}.sidebar-collapsed .nav-group-toggle{justify-content: center;padding: 9px;pointer-events: none;opacity: 0.6}.sidebar-collapsed .nav-group-toggle .nav-label,.sidebar-collapsed .nav-group-toggle .nav-arrow{display: none}.sidebar-collapsed .nav-group-items{display: none !important}.sidebar-collapsed .nav-section-label{display: none}.sidebar-collapsed .icon-collapse{display: none}.sidebar-collapsed .icon-expand{display: flex}} .login-wrap{display: flex;align-items: center;justify-content: center;min-height: 100vh;padding: 24px 16px;background: linear-gradient(135deg,var(--sidebar-dark) 0%,var(--sidebar-bg) 50%,#005f99 100%)}.login-card{background: var(--surface);border-radius: var(--radius-lg);padding: 48px 44px 44px;width: 100%;max-width: 420px;box-shadow: 0 20px 40px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.10);border: 1px solid rgba(255,255,255,.08)}.login-logo{text-align: center;margin-bottom: 36px}.login-logo-icon{display: flex;justify-content: center;margin-bottom: 16px}.login-logo-icon-circle{display: flex;align-items: center;justify-content: center;width: 52px;height: 52px;border-radius: 14px;background: var(--sidebar-bg);color: #fff}.login-logo-icon-circle [data-lucide]{width: 26px;height: 26px}.login-logo h1{font-size: 22px;font-weight: 700;color: var(--text-primary);letter-spacing: -0.5px;margin-bottom: 4px}.login-logo span{display: block;font-size: 13px;color: var(--text-muted);margin-top: 2px}.btn-block{display: flex;width: 100%;justify-content: center;padding: 13px;font-size: 15px;margin-top: 8px;border-radius: var(--radius)}.settings-tabs-nav{display: flex;gap: 4px;flex-wrap: wrap;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 6px;margin-bottom: 20px}.settings-tab-link{display: flex;align-items: center;gap: 8px;padding: 10px 16px;border-radius: var(--radius);font-size: 13.5px;font-weight: 600;color: var(--text-secondary);background: none;border: none;cursor: pointer;transition: background .15s,color .15s;white-space: nowrap}.settings-tab-link [data-lucide]{width: 15px;height: 15px}.settings-tab-link:hover{background: var(--border-light);color: var(--text-primary)}.settings-tab-link.active{background: var(--accent);color: #fff}.settings-tab-link .tab-count{background: rgba(0,0,0,.12);border-radius: 999px;padding: 1px 7px;font-size: 11px}.settings-tab-link.active .tab-count{background: rgba(255,255,255,.25)}.settings-tab-panel[hidden]{display: none}.card--roomy{padding: 32px}.region-section-item{border: 1px solid var(--border);border-radius: var(--radius);padding: 20px 24px;margin-bottom: 16px}.region-section-item:last-child{margin-bottom: 0}.region-section-header{display: flex;align-items: center;gap: 10px;margin-bottom: 4px}.region-section-icon{display: flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: var(--radius);background: var(--accent-light);color: var(--accent);flex-shrink: 0}.region-section-icon [data-lucide]{width: 16px;height: 16px}.region-section-name{font-size: 14.5px;font-weight: 700;flex: 1}.region-section-fields{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 14px;margin-top: 14px;padding-top: 14px;border-top: 1px solid var(--border-light)}.region-section-fields .form-group{margin-bottom: 0}.region-section-fields .form-group-full{grid-column: 1 / -1;margin-bottom: 0}.toggle-switch{position: relative;display: inline-flex;align-items: center;flex-shrink: 0}.toggle-switch input{position: absolute;opacity: 0;width: 0;height: 0}.toggle-switch-track{width: 68px;height: 22px;background: var(--border);border-radius: 999px;position: relative;transition: background .15s;cursor: pointer}.toggle-switch-track::before{content: '';position: absolute;top: 2px;left: 2px;width: 18px;height: 18px;background: #fff;border-radius: 50%;box-shadow: 0 1px 2px rgba(0,0,0,.25);transition: transform .15s;z-index: 1}.toggle-switch-label{position: absolute;top: 50%;transform: translateY(-50%);font-size: 10px;font-weight: 700;color: #fff;right: 6px}.toggle-switch input:checked + .toggle-switch-track{background: var(--success)}.toggle-switch input:checked + .toggle-switch-track::before{transform: translateX(46px)}.toggle-switch input:checked + .toggle-switch-track .toggle-switch-label{right: auto;left: 8px}.toggle-switch input:focus-visible + .toggle-switch-track{box-shadow: 0 0 0 3px rgba(0,121,191,.25)}.region-subhead{display: flex;align-items: baseline;justify-content: space-between;gap: 12px;margin-bottom: 4px}.region-subhead .card-lead{margin-bottom: 0}.region-empty-note{font-size: 13px;color: var(--text-muted);padding: 14px 0}.region-faq-block{border: 1px solid var(--border);border-radius: var(--radius);padding: 20px 24px;margin-bottom: 18px}.region-faq-block-header{display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 16px}.region-faq-block-title{font-size: 14.5px;font-weight: 700}.region-table-actions{display: flex;justify-content: center;gap: 4px}.text-truncate{display: inline-block;max-width: 320px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;vertical-align: bottom}.region-hero-thumb{display: block;width: 64px;height: 40px;object-fit: cover;border-radius: var(--radius);border: 1px solid var(--border)}.region-hero-thumb--empty{display: flex;align-items: center;justify-content: center;color: var(--text-muted);background: var(--border-light)}.region-hero-thumb--empty [data-lucide]{width: 16px;height: 16px}.region-hero-thumb--modal{width: 100%;height: 140px;margin-bottom: 8px}.form-hint{font-size: 12px;color: var(--text-muted);margin: 6px 0 0}@media (max-width: 640px){.region-section-fields{grid-template-columns: 1fr}}