:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:16px;line-height:1.4;font-synthesis:none;color:#1d1d1f;background:#f5f5f7;--ink: #1d1d1f;--muted: #6e6e73;--line: #e6e6eb;--accent: #006ce5;--canvas: #f5f5f7;--surface: #fff;--control: #e9e9ee;--input: #fafafa;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;border:0;padding:0;background:none;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:default}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #73737b;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8e8e96;outline-offset:1px}input::placeholder,textarea::placeholder{color:#929292}svg{flex-shrink:0}h1,h2,h3,p{margin:0}::selection{background:#dedee3;color:var(--ink)}.app-shell{min-height:100vh}.brand,.mobile-brand{color:var(--ink);font-size:18px;font-weight:600}.brand{padding:4px 10px;margin-bottom:28px}.event-nav{display:grid}.event-nav-button{display:flex;align-items:center;gap:10px;min-height:56px;width:100%;padding:9px 10px;text-align:left;font-size:14px;border-radius:10px}.event-nav-button.selected{color:var(--ink);background:#eeeef1}.event-nav-button:hover{background:#f0f0f0}.event-nav-button>span{flex:1;min-width:0}.event-nav-button small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.event-nav-icon{flex:0!important;color:var(--muted)}.sidebar-utility{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px;text-align:left;color:var(--accent);font-size:14px}.sidebar-utility{color:var(--muted)}.main-column,.guest-layout .main-column{margin-left:0}.guest-layout .sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:6px 24px;border-bottom:1px solid var(--line);background:#ffffffc9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-actions,.mobile-brand-group{display:flex;align-items:center;gap:12px}.topbar-label{color:var(--muted);font-size:14px}.mobile-admin-menu{display:none!important}.identity-button{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.identity-button>span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{max-width:760px;margin:0 auto;padding:24px 24px 32px}.admin-account{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.admin-account .text-button{color:var(--muted);font-size:13px}.admin-page{padding:8px 0}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.admin-heading h1{font-size:28px;line-height:1.2;font-weight:650;letter-spacing:-.7px}.admin-events-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-event-row{display:flex;align-items:center;gap:4px;padding:0 10px 0 16px;border-bottom:1px solid var(--line)}.admin-event-row:last-child{border-bottom:0}.admin-event-open{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:76px;padding:14px 0;text-align:left}.admin-event-copy{display:grid;min-width:0;gap:4px}.admin-event-copy strong{overflow:hidden;color:var(--ink);font-size:16px;line-height:1.35;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-event-copy small{overflow:hidden;color:var(--muted);font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.admin-event-open>svg{color:#98989f}.admin-event-edit{color:var(--muted)}.admin-event-open:focus-visible{outline-offset:-3px}.admin-event-open:hover,.admin-event-edit:hover{color:var(--ink)}.admin-empty{padding:30px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted);font-size:14px}.admin-archives{margin-top:18px}.admin-archives>button,.admin-archives>.text-button{color:var(--muted);font-size:13px}.admin-archives .admin-events-list{margin-top:8px}.admin-home-link,.event-back{color:var(--muted);background:transparent!important;border:0!important;box-shadow:none!important}.event-back{margin-left:-10px;margin-right:-4px}.event-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.event-heading h1{flex:1;min-width:0;font-size:26px;line-height:1.2;font-weight:650;letter-spacing:-.65px;overflow-wrap:anywhere}.heading-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.event-meta{display:flex;flex-wrap:wrap;gap:3px 12px;color:var(--muted);font-size:13px;line-height:18px}.event-meta>span{display:inline-flex;align-items:center;gap:5px}.event-meta>span:first-child{text-transform:none}.event-meta svg{width:12px;height:12px}.event-meta .event-address,.event-address{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#55555c;text-decoration:underline;text-decoration-color:#bcbcc3;text-underline-offset:3px;overflow-wrap:anywhere}.event-address:hover{color:var(--ink);text-decoration-color:var(--ink)}.event-address svg{width:13px;height:13px}.tabs-toolbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:3px 0;background:#f5f5f7ed;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.view-tabs{display:flex;gap:2px;min-width:0;padding:3px;border-radius:12px;background:var(--control)}.view-tabs>button{min-height:44px;padding:8px 15px;border:0;border-radius:9px;color:var(--muted);font-size:14px;font-weight:500;white-space:nowrap}.view-tabs>button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 4px #00000012,0 0 1px #0000000a}.list-tools{display:flex;align-items:center;gap:5px}.icon-button,.history-button{display:inline-grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:var(--muted);border-radius:50%}.event-heading>.icon-button,.list-tools .icon-button{background:#ffffffb8;border:1px solid #ffffffd9;box-shadow:0 1px 3px #00000006}.icon-button:hover,.history-button:hover{background:#e9e9ee}.icon-button.active,.icon-button[aria-pressed=true]{color:var(--ink);background:#e5e5e9;border-color:#d7d7dd}.search-field{display:flex;align-items:center;gap:8px;margin-top:7px;padding:0 8px 0 12px;border:1px solid transparent;border-radius:12px;background:var(--control);color:var(--muted)}.search-field input{flex:1;min-width:0;min-height:44px;width:100%;padding:8px 0;border:0;color:var(--ink);background:transparent;font-size:16px}.search-field input:focus{outline:none}.search-field:focus-within{border-color:#93939b;outline:2px solid #b8b8bf;outline-offset:1px}.item-grid{display:block}.item-section{margin-top:10px}.item-section>h2{display:flex;align-items:center;min-height:26px;padding-left:13px;font-size:13px;font-weight:600;color:var(--muted)}.item-section-list{padding:0 12px;border:1px solid #e9e9ed;border-radius:16px;background:var(--surface);box-shadow:0 1px 2px #00000002}.item-card{position:relative;min-width:0;padding:0;margin:0;border-top:1px solid var(--line);background:transparent}.item-card:first-child{border-top:0}.item-details{min-width:0}.item-summary{display:grid;gap:2px;min-width:0;padding:8px 48px 8px 0;list-style:none;cursor:pointer}.item-summary::-webkit-details-marker{display:none}.item-summary::marker{content:""}.item-summary:hover{background:transparent}.item-summary:focus-visible{outline-offset:-2px}.item-summary h3{font-size:16px;font-weight:550;line-height:20px;letter-spacing:-.12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quantity-row{display:flex;align-items:baseline;gap:8px;min-width:0;color:var(--muted);font-size:14px;line-height:18px}.quantity-row>div{min-width:0}.quantity-row strong{color:var(--ink);font-size:14px;font-weight:500}.percent{margin-left:0;color:var(--muted);font-size:12px;white-space:nowrap}.item-people{display:block;min-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;line-height:16px}.progress-track{height:3px;margin-top:1px;overflow:hidden;border-radius:3px;background:#edf0f3}.progress-track>span{display:block;height:100%;border-radius:inherit;background:#8cabc5;transition:width .18s ease}.complete .progress-track>span{background:#6e987b}.row-add{position:absolute;top:7px;right:-5px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--accent);background:#f2f2f5}.row-add:hover{background:#e9e9ee}.row-add svg{width:21px;height:21px}.contributions-list{margin:0 0 4px;padding-left:10px;border-top:1px solid var(--line)}.contribution-line{display:flex;align-items:center;gap:8px;min-height:44px;width:100%;padding:7px 4px 7px 0;text-align:left;font-size:14px}.contribution-line>span{flex:1;min-width:0}.contribution-line small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contribution-line strong{font-size:14px;font-weight:400;white-space:nowrap}.contribution-line>svg{color:#858585}.contribution-line:hover{color:var(--ink);background:#f5f5f7}.no-contribution{display:flex;align-items:center;min-height:40px;color:var(--muted);font-size:13px}.item-edit{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;color:var(--accent);font-size:14px}.add-item-end{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;margin-top:8px;border:0!important;border-radius:0!important;background:none!important;color:var(--accent)!important;font-size:15px}.page-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 0 0;color:var(--muted);font-size:12px}.people-grid{display:block}.person-card{margin-top:18px;padding:0;border:0;background:transparent}.person-heading{display:flex;align-items:baseline;gap:8px;padding-bottom:7px}.person-heading h3{font-size:15px;font-weight:600}.person-heading>span,.person-heading>div>span{color:var(--muted);font-size:12px}.person-item{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border-top:1px solid var(--line);padding:8px 0;text-align:left;font-size:14px}.person-item>span{flex:1;min-width:0}.person-item strong{font-size:14px;font-weight:400;white-space:nowrap}.person-item>svg{color:#858585}.person-empty{padding:8px 0;color:var(--muted);font-size:13px}.avatar{display:none}.empty-list{padding:28px 0;color:var(--muted)}.empty-list h3{font-size:15px;font-weight:400}.empty-list p{font-size:14px}.empty-list>svg{display:none}.empty-list .button{margin-top:12px}.offline-notice{margin:10px 0;padding:10px 12px;border-left:2px solid #a37936;background:#faf7f0;color:#765826;font-size:13px;line-height:1.5}.page-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;min-height:45vh;color:var(--muted)}.page-state h1{color:var(--ink);font-size:24px;font-weight:600}.page-state p{font-size:14px}.welcome-wrap{max-width:380px;margin:48px auto;padding:28px;border:1px solid #e6e6eb;border-radius:16px;background:var(--surface)}.welcome-wrap h1{font-size:24px;font-weight:650;letter-spacing:-.5px}.welcome-wrap>p{margin-top:12px;color:var(--muted);font-size:14px}.welcome-wrap>.button{margin-top:20px}.login-form{display:grid;gap:8px;margin-top:24px}.login-form>label{font-size:14px}.login-form>input{min-height:46px;padding:10px 12px;border:1px solid #d9d9df;border-radius:10px;font-size:16px;background:var(--surface);color:var(--ink)}.login-form .button{margin-top:8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:550;line-height:1.3}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover{background:var(--accent)}.button.secondary{color:var(--accent);border-color:var(--line);background:var(--surface)}.button.secondary:hover{background:#f6f6f6}.button.danger{color:#fff;background:#b43c35}.button.danger:hover{background:#97312c}.text-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 0;color:var(--accent);font-size:14px}.danger-text{color:#a93630}.full-width{width:100%;margin-top:20px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#17171d42;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{position:relative;width:100%;max-width:480px;max-height:90vh;max-height:90dvh;overflow-y:auto;padding:20px 24px 24px;border:1px solid #ffffffb3;border-radius:20px;background:var(--surface);box-shadow:0 18px 70px #00000024}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-heading h2{font-size:21px;font-weight:650;line-height:1.3;letter-spacing:-.3px}.close-button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;margin-right:-10px;color:var(--muted);border-radius:50%;background:#f1f1f5}.modal-handle{display:none}.modal-intro{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:18px}.modal-form>label,.modal-form .form-columns label,.first-contribution>label,.share-content>label{display:block;margin:14px 0 6px;color:#505055;font-size:13px;font-weight:550}.modal-form>label:first-child{margin-top:0}.modal-form>label>span,.first-contribution>label>span{float:right;color:var(--muted);font-size:12px}.modal-form input:not([type=checkbox]),.modal-form select,.modal-form textarea,.share-content>input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #dedee4;border-radius:10px;color:var(--ink);background:var(--input);font-size:16px}.modal-form textarea{min-height:68px;resize:vertical}.schedule-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(132px,1fr);align-items:start;gap:12px}.schedule-date,.schedule-time{min-width:0}.schedule-fields label{display:block;margin:14px 0 6px;color:#505055;font-size:13px;font-weight:550}.schedule-date input{min-width:0}.schedule-time{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #dedee4;border-radius:10px;background:var(--input)}.modal-form .schedule-time select{min-width:0;padding:10px 8px;border:0;border-radius:0;background:transparent;text-align:center;font-variant-numeric:tabular-nums}.modal-form .schedule-time select:focus{outline:none}.schedule-time:focus-within{outline:2px solid #8e8e96;outline-offset:1px}.time-separator{color:var(--muted)}.legacy-time{margin-top:8px;color:var(--muted);font-size:12px}.quantity-control{display:flex;align-items:center;min-width:0;min-height:46px;overflow:hidden;border:1px solid #dedee4;border-radius:10px;background:var(--input)}.quantity-control:focus-within{outline:2px solid #8e8e96;outline-offset:1px}.quantity-step{display:inline-grid;flex:0 0 44px;place-items:center;width:44px;min-height:44px;color:#595960}.quantity-step:hover:not(:disabled){background:#ededf0;color:var(--ink)}.quantity-step:disabled{opacity:.3;cursor:default}.quantity-step:focus-visible{outline-offset:-4px}.modal-form .quantity-control .quantity-value{flex:1;min-width:0;width:0;min-height:44px;padding:10px 8px!important;border:0;border-radius:0;background:transparent;text-align:center;font-size:16px;font-variant-numeric:tabular-nums}.modal-form .quantity-control .quantity-value:focus{outline:none}.quantity-unit{flex-shrink:0;max-width:88px;padding-right:10px;color:var(--muted);font-size:13px;white-space:nowrap}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-columns>div{min-width:0}.field-hint{display:flex;align-items:flex-start;gap:6px;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.field-hint>svg{margin-top:2px}.field-error{margin-top:9px;color:#aa302c;font-size:13px;line-height:1.5}.target-config{margin-top:18px}.checkbox-label{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer}.checkbox-label input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.checkbox-label>span{font-size:14px}.checkbox-label strong{display:block;color:var(--muted);font-size:12px;font-weight:400}.target-config .input-unit{margin-top:6px}.input-unit{position:relative}.input-unit input{padding-right:90px!important}.input-unit>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;background:var(--input);pointer-events:none}.first-contribution{margin-top:20px;padding-top:3px;border-top:1px solid var(--line)}.contribution-subject{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}.contribution-subject .item-symbol{display:none}.contribution-subject strong{display:block;font-size:16px;font-weight:500}.contribution-subject>div>span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.capacity-preview{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--muted);font-size:13px}.form-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:8px;border-top:1px solid var(--line)}.form-admin-actions .text-button{font-size:13px}.form-delete{justify-content:center;width:100%;margin-top:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.confirm-content>p{color:#4c4c4c;font-size:14px;line-height:1.6}.activity-entry{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-entry:first-child{padding-top:0}.activity-entry:last-child{border-bottom:0}.activity-entry strong{font-size:14px;font-weight:500}.activity-entry p{margin:3px 0 6px;color:var(--muted);font-size:13px;line-height:1.5}.activity-entry time{color:#777;font-size:12px}.share-content>.button{width:100%;margin-top:18px}.mobile-navigation .event-nav-button{border-bottom:1px solid var(--line)}.mobile-logout{width:100%;justify-content:center;margin-top:10px}.options-list{display:grid}.options-list>button,.options-list>a{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:11px 8px;border-top:1px solid var(--line);text-align:left;color:var(--ink);font-size:15px}.options-list>button:first-child,.options-list>a:first-child{border-top:0}.options-list>button:hover,.options-list>a:hover{color:var(--ink);background:#f3f3f5}.options-list svg{color:var(--muted)}.options-list>button>span,.options-list>a>span{flex:1}.options-list small{margin-left:auto;color:var(--muted);font-size:13px}.options-profile{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.event-info{font-size:14px;line-height:1.6}.event-info p{margin:10px 0;white-space:pre-wrap}.event-info dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}.event-info dt{color:var(--muted)}.event-info dd{margin:0}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px;border-radius:14px;box-shadow:0 4px 20px #00000020;background:#303034;color:#fff;font-size:13px;line-height:1.5}.toast>span{max-width:420px}.toast>button{display:grid;place-items:center;min-width:32px;min-height:32px;color:#fff}.toast.error{background:#853932}@media(max-width:760px){.main-column{margin-left:0}main{padding:16px 16px 24px}.topbar{min-height:52px;padding:4px 16px}.mobile-admin-menu{display:inline-grid!important}.topbar-label{display:none}.topbar-actions{gap:10px}.identity-button{font-size:13px}.identity-button>span{max-width:120px}.event-heading{gap:8px}.event-heading h1{font-size:24px;line-height:29px;letter-spacing:-.4px}.event-meta{gap:2px 10px}.tabs-toolbar{margin-top:8px}.view-tabs{gap:2px}.list-tools{margin-right:0}.item-section{margin-top:8px}.row-add{right:-5px}.welcome-wrap{margin:24px auto;padding:24px}.admin-page{padding:4px 0}.admin-heading{margin-bottom:18px;gap:12px}.admin-heading h1{font-size:26px}.admin-heading .button{padding:10px 12px;font-size:14px}.admin-event-row{padding-left:14px;padding-right:8px}.admin-event-open{min-height:72px}.event-back{margin-left:-8px}.schedule-fields{grid-template-columns:minmax(0,1.1fr) minmax(126px,1fr);gap:10px}.modal-form .schedule-time select{padding-left:6px;padding-right:6px}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:600px;max-height:93vh;max-height:93dvh;padding:10px 20px max(24px,env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0}.modal-handle{display:block;width:34px;height:4px;margin:0 auto 10px;border-radius:4px;background:#d0d0d6}.modal-heading{margin-bottom:14px}.modal-heading h2{font-size:21px}.modal-form input:not([type=checkbox]),.modal-form select,.modal-form textarea,.share-content>input{font-size:16px;min-height:46px}.toast{bottom:16px}.toast>span{max-width:calc(100vw - 110px)}}@media(max-width:350px){main{padding-right:14px;padding-left:14px}.event-heading h1{font-size:22px}.view-tabs{gap:2px}.view-tabs>button{padding-right:12px;padding-left:12px}.list-tools .icon-button{width:44px}.list-tools{gap:3px}.item-section-list{padding-right:10px;padding-left:10px}.quantity-row{gap:5px}.quantity-row,.quantity-row strong{font-size:13px}.modal{padding-right:18px;padding-left:18px}.form-columns{gap:10px}.admin-event-copy strong{font-size:15px}.schedule-fields{grid-template-columns:minmax(0,1fr) minmax(116px,.9fr);gap:8px}.quantity-unit{max-width:72px;padding-right:6px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.tabs-toolbar,.topbar{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){:root{--muted: #505055;--line: #b5b5bd}.item-section-list{border-color:#b5b5bd}.tabs-toolbar{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}
