/* base: design/UI-KIT.md */
:root{color-scheme:light;
--c-primary:#1e593d;--c-primary-active:#113a27;--c-primary-50:#eaf3ee;--c-primary-100:#d3e6da;--c-primary-200:#a9cdb8;
--c-ink:#17271f;--c-ink-2:#33453b;--c-muted-strong:#4f5c54;
--c-surface:#fff;--c-page:#fffdf6;--c-subtle:#f4f1e6;--c-border:#dcd7c7;--c-border-strong:#566258;
--c-butter:#f7dca3;--c-sun:#e9a93a;
--c-success:#1a7a4c;--c-success-bg:#e5f4ec;--c-success-text:#125f3a;
--c-warn:#a25600;--c-warn-bg:#fdf0da;--c-warn-text:#7a4100;
--c-danger:#b3261e;--c-danger-bg:#fcebe9;--c-danger-text:#93201a;
--c-info:#1b5fa8;--c-info-bg:#e7f0fa;--c-info-text:#164d88;
--c-done-bg:#eeeee3;--c-done-text:#33453b;
--font:"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;
--fs-sm:.9445rem;--fs-md:1.1112rem;--fs-lg:1.3334rem;--fs-xl:1.5556rem;--fs-2xl:1.7778rem;--fs-3xl:2.2223rem;
--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;
--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:20px;--r-full:999px;
--h-sm:48px;--h:56px;--h-lg:64px;--h-action:72px;--tab-h:64px;--gutter:16px;--container:1240px}
*,*::before,*::after{box-sizing:border-box}
html{font-size:112.5%}
body{margin:0;font-family:var(--font);line-height:1.4;color:var(--c-ink);background:var(--c-page);overflow-wrap:break-word}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
h1,h2,h3{font-weight:700;line-height:1.15;letter-spacing:-.015em}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
img{background:var(--c-subtle)}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--c-primary);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
main:focus{outline:0}
[hidden]{display:none!important}
.skip-link{position:absolute;left:8px;top:-99px;z-index:40;padding:12px 16px;background:var(--c-ink);color:#fff}
.skip-link:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{flex:none;display:inline-block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.stack{display:grid;grid-gap:var(--s-3);min-width:0}
.stack--lg{grid-gap:var(--s-6)}
.row{display:flex;align-items:center;justify-content:space-between}
.muted{color:var(--c-muted-strong)}
.small{font-size:var(--fs-sm)}
.num{white-space:nowrap;font-variant-numeric:tabular-nums}
.price{font-weight:700;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.price i{margin-left:1px;font-size:.72em;font-style:normal;letter-spacing:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--h);padding:6px 20px;border:2px solid transparent;border-radius:var(--r);background:var(--c-surface);color:var(--c-ink);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation}
.btn .icon{margin-right:8px}
.btn--primary{background:var(--c-primary);color:#fff}
.btn--primary:active{background:var(--c-primary-active)}
.btn--outline{border-color:var(--c-primary);color:var(--c-primary)}
.btn--plain{border-color:var(--c-border-strong)}
.btn--danger{border-color:var(--c-danger-text);color:var(--c-danger-text)}
.btn--block{display:flex;width:100%}
.btn--lg{min-height:var(--h-lg);font-size:var(--fs-md)}
.btn--action{display:flex;width:100%;min-height:var(--h-action);font-size:var(--fs-md)}
.btn.is-done{border-color:var(--c-primary);background:var(--c-primary-50);color:var(--c-primary)}
.link-btn{display:inline-flex;align-items:center;min-height:var(--h-sm);padding:0 4px;border:0;background:none;color:var(--c-danger-text);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.field{display:grid;grid-gap:4px}
.field__label{font-weight:700}
.field__hint{font-size:var(--fs-sm);color:var(--c-muted-strong)}
.field__error{font-size:var(--fs-sm);font-weight:700;color:var(--c-danger-text)}
.field__error:empty{display:none}
.input{display:block;width:100%;min-height:var(--h);padding:8px 14px;border:2px solid var(--c-border-strong);border-radius:var(--r);background:var(--c-surface);color:var(--c-ink)}
.input:focus{border-color:var(--c-primary)}
.input[aria-invalid=true],.input-validation-error{border-color:var(--c-danger);background:var(--c-danger-bg)}
.input::placeholder{color:var(--c-muted-strong);opacity:1}
.input--money{min-height:var(--h-lg);font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums}
textarea.input{min-height:96px;resize:vertical}
select.input{padding-right:44px;-webkit-appearance:none;appearance:none;background:var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%231e593d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center/22px}
.check{display:flex;align-items:center;min-height:var(--h-sm);cursor:pointer}
.check input{flex:none;width:28px;height:28px;margin:0 12px 0 0;accent-color:var(--c-primary)}
.check a{display:inline-block;padding:12px 0;margin:-12px 0}
.choices{display:grid;grid-gap:var(--s-2)}
.choice__input{position:absolute;width:28px;height:28px;margin:0;opacity:0}
.choice{position:relative;display:block;padding:12px 56px 12px 14px;border:2px solid var(--c-border-strong);border-radius:var(--r-lg);background:var(--c-surface);line-height:1.25;cursor:pointer}
.choice b,.choice small{display:block}
.choice small{font-size:var(--fs-sm);color:var(--c-muted-strong)}
.choice::after{content:"";position:absolute;right:14px;top:50%;width:28px;height:28px;margin-top:-14px;border:2px solid var(--c-border-strong);border-radius:50%;background:var(--c-surface)}
.choice__input:checked+.choice{border-color:var(--c-primary);background:var(--c-primary-50);box-shadow:inset 0 0 0 1px var(--c-primary)}
.choice__input:checked+.choice::after{border:8px solid var(--c-primary)}
.choice__input:focus-visible+.choice{outline:3px solid var(--c-primary);outline-offset:2px}
.choice-if{display:none}
.choice--door:checked~.choice-if{display:grid}
.badge{display:inline-block;padding:1px 10px;border-radius:var(--r-full);background:var(--c-done-bg);color:var(--c-done-text);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}
.badge--success{background:var(--c-success-bg);color:var(--c-success-text)}
.badge--warn{background:var(--c-warn-bg);color:var(--c-warn-text)}
.badge--danger{background:var(--c-danger-bg);color:var(--c-danger-text)}
.badge--info{background:var(--c-info-bg);color:var(--c-info-text)}
.alert,.alert--success{padding:10px 14px;border-left:4px solid var(--c-success);background:var(--c-success-bg);color:var(--c-success-text);font-weight:700}
.alert--info{border-color:var(--c-info);background:var(--c-info-bg);color:var(--c-info-text)}
.alert--warn{border-color:var(--c-warn);background:var(--c-warn-bg);color:var(--c-warn-text)}
.alert--danger{border-color:var(--c-danger);background:var(--c-danger-bg);color:var(--c-danger-text)}
.notice{position:sticky;top:0;z-index:12}
.card{padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface)}
.sum{display:grid;grid-gap:6px}
.sum div{display:flex;justify-content:space-between;align-items:baseline}
.sum dd{font-weight:700;font-variant-numeric:tabular-nums}
.sum__total{margin-top:6px;padding-top:var(--s-2);border-top:2px solid var(--c-ink)}
.sum__total dt{font-weight:700}
.sum__total dd{font-size:var(--fs-2xl);letter-spacing:-.02em}
.more summary{display:block;min-height:var(--h-sm);padding:12px 0;color:var(--c-primary);font-weight:700;line-height:24px;cursor:pointer;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+";display:inline-block;width:24px;font-size:var(--fs-lg);line-height:1}
.more[open] summary::before{content:"\2212"}
.more--danger summary{color:var(--c-danger-text)}
.rows{border-top:1px solid var(--c-border)}
.rows__item{display:flex;align-items:center;justify-content:space-between;min-height:var(--h);padding:var(--s-2) 0;border-bottom:1px solid var(--c-border)}
.rows__item small{display:block;font-size:var(--fs-sm);color:var(--c-muted-strong)}
.empty{padding:var(--s-8) var(--s-4);text-align:center}
.empty__icon{display:inline-block;width:72px;height:72px;margin-bottom:var(--s-3);padding:20px;border-radius:50%;background:var(--c-subtle);color:var(--c-primary)}
.empty__title{font-size:var(--fs-lg)}
.empty__text{margin-top:var(--s-1);color:var(--c-muted-strong)}
.empty .btn{margin-top:var(--s-4)}
.nextpage{display:grid;grid-gap:var(--s-2);margin-top:var(--s-4);text-align:center}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;padding-bottom:env(safe-area-inset-bottom);background:var(--c-surface);border-top:1px solid var(--c-border)}
.tabbar__item{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--tab-h);padding:0 4px;color:var(--c-ink-2);font-size:var(--fs-sm);line-height:1.1;white-space:nowrap;text-decoration:none}
.tabbar__item .icon{width:26px;height:26px;margin-bottom:3px}
.tabbar__item[aria-current]{color:var(--c-primary);font-weight:700}
.tabbar__item[aria-current]::before{content:"";position:absolute;top:-1px;left:18%;right:18%;height:4px;border-radius:0 0 4px 4px;background:var(--c-primary)}
.tabbar__count{position:absolute;top:5px;left:50%;min-width:24px;height:24px;margin-left:4px;padding:0 5px;border-radius:var(--r-full);background:var(--c-sun);color:var(--c-ink);font-size:var(--fs-sm);font-weight:700;line-height:24px;text-align:center}
.tabbar__call{background:var(--c-butter);color:var(--c-ink);font-weight:700}
.tabbar__num{display:none}
@media (max-height:480px){.tabbar{position:static}}
@media (min-width:1024px){.notice .alert{border-left:0;text-align:center}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
