:root{--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#8b5cf6;--accent-blue:#0ea5e9;--success:#22c55e;--warning:#eab308;--danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Noto Sans JP,Outfit,sans-serif}.container{max-width:960px;margin:0 auto;padding:0 24px}.admin-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding:16px 0;position:sticky;top:0}.admin-header-inner{justify-content:space-between;align-items:center;display:flex}.admin-logo{color:var(--accent);font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:700;text-decoration:none}.admin-logo span{color:var(--text-muted);margin-left:8px;font-size:.85rem;font-weight:400}.admin-user{color:var(--text-secondary);align-items:center;gap:12px;font-size:.85rem;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#fff}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{border:1px solid var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:#ef44441a}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:6px 14px;font-size:.8rem}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:48px 40px}.login-card h1{margin-bottom:8px;font-size:1.5rem}.login-card p{color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.login-card .domain-notice{color:var(--text-secondary);background:#8b5cf614;border:1px solid #8b5cf633;border-radius:10px;margin-bottom:20px;padding:12px;font-size:.82rem}.form-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.form-input:focus{border-color:var(--accent);outline:none}#login-error{color:var(--danger);background:#ef444414;border-radius:8px;margin-bottom:12px;padding:10px;font-size:.82rem}.admin-page{padding:32px 0 80px}.admin-page h1{margin-bottom:4px;font-size:1.5rem}.admin-page h1+p{color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:24px}.card h2{margin-bottom:16px;font-size:1.1rem}.app-item{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:20px;transition:border-color .2s}.app-item:hover{border-color:var(--accent)}.app-item h3{margin-bottom:4px;font-size:1rem}.app-item .handle{color:var(--text-muted);font-size:.8rem}.app-item .status{color:var(--warning);font-size:.8rem;font-weight:600}.app-detail{color:var(--text-secondary);grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;font-size:.85rem;line-height:1.7;display:grid}.app-detail strong{color:var(--text)}.app-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.admin-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.admin-item:last-child{border-bottom:none}.admin-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex}.admin-email{flex:1;font-size:.9rem}.badge-self{color:var(--accent);background:#8b5cf626;border-radius:50px;padding:2px 8px;font-size:.72rem;font-weight:600}.add-form{border:1px solid var(--border);background:#8b5cf60a;border-radius:10px;margin-bottom:16px;padding:16px}.empty-state{text-align:center;color:var(--text-muted);padding:40px}.empty-state .icon{margin-bottom:8px;font-size:2.5rem}@media (width<=640px){.app-detail{grid-template-columns:1fr}.app-actions{flex-direction:column}.app-actions .btn{justify-content:center;width:100%}}
