@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #f1f5f9; min-height: 100vh; } .input-field { background: white; border: 1px solid #e2e8f0; transition: all 0.2s; } .input-field:focus { outline: none; border-color: #64748b; box-shadow: 0 0 0 3px rgba(100,116,139,0.1); } .tab-btn { transition: all 0.2s; } .tab-btn.active { background: #334155; color: white; } .tab-btn:not(.active) { color: #64748b; } .tab-btn:not(.active):hover { background: #e2e8f0; } .tab-group-label { font-size: 0.65rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; padding: 0 0.25rem; white-space: nowrap; flex-shrink: 0; } .tab-divider { width: 1px; height: 1.25rem; background: #e2e8f0; margin: 0 0.25rem; flex-shrink: 0; } .system-section { border-left: 4px solid; } .system-section.system1 { border-color: #3b82f6; } .system-section.system3 { border-color: #8b5cf6; } .group-header { cursor: pointer; user-select: none; } .group-header:hover { background: #f8fafc; } .perm-item { transition: all 0.15s; } .perm-item.checked { background: #f0f9ff; border-color: #93c5fd; } .toast-message { transition: all 0.3s ease; } .fade-in { opacity: 0; transform: translateY(10px); transition: opacity 0.4s, transform 0.4s; } .fade-in.visible { opacity: 1; transform: translateY(0); } /* Mobile responsive */ @media (max-width: 768px) { #tabNav { -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0.25rem 0; position: relative; } #tabNav::-webkit-scrollbar { display: none; } #tabNav button { white-space: nowrap; flex-shrink: 0; font-size: 0.8rem; padding: 0.375rem 0.75rem; } .tab-group-label { font-size: 0.6rem; padding: 0 0.125rem; } .tab-divider { margin: 0 0.125rem; } .tab-scroll-hint { position: absolute; right: 0; top: 0; bottom: 0; width: 2rem; background: linear-gradient(to right, transparent, #fff); pointer-events: none; } input, select, textarea { font-size: 16px !important; } }