@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-cyrillic-ext-wght-normal-MF3U6A5A.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-cyrillic-wght-normal-KKO5CHEH.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-vietnamese-wght-normal-BXDRYU5N.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-latin-ext-wght-normal-VPKFC542.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-latin-wght-normal-LTD77BFG.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,::backdrop{--bg: #fffbea;--surface: #ffffff;--sand: #f6f0dc;--sand-strong: #f3ebd2;--line: #eadfc0;--line-soft: #f3ecd6;--border-input: #cfc6a8;--border-check: #8c8573;--text: #1f2433;--text-muted: #5a6070;--text-soft: #3a4152;--primary: #1f5fd6;--primary-hover: #174baa;--primary-soft: #e3ecfc;--primary-done: #9db8ee;--mandarin: #ff8a3d;--mandarin-hover: #f57a2a;--sun: #ffd65a;--sun-soft: #fff0b8;--success-soft: #e2f5ea;--success-ink: #1d6b40;--warn-soft: #ffe6d3;--warn-ink: #8a3a06;--danger: #b3261e;--danger-soft: #fde2e0;--danger-ink: #9b1c14;--neutral-soft: #eef0f5;--scrim: #4a4f63;--on-primary: #ffffff;--avatar-1: #ffd9c2;--avatar-2: #cfe3ff;--avatar-3: #ffe9a8;--avatar-4: #d9f2e1;--avatar-5: #ebddfb;--avatar-6: #ffd6e0;--avatar-7: #d6f0f5;--avatar-8: #e8efc4;--shadow-fab: 0 4px 14px rgb(255 138 61 / 45%);--shadow-segment: 0 1px 3px rgb(0 0 0 / 12%);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font: "Nunito Variable", Nunito, system-ui, sans-serif;--page-max: 560px;--bar-height: 60px;--nav-height: 68px;--target: 44px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.4}h1,h2,h3{margin:0;font-weight:800}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:var(--primary)}a:hover{color:var(--primary-hover)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}button,input,select{font:inherit;color:var(--text)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input[type=text],input[type=date],select{height:48px;min-width:0;padding:0 var(--space-3);border:1.5px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface)}.muted{color:var(--text-muted);font-size:14px}.error{color:var(--danger-ink)}.label{margin:6px 0 0;color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lead{font-size:18px;font-weight:700}.with-icon{display:flex;align-items:flex-start;gap:var(--space-2)}.with-icon>gm-icon{flex:none}.page{display:flex;flex-direction:column;gap:var(--space-4)}.page-title{display:flex;flex-direction:column;gap:var(--space-1)}.split{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.page.grow{min-height:calc(100dvh - 2 * var(--space-4))}gm-root:has(header.bar) .page.grow{min-height:calc(100dvh - var(--bar-height) - 1px - 2 * var(--space-4))}.foot{position:sticky;bottom:0;z-index:1;display:flex;flex-direction:column;gap:var(--space-2);margin:auto calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) var(--space-6);border-top:1px solid var(--line);background:var(--surface)}.hero{position:relative;display:flex;flex-direction:column;gap:6px;overflow:hidden;margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) 0;padding:40px var(--space-5) 28px;border-radius:0 0 28px 28px;background:var(--primary);color:var(--on-primary)}.hero>*{position:relative}.hero p{font-size:14px;opacity:.9}.hero h1{font-size:28px;font-weight:800;overflow-wrap:anywhere}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%}.hero:before{top:-40px;right:-30px;width:140px;height:140px;background:var(--sun)}.hero:after{right:70px;bottom:-36px;width:72px;height:72px;background:var(--mandarin)}.card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface)}.card.pad{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) 14px;border:0;border-top:1px solid var(--line-soft);background:var(--surface);color:inherit;font:inherit;text-align:left;text-decoration:none}.card>.row:first-child,.card>:first-child>.row:first-child{border-top:0}a.row:hover,button.row:hover{color:inherit;background:var(--bg)}.row.archived{opacity:.6}.row.wrap{flex-wrap:wrap}.row.wrap input[type=text].bare{flex:1 1 10rem}.row .text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.row .end{margin-left:auto}.row input[type=text].bare{flex:1;height:var(--target);padding:0 var(--space-2);border-color:transparent}.row input[type=text].bare:hover,.row input[type=text].bare:focus{border-color:var(--border-input)}.chev{flex:none;margin-left:auto;color:var(--border-check)}.option{cursor:pointer}.option:has(input[type=radio]:checked){background:var(--primary-soft)}.option input[type=checkbox],.option input[type=radio]{appearance:none;flex:none;display:grid;place-content:center;margin:0 0 0 auto;border:2px solid var(--border-check);background:var(--surface);cursor:pointer}.option input[type=checkbox]{width:28px;height:28px;border-radius:8px}.option input[type=checkbox]:checked{border-color:var(--primary);background:var(--primary)}.option input[type=checkbox]:checked:after{content:"";width:7px;height:13px;margin-top:-3px;border:solid var(--on-primary);border-width:0 3px 3px 0;transform:rotate(45deg)}.option input[type=radio]{width:22px;height:22px;border-radius:50%}.option input[type=radio]:checked{border:7px solid var(--primary)}.option:has(input:checked) .av{box-shadow:0 0 0 3px var(--primary)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}.field input,.field select{font-size:16px;font-weight:400}.field input[readonly]{color:var(--text-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--primary);color:var(--on-primary);font-size:17px;font-weight:700;text-decoration:none}.btn:hover:not(:disabled){background:var(--primary-hover);color:var(--on-primary)}.btn.secondary{min-height:48px;padding:0 var(--space-4);border:1.5px solid var(--border-input);background:var(--surface);color:var(--primary);font-size:16px}.btn.secondary:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-hover)}.btn.danger{border-color:var(--danger-soft);color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-ink)}.btn.small{min-height:40px;padding:0 var(--space-3);font-size:14px}.btn.block{width:100%}.btn.start{align-self:flex-start}.btn.center{align-self:center}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions>.btn{flex:1}.icon-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--target);height:var(--target);padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text);text-decoration:none}.icon-btn:hover{background:var(--sand);color:var(--text)}.add-form{display:flex;flex-direction:column;gap:10px;padding:var(--space-3) 14px;border-top:1px solid var(--line-soft)}.add-form .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.add-form .btn{min-height:var(--target)}.add{color:var(--primary);font-weight:700;cursor:pointer}.fab{position:fixed;right:max(var(--space-4),calc(50% - var(--page-max) / 2 + var(--space-4)));bottom:calc(var(--nav-height) + var(--space-4));z-index:2;display:inline-flex;align-items:center;gap:var(--space-2);height:56px;padding:0 var(--space-5);border:0;border-radius:var(--radius-full);background:var(--mandarin);box-shadow:var(--shadow-fab);color:var(--text);font-weight:700}.fab:hover:not(:disabled){background:var(--mandarin-hover)}.chip{display:inline-flex;flex:none;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-full);font-size:13px;font-weight:700;white-space:nowrap}.chip .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.tone-ok{background:var(--primary-soft);color:var(--primary-hover)}.tone-busy{background:var(--success-soft);color:var(--success-ink)}.tone-warn{background:var(--warn-soft);color:var(--warn-ink)}.tone-error{background:var(--danger-soft);color:var(--danger-ink)}.badge{padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:12px;font-weight:700;white-space:nowrap}.badge-auto{background:var(--neutral-soft);color:var(--text-soft)}.badge-volunteer{background:var(--success-soft);color:var(--success-ink)}.badge-swapped{background:var(--warn-soft);color:var(--warn-ink)}.badge-guest{border-radius:var(--radius-full);background:var(--warn-soft);color:var(--warn-ink)}.badge-plain{background:var(--sand);color:var(--text-soft)}.pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pill{min-height:var(--target);padding:0 14px;border:1.5px solid var(--border-input);border-radius:var(--radius-full);background:var(--surface)}.pill[aria-pressed=true]{border-color:var(--success-ink);background:var(--success-soft);color:var(--success-ink);font-weight:700}.pill.none{border-style:dashed}.pill.none[aria-pressed=true]{border-style:solid;border-color:var(--text-muted);background:var(--sand);color:var(--text)}.toggle{min-height:var(--target);padding:0 14px;border:1.5px solid var(--border-input);border-radius:var(--radius-full);background:var(--surface);color:var(--text-muted);font-size:15px;text-decoration:line-through}.toggle[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover);font-weight:700;text-decoration:none}.step-pill{padding:var(--space-1) 10px;border-radius:var(--radius-full);background:var(--bg);color:var(--text-muted);font-size:14px}.step-pill.on{background:var(--primary-soft);color:var(--primary-hover);font-weight:700}.av{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--sand);color:var(--text);font-size:15px;font-weight:700}.av.large{width:40px;height:40px;font-size:16px}.av.empty{border:1.5px dashed var(--border-input);background:var(--surface);color:var(--text-muted)}.av-1{background:var(--avatar-1)}.av-2{background:var(--avatar-2)}.av-3{background:var(--avatar-3)}.av-4{background:var(--avatar-4)}.av-5{background:var(--avatar-5)}.av-6{background:var(--avatar-6)}.av-7{background:var(--avatar-7)}.av-8{background:var(--avatar-8)}.banner{display:flex;align-items:flex-start;gap:10px;padding:var(--space-3) 14px;border-radius:var(--radius-lg);font-size:14px}.banner>gm-icon{flex:none}.banner .grow{display:flex;flex-direction:column;gap:var(--space-2)}.banner.info{background:var(--primary-soft);color:var(--primary-hover)}.banner.warn{background:var(--warn-soft);color:var(--warn-ink)}.banner.error{background:var(--danger-soft);color:var(--danger-ink)}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-6) var(--space-4);text-align:center}.empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--sun-soft);color:var(--text)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.step{min-height:var(--target);padding-top:6px;border-top:4px solid var(--line);color:var(--text-muted);font-size:13px;text-decoration:none}.step:hover{color:var(--text)}.step.done{border-color:var(--primary-done)}.step.on{border-color:var(--primary);color:var(--text);font-weight:700}.segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--sand-strong)}.segment button{min-height:var(--target);border:0;border-radius:10px;background:transparent;color:var(--text-soft)}.segment button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-segment);color:var(--text);font-weight:700}.stepper{display:flex;flex:none;align-items:center;gap:var(--space-1)}.stepper button{width:var(--target);height:var(--target);border:1.5px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface);font-size:20px}.stepper output{width:28px;font-weight:700;text-align:center}.points{padding:3px var(--space-2);border-radius:var(--radius-sm);background:var(--sand);color:var(--text-muted);font-size:12px;font-weight:700}.quota-row{display:grid;grid-template-columns:minmax(72px,1fr) minmax(0,1.4fr) 44px;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft)}.card>.quota-row:first-child{border-top:0}.quota-row .text{display:flex;flex-direction:column;min-width:0}.quota-row small{color:var(--text-muted);font-size:12px}.quota-row .value{font-weight:700;text-align:right}progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:5px;background:var(--sand);appearance:none}progress::-webkit-progress-bar{border-radius:5px;background:var(--sand)}progress::-webkit-progress-value{border-radius:5px;background:var(--primary)}progress::-moz-progress-bar{border-radius:5px;background:var(--primary)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}th{padding:10px var(--space-3);color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-align:right;text-transform:uppercase}td{padding:10px var(--space-3);border-top:1px solid var(--line-soft);text-align:right}th:first-child,td:first-child{text-align:left}.date-block{display:flex;flex:none;flex-direction:column;align-items:center;width:48px;line-height:1.1}.date-block b{font-size:20px}.date-block span{color:var(--text-muted);font-size:12px;text-transform:uppercase}dialog.sheet{width:100%;max-width:var(--page-max);max-height:92dvh;margin:auto auto 0;padding:0;border:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);color:var(--text)}dialog.sheet[open]{display:flex;flex-direction:column}dialog.sheet::backdrop{background:var(--scrim);opacity:.8}.sheet-grab{display:flex;flex:none;justify-content:center;padding:10px 0 var(--space-1)}.sheet-grab:before{content:"";width:40px;height:5px;border-radius:3px;background:var(--border-input)}.sheet-content{display:flex;flex-direction:column;min-height:0}.sheet-head{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) var(--space-5) var(--space-3)}.sheet-head h2{font-size:21px}.sheet-body{display:flex;flex-direction:column;gap:var(--space-3);overflow:auto;padding:var(--space-1) var(--space-5) var(--space-4)}.sheet-body.flush{gap:0;padding:0}.sheet-body.flush .row{padding-inline:var(--space-5)}.sheet-actions{display:flex;flex:none;gap:10px;padding:14px var(--space-5) 28px;border-top:1px solid var(--line-soft)}.sheet-actions>.btn{flex:1}.date-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.date-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:var(--space-2) var(--space-3);border:1.5px solid var(--border-input);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.date-option[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.date-option b{font-weight:700}.date-option small{color:var(--text-muted);font-size:12px}.mode-option{align-items:flex-start;padding-block:var(--space-3)}.mode-option input[type=radio]{order:-1;margin:2px 0 0}.row.field{align-items:stretch;padding-block:var(--space-3)}.sheet-note{padding:var(--space-3) var(--space-5) 0;border-top:1px solid var(--line-soft)}.sheet-section{padding-top:var(--space-4);border-top:1px solid var(--line-soft)}.row.stack{align-items:stretch;padding:14px}
