:root{color:#1a2433;background:#eef3f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.admin-shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{background:#111827;color:#fff;padding:24px 18px}.logo{height:44px;display:flex;align-items:center;font-weight:850;color:#f7c948}nav{display:grid;gap:6px;margin-top:28px}nav button{padding:11px 12px;border-radius:6px;color:#cbd5e1;background:transparent;border:0;text-align:left}.nav-group{margin:14px 6px 4px;color:#94a3b8;font-size:12px;font-weight:800}.nav-role{display:block;margin:24px 6px 4px;padding-top:14px;border-top:1px solid rgba(148,163,184,.25);color:#94a3b8;font-size:12px}nav button.active{color:#fff;background:#243044}.nav-tree{display:grid;gap:4px}nav button.nav-parent-button{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 0;padding:9px 12px;color:#cbd5e1;font-weight:700;letter-spacing:.01em;background:transparent;border:0;border-radius:6px}nav button.nav-parent-button:hover{background:#94a3b81a}nav button.nav-parent-button.active{color:#fff}.nav-parent-chevron{display:inline-flex;align-items:center;color:#94a3b8}nav button.nav-parent-button.active .nav-parent-chevron{color:#cbd5e1}nav button.nav-child{padding-left:24px;font-size:13px;color:#cbd5e1;position:relative}nav button.nav-child:before{content:"";position:absolute;left:14px;top:50%;width:4px;height:4px;border-radius:50%;background:#64748b;transform:translateY(-50%)}nav button.nav-child.active:before{background:#f7c948}.action-menu{position:relative;display:inline-block}.action-menu-trigger{background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.action-menu-trigger:hover,.action-menu-trigger[aria-expanded=true]{background:#eef2f7;border-color:#cbd5e1;color:#1e293b}.action-menu-popover{min-width:160px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 12px 24px #0f172a2e;z-index:1000;display:flex;flex-direction:column;padding:4px}.action-menu-item{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;border:0;background:transparent;color:#1e293b;cursor:pointer;text-align:left;font-size:13px;white-space:nowrap}.action-menu-item:hover{background:#eef2f7}.action-menu-popover .action-menu-item.danger{background:transparent;border:0;color:#1e293b}.action-menu-popover .action-menu-item.danger:hover{background:#eef2f7;color:#1e293b}.num-input{width:64px;text-align:right;font-variant-numeric:tabular-nums}.anchor-type-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid transparent;cursor:help}.anchor-type-pill.anchor-type-account{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.anchor-type-pill.anchor-type-profile{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.seed-pill{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;background:#fef3c7;color:#92400e;cursor:help}.muted,.ops-table tbody tr.row-disabled{color:#94a3b8}.ops-table tbody tr.row-disabled code,.ops-table tbody tr.row-disabled strong{color:inherit}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;font-size:13px;color:#475569}.pagination-total{font-weight:600}.pagination-size{display:inline-flex;align-items:center;gap:6px}.pagination-size select{padding:4px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#fff}.pagination-pages{display:inline-flex;align-items:center;gap:4px}.pagination-page{min-width:32px;height:30px;padding:0 10px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#1e293b;cursor:pointer}.pagination-page:hover{border-color:#93c5fd;color:#1d4ed8}.pagination-page.active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.pagination-arrow{height:30px;padding:0 10px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#1e293b;cursor:pointer}.pagination-arrow:disabled{opacity:.45;cursor:not-allowed}.pagination-gap{padding:0 6px;color:#94a3b8}.pagination-jump{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.pagination-jump-input{width:52px;height:30px;text-align:center;border-radius:6px;border:1px solid #cbd5e1;font-variant-numeric:tabular-nums}.workspace{padding:26px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.topbar-actions{display:flex;align-items:center;gap:8px}.language-select{min-width:120px}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:999px;background:transparent;color:#64748b;cursor:pointer;transition:color .2s ease,background-color .2s ease}.header-icon-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.header-icon-btn:disabled{opacity:.5;cursor:not-allowed}.topbar-menu-wrapper,.user-chip-wrapper{position:relative;display:inline-flex}.user-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-left:1px solid #eef2f7;background:transparent;cursor:pointer;border-radius:0;color:inherit;font:inherit}.user-chip:hover,.user-chip.open{background:#f8fafc}.user-chip-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#eff6ff;color:#004ac6;font-size:14px;font-weight:800;flex-shrink:0}.user-chip-text{min-width:0}.user-chip-name{display:inline-block;max-width:132px;overflow:hidden;text-overflow:ellipsis;color:#1f2937;font-size:14px;line-height:1.15;font-weight:700;white-space:nowrap}.user-chip-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#eff6ff;color:#004ac6;font-size:11px;font-weight:800}.user-chip-arrow{color:#94a3b8}.user-menu-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:1000;min-width:200px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 12px 28px #1e2a3c26;padding:6px}.user-menu-section-title{display:flex;align-items:center;gap:6px;padding:8px 10px 4px;color:#94a3b8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#1f2937;font-size:13px;font-weight:600;cursor:pointer;text-align:left;justify-content:flex-start}.user-menu-item:hover:not(:disabled){background:#f1f5f9}.user-menu-item:disabled{color:#cbd5e1;cursor:not-allowed}.user-menu-item.active{color:#004ac6;background:#eff6ff}.user-menu-item.danger{color:#b91c1c}.user-menu-item.danger:hover{background:#fef2f2}.user-menu-item-label{flex:1}.user-menu-check{color:#004ac6}.user-menu-divider{height:1px;background:#eef2f7;margin:4px 6px}.eyebrow{margin:0 0 4px;color:#55708d;font-size:13px;font-weight:750}h1,h2,h3,p{margin:0}h1{font-size:30px}h2{font-size:18px}h3{font-size:24px;margin-bottom:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dashboard-stats-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.dashboard-stats-grid .stat-card{padding:14px 12px}.dashboard-stats-grid .stat-card strong{font-size:24px}@media(max-width:1280px){.dashboard-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card,.panel{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 12px 28px #1e2a3c14}.stat-card{padding:16px;display:grid;gap:6px}.stat-card-head{display:flex;align-items:center;gap:8px}.stat-card .stat-card-icon{display:inline-flex;align-items:center;color:#0f62fe}.stat-card .stat-card-label{color:#64748b;font-size:13px;font-weight:600}.stat-card strong{font-size:30px}.split{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(420px,1.05fr);gap:16px;margin-bottom:16px}.panel{padding:16px}.management-page{display:grid;gap:16px}.stock-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 0 4px}.stock-page-title{display:grid;gap:6px}.stock-page-title h2{margin:0;font-size:22px;line-height:1.25}.stock-page-title p,.stock-table-header p{margin:0;color:#64748b;font-size:13px}.stock-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.stock-page-actions button,.filter-shortcut-button,.pending-review-button{min-height:36px;padding:8px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}.filter-shortcut-button{background:#fff;color:#334155;border:1px solid #cbd5e1}.pending-review-button{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.stock-table-card{display:grid;gap:14px}.stock-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stock-table-header h3{margin:0 0 4px;font-size:16px;line-height:1.3}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head span,.empty,.detail-panel p{color:#68778b}.create-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 96px;gap:8px;margin-bottom:8px}.create-row.compact{grid-template-columns:minmax(0,1fr) 150px}.filter-panel{border:1px solid var(--border-soft, #eef0f3);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--surface-soft, #fafbfc)}.filter-panel .filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.filter-panel .filter-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted, #677084)}.filter-panel .filter-row label span{font-weight:600}.filter-panel .filter-row input,.filter-panel .filter-row select{height:36px;padding:0 10px;border:1px solid var(--border-soft, #e5e7eb);border-radius:8px;font-size:13px;background:#fff}.filter-panel .filter-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.stock-inline-filter{display:grid;grid-template-columns:minmax(220px,360px) 84px 84px;gap:8px;align-items:center}.stock-inline-filter input{min-width:0}.wide-input{margin-bottom:12px}input,select{min-height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:0 11px;background:#fff}button{min-height:40px;border:1px solid #c7d2e1;border-radius:6px;background:#fff;color:#172033;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f8}.login-panel{width:min(460px,100%);display:grid;gap:14px;padding:22px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 16px 36px #1e2a3c1f}.login-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.login-panel label{display:grid;gap:6px;color:#526173;font-size:13px;font-weight:750}.primary-login{background:#0f62fe;border-color:#0f62fe;color:#fff}.password-field{position:relative}.password-field input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:32px;width:32px;padding:0;border:0;background:transparent;color:#64748b;display:inline-flex;align-items:center;justify-content:center}.password-toggle:hover{color:#0f62fe}.code-field{display:grid;grid-template-columns:1fr auto;gap:8px}.login-note{color:#64748b;font-size:13px;line-height:1.5}.ghost{padding:0 16px}.table{display:grid;gap:8px}.room-row{min-height:68px;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:10px 12px}.room-row.selected{border-color:#0f62fe;background:#f1f6ff}.room-row span{display:grid;gap:4px}small{color:#64748b}.status{padding:5px 9px;border-radius:999px;font-style:normal;font-size:12px;font-weight:800;background:#e5e7eb;color:#374151}.status-live{background:#dcfce7;color:#166534}.status-preparing{background:#fef3c7;color:#92400e}.status-ended,.status-offline{background:#e5e7eb;color:#374151}.status-banned{background:#fee2e2;color:#991b1b}.status-active{background:#dcfce7;color:#166534}.status-disabled{background:#f1f5f9;color:#64748b}.action-bar,.gift-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.action-bar button,.gift-row button,.stream-box button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px}.action-bar button:nth-child(2){background:#0f62fe;border-color:#0f62fe;color:#fff}.action-bar button.danger,.key-actions button.danger,.stream-box button.danger{background:#991b1b;border-color:#991b1b;color:#fff}.stream-box{display:grid;gap:8px;padding:14px;border:1px solid #d7e0eb;border-radius:8px;background:#f8fafc}.stream-box label{color:#526173;font-size:12px;font-weight:800}.key-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.stream-box .label-strong{margin:8px 0 2px;color:#2b384d;font-size:13px;font-weight:700}.tab-bar{display:flex;flex-wrap:wrap;gap:8px;padding:4px;background:#eef2f7;border:1px solid #d7e0eb;border-radius:8px}.tab-bar .tab{flex:1 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:#2b384d;font-weight:600;cursor:pointer}.tab-bar .tab:hover{background:#fff}.tab-bar .tab.active{background:#fff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 1px 2px #0f172a0f}.tab-bar .tab-count{font-size:11px;padding:1px 7px;border-radius:999px;background:#1e293b14;color:#475569}.tab-bar .tab.active .tab-count{background:#dbeafe;color:#1e3a8a}.ops-table.selectable tbody tr{cursor:pointer}.ops-table.selectable tbody tr.selected{background:#eff6ff;outline:1px solid #93c5fd;outline-offset:-1px}.state-banner{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 12px;margin-bottom:4px;border:1px solid #cfd9e6;border-radius:8px;background:#fff}.state-banner strong{color:#2b384d;font-size:13px}.state-banner span{color:#475569;font-size:13px}.state-banner.state-live{border-color:#34d399;background:#ecfdf5}.state-banner.state-preparing{border-color:#fbbf24;background:#fffbeb}.state-banner.state-offline,.state-banner.state-ended{border-color:#cbd5e1;background:#f8fafc}.state-banner.state-banned{border-color:#f87171;background:#fef2f2}.warn-box{display:grid;gap:4px;padding:10px 12px;margin-top:6px;border:1px solid #fca5a5;border-radius:8px;background:#fff1f2;color:#7f1d1d}.warn-box strong{font-size:13px;color:#991b1b}.warn-box p{margin:0;font-size:13px;line-height:1.5}.warn{margin:0;padding:8px 10px;border:1px solid #fcd34d;border-radius:6px;background:#fffbeb;color:#78350f;font-size:13px}.info-box{display:grid;gap:4px;padding:10px 12px;margin-top:6px;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff;color:#0c4a6e}.info-box strong{font-size:13px}.info-box p{margin:0;font-size:13px;line-height:1.5}.diag-fold{margin-top:6px;padding:8px 10px;border:1px solid #d7e0eb;border-radius:6px;background:#fff}.diag-fold summary{cursor:pointer;color:#475569;font-size:12px;font-weight:600}.diag-fold code{margin-top:6px}.diag-box{margin-top:14px;padding:14px;background:#fff;border:1px solid #d7e0eb;border-radius:8px}.diag-box strong{display:block;margin-bottom:10px;color:#2b384d;font-size:14px}.diag-grid{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0;font-size:13px}.diag-grid dt{color:#64748b}.diag-grid dd{margin:0;color:#172033}code{display:block;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;padding:8px;border-radius:5px;background:#111827;color:#e5f0ff}.anchor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.anchor-grid article,.data-list article{display:grid;gap:5px;padding:12px;border:1px solid #d8e1eb;border-radius:8px}.anchor-grid span,.data-list span{color:#0f766e}.data-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.block-muted{display:block;margin-top:4px;color:#64748b;font-size:12px}.section-subtitle{margin:18px 0 10px;color:#0f172a;font-size:15px}.finance-page{gap:16px}.finance-page-header{align-items:center}.finance-toolbar input{width:220px;min-height:36px}.finance-action-credit,.finance-action-debit{border:1px solid transparent;min-height:36px;padding:8px 22px;border-radius:6px;font-weight:700}.finance-action-credit{background:#059669;color:#fff;box-shadow:0 4px 10px #0596692e}.finance-action-debit{background:#fff1f2;color:#e11d48;border-color:#fecdd3}.filter-shortcut-button.active,.finance-action-credit.active,.finance-action-debit.active{outline:2px solid rgba(37,99,235,.18);box-shadow:0 0 0 3px #2563eb14}.filter-reset-button,.filter-search-button{min-height:40px;padding:8px 18px;border-radius:6px;font-weight:700}.filter-reset-button{border:1px solid #cbd5e1;background:#fff;color:#475569}.filter-search-button{border:1px solid #2563eb;background:#2563eb;color:#fff}.finance-dialog-body{display:grid;gap:18px;min-width:min(500px,calc(100vw - 96px))}.modal-card:has(.finance-dialog-body){max-width:560px;border-radius:10px}.finance-dialog-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-dialog-section{display:grid;gap:14px}.finance-dialog-section h3{display:flex;align-items:center;gap:8px;margin:0;padding-bottom:10px;border-bottom:1px solid #dbe3ee;color:#0f172a;font-size:14px}.finance-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-dialog-wide{display:block}.finance-dialog-body textarea{display:block;width:100%;min-height:68px;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.finance-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:6px;padding:3px;border:1px solid #dbe3ee;border-radius:9px;background:#f8fafc}.finance-segment button{min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:#475569;font-weight:700}.finance-segment button.active{border-color:#dbe3ee;background:#fff;color:#4f46e5}.finance-table-card{padding:18px}.finance-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;background:#fff}.finance-table{width:100%;border-collapse:collapse;font-size:12px}.finance-table thead{background:#f8fafc}.finance-table th,.finance-table td{padding:11px 14px;border-bottom:1px solid #e5edf5;text-align:center;vertical-align:middle;white-space:nowrap}.finance-table th{color:#0f172a;font-size:12px;font-weight:800}.finance-table td strong,.finance-table td small,.finance-table td span,.finance-table td a{display:block}.finance-table td strong{color:#0f172a;font-size:13px}.finance-table td small,.finance-table td span,.finance-table td a{margin-top:5px;color:#334e75;font-size:11px}.finance-amount-cell strong{color:#059669!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.finance-amount-cell small{color:#334155!important;font-weight:700}.finance-status-pill{display:inline-block!important;width:fit-content;margin:6px auto 0;padding:2px 8px;border-radius:999px;font-style:normal;font-weight:700;font-size:11px}.finance-status-pending{color:#d97706;border:1px solid #facc15;background:#fffbeb}.finance-status-success{color:#059669;border:1px solid #86efac;background:#f0fdf4}.finance-status-failed{color:#dc2626;border:1px solid #fecaca;background:#fff1f2}.finance-time-cell strong{font-variant-numeric:tabular-nums}.finance-more-dot{color:#94a3b8;font-weight:900;letter-spacing:2px}.finance-side-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-mini-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;border:1px solid #e2e8f0;background:#fff}.finance-mini-panel h3{grid-column:1 / -1;margin:0;font-size:15px}.finance-mini-panel button{min-height:40px}.finance-coupon-list{grid-column:1 / -1;display:grid;gap:8px}.finance-coupon-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e2e8f0}@media(max-width:900px){.finance-page-header{align-items:stretch;flex-direction:column}.finance-toolbar{justify-content:flex-start}.finance-toolbar input,.finance-toolbar button{flex:1 1 160px}.finance-side-ops,.finance-mini-panel{grid-template-columns:1fr}.finance-coupon-list article{grid-template-columns:1fr}}.compact-list{grid-template-columns:1fr}.studio-split{grid-template-columns:minmax(440px,1.1fr) minmax(320px,.9fr)}.studio-quality-banner{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:8px;padding:12px 14px;margin:12px 0;color:#78350f;font-size:13px;line-height:1.5;display:grid;gap:4px}.studio-quality-banner strong{color:#92400e;font-size:14px;font-weight:700}.studio-quality-banner p{margin:0}.studio-quality-banner .hint{color:#a16207;font-size:12px}.wide-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toast{position:fixed;right:22px;bottom:22px;padding:12px 14px;border-radius:8px;background:#111827;color:#fff;box-shadow:0 18px 32px #1118273d}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.sidebar{display:none}.stats-grid,.split,.anchor-grid,.data-list,.wide-table{grid-template-columns:1fr}.workspace{padding:16px}.create-row,.create-row.compact{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-frame{background:#fff;border-radius:8px;width:min(760px,100%);max-height:88vh;overflow:auto;box-shadow:0 30px 60px #0f172a40;padding:18px}.group-review-dialog{display:flex;flex-direction:column;gap:16px}.group-proof-panel{display:flex;flex-direction:column;gap:10px}.group-proof-panel img{width:100%;max-height:48vh;object-fit:contain;border:1px solid #dbe3ef;border-radius:8px;background:#f8fafc}.modal-card{background:#fff;border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 30px 60px #0f172a40;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e2e8f0}.modal-head h2{margin:0;font-size:17px}.modal-close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#475569}.modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.modal-body label{display:block;font-size:13px;color:#475569;font-weight:600}.modal-body label input,.modal-body label select{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}.account-form{display:grid;gap:14px;max-width:420px}.account-form label{display:block;font-size:13px;color:#475569;font-weight:600}.account-form input{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}.modal-foot{padding:14px 22px 18px;display:flex;justify-content:flex-end;gap:10px}.modal-foot button{padding:9px 16px;border-radius:9px;border:none;cursor:pointer;font-weight:600}.modal-foot button.primary{background:#2563eb;color:#fff}.modal-foot button.ghost{background:#e2e8f0;color:#0f172a}.modal-backdrop.stock-filter-dialog-backdrop{background:#0f172a47;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card.stock-filter-dialog{max-width:min(560px,calc(100vw - 32px));border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 32px 64px -12px #0f172a2e}.stock-filter-dialog .modal-head{padding:18px 24px;border-bottom:1px solid #f1f5f9}.stock-filter-dialog-title{color:#1e293b;font-size:20px;font-weight:700;line-height:1.35}.stock-filter-dialog .modal-body{padding:22px 24px 24px;background:#fff}.stock-filter-dialog .modal-foot{padding:16px 24px;border-top:1px solid #f1f5f9;background:#f8fafc}.filter-dialog-footer{display:block}.stock-filter-form{width:100%;display:flex;flex-direction:column;gap:20px}.stock-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.stock-filter-field,.stock-filter-field-full{display:block;margin:0;color:#475569;font-size:13px;font-weight:600}.stock-filter-field-full{grid-column:1 / -1}.stock-filter-field span,.stock-filter-field-full span{display:block;margin-bottom:8px;line-height:1.2}.stock-filter-form input,.stock-filter-form select{display:block;width:100%;min-height:42px;margin:0;padding:0 12px;border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#0f172a;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease}.stock-filter-form input:hover,.stock-filter-form select:hover{border-color:#c7d2fe}.stock-filter-form input:focus,.stock-filter-form select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.filter-dialog-actions{display:flex;justify-content:flex-end;gap:12px;width:100%}.filter-reset-button,.filter-search-button{min-width:96px;min-height:40px;padding:8px 18px;border-radius:8px;font-weight:600;cursor:pointer}.filter-reset-button{border:1px solid #f0f0f0;background:#fff;color:#475569}.filter-search-button{border:1px solid #4f46e5;background:#4f46e5;color:#fff}.filter-search-button:hover{border-color:#4338ca;background:#4338ca}.filter-reset-button:disabled,.filter-search-button:disabled{cursor:not-allowed;opacity:.62}@media(max-width:640px){.stock-filter-grid{grid-template-columns:1fr}.filter-dialog-actions{justify-content:stretch}.filter-reset-button,.filter-search-button{flex:1}}.phone-row{display:grid;grid-template-columns:110px 1fr;gap:8px;margin-top:6px}.phone-row select,.phone-row input{padding:10px 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}.channel-toggle{display:inline-flex;border:1px solid #cbd5e1;border-radius:999px;padding:3px;background:#f1f5f9}.channel-toggle button{border:none;padding:6px 14px;border-radius:999px;cursor:pointer;background:transparent;color:#475569;font-weight:600}.channel-toggle button.active{background:#2563eb;color:#fff}.quick-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px}.quick-card{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 1px 4px #0f172a14;display:flex;flex-direction:column;gap:12px}.quick-card-head{display:flex;justify-content:space-between;align-items:center}.quick-card-head h3{margin:0;font-size:15px}.quick-card-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-card button.primary{background:#2563eb;color:#fff;border:none;padding:8px 14px;border-radius:9px;font-weight:600;cursor:pointer}.quick-card button.ghost{background:#e2e8f0;border:none;padding:8px 14px;border-radius:9px;font-weight:600;cursor:pointer;color:#0f172a}.quick-card code{background:#0f172a;color:#f8fafc;padding:6px 8px;border-radius:6px;font-size:12px;word-break:break-all}.quick-card small{color:#64748b}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.ops-card{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 1px 4px #0f172a14;display:flex;flex-direction:column;gap:10px}.ops-card h3{margin:0;font-size:15px}.ops-card input,.ops-card select{width:100%;padding:9px 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}.ops-card button{background:#2563eb;color:#fff;border:none;padding:9px 14px;border-radius:9px;font-weight:600;cursor:pointer}.ops-room-select{margin-bottom:12px;background:#fff;border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px #0f172a14}.ops-room-select select{flex:1;padding:9px 12px;border-radius:8px;border:1px solid #cbd5e1}.hint{color:#64748b;font-size:13px;margin:0}.ops-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.ops-table{width:100%;border-collapse:collapse;font-size:13px}.ops-table thead{background:#f1f5f9}.ops-table th,.ops-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e2e8f0;vertical-align:middle;white-space:nowrap}.ops-table tbody tr:last-child td{border-bottom:none}.ops-table tbody tr:hover{background:#f8fafc}.ops-table th{font-weight:600;color:#475569;letter-spacing:.02em;text-transform:uppercase;font-size:11px}.ops-table td.num,.ops-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ops-table .actions-col{text-align:right;width:1%}.ops-table .row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.ops-table .row-actions button{padding:5px 10px;font-size:12px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.ops-table .cell-stack{display:flex;align-items:center;gap:8px}.identity-stack{display:grid;gap:3px;min-width:140px}.identity-stack strong{color:#0f172a;font-weight:700}.identity-stack span{color:#64748b;font-size:12px}.money-stack{font-variant-numeric:tabular-nums;color:#334155}.self-pill{font-style:normal;background:#fef3c7;color:#92400e;font-size:11px;padding:1px 6px;border-radius:999px}.role-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.role-badge.role-admin{background:#fee2e2;color:#991b1b;border-color:#fecaca}.role-badge.role-agent{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.role-badge.role-anchor{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.role-badge.role-user{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.profile-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:start}@media(max-width:960px){.profile-grid{grid-template-columns:1fr}}.profile-card{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 12px 28px #1e2a3c14;padding:24px 20px;display:grid;gap:18px}.profile-card-head{display:grid;justify-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid #eef2f7}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:999px;background:#eff6ff;color:#004ac6;font-size:30px;font-weight:800}.profile-name{color:#1f2937;font-size:18px;font-weight:800}.profile-role-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;background:#eff6ff;color:#004ac6;font-size:12px;font-weight:700}.profile-info{margin:0;padding:0;display:grid;gap:4px}.profile-info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #f1f5f9}.profile-info-row:last-child{border-bottom:0}.profile-info-row dt{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:13px;font-weight:600;margin:0}.profile-info-row dd{margin:0;color:#1f2937;font-size:13px;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-change-password{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1f2937;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.profile-change-password:hover{background:#f1f5f9;border-color:#94a3b8}.profile-placeholder{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:32px 24px;min-height:160px;display:grid;align-content:center;justify-items:center;color:#64748b}.profile-placeholder .hint{margin:0;text-align:center;font-size:13px}.ops-target-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;margin-bottom:12px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;color:#334155}.ops-target-label{color:#64748b;font-weight:600}.ops-target-anchor{color:#0f172a}.ops-target-title{color:#1e293b}.ops-target-id{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ops-target-sep{color:#94a3b8}.ops-target-empty{color:#94a3b8;font-style:italic}.ops-room-select-label{font-weight:600}.transfer-dialog{display:flex;flex-direction:column;gap:14px}.transfer-dialog-field{display:flex;flex-direction:column;gap:6px}.transfer-dialog-label{font-weight:600;font-size:13px;color:#334155}.transfer-dialog-input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;color:#0f172a}.transfer-dialog-input:read-only{background:#f8fafc;color:#475569}.transfer-dialog-options{display:flex;flex-direction:column;gap:8px}.transfer-dialog-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.transfer-dialog-option:hover{border-color:#94a3b8}.transfer-dialog-option.selected{border-color:#2563eb;background:#eff6ff}.transfer-dialog-option>input[type=radio]{flex:0 0 auto;margin:0;width:16px;height:16px;accent-color:#2563eb}.transfer-dialog-option-body{display:flex;flex-direction:column;gap:2px}.transfer-dialog-option-body strong{font-size:14px;color:#0f172a}.transfer-dialog-option-body small{font-size:12px;color:#64748b}.transfer-dialog-warning{margin:0;padding:8px 12px;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;font-size:12px;color:#78350f}.room-picker-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.room-picker-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;text-align:left}.room-picker-item:hover{border-color:#2563eb;background:#eff6ff}.room-picker-item strong{flex:1 1 auto;color:#0f172a}.room-picker-item span{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.room-picker-item small{color:#94a3b8}.campaign-management-card{border:1px solid #cbd8e6;background:#fff;border-radius:8px;padding:16px;box-shadow:0 12px 30px #0f172a14}.gift-editor{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:14px}.gift-icon-picker{min-height:132px;border:1px solid #d8e2ee;border-radius:8px;background:#f8fbff;display:grid;place-items:center;gap:8px;padding:12px}.gift-icon-picker img,.gift-list-icon img{width:72px;height:72px;object-fit:contain;display:block}.gift-icon-picker .pill{cursor:pointer;width:100%;justify-content:center;margin:0}.gift-icon-picker input[type=file]{display:none}.gift-editor-fields{display:grid;gap:10px;align-content:start}.gift-list article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.gift-list-icon{width:78px;height:78px;border:1px solid #d8e2ee;border-radius:8px;background:#fff;display:grid;place-items:center;color:#64748b}.ops-quick-amounts{display:flex;flex-wrap:wrap;gap:6px}.ops-quick-amounts button{flex:1 1 72px;min-width:0;height:30px;border-radius:8px;border:1px solid #c8d5e4;background:#f8fbff;color:#1e3a8a;font-size:12px;font-weight:800}.ops-quick-amounts button.active{border-color:#2563eb;background:#2563eb;color:#fff}.ops-comment-name-row{display:grid;grid-template-columns:minmax(96px,.6fr) minmax(0,1fr);gap:8px}.ops-comment-name-row input[readonly]{background:#f8fbff;color:#0f172a;font-weight:800}.entity-search{position:relative;width:100%;min-width:0}.entity-search-input-row{position:relative;width:100%}.entity-search-input-row input{width:100%;padding-right:38px}.entity-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:6px;background:#eef3f8;color:#475569;font-size:18px;line-height:1;display:grid;place-items:center}.entity-search-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;padding:6px;border:1px solid #c8d5e4;border-radius:8px;background:#fff;box-shadow:0 16px 40px #0f172a29}.entity-search-option{width:100%;min-height:48px;border:0;border-radius:7px;background:transparent;color:#0f172a;display:grid;gap:2px;padding:8px 10px;text-align:left}.entity-search-option:hover,.entity-search-option.selected{background:#eef5ff}.entity-search-option strong{font-size:13px;font-weight:850}.entity-search-option span,.entity-search-option small,.entity-search-state{color:#64748b;font-size:12px}.entity-search-state{padding:12px;text-align:center}.entity-selected-summary{display:grid;gap:2px;padding:10px 12px;border:1px solid #d8e2ee;border-radius:8px;background:#f8fbff}.entity-selected-summary strong{font-size:13px;color:#0f172a}.entity-selected-summary span,.entity-selected-summary small{color:#64748b;font-size:12px}@media(max-width:760px){.gift-editor{grid-template-columns:1fr}}.campaign-inline-form{display:grid;gap:12px;border:1px solid #d8e2ee;border-radius:8px;background:#f8fbff;padding:14px}.campaign-inline-form-editing{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.campaign-form-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#0f172a}.campaign-form-title strong{font-size:14px}.campaign-form-title span{color:#64748b;font-size:12px;font-weight:700}.campaign-fields-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(112px,.6fr) minmax(112px,.62fr) repeat(3,minmax(112px,.62fr)) minmax(140px,.8fr) minmax(112px,.62fr);gap:10px;align-items:end}.campaign-field{display:grid;gap:5px;min-width:0;color:#0f172a;font-size:13px;font-weight:750}.campaign-field input,.campaign-field select{width:100%;min-width:0;height:40px}.campaign-input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:40px;border:1px solid #c8d5e4;border-radius:8px;overflow:hidden;background:#fff}.campaign-input-with-unit input{height:38px;border:0;border-radius:0}.campaign-input-with-unit span{height:100%;padding:0 10px;display:inline-flex;align-items:center;border-left:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:13px;font-weight:800}.campaign-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-gates-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0}.campaign-gates-row label{width:auto;display:inline-flex;align-items:center;gap:6px;margin:0;white-space:nowrap}.campaign-bottom-row .form-actions{margin:0;flex:0 0 auto}@media(max-width:1380px){.campaign-fields-row{grid-template-columns:repeat(4,minmax(140px,1fr))}}@media(max-width:760px){.campaign-fields-row{grid-template-columns:1fr}.campaign-bottom-row{align-items:stretch;flex-direction:column}}
