:root{--purple-dark: #2c0640;--purple: #470b61;--green: #1b8114;--green-light: #7ac81c;--bg: #f6f4f8;--card-bg: #ffffff;--border: #e2ddea;--text: #241530;--text-muted: #6b6178;--danger: #c0392b;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--purple-dark);margin-top:0}button{font-family:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:6px;padding:6px 14px;font-size:14px}button:hover{border-color:var(--purple)}button.danger{color:var(--danger);border-color:var(--danger)}button.danger:hover{background:var(--danger);color:#fff}button[type=submit],button.primary{background:var(--purple);color:#fff;border-color:var(--purple)}button[type=submit]:hover,button.primary:hover{background:var(--purple-dark)}input,select{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;width:100%}label{display:block;margin-bottom:12px;font-size:13px;color:var(--text-muted)}label>input,label>select{margin-top:4px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--purple-dark),var(--purple))}.auth-card{background:var(--card-bg);border-radius:var(--radius);padding:32px;width:360px;box-shadow:0 12px 32px #00000040}.auth-card img.logo{height:40px;margin-bottom:16px}.auth-error{background:#fdecea;color:var(--danger);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.status-banner{background:#eef7ec;color:var(--green);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.platform-layout{display:flex;min-height:100vh}.platform-sidebar{width:230px;flex-shrink:0;background:var(--purple-dark);color:#fff;display:flex;flex-direction:column;padding:20px 14px}.platform-sidebar img.logo{height:32px;margin-bottom:20px}.platform-sidebar .nav-section-label{text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:#ffffff80;margin:18px 6px 6px}.platform-sidebar .nav-item{display:block;padding:8px 10px;border-radius:6px;color:#ffffffd9;font-size:14px;margin-bottom:2px}.platform-sidebar .nav-item:hover{background:#ffffff14;text-decoration:none}.platform-sidebar .nav-item.active{background:var(--green);color:#fff}.platform-sidebar .nav-empty{color:#fff6;font-size:13px;padding:8px 10px}.platform-sidebar .sidebar-bottom{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.15);font-size:13px}.platform-sidebar .whoami{color:#fffc;display:block;margin-bottom:8px}.platform-main{flex:1;padding:32px 40px;overflow-y:auto}.wrap{max-width:900px;margin:0 auto}.role-badge{display:inline-block;background:var(--green-light);color:var(--purple-dark);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:6px;text-transform:uppercase}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.plugin-card{display:block;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px;color:var(--text)}.plugin-card:hover{border-color:var(--purple);text-decoration:none}.plugin-card h3{margin:0 0 6px;color:var(--purple)}.plugin-card p{margin:0;color:var(--text-muted);font-size:13px}.tab-bar{display:flex;gap:8px;margin-bottom:18px}.tab-bar button.active{background:var(--purple);color:#fff;border-color:var(--purple)}.user-list{display:flex;flex-direction:column;gap:10px}.user-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.user-card-meta{font-size:13px;color:var(--text-muted);margin-bottom:10px}.user-card-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;background:#eee;color:var(--text-muted)}.badge-ok{background:#eef7ec;color:var(--green)}.badge-danger{background:#fdecea;color:var(--danger)}.badge-muted{color:var(--text-muted);font-size:12px;margin-left:6px}.warning-text{color:var(--danger);font-size:13px}.help-note{color:var(--text-muted);font-size:13px;margin-bottom:20px}.help-page code{background:#f1edf5;padding:1px 6px;border-radius:4px;font-size:13px}.loading-text{color:var(--text-muted);padding:20px 0}
