:root{--bg:#081523;--bg-top:#10263d;--bg-deep:#06111c;--bg-glow:rgba(46,94,173,0.22);--bg-glow-soft:rgba(119,164,255,0.1);--panel:#ffffff;--panel-soft:#f7fbff;--ink:#102033;--muted:#60728a;--line:#dbe6f1;--line-strong:#b6c6d8;--accent:#2563eb;--accent-dark:#1d4ed8;--nav:#0d2236;--nav-muted:#d8e8f8;--row:#f8fbff;--row-hover:#eaf3ff;--surface-width:1580px;--surface-padding:24px;--surface-radius:8px;--content-offset:34px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:radial-gradient(circle at 12% 8%,var(--bg-glow) 0,transparent 30%),radial-gradient(circle at 82% 16%,var(--bg-glow-soft) 0,transparent 26%),linear-gradient(180deg,var(--bg-top) 0,#0b1b2c 18%,var(--bg) 52%,var(--bg-deep) 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-shell{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 120px),radial-gradient(circle at 20% 0,rgba(116,168,255,.08) 0,transparent 22%);max-width:1760px;margin:0 auto;min-height:100vh;padding:10px 28px 96px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 auto 10px;max-width:var(--surface-width)}.page-stack{padding-top:var(--content-offset)}.brand{color:#fff;gap:12px;text-decoration:none}.brand,.brand-mark{align-items:center;display:inline-flex}.brand-mark{background:#fff;border-radius:8px;height:50px;justify-content:center;width:50px;color:var(--accent);font-size:20px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(37,99,235,.18)}.brand-logo-wrap{overflow:hidden;padding:0}.brand-logo{display:block;height:100%;object-fit:cover;width:100%}.brand-name{color:#fff;font-size:28px;font-weight:900;line-height:1}.nav{background:rgba(13,34,54,.72);border:1px solid rgba(255,255,255,.12);border-radius:8px;display:flex;gap:8px;padding:8px}.nav a{border-radius:6px;color:var(--nav-muted);font-size:14px;font-weight:700;padding:11px 18px;text-decoration:none}.nav a:hover{background:rgba(255,255,255,.12);color:#fff}.nav a.active{background:#fff;color:#0d2236}.nav-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:6px;color:var(--nav-muted);cursor:pointer;font:inherit;font-size:14px;font-weight:700;padding:11px 18px}.nav-button:hover{background:rgba(255,255,255,.12);color:#fff}.nav-button:disabled{cursor:default;opacity:.7}.auth-shell,.hero-surface,.page-surface,.panel,.table-surface,.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--surface-radius);box-shadow:0 18px 40px rgba(0,0,0,.2)}.hero-surface{max-width:var(--surface-width);margin:0 auto;min-height:320px;padding:calc(var(--surface-padding) * 2);text-align:center}.hero-brand{align-items:center;color:#071827;display:flex;flex-direction:column;gap:12px;justify-content:center;margin-bottom:14px}.hero-brand .brand-mark{height:132px;width:132px;font-size:30px}.hero-logo-wrap{border-radius:26px}.hero-logo{object-fit:cover}.hero-brand .brand-name{color:#071827;font-size:42px;line-height:1}.page-title{color:#fff;font-size:28px;line-height:1.1;margin:0 auto 14px;max-width:var(--surface-width)}.surface-title{color:#071827;font-size:30px;line-height:1.1;margin:0 0 12px}.surface-copy{color:#405166;font-size:16px;line-height:1.45;margin:0 0 18px}.filters-row,.hero-actions,.pager,.row-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-actions{justify-content:center;margin-top:42px}.button-link,.button-primary,.button-secondary{border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;min-height:42px;padding:11px 16px;border:0;cursor:pointer}.button-link,.button-primary{background:var(--accent);color:#fff}.button-link:hover,.button-primary:hover{background:var(--accent-dark);text-decoration:none}.button-secondary{background:#eef6ff;border:1px solid #bfdbfe;color:#123f8c}.button-secondary:hover{background:#dbeafe}.page-surface,.toolbar{max-width:var(--surface-width);margin:0 auto 12px;padding:var(--surface-padding)}.toolbar{min-height:88px}.filters-grid{display:grid;grid-gap:12px;gap:12px}.filters-row{gap:8px}.pool-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.pool-checkboxes label{align-items:center;display:inline-flex;gap:6px;font-size:14px;font-weight:700}.checkbox-row{align-items:flex-start;display:flex;gap:10px;line-height:1.45}.checkbox-row input{margin-top:3px}.custom-select,.multi-select{min-width:210px;position:relative}.multi-select{min-width:230px}.custom-select-trigger,.multi-select-trigger{align-items:center;background:var(--panel-soft);border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);display:flex;font-size:15px;height:48px;justify-content:space-between;padding:0 14px;text-align:left;width:100%}.custom-select-trigger:hover,.multi-select-trigger:hover{background:#eef6ff;border-color:var(--accent)}.custom-select-arrow{font-size:15px;opacity:.9}.custom-select-menu,.multi-select-menu{background:#ffffff;border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 18px 38px rgba(24,30,36,.18);display:none;left:0;max-height:380px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.custom-select.open .custom-select-menu,.multi-select.open .multi-select-menu{display:block}.custom-select-option,.multi-select-option{border-radius:6px;color:var(--ink);cursor:pointer;font-size:15px;padding:10px 12px}.custom-select-option:hover,.multi-select-option:hover{background:#edf5ff}.custom-select-option.selected{background:var(--accent);color:#ffffff}.custom-select-option.selected:before{color:#ffffff;content:"✓ "}.multi-select-option{align-items:center;display:flex;gap:9px}.multi-select-option input{height:16px;width:16px}.admin-member-actions{align-items:stretch;display:flex;flex-direction:column;gap:8px}.admin-member-control{align-items:center;display:flex;gap:8px}.admin-member-toolbar{justify-content:space-between;margin-bottom:14px}.admin-member-search{max-width:320px}.admin-member-count{margin-left:auto}.admin-member-actions select{min-width:118px}input[type=email],input[type=password],input[type=text],select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--panel-soft);border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);font-size:15px;height:42px;padding:0 14px}input[type=email],input[type=password],input[type=text]{width:100%}.account-input{display:block;height:42px;line-height:42px;margin:0;padding-left:14px;padding-right:14px;text-indent:0;width:100%}.account-input::placeholder{text-indent:0}.account-input::-ms-clear,.account-input::-ms-reveal{display:none}.account-input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;position:absolute;right:0}.account-input-readonly{background:#f3f7fb;color:#4b5f75}.password-field{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.password-field .account-input{min-width:0}.password-toggle{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.16);border-radius:6px;color:#123f8c;cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;height:42px;justify-content:center;padding:0 14px}.password-toggle:hover{background:rgba(37,99,235,.14)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.16);outline:none}.meta{color:#b8c7d9;font-size:14px;font-weight:650;margin:8px auto 10px}.meta,.table-surface{max-width:var(--surface-width)}.table-surface{margin:0 auto;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:minmax(0,1.55fr) 110px 110px minmax(0,1.15fr);grid-gap:16px;gap:16px;padding:9px 12px}.table-head{background:#162639;color:#fff;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.45);border-radius:8px}.table-row{border-top:1px solid var(--line);font-size:13px;min-height:54px}.table-row:nth-child(2n){background:var(--row)}.table-row:hover{background:var(--row-hover)}.file-name{color:#071827;font-weight:750;line-height:1.3;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.file-name-button,.preview-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;font:inherit;margin:0;padding:0}.file-name-button{color:inherit;text-align:left}.file-name-button.active .file-name,.file-name-button:hover .file-name{color:var(--accent)}.file-path{color:#60728a;font-size:12px;margin-top:4px;word-break:break-all}.path-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0}.path-button.copied .path-chip{background:#dcfce7;border-color:#86efac}.path-button.copied .copy-icon{background:#bbf7d0;border-right-color:#86efac;color:#166534}.path-button.copied .path-text{color:#166534}.path-chip{background:#eef6ff;border:1px solid #c7dcff;border-radius:6px;color:var(--accent);cursor:pointer;gap:10px;max-width:100%;min-width:0;text-decoration:none}.copy-icon,.path-chip{align-items:center;display:inline-flex}.copy-icon{align-self:stretch;background:#dbeafe;border-right:1px solid #c7dcff;color:#123f8c;flex:0 0 auto;font-size:13px;font-weight:900;padding:8px 10px}.path-text{display:inline-block;line-height:1.25;min-width:0;overflow-wrap:anywhere;padding:8px 10px 8px 0;text-decoration:underline;text-underline-offset:3px;word-break:break-word}.pager{gap:8px;margin:0 auto 10px;max-width:var(--surface-width)}.pager-button{align-items:center;background:var(--accent);border-radius:6px;color:#fff;display:inline-flex;font-size:13px;font-weight:800;min-height:32px;padding:0 14px;text-decoration:none}.pager-button:hover{background:var(--accent-dark);text-decoration:none}.pager-button.disabled{background:rgba(255,255,255,.18);color:rgba(255,255,255,.7)}.preview-dock{background:rgba(13,34,54,.98);border-top:1px solid rgba(255,255,255,.12);bottom:0;left:0;position:fixed;right:0;z-index:30}.preview-dock-inner{align-items:center;box-shadow:0 -10px 30px rgba(0,0,0,.28);color:#fff;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(420px,auto) auto auto;margin:0 auto;max-width:calc(var(--surface-width) + 40px);padding:12px 24px;justify-content:center}.preview-dock-copy{display:grid;grid-gap:0;gap:0;justify-self:end;max-width:520px}.preview-dock-copy strong{color:#d8e8f8;font-size:12px;font-weight:800;line-height:1.2;margin-bottom:3px}.preview-dock-copy span{color:#ffffff;font-size:15px;font-weight:800;line-height:1.2}.preview-player{width:455px;max-width:40vw}.preview-close{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#fff;font-size:12px;font-weight:800;min-height:36px;padding:0 12px}.preview-close:hover{background:rgba(255,255,255,.2)}.panel-grid{grid-gap:18px;grid-template-columns:repeat(2,minmax(320px,1fr))}.admin-stack,.panel-grid{display:grid;gap:18px;max-width:var(--surface-width);margin:0 auto}.admin-stack{grid-gap:18px}.admin-grid{max-width:none;margin:0}.stats-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(180px,1fr))}.stat-card{min-height:120px}.stat-label{color:var(--muted);font-size:13px;font-weight:800;margin-bottom:10px;text-transform:uppercase}.stat-value{color:#071827;font-size:28px;font-weight:900;line-height:1.1}.mini-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.mini-table-head,.mini-table-row{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1.2fr) 120px 120px;padding:12px 14px}.mini-table-head{background:#162639;color:#fff;font-size:12px;font-weight:800}.mini-table-row{background:#fff;border-top:1px solid var(--line);font-size:13px}.mini-table-head-runs,.mini-table-row-runs{grid-template-columns:120px minmax(0,1fr) 120px 100px}.panel{min-height:260px;padding:var(--surface-padding)}.account-section-stack{display:grid;grid-gap:18px;gap:18px}.account-form-stack{display:grid;grid-gap:16px;gap:16px}.account-summary{border-top:1px solid var(--line)}.account-summary-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;grid-template-columns:140px minmax(0,1fr);padding:10px 0}.account-summary-row span{color:#405166;font-size:14px;font-weight:700}.account-summary-row strong{color:#102033;font-size:14px;font-weight:800;justify-self:end;text-align:right;word-break:break-word}.account-status-badge{border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;line-height:1;padding:6px 10px}.account-status-badge.active{background:#dcfce7;border-color:#86efac;color:#166534}.account-status-badge.inactive{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.account-status-badge.neutral{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}.account-actions-row{display:flex;justify-content:flex-start}.account-membership-card{display:grid;grid-gap:2px;gap:2px}.account-section-divider,.account-subsection{border-top:1px solid var(--line);padding-top:18px}.account-subsection{margin-top:8px}.account-subtitle{color:#071827;font-size:18px;font-weight:800;line-height:1.2;margin:0 0 10px}.form-stack{display:grid;grid-gap:16px;gap:16px}.field-stack{display:grid;grid-gap:8px;gap:8px}.field-label{color:#314357;font-size:13px;font-weight:800}.ftp-note{color:#405166;font-size:14px;line-height:1.45;margin:-2px 0 2px}.auth-shell{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);max-width:var(--surface-width);margin:0 auto;min-height:420px;overflow:hidden}.auth-main,.auth-side{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--surface-padding) * 2)}.auth-side{background:#123f8c;color:#fff;align-items:center;text-align:center}.auth-side p{color:#d8e8f8}.status-error,.status-ok{border-radius:8px;font-size:14px;margin:0;padding:11px 13px}.status-ok{background:#dbeafe;border:1px solid #93c5fd;color:#123f8c}.status-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}@media (max-width:900px){.site-shell{padding:16px 16px 88px}.site-header{flex-direction:column;align-items:stretch}.nav{width:100%}.nav a{flex:1 1;text-align:center}.auth-shell,.mini-table-head,.mini-table-head-runs,.mini-table-row,.mini-table-row-runs,.panel-grid,.stats-grid{grid-template-columns:1fr}.table-head,.table-row{grid-template-columns:minmax(0,1fr)}.preview-dock{left:0}.preview-dock-inner{grid-template-columns:1fr;justify-content:stretch}.preview-player{max-width:100%;width:100%}.preview-dock-copy{justify-self:stretch;max-width:none}}