:root{color-scheme:dark;--bg: #06110d;--bg-deep: #030805;--surface: rgba(10, 24, 17, .88);--surface-strong: rgba(11, 27, 19, .96);--surface-soft: rgba(255, 255, 255, .03);--line: rgba(65, 108, 81, .34);--line-strong: rgba(204, 169, 92, .26);--text: #efe7d4;--text-soft: #b8b19d;--text-faint: #76806f;--accent: #cca95c;--accent-strong: #e3c57b;--accent-ghost: rgba(204, 169, 92, .12);--green: #6df0b3;--green-ghost: rgba(109, 240, 179, .1);--danger: #ff9e84;--danger-ghost: rgba(255, 158, 132, .12);--shadow: 0 20px 80px rgba(0, 0, 0, .34);font-family:IBM Plex Sans,PingFang SC,Segoe UI,sans-serif}html[data-theme=light]{color-scheme:light;--bg: #f5f0e2;--bg-deep: #efe5d1;--surface: rgba(255, 252, 245, .92);--surface-strong: rgba(255, 250, 240, .98);--surface-soft: rgba(129, 101, 41, .05);--line: rgba(125, 98, 40, .16);--line-strong: rgba(157, 114, 32, .22);--text: #1d241c;--text-soft: #5f675c;--text-faint: #7e8678;--accent: #966922;--accent-strong: #b78634;--accent-ghost: rgba(150, 105, 34, .12);--green: #176f48;--green-ghost: rgba(23, 111, 72, .1);--danger: #a8482e;--danger-ghost: rgba(168, 72, 46, .12);--shadow: 0 24px 70px rgba(129, 101, 41, .14)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 14% 10%,rgba(31,92,61,.32),transparent 28%),radial-gradient(circle at 85% 18%,rgba(204,169,92,.18),transparent 18%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px}button,input,textarea,select{font:inherit}code,.mono{font-family:JetBrains Mono,Cascadia Code,monospace}.mono{overflow-wrap:anywhere;word-break:break-word}.app-shell,.shell{width:min(1380px,calc(100vw - 32px));margin:0 auto;padding:28px 0 48px;position:relative;z-index:1}.app-header,.shell-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 28px;margin-bottom:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,#0d2016f2,#07120de0);box-shadow:var(--shadow)}html[data-theme=light] .app-header,html[data-theme=light] .shell-header{background:linear-gradient(160deg,#fffbf4f5,#f4ebd7eb)}.brand-kicker,.eyebrow{margin:0 0 10px;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-size:11px}.brand-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.brand-mark{margin:0;font-size:clamp(30px,4vw,48px);font-family:"Noto Serif SC",Libre Baskerville,serif;letter-spacing:.12em;line-height:1}.brand-note{color:var(--text-faint);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.shell-copy{display:grid;gap:10px}.suits-row{margin:0;color:var(--accent);letter-spacing:.5em;font-size:14px}.shell-tag,.shell-note{margin:0}.shell-tag{color:var(--text-faint);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.shell-note{color:var(--text-soft);font-size:14px;line-height:1.7;max-width:640px}.header-actions,.shell-toolbar{display:grid;gap:14px;justify-items:end}.route-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav-link,.nav-pill,.theme-button,.theme-toggle,.lang-pill,.button{border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.nav-link,.nav-pill,.theme-button,.theme-toggle{padding:10px 14px}.nav-link:hover,.nav-pill:hover,.theme-button:hover,.theme-toggle:hover,.lang-pill:hover,.button:hover{transform:translateY(-1px);border-color:var(--line-strong)}button:disabled,select:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.64}.nav-link.active,.nav-pill.active,.lang-pill.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#08110d;border-color:transparent}.lang-switch{display:inline-flex;align-items:center;gap:8px}.lang-pill{padding:8px 12px}.lang-sep{color:var(--text-faint)}.page-frame{display:grid;gap:18px}.route-caption{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}.caption-badge,.caption-text{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px}.caption-badge{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-faint);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.caption-text{border:1px solid var(--line-strong);background:var(--accent-ghost);color:var(--accent-strong);font-size:14px}.image-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload-button{display:inline-flex;align-items:center;justify-content:center}.file-upload-name{display:inline-flex;align-items:center;min-height:42px;padding:0 4px;color:var(--text-soft)}.qr-preview{display:grid;gap:10px;margin-top:12px}.qr-preview img{width:min(240px,100%);max-height:240px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);padding:10px}.qr-preview.table img{width:96px;max-height:96px;padding:6px;border-radius:12px}.page-grid{display:grid;gap:20px}.hero-card,.panel,.route-card,.metric-card{border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);min-width:0}.hero-card{padding:28px}.hero-card h1{margin:0 0 14px;font-size:clamp(32px,4.6vw,58px);line-height:1.04;font-family:"Noto Serif SC",Libre Baskerville,serif}.hero-copy,.panel-subtitle,.route-card p,.metric-card small,.muted{color:var(--text-soft);line-height:1.7}.hero-copy{margin:0;max-width:860px}.info-strip{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.info-strip.compact{margin-top:0;margin-bottom:16px}.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--accent-ghost);color:var(--accent-strong);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.route-cards,.metrics-grid,.split-grid{display:grid;gap:18px}.route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card,.metric-card,.panel{padding:22px}.route-card-head,.panel-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}.route-card h2,.panel-title{margin:0;font-size:24px;font-family:"Noto Serif SC",Libre Baskerville,serif}.summary-list{margin:0;padding-left:18px;display:grid;gap:8px}.summary-list.ordered{padding-left:22px}.metric-card span{display:block;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.metric-card strong{display:block;margin:14px 0 8px;font-size:28px;color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-grid>*,.split-grid>*,.form-grid>*,.detail-grid>*{min-width:0}.compact-grid{margin-top:16px}.field-group{display:grid;gap:8px}.field-group.full{grid-column:1 / -1}.field-label{color:var(--text-faint);font-size:12px;letter-spacing:.12em;text-transform:uppercase}input,textarea,select{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface-strong);color:var(--text)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--accent-strong) 50%),linear-gradient(135deg,var(--accent-strong) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}option{background:#0b1b13;color:var(--text)}html[data-theme=light] option{background:#fff8ee;color:#2b3127}textarea{resize:vertical}.prompt-editor{height:32rem;min-height:14rem}.prompt-editor-compact{height:14rem;min-height:10rem}.prompt-preview{min-height:10rem}.prompt-editor-shell{position:relative}.prompt-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.prompt-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0508077a;z-index:28}.prompt-editor-shell.expanded{position:fixed;top:48px;right:48px;bottom:48px;left:48px;z-index:30;display:flex;flex-direction:column;padding:18px;border-radius:24px;border:1px solid var(--line-strong);background:#090f0cfa;box-shadow:0 32px 96px #00000073}.prompt-editor-shell.expanded .prompt-editor{flex:1;min-height:0;height:auto}.prompt-scenario-strip{min-height:100%}.section-panel{margin-bottom:18px;padding:18px;border-radius:20px;background:#ffffff05;box-shadow:none}.prompt-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.prompt-scope-toolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(160px,1fr)) auto;gap:14px;align-items:end;margin-bottom:14px}.prompt-scope-card{min-width:0;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface-soft)}.prompt-scope-card.active{border-color:var(--line-strong);background:#cca95c14}.prompt-scope-card-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.prompt-scope-card-head .mono{word-break:break-word}.prompt-scope-card-actions{margin-top:auto}.prompt-scope-card-actions .button{width:100%}.prompt-scope-toolbar .field-group{min-width:0}.prompt-scope-toolbar-actions{margin-top:0;justify-content:flex-end}.prompt-scope-meta{margin:0}.prompt-detail-modal{width:min(1100px,calc(100vw - 32px));background:linear-gradient(180deg,rgba(204,169,92,.08),transparent 18%),var(--surface)}.prompt-editor-portal{overflow:hidden}.prompt-panel-full{width:100%}.button-row,.toggle-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.toolbar-row{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.search-field{min-width:min(420px,100%);flex:1 1 320px}.pagination-row{justify-content:flex-end;align-items:center}.prompt-panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button{padding:11px 16px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#07100c;border-color:transparent}.button.secondary{background:#ffffff0d;color:var(--text);border-color:var(--line)}.button.ghost{background:transparent;color:var(--text);border-color:var(--line)}.button.danger{background:var(--danger-ghost);color:var(--danger);border-color:#ff9e842e}.button.small{padding:8px 12px;font-size:13px}.inline-link{padding:0;border:0;background:transparent;color:var(--accent-strong);cursor:pointer;font:inherit;font-weight:600;text-align:left}.inline-link:hover{color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0508078f;z-index:28}.modal-panel{position:fixed;top:50%;left:50%;width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;transform:translate(-50%,-50%);z-index:30;border:1px solid var(--line-strong);box-shadow:0 32px 96px #00000073}.qr-modal{background:linear-gradient(180deg,rgba(181,227,166,.06),transparent 20%),var(--surface)}.user-detail-modal{background:linear-gradient(180deg,rgba(204,169,92,.08),transparent 18%),var(--surface)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.detail-card{display:grid;gap:8px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface-soft)}.detail-card.full{grid-column:1 / -1}.nested-panel-head{margin-top:8px}.small-title{font-size:20px}.checkbox-row{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffff08}.checkbox-row input{width:auto;margin:0}.status-message{margin:16px 0 0;padding:12px 14px;border-radius:16px;background:var(--green-ghost);color:var(--green)}.status-message.error{background:var(--danger-ghost);color:var(--danger)}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}.data-table{width:100%;border-collapse:collapse;min-width:620px}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{color:var(--text-faint);font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:#ffffff05}.data-table tbody tr:hover{background:#ffffff05}.actions-cell{white-space:nowrap}.empty-state{color:var(--text-faint);text-align:center}.admin-page{gap:24px}.admin-hero-card{border:1px solid var(--line-strong);background:radial-gradient(circle at top right,rgba(204,169,92,.16),transparent 28%),linear-gradient(160deg,#0d2016f5,#08130ee6)}html[data-theme=light] .admin-hero-card{background:radial-gradient(circle at top right,rgba(150,105,34,.16),transparent 28%),linear-gradient(160deg,#fffcf5fa,#f6eee0f0)}.admin-auth-grid,.admin-action-grid{align-items:stretch}.admin-auth-grid{grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr)}.admin-panel{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(204,169,92,.05),transparent 18%),var(--surface)}.admin-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);pointer-events:none}.admin-panel .panel-head{margin-bottom:18px;align-items:center}.admin-panel .panel-subtitle{max-width:62ch}.admin-auth-panel{background:linear-gradient(180deg,rgba(109,240,179,.05),transparent 18%),var(--surface)}.admin-receipt-panel{background:linear-gradient(180deg,rgba(204,169,92,.08),transparent 18%),var(--surface)}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.admin-filter-grid{padding:16px;border:1px solid var(--line);border-radius:20px;background:#ffffff05}.admin-panel .field-group{padding:12px 14px;border:1px solid rgba(65,108,81,.28);border-radius:18px;background:#ffffff06}html[data-theme=light] .admin-panel .field-group{background:#8165290a}.admin-panel input,.admin-panel textarea,.admin-panel select{border-color:#416c5138;background:#06110d61}.admin-panel select{background-image:linear-gradient(45deg,transparent 50%,var(--accent-strong) 50%),linear-gradient(135deg,var(--accent-strong) 50%,transparent 50%),linear-gradient(180deg,#cca95c14,#06110d14);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat}html[data-theme=light] .admin-panel input,html[data-theme=light] .admin-panel textarea,html[data-theme=light] .admin-panel select{background:#ffffffbd}html[data-theme=light] .admin-panel select{background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%),linear-gradient(180deg,#9669220f,#ffffffb3)}.admin-panel input:focus,.admin-panel textarea:focus,.admin-panel select:focus{outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-ghost)}.admin-panel .button-row{margin-top:18px;gap:12px}.admin-auth-actions .button:first-child{min-width:132px}.admin-panel-head-actions{margin-top:0}.admin-filter-actions{justify-content:flex-end;padding:6px 0 0}.admin-panel .button-row .checkbox-row{margin-right:auto}.admin-panel .button.ghost{background:#ffffff09}.admin-page .info-strip{padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#ffffff05}.admin-page .info-strip .mono{font-weight:600}.admin-toolbar-row{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#ffffff05}.admin-receipt-block{max-height:340px;overflow:auto;border:1px solid rgba(204,169,92,.14);background:linear-gradient(180deg,#0a120dfa,#060b08f5)}.admin-table-wrap{border-radius:20px;background:#0308053d}.admin-data-table{min-width:760px}.admin-data-table th{position:sticky;top:0;z-index:1;background:#0b1b13f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}html[data-theme=light] .admin-data-table th{background:#fffaf0f5}.admin-data-table td{line-height:1.55}.admin-page .actions-cell .button-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));width:min(100%,420px);margin-top:0}.admin-row-actions{display:grid;gap:10px;width:min(100%,440px)}.admin-mini-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.admin-danger-action{justify-self:stretch}.admin-data-table .actions-cell{min-width:180px}.admin-data-table td .muted{margin-top:4px}.admin-page .pagination-row{gap:14px;justify-content:space-between}.admin-page .pagination-row .muted:first-child{margin-right:auto}.code-block{margin:0;padding:16px;border-radius:18px;background:#0a120d;color:#eef6ea;overflow:auto;font-size:13px;line-height:1.6;min-height:180px}.code-block-wrap{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.dev-test-page,.dev-test-top-grid,.dev-test-request-grid{min-width:0}.dev-test-top-grid{display:grid;gap:18px}.dev-test-meta{align-items:flex-start}.dev-test-inline-code{display:inline-block;max-width:100%}html[data-theme=light] .code-block{background:#1f1a14;color:#f9f4ea}.billing-hero{background:linear-gradient(135deg,rgba(204,169,92,.12),transparent 44%),var(--surface)}@media(max-width:1100px){.route-cards,.metrics-grid,.split-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.app-header,.shell-header{flex-direction:column}.header-actions,.shell-toolbar{justify-items:start}.route-nav{justify-content:flex-start}.prompt-editor-shell.expanded{top:16px;right:16px;bottom:16px;left:16px;padding:14px}.prompt-scope-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-auth-grid{grid-template-columns:1fr}.admin-page .actions-cell .button-row{width:100%}.modal-panel{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}@media(max-width:720px){.dev-test-meta{flex-direction:column;align-items:flex-start}.hero-card,.panel,.route-card,.metric-card{padding:18px}.prompt-scope-toolbar{grid-template-columns:1fr}.prompt-scope-toolbar-actions .button{width:100%}.admin-panel{padding:18px}.admin-form-grid,.admin-mini-actions,.admin-page .actions-cell .button-row,.admin-page .pagination-row{grid-template-columns:1fr}}
