:root{--bg:#0b1220;--panel:#111a2e;--panel-2:#17233d;--text:#e8eefc;--muted:#9db0d0;--line:#263555;--primary:#245AA8;--danger:#b91c1c;--success:#166534;--radius:18px;--shadow:0 20px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#08101e,#10182d);color:var(--text)}a{color:#8eb7ff;text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#0b1324;padding:28px 20px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);position:sticky;top:0;height:100vh}.brand{font-size:1.35rem;font-weight:800;margin-bottom:28px}.nav a,.sidebar-footer a{display:block;padding:12px 14px;margin-bottom:8px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;color:var(--text)}.main{padding:28px}.page-head h1{margin:0 0 22px;font-size:2rem}.card{background:rgba(15,24,43,.92);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card+.card{margin-top:20px}.card-grid{display:grid;gap:20px;margin-bottom:20px}.stats-grid{grid-template-columns:repeat(3,1fr)}.two-col-layout{grid-template-columns:1.3fr .9fr}.stat-card{text-align:center}.stat-number{font-size:2.2rem;font-weight:800;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:.88rem}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-header.compact{margin:0 0 20px}.btn{border:none;border-radius:14px;padding:12px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:#1e2c49;color:#fff;border:1px solid #355282}.btn-danger{background:var(--danger);color:#fff}.button-row{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#bcd0f5;font-size:.92rem}.badge{padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge.live{background:#163b25;color:#b3f5c8}.badge.draft{background:#453715;color:#ffdf93}.badge.offline{background:#3b1923;color:#ffc1d1}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:rgba(15,24,43,.96);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.auth-card.wide{width:min(100%,620px)}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:8px;font-weight:600}.stack-form input,.stack-form select,.stack-form textarea{width:100%;background:#0d1529;color:var(--text);border:1px solid #2a3b60;border-radius:14px;padding:12px 14px;font:inherit}.stack-form textarea{min-height:110px;resize:vertical}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.six{grid-template-columns:repeat(6,1fr)}.compact-grid label{font-size:.92rem}.checkbox{display:flex !important;grid-auto-flow:column;justify-content:start;align-items:center;gap:10px}.checkbox input{width:auto}.inline{display:inline-flex !important}.flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;font-weight:600}.flash.success{background:rgba(22,101,52,.22);border:1px solid rgba(34,197,94,.25)}.flash.error{background:rgba(185,28,28,.18);border:1px solid rgba(248,113,113,.24)}.scene-list-admin{display:grid;gap:14px}.scene-row{display:grid;grid-template-columns:220px 1fr 1.3fr;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}.cta-group{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.cta-row{display:grid;grid-template-columns:1fr 1.4fr 130px 150px 90px auto auto auto;gap:10px;align-items:center;margin-bottom:12px}.cta-row input,.cta-row select{background:#0d1529;color:var(--text);border:1px solid #2a3b60;border-radius:12px;padding:10px 12px}.danger-zone{border-color:#5f2732;background:rgba(64,14,23,.18)}.tour-preview-embed{width:100%;height:440px;border:1px solid var(--line);border-radius:16px;background:#09111f}.logo-preview{max-width:220px;max-height:70px;object-fit:contain;background:#fff;border-radius:10px;padding:8px}.logo-preview-wrap{display:flex;align-items:center}.actions{white-space:nowrap}.inline-delete{display:inline}.form-card{max-width:900px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.main code{background:#0a1325;padding:2px 6px;border-radius:8px}

.import-methods{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.02)}
.import-methods legend{padding:0 8px;color:#bcd0f5;font-weight:800}
.radio-option{display:flex !important;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0d1529}
.radio-option+.radio-option{margin-top:12px}
.radio-option input{width:auto;margin-top:2px}
.radio-option span{display:grid;gap:4px}
.radio-option small{color:var(--muted);font-weight:500}
.server-import-box,.zip-upload-box{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}
.helper-list{display:grid;gap:10px;margin-top:8px}
.helper-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#0d1529;border:1px solid #2a3b60}
.helper-item span{color:var(--muted);font-size:.9rem;word-break:break-all}
.notice{padding:12px 14px;border-radius:14px;font-size:.95rem}
.notice.warning{background:rgba(180,83,9,.18);border:1px solid rgba(245,158,11,.28)}

@media (max-width:1200px){.grid.six,.cta-row{grid-template-columns:1fr 1fr}.scene-row{grid-template-columns:1fr}.stats-grid,.two-col-layout,.grid.two,.grid.three{grid-template-columns:1fr}}
@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:18px}}

.client-list{display:grid;gap:12px}.client-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}
