:root{color:#19332a;background:#f2f5f2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f2f5f2}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.82em}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{min-height:100vh;padding:clamp(44px,7vw,110px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.13),transparent 30%),linear-gradient(140deg,#102f25,#27684e)}.login-brand h1{margin:24px 0;max-width:680px;font-family:Georgia,Songti SC,serif;font-size:clamp(48px,6vw,86px);line-height:1.03;font-weight:500;letter-spacing:-.04em}.login-brand>p:last-child{max-width:560px;color:#ffffffb8;font-size:18px;line-height:1.8}.login-card{width:min(520px,82%);margin:auto;padding:52px;border:1px solid #dde5df;border-radius:28px;background:#ffffffeb;box-shadow:0 30px 80px #15372a1f}.login-card h2,.center-card h1{margin:6px 0 8px;font-size:34px;letter-spacing:-.035em}.brand-mark{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:24px;color:#17372a;background:#f5f0c6;font-family:Georgia,Songti SC,serif;font-size:34px;box-shadow:0 16px 35px #0319112e}.brand-mark--small{width:46px;height:46px;border-radius:15px;font-size:22px;box-shadow:none}.eyebrow{margin:0;color:#6c8378;font-size:12px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.login-brand .eyebrow{margin-top:34px;color:#d4e5dc}.muted{color:#7a8c84;line-height:1.65}.form-stack{margin-top:34px;display:grid;gap:20px}label{display:grid;gap:8px;color:#42564d;font-size:13px;font-weight:650}input{width:100%;min-width:0;padding:13px 14px;border:1px solid #dce4df;border-radius:12px;outline:none;color:#17372a;background:#fbfcfb;transition:border-color .18s,box-shadow .18s}input:focus{border-color:#4d8c70;box-shadow:0 0 0 3px #4d8c701f}.form-error{min-height:20px;margin:0;color:#b94d43}.form-success{margin:0;padding:11px 13px;border-radius:10px;color:#236044;background:#e7f3ec}.button{min-height:42px;padding:10px 18px;border:1px solid transparent;border-radius:12px;font-weight:720;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff;background:#1d684a;box-shadow:0 8px 22px #1d684a33}.button--primary:hover{background:#17583f}.button--ghost{border-color:#d7e1db;color:#315344;background:#fff}.button--wide{width:100%}.text-button{padding:0;border:0;color:#277153;background:none;font-weight:700}.button-row,.top-actions,.venue-actions{display:flex;align-items:center;gap:10px}.center-card{width:min(680px,calc(100% - 40px));margin:10vh auto;padding:48px;border:1px solid #dae4dd;border-radius:28px;background:#fff;box-shadow:0 24px 70px #1e41331a;text-align:center}.center-card .brand-mark{margin:0 auto 24px}.spinner{width:34px;height:34px;margin:0 auto 18px;border:3px solid #dce9e2;border-top-color:#267050;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.uid-box{margin:28px 0;padding:15px 18px;display:flex;justify-content:space-between;gap:16px;border:1px dashed #9db7a9;border-radius:14px;background:#f4f8f5;text-align:left;overflow-wrap:anywhere}.setup-steps{margin:0 auto 28px;max-width:540px;color:#5e7269;line-height:1.9;text-align:left}.setup-card .button-row{justify-content:center}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;color:#fff;background:#143d2e}.sidebar-brand{display:flex;align-items:center;gap:13px;padding:4px 6px 28px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{margin-top:3px;color:#a9c6b8;font-size:12px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 14px;border-radius:11px;color:#bcd1c7;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar-foot{margin-top:auto;padding:16px 8px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#bcd1c7;font-size:12px;overflow:hidden}.sidebar-foot>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot>div{display:flex;gap:10px;flex:none}.sidebar-foot .text-button{color:#f1d986;flex:none;font-size:12px}.workspace{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:42px 0 80px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.topbar h1{margin:5px 0;font-size:clamp(32px,4vw,48px);letter-spacing:-.045em}.topbar p{margin-bottom:0}.save-state{margin-right:6px;color:#6d8177;font-size:12px}.save-state--dirty{color:#a66e13}.notice{margin:0 0 18px;padding:13px 16px;border-radius:12px;font-size:14px}.notice--success{color:#236044;background:#e7f3ec}.notice--error{color:#9d4039;background:#faecea}.panel{margin-bottom:22px;padding:28px;border:1px solid #dce5df;border-radius:22px;background:#fff;box-shadow:0 10px 34px #2342350d;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-heading h2{margin:6px 0 0;font-size:25px;letter-spacing:-.025em}.section-heading>p{max-width:430px;margin:0;color:#7b8c84;font-size:13px}.brand-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:26px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-content:start}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-span-2{grid-column:span 2}.image-field{min-width:0;display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1.15fr);gap:18px;align-items:center;padding:16px;border:1px solid #e0e7e2;border-radius:16px;background:#f8faf8}.image-preview{aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:#91a198;background:#e9efeb}.image-preview img{width:100%;height:100%;object-fit:cover}.image-meta{min-width:0}.image-meta strong{display:block}.image-meta p{color:#7a8c84;font-size:12px;line-height:1.6}.image-meta code{display:block;max-width:100%;margin-bottom:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7d74}.upload-button{display:inline-flex;align-items:center;width:fit-content}.upload-button input{display:none}.venue-stack{display:grid;gap:18px}.venue-editor{overflow:hidden;border:1px solid #dfe7e2;border-radius:18px;background:#fcfdfc}.venue-editor-head{min-height:78px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e9e5;background:#fff}.venue-editor-head>div:first-child{display:flex;align-items:baseline;gap:12px;min-width:0}.venue-editor-head h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.venue-editor-head code{color:#899a91}.venue-number{color:#9aac9f;font-size:12px;font-weight:800}.venue-body{padding:20px;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.7fr);gap:22px}.venue-body .image-field{grid-template-columns:1fr;align-content:start}.icon-button{width:34px;height:34px;border:1px solid #d9e2dd;border-radius:10px;color:#456457;background:#f8faf8}.switch-label{display:flex;grid:none;align-items:center;gap:8px;color:#567067;white-space:nowrap}.switch-label input{display:none}.switch-label span{width:34px;height:20px;padding:2px;border-radius:999px;background:#ccd7d1;transition:background .2s}.switch-label span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000002e;transition:transform .2s}.switch-label input:checked+span{background:#2a7857}.switch-label input:checked+span:after{transform:translate(14px)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#081a138c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-card{width:min(480px,100%);padding:28px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 30px 90px #051e1447}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-head h2{margin:5px 0 0;font-size:26px;letter-spacing:-.03em}.modal-card>.muted{margin:12px 0 0}.modal-card .form-stack{margin-top:24px}.button-row--end{justify-content:flex-end}@media(max-width:1050px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:42vh;padding:50px 8vw}.login-brand h1{font-size:clamp(44px,9vw,68px)}.login-card{margin:44px auto}.brand-grid,.venue-body{grid-template-columns:1fr}.admin-shell{grid-template-columns:86px minmax(0,1fr)}.sidebar-brand>div:last-child,.sidebar nav a,.sidebar-foot>span{font-size:0}.sidebar nav a:first-letter{font-size:18px}.sidebar-foot{justify-content:center}}@media(max-width:760px){.admin-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px 18px;flex-direction:row;align-items:center}.sidebar-brand{padding:0}.sidebar-brand>div:last-child{display:block}.sidebar nav{margin-left:auto;display:flex}.sidebar nav a{padding:9px;font-size:12px}.sidebar-foot{margin:0 0 0 8px;padding:0}.workspace{width:min(100% - 28px,680px);padding-top:24px}.topbar,.section-heading,.venue-editor-head{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.save-state{width:100%}.top-actions .button{flex:1}.panel{padding:20px}.form-grid,.form-grid--three,.image-field{grid-template-columns:1fr}.field-span-2{grid-column:auto}.venue-editor-head>div:first-child{align-items:flex-start;flex-wrap:wrap}.login-card{width:min(100% - 28px,520px);padding:32px 24px}}
