@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{color:#17211f;font-synthesis:none;--green:#087f70;--green-dark:#05685d;--line:#dfe7e4;--muted:#6b7b77;background:#f5f7f6;font-family:Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 32px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;font-size:18px;font-weight:700;display:flex}.brand small{color:var(--muted);border-left:1px solid var(--line);padding-left:12px;font-weight:500}.logo{color:#fff;background:linear-gradient(145deg,#19a58e,#07796d);border-radius:12px;place-items:center;width:37px;height:37px;display:inline-grid;box-shadow:0 6px 16px #087f7030}.logo>span{width:21px;height:18px;color:var(--green);background:#fff;border-radius:9px 9px 9px 3px;place-items:center;font-size:12px;font-weight:800;display:grid}.quiet-button{color:var(--muted);background:0 0;border:0;padding:8px 12px}.user-menu{align-items:center;gap:9px;font-size:12px;display:flex}.user-menu img,.user-menu>span{object-fit:cover;width:32px;height:32px;color:var(--green);background:#e3f3ef;border-radius:50%;place-items:center;font-weight:700;display:grid}.layout{grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 70px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfcfc;padding:30px 18px}.sidebar-heading{padding:0 12px 20px;position:relative}.sidebar-heading h1{margin:4px 0;font-size:19px}.sidebar-heading>span{color:var(--muted);font-size:12px;position:absolute;bottom:23px;right:12px}.eyebrow{letter-spacing:.13em;margin:0;font-weight:700;color:var(--green)!important;font-size:10px!important}.group-item{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-radius:12px;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;margin:2px 0;padding:11px;display:grid}.group-item:hover{background:#f0f6f4}.group-item.active{color:#075d54;background:#e5f3ef}.group-avatar{background:#d9ebe6;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.group-item strong,.group-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.group-item strong{font-size:14px}.group-item small{color:var(--muted);margin-top:3px;font-size:11px}.chevron{color:#8b9c98;font-size:22px}.empty{color:var(--muted);text-align:center;padding:40px 20px;font-size:13px;line-height:1.8}.content{padding:44px clamp(28px,5vw,76px) 80px;overflow:hidden}.content-heading{justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px;display:flex}.content-heading h2{letter-spacing:-.02em;margin:5px 0 7px;font-size:28px}.content-heading p{color:var(--muted);margin:0;font-size:13px}.primary-button{color:#fff;background:var(--green);border:0;border-radius:9px;padding:12px 22px;font-weight:600;box-shadow:0 5px 14px #087f7020}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{opacity:.55;cursor:wait}.settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:20px;max-width:1050px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px;box-shadow:0 7px 24px #19362f09}.basic-card{grid-row:span 2}.card-title{border-bottom:1px solid #edf1f0;align-items:center;gap:13px;margin-bottom:22px;padding-bottom:22px;display:flex}.card-title h3{margin:0;font-size:16px}.card-title p{color:var(--muted);margin:3px 0 0;font-size:11px}.icon-box{width:38px;height:38px;color:var(--green);background:#e3f3ef;border-radius:10px;place-items:center;font-weight:700;display:grid}.icon-box.amber{color:#a16911;background:#fff2d9}.icon-box.rose{color:#a7475d;background:#fce8ec}label{color:#43534f;margin-top:18px;font-size:12px;font-weight:600;display:block}input,select{color:#17211f;background:#fff;border:1px solid #d9e2df;border-radius:9px;outline:none;width:100%;margin-top:7px;padding:11px 12px}input:focus,select:focus{border-color:#3e9c8d;box-shadow:0 0 0 3px #0b887719}.field-row{grid-template-columns:1fr 1.5fr;gap:16px;display:grid}.input-suffix{position:relative}.input-suffix input{padding-right:65px}.input-suffix span{color:var(--muted);font-size:11px;position:absolute;bottom:11px;right:12px}.id-note{background:#f5f8f7;border-radius:9px;margin-top:28px;padding:14px}.id-note span{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.id-note code{overflow-wrap:anywhere;font-size:11px}.chips{flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:48px;display:flex}.chip{color:#09695e;background:#e8f4f1;border-radius:100px;padding:7px 8px 7px 12px;font-size:12px;font-weight:600}.chip button{color:#337b70;background:#cce6df;border:0;border-radius:50%;width:19px;height:19px;margin-left:6px;padding:0;line-height:17px}.add-row{grid-template-columns:1fr auto;gap:8px;margin-top:8px;display:grid}.add-row input{margin:0}.add-row button{color:var(--green);background:#fff;border:1px solid #b8d7d0;border-radius:9px;padding:0 16px;font-weight:600}.switch-row{cursor:pointer;border-top:1px solid #edf1f0;justify-content:space-between;align-items:center;padding-top:18px;display:flex}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--muted);margin-top:3px;font-weight:400}.switch-row input{opacity:0;width:0;position:absolute}.switch-row i{background:#cbd6d3;border-radius:20px;width:42px;height:24px;transition:all .2s;position:relative}.switch-row i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch-row input:checked+i{background:var(--green)}.switch-row input:checked+i:after{transform:translate(18px)}.compact-switch{min-height:45px;margin-top:18px}.weekday-field{border:0;border-top:1px solid #edf1f0;margin:22px 0 0;padding:18px 0 0}.weekday-field legend{color:#43534f;padding:0;font-size:12px;font-weight:600}.weekday-field>p{color:var(--muted);margin:5px 0 12px;font-size:11px;line-height:1.6}.weekday-options{flex-wrap:wrap;gap:7px;display:flex}.weekday-option{cursor:pointer;margin:0}.weekday-option input{opacity:0;width:0;margin:0;padding:0;position:absolute}.weekday-option span{color:#63736f;background:#fff;border:1px solid #d9e2df;border-radius:9px;place-items:center;min-width:38px;padding:8px 10px;transition:all .15s;display:grid}.weekday-option input:focus-visible+span{box-shadow:0 0 0 3px #0b887719}.weekday-option input:checked+span{color:#07675c;background:#e5f3ef;border-color:#83bdb3}.holiday-option span{min-width:58px}.field-error{color:#a13b52;margin-top:10px;display:block}.future-note{color:var(--muted);background:#f7f9f8;border-left:3px solid #b9d9d2;margin:20px 0 0;padding:10px 12px;font-size:11px;line-height:1.7}.alert{border-radius:10px;max-width:1050px;margin-bottom:18px;padding:12px 15px;font-size:13px}.alert.error{color:#8f2d43;background:#fdecef;border:1px solid #f5ccd5}.alert.success{color:#17695c;background:#e7f5f1;border:1px solid #c9e9e1}.empty-panel{min-height:60vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.empty-panel h2{font-size:16px}.mobile-save{display:none}.setup-form{width:min(820px,100%);margin:0 auto}.setup-heading{text-align:center;margin:4px auto 28px}.setup-heading h2{letter-spacing:-.03em;margin:7px 0 10px;font-size:clamp(24px,4vw,32px)}.setup-heading>p:last-child{max-width:600px;color:var(--muted);margin:0 auto;font-size:13px;line-height:1.8}.setup-progress{grid-template-columns:repeat(6,1fr);margin:0 0 24px;padding:0;list-style:none;display:grid}.setup-progress li{color:#91a09c;justify-items:center;gap:7px;font-size:10px;display:grid;position:relative}.setup-progress li:before{content:"";z-index:-1;background:#dce5e2;height:2px;position:absolute;top:16px;left:-50%;right:50%}.setup-progress li:first-child:before{display:none}.setup-progress li.done:before,.setup-progress li.current:before{background:#72b5aa}.setup-progress li>span{background:#f5f7f6;border:2px solid #dce5e2;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.setup-progress li.current{color:var(--green);font-weight:700}.setup-progress li.current>span{color:#fff;border-color:var(--green);background:var(--green);box-shadow:0 0 0 5px #dff1ed}.setup-progress li.done>span{color:var(--green);background:#e4f3f0;border-color:#72b5aa}.setup-progress small{white-space:nowrap;font-size:10px}.setup-card{border:1px solid var(--line);background:#fff;border-radius:20px;min-height:440px;padding:clamp(25px,5vw,45px);box-shadow:0 13px 38px #19362f0f}.setup-question{max-width:650px;margin:0 auto}.setup-question>h3{margin:4px 0 7px;font-size:clamp(19px,3vw,23px);line-height:1.5}.question-number{color:var(--green);letter-spacing:.13em;margin:0;font-size:10px;font-weight:700}.question-help{color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.75}.choice-fieldset{border:0;margin:26px 0 0;padding:0}.choice-fieldset legend{color:#43534f;margin-bottom:10px;padding:0;font-size:12px;font-weight:600}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px;display:grid}.choice-card{cursor:pointer;margin:0}.choice-card input,.duration-choice input{opacity:0;width:0;height:0;margin:0;position:absolute}.choice-card>span{background:#fff;border:1px solid #d8e2df;border-radius:12px;flex-direction:column;justify-content:center;min-height:92px;padding:16px;transition:all .15s;display:flex}.choice-card strong,.choice-card small{display:block}.choice-card strong{color:#263632;font-size:14px}.choice-card small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;line-height:1.6}.choice-card input:checked+span{background:#e8f5f2;border-color:#60a99d;box-shadow:0 0 0 2px #d2ebe5}.choice-card input:checked+span strong{color:#06685d}.choice-card input:focus-visible+span,.duration-choice input:focus-visible+span{box-shadow:0 0 0 3px #0b88772e}.duration-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.duration-choice{cursor:pointer;margin:0}.duration-choice>span{color:#566762;background:#fff;border:1px solid #d8e2df;border-radius:10px;place-items:center;padding:12px 6px;display:grid}.duration-choice input:checked+span{color:#06685d;background:#e8f5f2;border-color:#60a99d;font-weight:700}.setup-weekdays{gap:9px}.setup-weekdays .weekday-option span{min-width:48px;min-height:44px}.setup-review{border-top:1px solid #e5ebe9;margin:24px 0 0}.setup-review>div{border-bottom:1px solid #e5ebe9;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:15px 3px;display:grid}.setup-review dt{color:var(--muted);font-size:11px}.setup-review dd{color:#2e403b;text-align:right;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.setup-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.setup-actions button{min-width:130px}.back-button{color:#52635f;background:#fff;border:1px solid #cfdad7;border-radius:9px;padding:11px 20px;font-weight:600}.back-button:hover:not(:disabled){background:#f0f5f3}.back-button:disabled{opacity:.4;cursor:default}.login-page{background:radial-gradient(circle at 15% 20%,#dceee8 0,#0000 30%),radial-gradient(circle at 90% 85%,#fbe9d5 0,#0000 26%),#f7f9f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(430px,100%);padding:38px;box-shadow:0 20px 60px #1843391a}.login-card>.logo{width:48px;height:48px;margin-bottom:22px}.login-card h1{margin:6px 0;font-size:27px}.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 25px;font-size:13px}.login-card .primary-button{width:100%;margin-top:23px}.login-card>small{color:var(--muted);margin-top:18px;line-height:1.6;display:block}.line-login-button{color:#fff;background:#06c755;border:0;border-radius:9px;justify-content:center;align-items:center;gap:13px;width:100%;min-height:52px;margin-top:24px;font-weight:700;display:flex}.line-login-button:hover{background:#05b84e}.line-login-button:disabled{opacity:.58;cursor:wait}.line-login-button span{border-right:1px solid #ffffff70;padding-right:13px;font-size:12px}@media (width<=820px){.topbar{padding:0 18px}.brand small,.user-menu strong{display:none}.layout{display:block}.sidebar{border:0;border-bottom:1px solid var(--line);padding:18px;overflow-x:auto}.sidebar-heading{padding-bottom:10px}.sidebar nav{gap:8px;display:flex}.group-item{border:1px solid var(--line);background:#fff;min-width:210px}.content{padding:28px 18px 90px}.content-heading .primary-button{display:none}.settings-grid{grid-template-columns:1fr}.basic-card{grid-row:auto}.mobile-save{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;padding:12px 18px;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-save .primary-button{width:100%}.setup-progress small{display:none}.setup-card{min-height:0}}@media (width<=480px){.field-row{grid-template-columns:1fr;gap:0}.card{padding:20px}.content-heading h2{font-size:24px}.login-card{padding:28px 22px}.choice-grid{grid-template-columns:1fr}.duration-grid{grid-template-columns:repeat(2,1fr)}.setup-review>div{grid-template-columns:1fr;gap:5px}.setup-review dd{text-align:left}.setup-actions button{flex:1;min-width:0}}
