:root{--bg:#f7f8f1;--surface:#fff;--surface-2:#fbfcf5;--ink:#003f37;--ink-2:#48655f;--ink-3:#8a9e98;--line:#e2e7dd;--grid:#eef2eb;--grid-head:#c8d6ce;--teal:#7ce0dd;--teal-soft:#dcf6f3;--yellow:#ffec9c;--yellow-soft:#fff7d6;--deep-yellow:#fdd91d;--deep-yellow-soft:#fef3b8;--mint:#b4efe4;--mint-soft:#e3f8f3;--peach:#ffd0a9;--peach-soft:#fff0e3;--danger:#b84a32;--danger-soft:#fbe9e4;--ok:#2f7d5b;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #003f370a, 0 6px 20px #003f370f;--font-body:"Noto Sans TC", system-ui, -apple-system, "PingFang TC", "Microsoft JhengHei", sans-serif;--font-head:"Noto Sans TC", system-ui, -apple-system, "PingFang TC", "Microsoft JhengHei", sans-serif;--font-en:"Syncopate", "Noto Sans TC", sans-serif;--font-script:"Style Script", "Noto Sans TC", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:.06em;text-wrap:balance;margin:0;font-weight:700;line-height:1.35}h1{font-size:26px}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.tiny{font-size:12px}.num{font-variant-numeric:tabular-nums}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:6px}.stack.loose{gap:20px}.grow{flex:1;min-width:0}.center{text-align:center}.hidden-mobile{display:none}@media (width>=900px){.hidden-mobile{display:initial}.hidden-desktop{display:none!important}}.demo-bar{top:env(safe-area-inset-top,0px);z-index:50;background:var(--ink);color:#e9f6f3;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 16px;font-size:13px;display:flex;position:sticky}.demo-bar select{color:#fff;background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;padding:3px 8px}.demo-bar select option{color:var(--ink)}.demo-bar button{color:#bfe9e4;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.demo-tag{background:var(--teal);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.app{max-width:560px;min-height:calc(100vh - 34px);margin:0 auto;padding:0 16px 96px}.app-header{justify-content:space-between;align-items:center;padding:16px 0 8px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand img.wordmark{width:auto;height:40px}.brand-name{font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:700}.brand-sub{color:var(--ink-2);letter-spacing:.2em;font-size:11px}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fffffff0;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav nav{width:100%;max-width:560px;display:flex}.bottom-nav a{text-align:center;color:var(--ink-3);flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 0 12px;font-size:12px;text-decoration:none;display:flex}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a.active{color:var(--ink);font-weight:700}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.flat{box-shadow:none;border:1px solid var(--line)}.section-title{justify-content:space-between;align-items:baseline;margin:24px 0 10px;display:flex}.btn{cursor:pointer;white-space:nowrap;background:var(--ink);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:15px;font-weight:700;text-decoration:none;transition:transform 80ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.block{width:100%;padding:14px 18px}.btn.soft{background:var(--teal-soft);color:var(--ink)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.line{color:#fff;background:#06c755}.btn.sm{padding:6px 12px;font-size:13px}.link-btn{color:var(--ink);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge.physical{background:var(--yellow)}.badge.online{background:var(--mint)}.badge.hybrid{background:linear-gradient(90deg, var(--yellow) 50%, var(--mint) 50%)}.badge.prenatal{background:var(--deep-yellow)}.badge.workshop{background:var(--peach)}.badge.neutral{color:var(--ink-2);background:#eef0e8}.badge.ok{color:var(--ok);background:#dff1e7}.badge.warn{background:var(--yellow-soft);color:#8a6411}.badge.danger{background:var(--danger-soft);color:var(--danger)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:700}.input,select.input,textarea.input{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);outline:none;width:100%;padding:10px 12px}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--teal-soft)}.tabs{background:#ecede3;border-radius:999px;gap:4px;padding:4px;display:flex}.tabs button{cursor:pointer;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;padding:7px 10px;font-size:14px;font-weight:700}.tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.notice{border-radius:var(--radius-sm);background:var(--teal-soft);padding:12px 14px;font-size:14px}.notice.warn{background:var(--yellow-soft)}.notice.danger{background:var(--danger-soft);color:var(--danger)}.notice.info{background:var(--teal-soft)}.empty{text-align:center;color:var(--ink-2);padding:36px 16px}.empty img{opacity:.9;width:72px;margin-bottom:8px}.divider{background:var(--line);height:1px;margin:4px 0}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{margin:0;font-weight:500}.day-strip{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day-pill{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;display:flex}.day-pill .wd{font-size:12px}.day-pill .dd{font-variant-numeric:tabular-nums;color:var(--ink);font-size:17px;font-weight:700}.day-pill .dot{background:var(--teal);border-radius:50%;width:5px;height:5px}.day-pill .dot.none{background:0 0}.day-pill.active{background:var(--ink);color:#cfeee9}.day-pill.active .dd{color:#fff}.day-pill.today:not(.active) .dd{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal);text-decoration-thickness:3px}.week-nav{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.icon-btn{background:var(--surface);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;display:grid}.session-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;cursor:pointer;border:0;grid-template-columns:minmax(56px,auto) 1fr auto;align-items:center;gap:12px;width:100%;padding:14px;display:grid;position:relative;overflow:hidden}.session-card:before{content:"";background:var(--yellow);width:5px;position:absolute;top:0;bottom:0;left:0}.session-card.online:before{background:var(--mint)}.session-card.hybrid:before{background:linear-gradient(180deg, var(--yellow) 50%, var(--mint) 50%)}.session-card.prenatal:before{background:var(--deep-yellow)}.session-card.workshop:before{background:var(--peach)}.session-card.dim{opacity:.55}.session-card .time{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.session-card .name{font-family:var(--font-head);font-size:17px;font-weight:700}.seat-note{text-align:right;white-space:nowrap;font-size:12px}.seats{gap:3px;display:flex}.seats span{background:var(--ink);border-radius:50%;width:8px;height:8px}.seats span.free{background:#dfe3d6}.pass{border-radius:var(--radius);background:var(--yellow-soft);border:1px solid #f3e3a8;padding:16px;position:relative;overflow:hidden}.pass.online{background:var(--mint-soft);border-color:#bdeee4}.pass.prenatal{background:var(--deep-yellow-soft);border-color:#f6e08a}.pass.dead{border-color:var(--line);color:var(--ink-3);background:#f1f1ec}.pass .big{font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.dots{flex-wrap:wrap;gap:5px;display:flex}.dots span{background:var(--ink);border-radius:50%;width:12px;height:12px}.dots span.used{background:0 0;border:1.5px solid #033f3840}.sheet-backdrop{z-index:60;background:#031e1a59;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:22px 22px 0 0;width:100%;max-width:560px;max-height:92vh;padding:8px 20px 28px;animation:.2s up;overflow:auto}.sheet-top{z-index:3;background:var(--bg);justify-content:flex-end;align-items:center;height:44px;margin:-8px -20px 4px;padding:0 10px;display:flex;position:sticky;top:0}.sheet-handle{background:#d5d8cc;border-radius:4px;width:40px;height:4px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.sheet-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#033f3814;border:0;border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.sheet-close:hover{background:#033f3824}@media (width>=700px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px;padding-top:20px}.sheet-top{height:48px;margin-top:-20px}.sheet-handle{display:none}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:.6;transform:translateY(24px)}}.stepper{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;display:inline-flex}.stepper button{cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:18px}.stepper button:disabled{opacity:.3}.stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-weight:700}.choice{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.choice.selected{border-color:var(--ink);box-shadow:0 0 0 3px var(--teal-soft)}.choice:disabled{opacity:.45;cursor:not-allowed}.toast{z-index:80;background:var(--ink);color:#fff;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;animation:.2s up;position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.toast.error{background:var(--danger)}.bank{background:var(--surface);border:1.5px dashed var(--yellow);border-radius:var(--radius);padding:14px 16px}.bank .acct{letter-spacing:.03em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.wide{max-width:1180px;margin:0 auto;padding:0 16px 60px}.admin{grid-template-columns:1fr;min-height:calc(100vh - 34px);display:grid}@media (width>=900px){.admin{grid-template-columns:220px 1fr}}.side{background:var(--surface);border-right:1px solid var(--line);padding:18px 12px}.side nav{flex-direction:column;gap:2px;margin-top:18px;display:flex}.side a{color:var(--ink-2);border-radius:10px;justify-content:space-between;align-items:center;padding:9px 12px;font-weight:500;text-decoration:none;display:flex}.side a.active{background:var(--teal-soft);color:var(--ink);font-weight:700}.count{background:var(--danger);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}@media (width<=899px){.side{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}.side nav{flex-direction:row;margin-top:8px;overflow-x:auto}.side a{white-space:nowrap}}.admin-main{min-width:0;padding:22px clamp(16px,3vw,32px) 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.month{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month .wdh{color:var(--ink-2);text-align:center;padding-bottom:2px;font-size:12px}.mday{background:var(--surface);cursor:pointer;text-align:left;border:1.5px solid #0000;border-radius:12px;flex-direction:column;gap:2px;min-height:74px;padding:6px 8px;display:flex}.mday.other{opacity:.4}.mday.active{border-color:var(--ink)}.mday.today .d{background:var(--teal);border-radius:999px;padding:0 6px}.mday .d{font-variant-numeric:tabular-nums;align-self:flex-start;font-size:13px;font-weight:700}.mday .bar{color:var(--ink-2);font-size:11px}.mday .fill{background:#e6e8dd;border-radius:4px;height:4px;margin-top:auto;overflow:hidden}.mday .fill i{background:var(--teal);height:100%;display:block}.split{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=1100px){.split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}.roster-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.roster-item:last-child{border-bottom:0}.avatar{background:var(--teal-soft);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.stat .v{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.icon-btn svg{width:18px;height:18px}.wordmark{width:auto;height:40px;display:block}.en{font-family:var(--font-en);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.script{font-family:var(--font-script);letter-spacing:0;font-weight:400}.page-title{align-items:center;gap:12px;display:flex}.page-title:before{content:"";background:var(--ink);border-radius:2px;align-self:stretch;width:2px}.eyebrow{font-family:var(--font-en);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:700}.day-pill .wd{font-family:var(--font-en);letter-spacing:.06em;font-size:10px;font-weight:700}.notes-title{font-family:var(--font-script);font-size:26px;line-height:1}.emblem{width:72px;height:auto;display:block}.side .wordmark{height:34px}.level{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.level .en{letter-spacing:.14em;color:var(--ink);font-size:10px}.service-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:10px;width:100%;padding:18px;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";background:var(--peach);width:5px;position:absolute;top:0;bottom:0;left:0}.price-list{flex-direction:column;gap:8px;display:flex}.price-row{border-radius:var(--radius-sm);background:var(--peach-soft);grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.price-row .p{font-variant-numeric:tabular-nums;font-weight:700}.steps{counter-reset:step;flex-direction:column;gap:10px;display:flex}.steps li{grid-template-columns:26px 1fr;gap:10px;list-style:none;display:grid}.steps li:before{counter-increment:step;content:counter(step);background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.steps,.notes-list{margin:0;padding:0}.notes-list li{padding-left:16px;font-size:14px;list-style:none;position:relative}.notes-list li:before{content:"✦";color:var(--ink-2);font-size:10px;position:absolute;top:4px;left:0}.badge.service{background:var(--peach)}.pass.service{background:var(--peach-soft);border-color:#ffd9b8}.day-pill .dot.service{background:var(--peach)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.slot{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink);padding:10px 0;font-weight:700}.slot.selected{border-color:var(--ink);background:var(--peach-soft);box-shadow:0 0 0 3px var(--peach)}.hours-row{grid-template-columns:90px 1fr 1fr auto;align-items:center;gap:8px;display:grid}.mode-pick{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-pick .choice{flex-direction:column;align-items:flex-start;gap:2px}.mode-pick .choice.physical.selected{background:var(--yellow-soft)}.mode-pick .choice.online.selected{background:var(--mint-soft)}.bottom-nav a.nav-workshop{box-shadow:inset 1px 0 0 var(--line)}.rich-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}.ws-gallery{scroll-snap-type:x mandatory;gap:8px;margin:-4px 0 0;padding-bottom:4px;display:flex;overflow-x:auto}.ws-gallery a{scroll-snap-align:start;flex:none}.ws-gallery img{object-fit:cover;border-radius:12px;width:auto;max-width:80vw;height:200px;display:block}.ws-card{padding:0;overflow:hidden}.ws-cover{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.ws-cover img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.ws-title{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.ws-dates{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:6px;display:grid}.ws-date-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;color:inherit;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.ws-date-btn.mine{border-color:var(--peach);background:color-mix(in srgb, var(--peach) 30%, var(--surface))}.ws-thumb{object-fit:cover;border-radius:10px;flex:none;width:96px;height:72px}.ws-date{border-top:1px solid var(--line);padding:6px 0}.img-grid{flex-wrap:wrap;gap:8px;display:flex}.img-tile{background:var(--line);border-radius:10px;width:110px;height:82px;position:relative;overflow:hidden}.img-tile img{object-fit:cover;width:100%;height:100%;display:block}.img-cover{position:absolute;top:4px;left:4px}.img-tools{gap:4px;display:flex;position:absolute;bottom:4px;right:4px}.img-tools button{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:6px;padding:2px 6px;font-size:12px}.img-add{border:1px dashed var(--ink-3);width:110px;height:82px;color:var(--ink-3);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:flex}.teacher-photo{object-fit:cover;border-radius:50%;flex:none;width:64px;height:64px}.exp-list{margin:0;padding-left:18px;line-height:1.7}.pay-pick{gap:8px;display:grid}.pay-pick .choice{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.pay-pick .choice:disabled{opacity:.5;cursor:not-allowed}.bottom-nav a.nav-workshop.active svg,.bottom-nav a.nav-service.active svg{color:#e0894a}.plan-card{--kind:var(--yellow);padding-left:22px;position:relative;overflow:hidden}.plan-card.online{--kind:var(--mint)}.plan-card:before{content:"";background:var(--kind);width:6px;position:absolute;top:0;bottom:0;left:0}.plan-card.best{box-shadow:0 0 0 2px var(--kind)}.service-card.prenatal:before{background:var(--deep-yellow)}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--yellow);border-radius:4px;width:14px;height:14px}.legend i.online{background:var(--mint)}.legend i.hybrid{background:linear-gradient(90deg, var(--yellow) 50%, var(--mint) 50%)}.legend i.workshop{background:var(--peach)}.mode-tag{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;margin-left:4px;font-size:12px;display:inline-flex}.mode-tag i{background:var(--yellow);border-radius:3px;width:12px;height:12px}.mode-tag i.online{background:var(--mint)}.mode-tag i.hybrid{background:linear-gradient(90deg, var(--yellow) 50%, var(--mint) 50%)}.plan-facts{color:var(--ink-2);flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.plan-facts li{align-items:flex-start;gap:8px;display:flex}.plan-facts svg{flex:none;width:16px;height:16px;margin-top:2px}.plan-card.workshop-row{--kind:var(--peach)}.ws-gallery button{scroll-snap-align:start;cursor:zoom-in;background:0 0;border:0;flex:none;padding:0}.lightbox{z-index:200;touch-action:pan-y;background:#141815eb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:10px;max-width:100%;max-height:calc(100dvh - 96px)}.lightbox-close{top:max(12px, env(safe-area-inset-top));color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;right:12px}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav svg{width:22px;height:22px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-count{bottom:max(16px, env(safe-area-inset-bottom));text-align:center;color:#fffc;font-size:13px;position:absolute;left:0;right:0}@media (width<=699px){.icon-btn{width:40px;height:40px}.btn.sm{min-height:38px;padding:8px 14px}.link-btn.tap{padding:8px 0;display:inline-block}}.clamp-3{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.transfer-steps{color:var(--ink-2,inherit);gap:2px;margin:0;padding-left:1.4em;display:grid}.transfer-steps li.done{color:var(--ink-3,#8a948d)}.line-notify{border:1px dashed var(--line);background:var(--surface);border-radius:14px;padding:14px}.line-notify.ready{background:#f2fbf5;border:1.5px solid #06c755}.member-contact{background:var(--bg-2,#033f380d);border-radius:10px;margin-top:6px;padding:8px 10px}.member-contact a{color:inherit;text-decoration:underline}.place{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.map-btn{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:3px;padding:3px 9px;font-size:12px;line-height:1.4;text-decoration:none;display:inline-flex}.map-btn:hover{border-color:var(--ink-3,#999)}.place-note{margin-top:2px;display:block}.collapse-head{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;padding:0}.collapse-head h3{margin:0}.admin{grid-template-columns:minmax(0,1fr)}@media (width>=900px){.admin{grid-template-columns:220px minmax(0,1fr)}}.side,.admin-main{min-width:0}.month{grid-template-columns:repeat(7,minmax(0,1fr))}@media (width<=899px){.side{z-index:20;padding:8px 12px 6px;position:sticky;top:0}.side .wordmark{height:22px}.side .eyebrow{display:none}.side nav{scrollbar-width:none;gap:4px;margin-top:6px;padding-bottom:2px}.side nav::-webkit-scrollbar{display:none}.side a{padding:7px 12px;font-size:14px}.admin-main{padding:14px 14px 60px}.page-head{margin-bottom:12px}.page-head>.row{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:10px 12px}.stat .v{font-size:22px}.month{gap:3px}.mday{border-radius:8px;min-height:54px;padding:4px}.mday .d{font-size:12px}.mday .bar{word-break:keep-all;overflow-wrap:anywhere;font-size:9.5px;line-height:1.25}.card{padding:14px}.table{font-size:13px}.table th,.table td{padding:8px 6px}}.tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.tabs button{white-space:nowrap}@media (width<=899px){.mday .bar{flex-direction:column;font-size:10px;display:flex}.mday .bar .sep,.tpl-table thead{display:none}.tpl-table,.tpl-table tbody{display:block}.tpl-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;padding:12px 0;display:grid}.tpl-table td{border:0;min-width:0;padding:0;display:block;width:auto!important}.tpl-table td[data-label]:before{content:attr(data-label);color:var(--ink-2);margin-bottom:2px;font-size:12px;display:block}.tpl-table td:nth-child(3),.tpl-table td.tpl-actions{grid-column:1/-1}.tpl-table td .input{width:100%;min-width:0}.tpl-table td.tpl-actions{justify-content:flex-end;display:flex}}
