:root{color:#1d2733;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f5f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}a{color:inherit}.app-shell{color:#1d2733;background:#f3f5f8;min-height:100vh}.app-header{color:#fff;background:linear-gradient(135deg,#1b2a41 0%,#243b63 100%);padding:2.5rem 2rem}.app-header h1{margin:.2rem 0 .6rem;font-size:2.4rem;line-height:1.1}.subtitle{color:#ffffffe0;max-width:52rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;opacity:.8;margin:0;font-size:.78rem}.app-main{max-width:1400px;margin:0 auto;padding:1.5rem}.panel{background:#fff;border:1px solid #d8e0e8;border-radius:16px;box-shadow:0 10px 30px #1c2c400f}.upload-panel,.control-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.25rem 1.4rem;display:flex}.upload-panel h2,.control-bar h2,.side-panel h2,.modal-card h2,.group-header h3{margin:0}.file-input{color:#fff;cursor:pointer;background:#2c6bed;border-radius:12px;justify-content:center;align-items:center;padding:.85rem 1.2rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.file-input input{opacity:0;cursor:pointer;position:absolute;inset:0}.template-summary{flex-wrap:wrap;gap:1rem;font-size:.95rem;display:flex}.button-row,.modal-actions{flex-wrap:wrap;gap:.75rem;display:flex}button,select,input,textarea{font:inherit;border-radius:10px}button{color:#1d2733;cursor:pointer;background:#f7f9fb;border:1px solid #c7d4e2;padding:.75rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}.primary-button{color:#fff;background:#2c6bed;border-color:#2c6bed}.ghost-button{background:0 0}.form-layout{grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;display:grid}.form-panel{padding:1.2rem}.side-panel{align-self:start;padding:1.2rem}.field-group+.field-group{margin-top:1.5rem}.group-header{border-bottom:1px solid #e5ebf1;margin-bottom:1rem;padding-bottom:.7rem}.field-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.field-card,.stacked-field{flex-direction:column;gap:.45rem;display:flex}.field-card{background:#fbfcfd;border:1px solid #e1e8f0;border-radius:14px;padding:1rem}.field-label{font-weight:600}.field-meta{color:#5f7186;word-break:break-word;font-size:.82rem}.field-card input,.field-card select,.stacked-field input,.stacked-field select,.stacked-field textarea{background:#fff;border:1px solid #c8d4e2;padding:.75rem .85rem}.group-list{flex-direction:column;gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.group-list li{border-bottom:1px solid #e5ebf1;justify-content:space-between;gap:1rem;padding-bottom:.8rem;display:flex}.hint-text,.empty-state{color:#5f7186}.empty-state-block{background:#fbfcfd;border:1px dashed #c8d4e2;border-radius:14px;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.error-text{color:#b42318;margin:0}code{background:#eef3f8;border-radius:6px;padding:.15rem .35rem}.modal-backdrop{background:#0e182480;justify-content:center;align-items:center;padding:1.2rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;width:min(1100px,100%);max-height:calc(100vh - 2.4rem);padding:1.25rem;overflow:auto;box-shadow:0 24px 60px #141f2e40}.modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-layout{grid-template-columns:300px minmax(0,1fr);gap:1rem;display:grid}.admin-field-list{flex-direction:column;gap:.5rem;max-height:60vh;padding-right:.25rem;display:flex;overflow:auto}.field-list-item{text-align:left;background:#f8fafc;flex-direction:column;gap:.2rem;display:flex}.field-list-item.active{background:#edf4ff;border-color:#2c6bed}.field-list-item span,.selected-field-header p{color:#5f7186;font-size:.9rem}.admin-editor{background:#fbfcfd;border:1px solid #e1e8f0;border-radius:14px;padding:1rem}.selected-field-header{margin-bottom:1rem}@media (width<=980px){.upload-panel,.control-bar,.modal-header,.admin-layout,.form-layout{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.field-grid{grid-template-columns:1fr}}
