@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--brand-primary:#6d35e3;--brand-primary-hover:#5a28c8;--brand-primary-light:#6d35e317;--brand-primary-shadow:#6d35e359;--topbar-bg:#1e1e2e;--topbar-height:56px;--topbar-text:#fff;--topbar-icon:#ffffffb3;--topbar-icon-hover:#fff;--topbar-hover-bg:#ffffff12;--sidebar-bg:#fff;--sidebar-width:210px;--sidebar-border:#e8eaf0;--sidebar-label-color:#9ea7b8;--sidebar-text:#4b5563;--sidebar-text-hover:#1a1a2e;--sidebar-active-text:var(--brand-primary);--sidebar-active-bg:var(--brand-primary-light);--sidebar-hover-bg:#6d35e30d;--sidebar-active-bar:var(--brand-primary);--page-bg:#f1f3f7;--card-bg:#fff;--card-border:#e8eaf0;--card-shadow:0 1px 3px #00000012, 0 1px 2px #0000000a;--card-shadow-hover:0 8px 24px #0000001a;--card-radius:12px;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--icon-blue:#4f7df0;--icon-blue-bg:#4f7df01a;--icon-pink:#e85d8a;--icon-pink-bg:#e85d8a1a;--icon-teal:#14b8a6;--icon-teal-bg:#14b8a61a;--icon-purple:#7c3aed;--icon-purple-bg:#7c3aed1a;--badge-orange:#f97316;--badge-blue:#3b82f6;--badge-green:#22c55e;--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background-color:var(--page-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.dashboard-shell{flex-direction:column;min-height:100vh;display:flex}.dashboard-body{padding-top:var(--topbar-height);flex:1;min-height:100vh;display:flex}.dashboard-main{margin-left:var(--sidebar-width);min-height:calc(100vh - var(--topbar-height));transition:margin-left var(--transition-slow);flex:1;overflow-x:hidden}.dashboard-body.sidebar-collapsed .dashboard-main{margin-left:0}.dashboard-body.sidebar-collapsed .sidebar{transform:translate(-100%)}.dashboard-content{max-width:1400px;padding:24px}.topbar{height:var(--topbar-height);background:var(--topbar-bg);z-index:200;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #00000040}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-logo{color:var(--topbar-text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.9375rem;font-weight:800}.topbar-toggle-btn{width:36px;height:36px;color:var(--topbar-icon);transition:color var(--transition), background-color var(--transition);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-toggle-btn:hover{color:var(--topbar-icon-hover);background-color:var(--topbar-hover-bg)}.topbar-right{align-items:center;gap:4px;display:flex}.topbar-icon-btn{width:36px;height:36px;color:var(--topbar-icon);transition:color var(--transition), background-color var(--transition);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.topbar-icon-btn:hover{color:var(--topbar-icon-hover);background-color:var(--topbar-hover-bg)}.topbar-notif-dot{border:1.5px solid var(--topbar-bg);background:#ef4444;border-radius:9999px;width:8px;height:8px;position:absolute;top:7px;right:7px}.topbar-divider{background:#ffffff1f;width:1px;height:20px;margin:0 4px}.topbar-avatar{cursor:pointer;width:34px;height:34px;transition:border-color var(--transition);background:0 0;border:2px solid #ffffff2e;border-radius:9999px;flex-shrink:0;padding:0;display:block;overflow:hidden}.topbar-avatar:hover{border-color:#ffffff80}.topbar-avatar-inner{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#6d35e3,#a855f7);justify-content:center;align-items:center;width:100%;height:100%;font-size:.8125rem;font-weight:700;display:flex}.topbar-user-wrap{flex-shrink:0;position:relative}.topbar-user-dropdown{border:1px solid var(--card-border);z-index:200;background:#fff;border-radius:10px;min-width:180px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 40px #0f172a2e}.topbar-user-dropdown-meta{border-bottom:1px solid var(--card-border);margin-bottom:4px;padding:8px 14px 10px}.topbar-user-dropdown-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.8125rem;font-weight:600;overflow:hidden}.topbar-user-dropdown-role{color:var(--text-muted);text-transform:capitalize;margin-top:2px;font-size:.6875rem}.topbar-user-dropdown-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;font-size:.8125rem;font-weight:500;font-family:var(--font);background:0 0;border:none;padding:10px 14px;display:block}.topbar-user-dropdown-item:hover{color:var(--brand-primary);background:#6d35e314}.topbar-user-dropdown-item--danger{color:#b91c1c}.topbar-user-dropdown-item--danger:hover{color:#b91c1c;background:#ef444414}.sidebar{top:var(--topbar-height);width:var(--sidebar-width);height:calc(100vh - var(--topbar-height));background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:100;transition:transform var(--transition-slow);position:fixed;left:0;overflow:hidden auto;box-shadow:2px 0 8px #0000000a}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--sidebar-border);border-radius:9999px}.sidebar-inner{padding:20px 0 24px}.sidebar-section-label{color:var(--sidebar-label-color);text-transform:uppercase;letter-spacing:.09em;padding:0 16px 10px;font-size:.6875rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:1px;padding:0 8px;display:flex}.sidebar-nav-item{color:var(--sidebar-text);cursor:pointer;transition:all var(--transition);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.8125rem;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-hover)}.sidebar-nav-item:hover .sidebar-icon{color:var(--brand-primary)}.sidebar-nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.sidebar-nav-item.active .sidebar-icon{color:var(--brand-primary)}.sidebar-nav-item.active:before{content:"";background:var(--sidebar-active-bar);border-radius:0 4px 4px 0;width:3px;height:56%;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.sidebar-icon{color:#9ca3af;width:18px;height:18px;transition:color var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-right{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.sidebar-badge{color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.sidebar-badge.orange{background:var(--badge-orange)}.sidebar-badge.blue{background:var(--badge-blue)}.sidebar-badge.green{background:var(--badge-green)}.sidebar-chevron{width:14px;height:14px;color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-item-group{flex-direction:column;display:flex}.sidebar-nav-item{width:100%}.sidebar-submenu{flex-direction:column;gap:2px;margin-top:2px;margin-bottom:6px;display:flex}.sidebar-sub-item{color:#7a8292;transition:color var(--transition);border-radius:6px;align-items:center;gap:12px;padding:8px 12px 8px 38px;font-size:.8125rem;font-weight:500;text-decoration:none;display:flex}.sidebar-sub-item:hover,.sidebar-sub-item.active{color:var(--sidebar-text-hover)}.sidebar-sub-icon{width:16px;height:16px;color:inherit;justify-content:center;align-items:center;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header-content h1{color:var(--text-primary);margin-bottom:3px;font-size:1.0625rem;font-weight:600;line-height:1.3}.page-header-content p{color:var(--text-secondary);font-size:.8rem;font-weight:400}.btn{cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 18px;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--brand-primary);color:#fff;box-shadow:0 2px 10px var(--brand-primary-shadow)}.btn-primary:hover{background:var(--brand-primary-hover);box-shadow:0 5px 16px var(--brand-primary-shadow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}}.stats-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:box-shadow var(--transition), transform var(--transition);justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.stats-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.stats-card-value{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:5px;font-size:1.625rem;font-weight:700;line-height:1.1}.stats-card-label{color:var(--text-secondary);font-size:.8rem;font-weight:400}.stats-card-icon{width:52px;height:52px;transition:transform var(--transition);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stats-card:hover .stats-card-icon{transform:scale(1.08)}.ic-blue{color:var(--icon-blue);background:var(--icon-blue-bg)}.ic-pink{color:var(--icon-pink);background:var(--icon-pink-bg)}.ic-teal{color:var(--icon-teal);background:var(--icon-teal-bg)}.ic-purple{color:var(--icon-purple);background:var(--icon-purple-bg)}.section-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.section-card-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.section-card-title{color:var(--text-primary);align-items:center;gap:6px;font-size:.9375rem;font-weight:600;display:flex}.section-card-title .highlight{color:var(--brand-primary)}.section-card-body{padding:24px}.live-preview-area{justify-content:center;align-items:center;min-height:320px;display:flex}.horizontal-form{flex-direction:column;display:flex}.form-group-row{border-bottom:1px solid var(--card-border);grid-template-columns:240px 1fr;align-items:start;gap:24px;padding:16px 24px;display:grid}.form-group-row:last-child,.form-group-row.no-border{border-bottom:none}.form-label{color:var(--text-secondary);text-align:right;padding-top:10px;font-size:.875rem;font-weight:500}.form-label .required{color:#ef4444;margin-left:2px}.form-control{border:1px solid var(--card-border);width:100%;color:var(--text-primary);transition:border-color var(--transition);background:#fff;border-radius:4px;outline:none;padding:10px 14px;font-family:inherit;font-size:.875rem}.form-control:focus{border-color:var(--brand-primary)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.file-input-wrapper{border:1px solid var(--card-border);border-radius:4px;align-items:center;max-width:400px;display:flex;overflow:hidden}.file-input-wrapper input[type=file]{display:none}.file-input-text{color:var(--text-muted);background:#f9fafb;flex:1;padding:10px 14px;font-size:.875rem}.btn-file{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;display:flex}.richtext-container{border:1px solid var(--card-border);border-radius:4px;overflow:hidden}.richtext-toolbar{background:var(--brand-primary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.richtext-toolbar-group{background:#0000001a;border-radius:4px;align-items:center;display:flex;overflow:hidden}.richtext-toolbar-btn{color:#fff;cursor:pointer;justify-content:center;align-items:center;padding:6px 10px;font-size:.875rem;transition:background .2s;display:flex}.richtext-toolbar-btn:hover{background:#fff3}.richtext-toolbar-btn.with-dropdown:after{content:"";border-top:4px solid #fff;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:6px;display:inline-block}.richtext-content-area{background:#fff;min-height:250px;padding:16px}.btn-success{color:#fff;background:#22c55e;box-shadow:0 2px 10px #22c55e33}.btn-success:hover{background:#16a34a;transform:translateY(-1px)}.btn-settings{background:var(--brand-primary);color:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;display:inline-flex}.page-breadcrumb{color:var(--brand-primary);margin-top:4px;font-size:.8125rem}.page-breadcrumb a{color:var(--brand-primary)}.page-breadcrumb a:hover{text-decoration:underline}.page-breadcrumb span{color:var(--text-muted);margin:0 6px}.live-preview-empty{text-align:center;color:var(--text-muted)}.live-preview-empty-icon{opacity:.35;margin:0 auto 12px}.live-preview-empty p{font-size:.875rem;font-weight:400}.stub-page{text-align:center;min-height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.stub-page-title{color:var(--text-primary);margin-bottom:6px;font-size:1.25rem;font-weight:600}.stub-page-sub{color:var(--text-secondary);font-size:.875rem}@media (max-width:768px){.dashboard-main{margin-left:0!important}.sidebar{transform:translate(-100%);box-shadow:4px 0 20px #0000001f}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:block}}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}.user-page-root{flex-direction:column;gap:20px;display:flex}.user-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.user-page-header-left{align-items:center;gap:14px;display:flex}.user-page-icon-wrap{width:44px;height:44px;color:var(--brand-primary);background:#6d35e31a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-page-title{color:var(--text-primary);margin-bottom:4px;font-size:1.1rem;font-weight:700;line-height:1.2}.user-breadcrumb{align-items:center;gap:5px;font-size:.78rem;display:flex}.user-breadcrumb-link{color:var(--brand-primary);transition:opacity var(--transition);font-weight:500;text-decoration:none}.user-breadcrumb-link:hover{opacity:.75}.user-breadcrumb-sep{color:var(--text-muted)}.user-breadcrumb-current{color:var(--text-secondary)}.user-btn-primary{cursor:pointer;background:var(--brand-primary);color:#fff;box-shadow:0 2px 12px var(--brand-primary-shadow);transition:all var(--transition);white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.user-btn-primary:hover:not(:disabled){background:var(--brand-primary-hover);box-shadow:0 5px 18px var(--brand-primary-shadow);transform:translateY(-1px)}.user-btn-primary:active:not(:disabled){transform:translateY(0)}.user-btn-primary:disabled{opacity:.65;cursor:not-allowed}.user-btn-ghost{cursor:pointer;border:1.5px solid var(--card-border);color:var(--text-secondary);transition:all var(--transition);background:0 0;border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-size:.83rem;font-weight:500;display:inline-flex}.user-btn-ghost:hover{background:var(--sidebar-hover-bg);border-color:var(--brand-primary-light);color:var(--brand-primary)}.user-header-btn-outline{border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary);transition:all var(--transition);border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-size:.83rem;font-weight:500;text-decoration:none;display:inline-flex}.user-header-btn-outline:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-light)}.user-btn-loading{pointer-events:none}.user-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:9999px;width:14px;height:14px;animation:.7s linear infinite user-spin;display:inline-block}@keyframes user-spin{to{transform:rotate(360deg)}}.user-toast{border-radius:10px;align-items:center;gap:10px;padding:12px 18px;font-size:.875rem;font-weight:500;animation:.3s user-toast-in;display:flex}.user-toast-success{color:#166534;background:#ecfdf5;border:1.5px solid #86efac}@keyframes user-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-form-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.user-form-card-header{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:22px 28px 18px;display:flex}.user-form-card-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--brand-primary);background:var(--brand-primary-light);border-radius:9999px;align-items:center;gap:8px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.user-form-card-sub{color:var(--text-secondary);margin:0;font-size:.83rem}.user-form-body{padding:28px}.user-form-grid{grid-template-columns:1fr 1fr;gap:22px 28px;display:grid}@media (max-width:680px){.user-form-grid{grid-template-columns:1fr}}.user-field-group{flex-direction:column;gap:8px;display:flex}.user-field-label{color:var(--text-primary);letter-spacing:.01em;align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:flex}.user-field-required{color:#ef4444;font-size:.9em}.user-input-wrap{align-items:center;display:flex;position:relative}.user-input-icon{pointer-events:none;color:var(--text-muted);transition:color var(--transition);display:flex;position:absolute;left:13px}.user-input{border:1.5px solid var(--card-border);width:100%;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fafbfc;border-radius:9px;outline:none;padding:10px 14px 10px 40px;font-family:inherit;font-size:.875rem}.user-input::placeholder{color:var(--text-muted)}.user-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light);background:#fff}.user-input:focus+.user-input-icon,.user-input-wrap:focus-within .user-input-icon{color:var(--brand-primary)}.user-select{appearance:none;cursor:pointer}.user-select-arrow{pointer-events:none;color:var(--text-muted);display:flex;position:absolute;right:13px}.user-input-toggle{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.user-input-toggle:hover{color:var(--brand-primary);background:var(--brand-primary-light)}.user-form-footer{border-top:1px solid var(--card-border);justify-content:flex-end;align-items:center;gap:12px;margin-top:28px;padding-top:22px;display:flex}.user-table-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.user-table-topbar{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.user-table-meta{align-items:center;gap:10px;display:flex}.user-table-count-label{color:var(--text-primary);font-size:.85rem;font-weight:600}.user-table-count-badge{background:var(--brand-primary);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:24px;height:22px;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}.user-table-actions-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.user-export-group{align-items:center;gap:4px;display:flex}.user-export-btn{cursor:pointer;border:1.5px solid var(--card-border);color:var(--text-secondary);transition:all var(--transition);background:0 0;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:600}.user-export-btn:hover{background:var(--brand-primary-light);border-color:var(--brand-primary);color:var(--brand-primary)}.user-search-wrap{align-items:center;display:flex;position:relative}.user-search-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;left:11px}.user-search-input{border:1.5px solid var(--card-border);color:var(--text-primary);width:200px;transition:all var(--transition);background:#fafbfc;border-radius:8px;outline:none;padding:7px 14px 7px 34px;font-family:inherit;font-size:.82rem}.user-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light);background:#fff;width:240px}.user-table-scroll{overflow-x:auto}.user-table{border-collapse:collapse;width:100%;font-size:.855rem}.user-th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1.5px solid var(--card-border);white-space:nowrap;background:#f8f9fc;padding:12px 18px;font-size:.72rem;font-weight:700}.user-th-right{text-align:right}.user-tr{border-bottom:1px solid var(--card-border);transition:background var(--transition)}.user-tr:last-child{border-bottom:none}.user-tr:hover{background:#f8f9fc}.user-td{color:var(--text-primary);vertical-align:middle;white-space:nowrap;padding:14px 18px}.user-td-num{color:var(--text-muted);font-size:.82rem;font-weight:500}.user-td-userinfo{align-items:center;gap:10px;display:flex}.user-avatar-mini{background:linear-gradient(135deg, var(--brand-primary), #a855f7);color:#fff;letter-spacing:.03em;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex}.user-td-username{color:var(--text-primary);font-weight:600}.user-td-password{color:var(--text-secondary);border:1px solid var(--card-border);background:#f1f3f7;border-radius:5px;padding:3px 8px;font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.user-td-network{color:var(--text-muted)}.user-status-badge{border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.775rem;font-weight:600;display:inline-flex}.user-status-dot{border-radius:9999px;flex-shrink:0;width:6px;height:6px}.user-status-active{color:#166534;background:#dcfce7}.user-status-active .user-status-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.user-status-disabled{color:#991b1b;background:#fef2f2}.user-status-disabled .user-status-dot{background:#ef4444}.user-td-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.user-action-btn{cursor:pointer;transition:all var(--transition);border:1.5px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:.775rem;font-weight:600;text-decoration:none;display:inline-flex}.user-action-edit{color:#3b63d6;background:#4f7df01a;border-color:#4f7df033}.user-action-edit:hover{background:#4f7df02e;border-color:#4f7df0}.user-action-disable{color:#c2410c;background:#f973161a;border-color:#f9731633}.user-action-disable:hover{background:#f973162e;border-color:#f97316}.user-action-enable{color:#15803d;background:#22c55e1a;border-color:#22c55e33}.user-action-enable:hover{background:#22c55e2e;border-color:#22c55e}.user-action-delete{color:#b91c1c;background:#ef44441a;border-color:#ef444433}.user-action-delete:hover{background:#ef44442e;border-color:#ef4444}.user-delete-confirm-inline{align-items:center;gap:4px;display:flex}.user-delete-confirm-label{color:var(--text-secondary);padding:0 4px;font-size:.77rem;font-weight:600}.user-action-delete-confirm{color:#fff;background:#ef4444;border-color:#ef4444}.user-action-delete-confirm:hover{background:#dc2626;border-color:#dc2626}.user-action-cancel{background:var(--card-bg);color:var(--text-secondary);border-color:var(--card-border)}.user-action-cancel:hover{background:#f1f3f7}.user-td-empty{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:.875rem;display:table-cell}.user-td-empty p{margin-top:2px}.user-table-footer{border-top:1px solid var(--card-border);background:#fafbfc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;display:flex}.user-table-info{color:var(--text-secondary);font-size:.82rem}.user-table-info strong{color:var(--text-primary);font-weight:600}.user-pagination{align-items:center;gap:4px;display:flex}.user-page-btn{cursor:pointer;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary);transition:all var(--transition);border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:500;display:inline-flex}.user-page-btn:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-light)}.user-page-btn:disabled{opacity:.45;cursor:not-allowed}.user-page-btn-active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);font-weight:700}.user-page-btn-active:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);color:#fff}.user-role-stats{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:10px;align-items:center;gap:0;padding:10px 20px;display:flex}.user-role-stat{flex-direction:column;align-items:center;padding:0 16px;display:flex}.user-role-stat-num{color:var(--brand-primary);font-size:1.2rem;font-weight:700;line-height:1}.user-role-stat-label{color:var(--text-muted);margin-top:2px;font-size:.72rem;font-weight:500}.user-role-stat-divider{background:var(--card-border);width:1px;height:32px}.user-role-layout{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}@media (max-width:860px){.user-role-layout{grid-template-columns:1fr}}.user-role-sidebar-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);top:calc(var(--topbar-height) + 16px);position:sticky;overflow:hidden}.user-role-sidebar-header{color:var(--text-primary);border-bottom:1px solid var(--card-border);background:#f8f9fc;align-items:center;gap:8px;padding:16px 20px;font-size:.85rem;font-weight:700;display:flex}.user-role-sidebar-body{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.user-role-user-card{background:var(--brand-primary-light);border:1.5px solid #6d35e326;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.user-avatar-large{background:linear-gradient(135deg, var(--brand-primary), #a855f7);color:#fff;letter-spacing:.03em;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.85rem;font-weight:700;display:flex}.user-role-user-info{flex:1;min-width:0}.user-role-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-role-user-meta{color:var(--brand-primary);margin-top:2px;font-size:.775rem;font-weight:500}.user-role-progress-wrap{background:var(--card-border);border-radius:9999px;height:5px;overflow:hidden}.user-role-progress-bar{background:linear-gradient(90deg, var(--brand-primary), #a855f7);border-radius:9999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.user-role-perms-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.user-role-perms-header{border-bottom:1px solid var(--card-border);background:#fafbfc;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.user-role-perms-body{flex-direction:column;gap:24px;padding:20px 24px;display:flex}.user-perm-cat-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.user-perm-cat-label{text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:flex}.user-perm-cat-dot{border-radius:9999px;flex-shrink:0;width:8px;height:8px}.user-perm-cat-count{color:var(--text-muted);text-transform:none;letter-spacing:0;margin-left:2px;font-size:.72rem;font-weight:500}.user-perm-toggle-all{cursor:pointer;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);transition:all var(--transition);border-radius:9999px;padding:4px 12px;font-family:inherit;font-size:.73rem;font-weight:600}.user-perm-toggle-all:hover{border-color:currentColor}.user-perm-toggle-all-on{color:#fff}.user-perm-items-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.user-perm-item{border:1.5px solid var(--card-border);cursor:pointer;transition:all var(--transition);background:#fafbfc;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;display:flex}.user-perm-item:hover{border-color:var(--brand-primary);background:var(--brand-primary-light)}.user-perm-item-on{box-shadow:0 1px 6px #6d35e314}.user-perm-item-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.user-perm-item-icon{color:var(--text-muted);transition:color var(--transition);flex-shrink:0;align-items:center;display:flex}.user-perm-item-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.825rem;font-weight:500;overflow:hidden}.user-toggle-wrap{flex-shrink:0;position:relative}.user-toggle-input{opacity:0;width:0;height:0;position:absolute}.user-toggle-track{cursor:pointer;background:#d1d5db;border-radius:9999px;width:34px;height:19px;transition:background .25s;display:block;position:relative}.user-toggle-on{background:var(--brand-primary)}.user-toggle-thumb{background:#fff;border-radius:9999px;width:13px;height:13px;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.user-toggle-on .user-toggle-thumb{transform:translate(15px)}.user-role-footer-hint{color:var(--text-muted);flex:1;font-size:.78rem}.net-info-banner{color:#0f766e;background:#14b8a612;border:1.5px solid #14b8a638;border-radius:10px;align-items:flex-start;gap:10px;margin-top:22px;padding:13px 16px;font-size:.82rem;line-height:1.55;display:flex}.net-info-banner strong{color:#0d9488;font-weight:600}.net-stats-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:900px){.net-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.net-stats-row{grid-template-columns:1fr}}.net-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:4px;padding:18px 22px;display:flex}.net-stat-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.net-stat-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1}.net-stat-label{color:var(--text-secondary);font-size:.775rem;font-weight:500}.net-user-count{color:var(--text-secondary);align-items:center;gap:6px;font-size:.83rem;font-weight:500;display:inline-flex}.user-textarea{border:1.5px solid var(--card-border);width:100%;color:var(--text-primary);resize:vertical;min-height:88px;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fafbfc;border-radius:9px;outline:none;padding:11px 14px;font-family:inherit;font-size:.875rem;line-height:1.5}.user-textarea::placeholder{color:var(--text-muted)}.user-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light);background:#fff}.cat-char-count{color:var(--text-muted);pointer-events:none;background:#fafbfc;border-radius:4px;padding:0 4px;font-size:.72rem;font-weight:500;position:absolute;bottom:9px;right:12px}.cat-toggle-row{border:1.5px solid var(--card-border);background:#fafbfc;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:16px 20px;display:flex}.cat-toggle-info{flex:1;min-width:0}.cat-toggle-label{color:var(--text-primary);margin-bottom:3px;font-size:.875rem;font-weight:600}.cat-toggle-sub{color:var(--text-secondary);font-size:.775rem}.cat-slug-preview{color:#14b8a6;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:#14b8a617;border-radius:5px;max-width:140px;padding:2px 8px;font-size:.72rem;font-weight:600;position:absolute;right:12px;overflow:hidden}.cat-slider-on{color:#3b63d6;background:#4f7df01a}.cat-slider-on .user-status-dot{background:#4f7df0}.cat-slider-off{color:#6b7280;background:#f3f4f6}.cat-slider-off .user-status-dot{background:#9ca3af}.store-form-layout{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}@media (max-width:960px){.store-form-layout{grid-template-columns:1fr}}.store-col-main{flex-direction:column;gap:20px;display:flex}.store-col-side{top:calc(var(--topbar-height) + 16px);flex-direction:column;gap:16px;display:flex;position:sticky}.rich-editor-wrap{border:1.5px solid var(--card-border);transition:border-color var(--transition), box-shadow var(--transition);background:#fff;border-radius:10px;overflow:hidden}.rich-editor-wrap:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light)}.rich-toolbar{border-bottom:1px solid var(--card-border);background:#f8f9fc;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;display:flex}.rich-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:.8rem;display:inline-flex}.rich-btn:hover{background:var(--brand-primary-light);color:var(--brand-primary)}.rich-btn strong{font-weight:800}.rich-btn em{font-style:italic}.rich-btn u{text-decoration:underline}.rich-btn s{text-decoration:line-through}.rich-select{border:1px solid var(--card-border);height:28px;color:var(--text-secondary);background:var(--card-bg);cursor:pointer;border-radius:6px;outline:none;padding:0 6px;font-family:inherit;font-size:.75rem}.rich-divider{background:var(--card-border);flex-shrink:0;width:1px;height:20px;margin:0 3px}.rich-body{color:var(--text-primary);background:#fff;outline:none;padding:14px 16px;font-size:.9rem;line-height:1.65;position:relative}.rich-body:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.rich-body ul,.rich-body ol{padding-left:20px}.rich-body a{color:var(--brand-primary);text-decoration:underline}.store-logo-drop{border:2px dashed var(--card-border);cursor:pointer;transition:all var(--transition);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:130px;padding:24px 16px;display:flex}.store-logo-drop:hover{background:#e85d8a0a;border-color:#e85d8a}.store-logo-icon{color:#e85d8a;background:#e85d8a1a;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.store-logo-hint{color:var(--text-primary);font-size:.855rem;font-weight:600}.store-logo-sub{color:var(--text-muted);font-size:.76rem}.store-logo-preview-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100px}.store-cat-selector{border:1.5px solid var(--card-border);cursor:pointer;min-height:42px;transition:all var(--transition);background:#fafbfc;border-radius:9px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:7px 13px;display:flex}.store-cat-selector:hover,.store-cat-selector:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light);background:#fff}.store-cat-selector-value{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.store-cat-chip{color:#c2185b;background:#e85d8a1f;border:1px solid #e85d8a40;border-radius:9999px;align-items:center;gap:4px;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.store-cat-chip button{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;align-items:center;padding:0;font-size:.9rem;line-height:1;display:flex}.store-cat-chip button:hover{opacity:1}.store-cat-dropdown{background:var(--card-bg);border:1.5px solid var(--card-border);z-index:50;border-radius:10px;grid-template-columns:1fr 1fr;margin-top:4px;display:grid;overflow:hidden;box-shadow:0 8px 24px #0000001a}.store-cat-option{color:var(--text-primary);cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:10px 14px;font-size:.845rem;font-weight:500;display:flex}.store-cat-option:hover{background:#f8f9fc}.store-cat-option-checked{background:#e85d8a0f}.store-cat-check{border:1.5px solid var(--card-border);width:17px;height:17px;transition:all var(--transition);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.store-cat-check-on{color:#fff;background:#e85d8a;border-color:#e85d8a}.store-inline-chip{color:var(--text-secondary);border:1px solid var(--card-border);background:#f3f4f6;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.store-feat-btn{cursor:pointer;border:1.5px solid var(--card-border);color:var(--text-muted);transition:all var(--transition);background:#f3f4f6;border-radius:9999px;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:.76rem;font-weight:600;display:inline-flex}.store-feat-btn-on{color:#b45309;background:#ffc1071f;border-color:#ffc10766}.store-feat-btn:hover{color:#e85d8a;border-color:#e85d8a}.cat-draft-badge{color:#5b21b6;background:#6d35e317}.cat-draft-badge .user-status-dot{background:#7c3aed}.store-edit-empty{background:var(--card-bg);border:1.5px dashed var(--card-border);border-radius:var(--card-radius);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.store-edit-empty-icon{color:#e85d8a;background:#e85d8a14;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:4px;display:flex}.store-edit-empty-title{color:var(--text-primary);font-size:1.05rem;font-weight:700}.store-edit-empty-sub{color:var(--text-secondary);max-width:320px;font-size:.845rem}.cpn-date-input{color:var(--text-primary);padding-left:36px;font-family:inherit}.cpn-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}.cpn-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.cpn-code-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.cpn-code-toggle-wrap{border:1.5px solid var(--card-border);background:#fafbfc;border-radius:9px;align-items:center;gap:12px;padding:10px 16px;display:flex}.cpn-code-input{background:#fafbfc}.cpn-sort-container{border:1px dashed var(--card-border);background:#f8f9fc;border-radius:10px;padding:16px}.cpn-drag-list{flex-direction:column;gap:8px;display:flex}.cpn-drag-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:box-shadow .2s,background-color .2s;display:flex;box-shadow:0 1px 2px #0000000d}.cpn-drag-item:hover{background:#fafbfc}.cpn-dragging{z-index:10;background:#fff;border-color:#7c3aed;box-shadow:0 8px 16px #0000001a}.cpn-drag-handle{color:#9ca3af;cursor:grab;justify-content:center;align-items:center;display:flex}.cpn-drag-handle:active{cursor:grabbing}.cpn-drag-content{flex-direction:column;gap:2px;display:flex}.cpn-drag-offer{color:var(--text-primary);font-size:.9rem;font-weight:600}.cpn-drag-details{color:var(--text-secondary);font-size:.8rem}
