:root{--bg:#f4efe7;--surface:rgba(255,250,243,0.86);--surface-strong:#fffaf3;--line:rgba(86,70,54,0.14);--text:#2f241a;--muted:#756555;--brand:#184c43;--brand-strong:#0f3a33;--accent:#c76f4a;--accent-soft:rgba(199,111,74,0.12);--gold:#b48a3c;--shadow:0 18px 50px rgba(48,33,18,0.08);--shadow-soft:0 10px 26px rgba(48,33,18,0.08);--ease-standard:cubic-bezier(0.2,0.7,0.2,1);--radius-lg:28px;--radius-md:20px;--radius-sm:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(24,76,67,.14),transparent 28%),radial-gradient(circle at right 20%,rgba(199,111,74,.16),transparent 26%),linear-gradient(180deg,#f8f2ea,#f3ede4);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Noto Sans SC,sans-serif;min-height:100vh}.public-landing{min-height:100vh;max-width:980px;margin:0 auto;padding:64px 20px 80px;display:grid;grid-gap:22px;gap:22px}.public-landing-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px;display:grid;grid-gap:14px;gap:14px}.public-landing-badge{width:-moz-fit-content;width:fit-content;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;letter-spacing:.04em}.public-landing-hero h1{margin:0;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}.public-landing-hero p{margin:0;color:var(--muted);line-height:1.65}.public-landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.public-landing-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;display:grid;grid-gap:8px;gap:8px}.public-landing-card h2{margin:0;font-size:1.05rem}.public-landing-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.brand-logo{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-logo.compact{gap:8px}.brand-logo-mark{width:52px;height:52px;flex-shrink:0;filter:drop-shadow(0 8px 16px rgba(170,126,108,.22))}.brand-logo.compact .brand-logo-mark{width:36px;height:36px}.brand-logo-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.brand-logo-wordmark{font-family:Avenir Next,Helvetica Neue,PingFang SC,Noto Sans SC,sans-serif;font-size:1.84rem;font-weight:800;line-height:1;color:#1f2630;letter-spacing:-.025em}.brand-logo.compact .brand-logo-wordmark{font-size:1rem}.brand-logo-subtitle{color:var(--muted);font-size:.84rem;line-height:1.35;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-logo.inverse .brand-logo-wordmark{color:#eadccf}.brand-logo.inverse .brand-logo-mark{filter:drop-shadow(0 8px 16px rgba(7,10,14,.38))}.brand-logo.inverse .brand-logo-subtitle{color:rgba(248,241,232,.72)}.public-brand-logo{margin-bottom:6px}a{color:inherit;text-decoration:none;transition:color .18s var(--ease-standard)}button,input,select,textarea{font:inherit;transition:border-color .18s var(--ease-standard),box-shadow .18s var(--ease-standard),background-color .18s var(--ease-standard),color .18s var(--ease-standard),transform .18s var(--ease-standard)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:rgba(24,76,67,.42);box-shadow:0 0 0 3px rgba(24,76,67,.2)}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.mobile-account-card,.mobile-group-create-card,.mobile-group-panel-card,.mobile-tabbar,.mobile-topbar{display:none}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:grid;grid-template-rows:auto auto 1fr auto auto;align-content:start;grid-gap:18px;gap:18px;min-height:100vh;padding:22px 18px;background:rgba(18,45,40,.92);color:#f8f1e8}.brand-block{display:grid;grid-gap:10px;gap:10px}.brand-kicker{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 12px;border-radius:999px;background:rgba(255,250,243,.12);color:#f3d2b2;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.brand-title{font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:2rem;line-height:1}.brand-copy{color:rgba(248,241,232,.72);line-height:1.45;font-size:.86rem}.sidebar-utility{display:grid;grid-gap:10px;gap:10px;margin-top:auto}.context-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid rgba(255,250,243,.12);border-radius:16px;background:rgba(255,250,243,.06)}.group-context{gap:6px}.context-head{display:grid;grid-gap:2px;gap:2px}.context-head strong{font-size:.95rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-head span,.context-meta{color:rgba(248,241,232,.68);font-size:.8rem}.context-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.context-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.group-selector{width:100%;border:1px solid rgba(255,250,243,.16);background:rgba(255,250,243,.08);border-radius:14px;padding:10px 12px;color:#fffaf3}.group-selector.compact{min-height:38px;padding:8px 10px;border-radius:12px;font-size:.88rem}.context-button{min-height:38px;padding:0 12px;border-radius:12px;font-size:.84rem}.context-toggle{width:100%}.context-submit{width:100%;min-height:40px;border-radius:12px;padding:0 12px}.sidebar-action{width:100%;background:rgba(255,250,243,.1);border-color:rgba(255,250,243,.14);color:#fffaf3}.sidebar-form{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.sidebar-form.compact{gap:8px}.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.sidebar-form input,.sidebar-form select{width:100%;border:1px solid rgba(255,250,243,.16);background:rgba(255,250,243,.08);border-radius:14px;padding:10px 12px;color:#fffaf3}.sidebar-form input::placeholder{color:rgba(248,241,232,.48)}.nav-stack{display:grid;grid-gap:10px;gap:10px}.nav-create{width:100%;justify-content:center}.nav-section{display:grid;grid-gap:8px;gap:8px}.nav-more-toggle{width:100%;justify-content:center;background:rgba(255,250,243,.1);border-color:rgba(255,250,243,.14);color:#fffaf3}.nav-section-title{color:rgba(248,241,232,.56);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:0 4px}.nav-list{display:grid;grid-gap:10px;gap:10px}.nav-link{display:grid;grid-gap:3px;gap:3px;padding:14px 16px;border:1px solid rgba(255,250,243,.1);border-radius:18px;color:rgba(248,241,232,.78);transition:transform .18s ease,background .18s ease,border-color .18s ease}.nav-link small{color:rgba(248,241,232,.55)}.nav-link.active,.nav-link:hover{transform:translateX(4px);background:rgba(255,250,243,.12);border-color:rgba(243,210,178,.34);color:#fffaf3}.sidebar-footer{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:var(--radius-md);background:linear-gradient(160deg,rgba(199,111,74,.28),rgba(180,138,60,.22))}.sidebar-footer strong{font-size:1rem}.sidebar-footer p{margin:0;color:rgba(255,250,243,.82);font-size:.8rem;line-height:1.45}.page{padding:28px;max-width:1240px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.topbar-copy{display:grid;grid-gap:6px;gap:6px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.topbar h1{margin:0;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(2rem,4vw,3rem)}.topbar p{margin:0;color:var(--muted);line-height:1.6}.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-weight:600}.primary-button{background:linear-gradient(180deg,var(--brand),var(--brand-strong));color:#fffaf3;box-shadow:0 8px 20px rgba(15,58,51,.22)}.ghost-button{background:rgba(255,250,243,.9);border-color:var(--line);color:var(--text)}@media (hover:hover){.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,58,51,.26)}.ghost-button:hover{transform:translateY(-1px);border-color:rgba(86,70,54,.25);box-shadow:var(--shadow-soft)}}.ghost-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed}.card,.hero-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .22s var(--ease-standard),box-shadow .22s var(--ease-standard),border-color .22s var(--ease-standard)}.hero-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);grid-gap:20px;gap:20px;padding:28px;overflow:hidden}.hero-copy{display:grid;grid-gap:18px;gap:18px}.hero-copy h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1}.hero-copy p{margin:0;color:var(--muted);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-panel{display:grid;grid-gap:14px;gap:14px;align-content:start;padding:22px;border-radius:22px;background:linear-gradient(180deg,rgba(24,76,67,.92),rgba(15,58,51,.94));color:#fffaf3}.hero-panel .label{color:rgba(255,250,243,.68);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.hero-panel strong{font-size:2.6rem;line-height:1}.hero-panel ul{margin:0;padding-left:18px;color:rgba(255,250,243,.82);line-height:1.6}.content-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);margin-top:20px}.content-grid,.stack{display:grid;grid-gap:20px;gap:20px}.card{padding:22px}@media (hover:hover){.card:hover{transform:translateY(-2px);box-shadow:0 22px 56px rgba(48,33,18,.11);border-color:rgba(86,70,54,.2)}}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.card-header h2,.card-header h3{margin:0;font-size:1.15rem}.card-header p{margin:6px 0 0;color:var(--muted);line-height:1.6}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-card{padding:18px;border-radius:20px;background:var(--surface-strong);border:1px solid rgba(86,70,54,.12);transition:transform .2s var(--ease-standard),border-color .2s var(--ease-standard),box-shadow .2s var(--ease-standard)}.metric-card span{display:block;color:var(--muted);font-size:.88rem}.metric-card strong{display:block;margin-top:8px;font-size:1.9rem}.metric-card small{display:block;margin-top:10px;color:var(--accent)}.plain-list,.timeline-list{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.plain-item,.timeline-item{padding:18px;border-radius:20px;border:1px solid rgba(86,70,54,.12);background:var(--surface-strong);transition:transform .18s var(--ease-standard),border-color .18s var(--ease-standard),box-shadow .18s var(--ease-standard)}@media (hover:hover){.form-section:hover,.metric-card:hover,.plain-item:hover,.starter-item:hover,.template-card:hover,.timeline-item:hover{transform:translateY(-1px);border-color:rgba(86,70,54,.24);box-shadow:var(--shadow-soft)}}.plain-item header,.timeline-item header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.plain-item strong,.timeline-item strong{font-size:1rem}.filters,.form-grid,.meta-row,.pill-row,.split-grid,.tag-row,.template-grid{display:flex;flex-wrap:wrap;gap:10px}.meta-row span,.pill,.tag{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(24,76,67,.08);color:var(--brand);font-size:.85rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.photo-thumb{width:100%;height:90px;object-fit:cover;border-radius:10px;border:1px solid rgba(86,70,54,.14)}.tag{background:var(--accent-soft);color:var(--accent)}.pill.active{background:var(--brand);color:#fffaf3}.map-stage{position:relative;min-height:360px;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,rgba(24,76,67,.14),rgba(255,250,243,0)),linear-gradient(180deg,#f5efe7,#efe4d6)}.map-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(24,76,67,.08) 1px,transparent 0),linear-gradient(90deg,rgba(24,76,67,.08) 1px,transparent 0);background-size:56px 56px;opacity:.4}.map-pin{position:absolute;z-index:1;display:grid;place-items:center;width:18px;height:18px;border-radius:999px;border:0;background:var(--accent);box-shadow:0 0 0 8px rgba(199,111,74,.16);transform:translate(-50%,-50%);cursor:pointer}.map-pin:after{content:"";width:6px;height:6px;border-radius:999px;background:#fffaf3}.map-pin.active{background:var(--brand);box-shadow:0 0 0 8px rgba(24,76,67,.2)}.chart-stack{display:grid;grid-gap:14px;gap:14px}.chart-row{display:grid;grid-gap:8px;gap:8px}.chart-row header{display:flex;justify-content:space-between;font-size:.92rem;color:var(--muted)}.bar-track{height:12px;border-radius:999px;background:rgba(24,76,67,.08);overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--accent))}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.template-card{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid rgba(86,70,54,.12);border-radius:20px;background:var(--surface-strong)}.plain-item p,.template-card p,.timeline-item p{margin:0;color:var(--muted);line-height:1.6}.form-section{display:grid;grid-gap:14px;gap:14px;padding:18px;border-radius:20px;background:var(--surface-strong);border:1px solid rgba(86,70,54,.12)}.form-section h3{margin:0;font-size:1rem}.optional-details{gap:10px}.optional-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.optional-details summary::-webkit-details-marker{display:none}.optional-details[open] summary{margin-bottom:2px}.optional-hint{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:rgba(24,76,67,.08);color:var(--brand);font-size:.78rem}.optional-content{display:grid;grid-gap:12px;gap:12px}.field-grid-2,.field-grid-3{display:grid;grid-gap:14px;gap:14px}.field-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:8px;gap:8px}.field label{color:var(--muted);font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(86,70,54,.14);background:#fffdf9;border-radius:16px;padding:12px 14px;color:var(--text)}.field input::placeholder,.field textarea::placeholder{color:rgba(117,101,85,.62)}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(24,76,67,.38);box-shadow:0 0 0 3px rgba(24,76,67,.14)}.field textarea{min-height:120px;resize:vertical}.feedback-admin-filters{align-items:center;margin-bottom:12px}.feedback-filter-button{min-height:40px}.feedback-filter-button.active{color:#fffaf3;border-color:rgba(24,76,67,.46);background:linear-gradient(180deg,rgba(24,76,67,.92),rgba(15,58,51,.92))}.feedback-admin-type-select{min-width:160px}.feedback-admin-search{flex:1 1;min-width:220px}.feedback-admin-search input{min-height:40px}.feedback-admin-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);grid-gap:14px;gap:14px}.feedback-admin-list{max-height:68vh;overflow:auto;padding-right:4px}.feedback-admin-brief{padding:0}.feedback-admin-brief.active{border-color:rgba(24,76,67,.36);box-shadow:0 0 0 2px rgba(24,76,67,.12)}.feedback-admin-brief-button{width:100%;border:0;background:transparent;padding:16px;color:inherit;text-align:left;display:grid;grid-gap:8px;gap:8px;cursor:pointer}.feedback-admin-meta{display:flex;flex-wrap:wrap;gap:8px}.feedback-admin-editor{align-content:start}.feedback-admin-editor .field textarea{min-height:140px}.branding-vote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.branding-vote-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid rgba(86,70,54,.14);border-radius:18px;background:var(--surface-strong)}.branding-vote-card.active{border-color:rgba(24,76,67,.36);box-shadow:0 0 0 2px rgba(24,76,67,.1)}.branding-vote-preview{display:grid;place-items:center;padding:10px;border-radius:14px;border:1px solid rgba(86,70,54,.12);background:radial-gradient(circle at top right,rgba(199,111,74,.08),transparent 34%),linear-gradient(180deg,rgba(255,250,243,.92),rgba(253,241,233,.8))}.branding-vote-image{display:block;width:100%;height:auto;border-radius:14px}.branding-vote-card strong{font-size:.98rem}.branding-vote-card p{margin:0;color:var(--muted);line-height:1.5;font-size:.88rem}.branding-vote-card button{width:100%}.admin-view-tabs{margin-top:16px;margin-bottom:4px}.admin-view-tab{display:inline-flex;align-items:center;gap:8px}.admin-view-tab strong{display:inline-flex;min-width:24px;justify-content:center;padding:2px 8px;border-radius:999px;background:rgba(24,76,67,.14);color:var(--brand);font-size:.78rem}.admin-view-tab.active{color:#fffaf3;border-color:rgba(24,76,67,.46);background:linear-gradient(180deg,rgba(24,76,67,.92),rgba(15,58,51,.92))}.admin-view-tab.active strong{background:rgba(255,250,243,.18);color:#fffaf3}.admin-view-tab-urgent strong{background:rgba(199,111,74,.16);color:#8f3f1f}.admin-alert-grid{display:grid;grid-gap:12px;gap:12px}.admin-alert-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid rgba(86,70,54,.12);background:var(--surface-strong)}.admin-alert-copy{display:grid;grid-gap:4px;gap:4px}.admin-alert-copy strong{font-size:.98rem}.admin-alert-copy p{margin:0;color:var(--muted);line-height:1.45}.admin-alert-card.level-high{border-color:rgba(199,111,74,.42);background:rgba(199,111,74,.08)}.admin-alert-card.level-medium{border-color:rgba(180,138,60,.34);background:rgba(180,138,60,.08)}.admin-alert-card.level-low{border-color:rgba(24,76,67,.24);background:rgba(24,76,67,.06)}.admin-list-scroll{max-height:68vh;overflow:auto;padding-right:4px}.checklist-list{gap:10px}.checklist-item header strong{display:inline-flex;align-items:center;gap:8px}.checklist-item header span{text-transform:uppercase;letter-spacing:.04em}.helper{color:var(--muted);font-size:.86rem;line-height:1.55}.status-panel{display:grid;grid-gap:12px;gap:12px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(15,58,51,.96),rgba(24,76,67,.9));color:#fffaf3}.status-panel h3{margin:0;font-size:1.05rem}.status-panel ol,.status-panel ul{margin:0;padding-left:18px;color:rgba(255,250,243,.8);line-height:1.65}.starter-card{display:grid;grid-gap:14px;gap:14px}.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.starter-item{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(86,70,54,.12);background:var(--surface-strong)}.starter-item strong{font-size:.96rem}.starter-item p{margin:0;color:var(--muted);line-height:1.55;font-size:.88rem}.section-grid-2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:20px;gap:20px}.mobile-form-actions{display:none}.detail-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.detail-layout,.detail-main{display:grid;grid-gap:20px;gap:20px}.detail-cover,.detail-main{overflow:hidden}.detail-cover{border-radius:22px;border:1px solid rgba(86,70,54,.12)}.detail-cover-image{display:block;width:100%;max-height:420px;object-fit:cover}.detail-section{display:grid;grid-gap:16px;gap:16px}.detail-copy{padding:18px;border-radius:20px;background:var(--surface-strong);border:1px solid rgba(86,70,54,.12)}.detail-copy p{margin:0;color:var(--muted);line-height:1.8}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.detail-gallery-image{width:100%;height:240px;object-fit:cover;border-radius:18px;border:1px solid rgba(86,70,54,.12);background:var(--surface-strong)}.onboarding-overlay{position:fixed;right:22px;bottom:24px;z-index:22;width:min(460px,calc(100vw - 26px))}.onboarding-card{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid rgba(86,70,54,.2);border-radius:22px;background:rgba(255,250,243,.98);box-shadow:0 20px 46px rgba(48,33,18,.18)}.onboarding-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.onboarding-head h3{margin:2px 0 0;font-size:1.16rem}.onboarding-head .ghost-button{min-height:38px;padding:0 12px}.onboarding-body{display:grid;grid-gap:12px;gap:12px}.onboarding-body p{margin:0;color:var(--muted);line-height:1.6}.auth-page{max-width:1080px;margin:0 auto}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);grid-gap:20px;gap:20px}.auth-form-card,.auth-intro-panel{padding:24px}.auth-intro-panel h1{margin:6px 0 0;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.2}.auth-intro-copy{margin:0;color:var(--muted);line-height:1.7}.auth-intro-list{margin:0;padding-left:18px;color:var(--text);line-height:1.65;display:grid;grid-gap:6px;gap:6px}.auth-invite-banner{display:grid;grid-gap:6px;gap:6px;padding:14px;border-radius:16px;border:1px solid rgba(24,76,67,.18);background:rgba(24,76,67,.06)}.auth-invite-banner strong{font-size:.95rem}.auth-invite-banner p{margin:0;color:var(--muted);font-size:.9rem}.auth-mode-switch{margin-bottom:12px}.auth-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:stretch}.auth-password-toggle{min-height:44px;padding:0 12px;border-radius:12px}.auth-password-checklist{display:flex;flex-wrap:wrap;gap:8px;margin-top:-2px}.auth-password-checklist span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(117,101,85,.12);color:var(--muted);font-size:.82rem}.auth-password-checklist span.ok{background:rgba(24,76,67,.14);color:var(--brand)}.auth-helper-success{color:var(--brand)}.auth-helper-error{color:#a54431}.branding-preview-page{max-width:1480px}.branding-preview-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.branding-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.branding-preview-card{display:grid;grid-gap:18px;gap:18px;align-content:start}.branding-preview-icon-stage{display:grid;place-items:center;min-height:280px;padding:18px;border-radius:24px;background:radial-gradient(circle at top right,rgba(244,106,78,.08),transparent 36%),linear-gradient(180deg,rgba(255,250,243,.9),rgba(253,241,233,.78));border:1px solid rgba(86,70,54,.08)}.branding-preview-section{display:grid;grid-gap:12px;gap:12px}.branding-preview-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.branding-logo-lockup{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:rgba(255,250,243,.92);border:1px solid rgba(86,70,54,.08)}.branding-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:rgba(255,248,243,.86)}.branding-logo-copy{display:grid;grid-gap:4px;gap:4px}.branding-logo-copy strong{font-size:2rem;line-height:1;color:#1f2630;letter-spacing:-.05em;font-family:Avenir Next,Helvetica Neue,PingFang SC,Noto Sans SC,sans-serif}.branding-logo-copy span{color:var(--muted);line-height:1.4;font-size:.95rem}.branding-preview-small-row{display:flex;align-items:flex-end;gap:18px}.branding-preview-small-item{display:grid;justify-items:center;grid-gap:8px;gap:8px}.branding-preview-small-item small{color:var(--muted);font-size:.74rem}.branding-preview-note{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:18px;background:rgba(244,106,78,.08);border:1px solid rgba(244,106,78,.14)}.branding-preview-note strong{font-size:.9rem}.branding-preview-note span{color:var(--muted);line-height:1.55}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:block;border-radius:12px;background:linear-gradient(90deg,rgba(117,101,85,.08),rgba(117,101,85,.18) 50%,rgba(117,101,85,.08));background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-line{height:12px}.skeleton-line-lg{height:20px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{position:relative;min-height:auto}.page{padding-top:20px}}@media (max-width:760px){.public-landing{padding:24px 12px 20px;gap:14px}.public-landing-hero{padding:20px;border-radius:20px}.public-landing-grid{grid-template-columns:1fr;gap:10px}}@media (max-width:900px){.auth-layout,.branding-preview-grid,.branding-vote-grid{grid-template-columns:1fr}.branding-preview-hero{align-items:flex-start;flex-direction:column}.sidebar{display:none}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:9;display:grid;grid-gap:6px;gap:6px;padding:10px 12px;background:rgba(18,45,40,.95);border-bottom:1px solid rgba(255,250,243,.16)}.mobile-topbar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-topbar-main{display:grid;grid-gap:2px;gap:2px;color:#fffaf3;min-width:0}.mobile-topbar-main strong{font-size:.95rem;line-height:1.2}.mobile-brand-row{display:flex;align-items:center;gap:8px;min-width:0}.mobile-brand-admin-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:rgba(255,250,243,.12);color:rgba(248,241,232,.82);font-size:.72rem;flex-shrink:0}.mobile-topbar-main span{color:rgba(248,241,232,.72);font-size:.76rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-topbar-quick-actions{display:flex;gap:6px;flex-shrink:0}.mobile-topbar-quick-actions .ghost-button{min-height:34px;padding:0 10px;border-radius:10px;font-size:.78rem;color:#fffaf3;border-color:rgba(255,250,243,.16);background:rgba(255,250,243,.08)}.mobile-topbar-actions{display:flex;align-items:stretch}.mobile-group-selector{flex:1 1;min-width:0;border:1px solid rgba(86,70,54,.16);background:#fffdf9;border-radius:12px;padding:8px 10px;color:var(--text)}.mobile-topbar-links{display:flex;gap:8px;flex-wrap:wrap}.mobile-topbar-links .ghost-button{flex:1 1;justify-content:center}.mobile-account-card,.mobile-group-create-card,.mobile-group-panel-card{display:grid;grid-gap:10px;gap:10px;margin:8px 12px 0;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.mobile-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-group-panel-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-group-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-topbar-actions .ghost-button{min-height:42px;padding:0 12px;color:#fffaf3;border-color:rgba(255,250,243,.16);background:rgba(255,250,243,.08)}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:12;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;grid-gap:6px;gap:6px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(18,45,40,.96);border-top:1px solid rgba(255,250,243,.14)}.mobile-tabbar.mobile-tabbar-admin{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-tab-item{display:grid;place-items:center;grid-gap:2px;gap:2px;padding:4px 0;min-height:50px;border-radius:12px;border:1px solid rgba(255,250,243,.12);color:rgba(248,241,232,.74);background:rgba(255,250,243,.06);font-size:.78rem}.mobile-tab-text{line-height:1.1}.mobile-tab-item-primary{width:62px;height:62px;min-height:62px;margin:0 auto 6px;border-radius:999px;border-width:1.5px;background:linear-gradient(180deg,rgba(199,111,74,.96),rgba(180,138,60,.92));border-color:rgba(255,224,188,.72);color:#fffaf3;font-weight:600;box-shadow:0 10px 24px rgba(199,111,74,.34)}.mobile-tab-plus{font-size:1.8rem;line-height:1;font-weight:700;transform:translateY(-1px)}.mobile-tab-item-primary .mobile-tab-text{font-size:.7rem}.mobile-tab-item.active{border-color:rgba(243,210,178,.44);background:rgba(255,250,243,.16);color:#fffaf3}.mobile-tab-item-primary.active{background:linear-gradient(180deg,rgba(218,132,93,.98),rgba(201,158,84,.95));border-color:rgba(255,236,206,.9)}.has-mobile-form-actions{padding-bottom:116px}.mobile-form-actions{position:fixed;left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:11;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;padding:10px;border-radius:16px;border:1px solid rgba(86,70,54,.14);background:rgba(255,250,243,.95);box-shadow:0 14px 32px rgba(48,33,18,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.onboarding-overlay{right:12px;left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:auto}.topbar{margin-bottom:14px;gap:10px}.topbar h1{font-size:clamp(1.5rem,6vw,1.9rem)}.topbar p{font-size:.9rem;line-height:1.45}.card{padding:16px;border-radius:18px}.card-header{flex-direction:column;gap:8px;margin-bottom:12px}.card-header h2,.card-header h3{font-size:1.02rem}.card-header p{margin-top:4px;font-size:.86rem;line-height:1.45}.plain-item,.timeline-item{padding:14px;border-radius:16px}.plain-item header,.timeline-item header{margin-bottom:8px;gap:8px}.plain-item strong,.timeline-item strong{font-size:.95rem}.filters,.form-grid,.meta-row,.pill-row,.split-grid,.tag-row,.template-grid{gap:8px}.meta-row span,.pill,.tag{min-height:30px;padding:0 10px;font-size:.8rem}.photo-thumb{height:78px}.field label{font-size:.86rem}.field input,.field select,.field textarea{min-height:44px;padding:10px 12px;border-radius:14px}.ghost-button,.primary-button{min-height:44px;padding:0 14px}.content-grid,.detail-layout,.feedback-admin-layout,.hero-card,.metric-grid,.section-grid-2,.starter-grid,.template-grid{grid-template-columns:1fr}.admin-list-scroll,.feedback-admin-list{max-height:none}.admin-alert-card{flex-direction:column;align-items:flex-start}}@media (max-width:680px){.brand-logo-wordmark{font-size:1.55rem}.brand-logo-subtitle{font-size:.78rem}.auth-form-card,.auth-intro-panel{padding:14px}.auth-password-row{grid-template-columns:1fr}.auth-password-toggle{width:100%}.page{padding:16px 16px calc(92px + env(safe-area-inset-bottom))}.topbar{flex-direction:column;align-items:flex-start}.field-grid-2,.field-grid-3{grid-template-columns:1fr}.feedback-admin-search,.feedback-admin-type-select{min-width:100%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-gallery{grid-template-columns:1fr}.card,.hero-card{padding:14px}.branding-preview-icon-stage{min-height:220px}.branding-logo-lockup{align-items:flex-start;flex-direction:column}.branding-logo-copy strong{font-size:1.7rem}.mobile-account-actions,.mobile-group-create-grid,.mobile-group-panel-actions{grid-template-columns:1fr}.mobile-tabbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.mobile-tabbar.mobile-tabbar-admin{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-tab-item{min-height:48px;border-radius:10px;font-size:.74rem}.mobile-tab-item-primary{width:58px;height:58px;min-height:58px;margin-bottom:4px}.mobile-tab-plus{font-size:1.65rem}.has-mobile-form-actions{padding-bottom:124px}.mobile-form-actions{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));padding:8px;border-radius:14px}.mobile-form-actions .ghost-button,.mobile-form-actions .primary-button{min-height:42px;padding:0 12px}}