*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f7;--surface: #ffffff;--border: #e5e5e7;--text: #1d1d1f;--text-secondary: #6e6e73;--primary: #0071e3;--primary-hover: #0060c0;--danger: #e53e3e;--success: #22c55e;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 4px 16px rgba(0,0,0,.1);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif}[data-theme=dark]{--bg: #1a1a1c;--surface: #2c2c2e;--border: #3a3a3c;--text: #f5f5f7;--text-secondary: #98989d;--primary: #0a84ff;--primary-hover: #409cff;--danger: #ff453a;--success: #30d158;--shadow: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-lg: 0 4px 16px rgba(0,0,0,.4)}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:24px}.header-logo{font-size:20px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.5px}.header-logo-sub{font-size:13px;font-weight:400;color:var(--text-secondary);margin-left:4px}.header-nav{display:flex;gap:4px}.header-nav a{padding:6px 14px;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:500;transition:background .15s,color .15s}.header-nav a:hover,.header-nav a.active{background:var(--bg);color:var(--text)}.header-right{display:flex;align-items:center;gap:12px}.header-user{font-size:14px;color:var(--text-secondary);font-weight:500}.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;transition:background .15s}.theme-toggle:hover{background:var(--bg)}.app-switcher-wrapper{position:relative}.app-switcher-btn{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:4px 8px;color:var(--text-secondary);transition:background .15s,color .15s}.app-switcher-btn:hover{background:var(--bg);color:var(--text)}.app-switcher-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;min-width:200px;padding:12px}.app-switcher-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.app-switcher-list{display:flex;flex-direction:column;gap:2px}.app-switcher-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text);text-decoration:none;transition:background .15s}.app-switcher-item:hover{background:var(--bg)}.app-switcher-item.app-switcher-current{color:var(--primary);font-weight:600}.app-switcher-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--bg);color:var(--text-secondary);flex-shrink:0}.app-switcher-divider{height:1px;background:var(--border);margin:4px 0}.app-switcher-current .app-switcher-icon{background:rgba(0,113,227,.1);color:var(--primary)}[data-theme=dark] .app-switcher-current .app-switcher-icon{background:rgba(10,132,255,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-xs{padding:2px 8px;font-size:12px}.btn-danger-fill{background:var(--danger);color:#fff}.btn-danger-fill:hover:not(:disabled){opacity:.9}.admin-container{max-width:1000px;margin:0 auto;padding:32px 24px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{font-size:28px;font-weight:700;letter-spacing:-.5px}.admin-search{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);outline:none;background:var(--surface);color:var(--text);width:260px}.admin-search:focus{border-color:var(--primary)}.admin-table-wrapper{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg)}.admin-table td{padding:10px 16px;border-bottom:1px solid var(--border)}.admin-table tr:last-child td{border-bottom:none}.admin-table a{color:var(--primary);text-decoration:none}.admin-table a:hover{text-decoration:underline}.row-inactive{opacity:.5}.admin-empty{padding:32px;text-align:center;color:var(--text-secondary)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge-admin{background:rgba(168,85,247,.15);color:#a855f7}.badge-user{background:var(--bg);color:var(--text-secondary)}.badge-core{background:rgba(0,113,227,.15);color:var(--primary)}.admin-card{background:var(--surface);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.admin-card h1{font-size:24px;font-weight:700;margin-bottom:24px}.admin-card h2{font-size:18px;font-weight:600;margin-bottom:16px}.admin-card form{display:flex;flex-direction:column;gap:14px}.admin-card label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:var(--text-secondary)}.admin-card input,.admin-card select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);outline:none;background:var(--surface);color:var(--text)}.admin-card input:focus,.admin-card select:focus{border-color:var(--primary)}.admin-card input:disabled{opacity:.6}.admin-card code{font-size:13px;background:var(--bg);padding:1px 4px;border-radius:3px}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input[type=checkbox]{width:auto;padding:0}.app-access-section{margin-top:8px}.app-access-section h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--text)}.app-access-list{display:flex;flex-direction:column;gap:6px}.text-secondary{color:var(--text-secondary)}.form-actions{display:flex;gap:8px;margin-top:4px}.auth-success{background:rgba(34,197,94,.1);color:var(--success);padding:10px 12px;border-radius:var(--radius-sm);font-size:14px}.admin-card .btn-primary{align-self:flex-start}.delete-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.delete-confirm p{font-size:14px;color:var(--danger);margin-bottom:12px}.delete-confirm-actions{display:flex;gap:8px}.login-history{margin-top:8px}.login-history h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--text)}.login-history .admin-table-wrapper{border-radius:var(--radius-sm)}.login-history .admin-table td,.login-history .admin-table th{padding:6px 12px}.disabled-date{font-size:12px;color:var(--danger);font-weight:400;margin-left:4px}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:15px;color:var(--text-secondary)}@media (max-width: 768px){.admin-header{flex-direction:column;gap:12px;align-items:flex-start}.admin-search{width:100%}.admin-table-wrapper{overflow-x:auto}}
