:root{--bg:#f5efe5;--panel:#fffcf7eb;--panel-strong:#fff8ef;--ink:#201a17;--ink-soft:#63574f;--line:#d5c7b4;--line-strong:#b9a592;--accent:#8b2f25;--accent-soft:#efe0d5;--accent-strong:#5c1c16;--success:#256b3d;--success-soft:#e5f3e9;--error:#9b2c2c;--error-soft:#fde9e9;--shadow:0 24px 60px #4c2f201f;--font-sans:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;color:var(--ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#c166462e,#0000 28%),radial-gradient(circle at 100% 0,#d1ae6f33,#0000 24%),linear-gradient(#f7f0e6 0%,#f0e6da 100%)}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,pre{margin:0}#app{min-height:100vh}.app-shell{max-width:1360px;margin:0 auto;padding:32px 20px 56px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.topbar h1{letter-spacing:-.05em;font-size:clamp(32px,5vw,54px);line-height:1}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.topbar-links{flex-wrap:wrap;gap:12px;display:flex}.topbar-links a{background:#fffaf4ad;border:1px solid #5c1c1624;border-radius:999px;padding:10px 16px;font-weight:600}.topbar-links a.router-link-active{background:var(--accent);color:#fff7f0}.page-frame{flex-direction:column;gap:22px;display:flex}.hero-panel,.panel-card,.auth-card{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #b9a59280;border-radius:28px}.hero-panel{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:24px;padding:30px;display:grid}.hero-panel h2,.auth-card h2,.admin-header h2{margin-bottom:12px;font-size:clamp(28px,4vw,40px);line-height:1.05}.hero-copy{color:var(--ink-soft);max-width:70ch;line-height:1.7}.upload-card,.auth-card{flex-direction:column;gap:16px;display:flex}.upload-card{background:linear-gradient(#fff8eff2,#f9efe1eb);border-radius:22px;justify-content:center;padding:18px}.file-input{border:1px dashed var(--line-strong);background:#fffdf9;border-radius:18px;width:100%;padding:18px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row.compact{gap:8px}.primary-button,.ghost-button,.link-button{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:11px 18px;transition:transform .16s,background-color .16s}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff7f0;font-weight:700}.ghost-button,.link-button{border-color:var(--line);color:var(--ink);background:#fffaf3}.primary-button:hover,.ghost-button:hover,.link-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.wide{justify-content:center;width:100%}.message{border-radius:18px;padding:14px 18px;line-height:1.6}.error-message{background:var(--error-soft);color:var(--error)}.success-message{background:var(--success-soft);color:var(--success)}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{background:var(--panel-strong);border:1px solid #b9a59270;border-radius:22px;flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card p,.toolbar-hint,.meta-line{color:var(--ink-soft)}.stat-card strong{font-size:28px}.stat-card span{font-size:13px}.workbench-grid,.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel-card{padding:24px}.panel-head,.admin-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.panel-head h3{font-size:24px}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.checkbox-card{border:1px solid var(--line);background:#fffdf9;border-radius:16px;align-items:center;gap:10px;padding:14px;display:flex}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.form-grid label,.auth-card label{color:var(--ink-soft);flex-direction:column;gap:8px;display:flex}.form-grid input,.form-grid select,.auth-card input,.search-input{border:1px solid var(--line);background:#fffdfa;border-radius:14px;width:100%;padding:12px 14px}.toolbar-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.field-list,.upload-history{flex-direction:column;gap:12px;display:flex}.field-row,.history-card{border:1px solid var(--line);background:#fffcf7;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.field-main{flex:1;align-items:flex-start;gap:14px;display:flex}.field-main.plain{align-items:center}.field-main p{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-top:6px;font-size:13px;display:flex}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px}.badge[data-kind=question]{color:#254f89;background:#e7f0ff}.badge[data-kind=identity]{color:#8b4e1f;background:#f6ead8}.badge[data-kind=summary]{color:#a94822;background:#fbe3d6}.preview-table-wrap{border:1px solid var(--line);border-radius:18px;overflow-x:auto}.preview-table{border-collapse:collapse;background:#fffdf9;width:100%;min-width:720px}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid #eadfce;padding:12px 14px;font-size:14px}.preview-table th{color:var(--accent-strong);background:#f6eee1}.auth-shell{justify-content:center;padding:36px 0 12px;display:flex}.auth-card{width:min(520px,100%);padding:28px}.admin-header{margin-bottom:0}.aside-panel{align-self:start}.history-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start}.history-card span{color:var(--ink-soft);font-size:13px}.history-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px #8b2f2533}.detail-column{flex-direction:column;gap:18px;display:flex}.json-preview{color:#f8efe5;background:#201a17;border-radius:18px;margin-top:18px;padding:16px;font-size:12px;overflow:auto}@media (width<=1100px){.hero-panel,.workbench-grid,.admin-layout,.card-grid,.form-grid{grid-template-columns:1fr}.topbar,.panel-head,.toolbar-row,.admin-header{flex-direction:column}}@media (width<=720px){.app-shell{padding:20px 14px 40px}.hero-panel,.panel-card,.auth-card{border-radius:22px;padding:18px}.field-row,.checkbox-card,.history-card{flex-direction:column;align-items:flex-start}}
