html,body,#root{height:100%}:root{--paper:#fbf7f1;--card:#fff;--ink:#1e2a28;--muted:#6e7a77;--line:#e7e0d6;--teal:#2f6f62;--teal-d:#235349;--honey:#e8a13a;--ok:#34a06b;--warn:#e0922e;--full:#d1564c;--shadow:0 6px 24px #1e2a281a;--r:16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:Hiragino Sans,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.5}.loading{text-align:center;color:var(--muted);padding:60px}.wrap{flex-direction:column;max-width:1100px;height:100dvh;margin:0 auto;padding:8px 10px 10px;display:flex}header.topbar{flex:none;align-items:center;gap:6px;margin-bottom:6px;display:flex}.month-nav{align-items:center;gap:4px;display:flex}.spacer{flex:1}.icon-btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.icon-btn:hover{border-color:var(--teal)}.month-nav button,.today-btn{border:1px solid var(--line);cursor:pointer;min-width:36px;height:36px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px;font-size:15px;font-weight:600}.month-nav button:hover,.today-btn:hover{border-color:var(--teal);color:var(--teal)}.today-btn{white-space:nowrap;font-size:13px}.monthlabel{white-space:nowrap;padding:0 4px;font-size:19px;font-weight:800}.today-label{color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:17.5px;font-weight:800}.legend .month-nav button,.legend .today-btn{min-width:30px;height:30px;font-size:13px}.legend .monthlabel{font-size:14.5px}.legend{color:var(--ink);white-space:nowrap;flex:none;align-items:center;gap:10px;margin-bottom:6px;font-size:11.5px;display:flex;overflow:hidden}.legend .store-name{color:var(--teal-d);text-overflow:ellipsis;font-weight:800;overflow:hidden}.legend .muted{color:var(--muted)}.seg{border:1px solid var(--line);background:#fff;border-radius:9px;display:flex;overflow:hidden}.seg button{color:var(--muted);cursor:pointer;border:none;border-right:1px solid var(--line);background:0 0;padding:4px 13px;font-size:12px;font-weight:700}.seg button:last-child{border-right:none}.seg button.on{background:var(--teal);color:#fff}.sym{font-weight:900}.sym.ok{color:var(--ok)}.sym.warn{color:var(--warn)}.sym.full{color:var(--full)}.calwrap{touch-action:pan-y;flex-direction:column;flex:1;min-height:0;display:flex}.cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);min-height:0;box-shadow:var(--shadow);flex-direction:column;flex:1;display:flex;overflow:hidden}.calwrap.slide-l>.cal{animation:.18s ease-out cal-in-l}.calwrap.slide-r>.cal{animation:.18s ease-out cal-in-r}@keyframes cal-in-l{0%{opacity:.55;transform:translate(6%)}to{opacity:1;transform:none}}@keyframes cal-in-r{0%{opacity:.55;transform:translate(-6%)}to{opacity:1;transform:none}}.dow{background:var(--teal);color:#fff;flex:none;grid-template-columns:repeat(7,1fr);display:grid}.dow div{text-align:center;padding:6px 0;font-size:12px;font-weight:700}.dow div.sun{color:#ffd9d4}.dow div.sat{color:#cfe6ff}.grid{flex-direction:column;flex:1;min-height:0;display:flex}.week{flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid;position:relative}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;gap:2px;min-height:0;padding:4px 4px 3px;display:flex;position:relative;overflow:hidden}.cell:nth-child(7n){border-right:none}.week:last-child .cell{border-bottom:none}.wbands{pointer-events:none;z-index:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:15px;row-gap:2px;display:grid;position:absolute;top:22px;left:0;right:0}.band{color:#fff;white-space:nowrap;text-overflow:ellipsis;opacity:.92;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;overflow:hidden}.band.rl{border-top-left-radius:6px;border-bottom-left-radius:6px;margin-left:3px}.band.rr{border-top-right-radius:6px;border-bottom-right-radius:6px;margin-right:3px}.cell.empty{cursor:default;background:#faf7f2}.cell:not(.empty):hover{background:#f3faf6}.dnum{font-size:12.5px;font-weight:700;line-height:1.3}.cell.sun .dnum{color:var(--full)}.cell.sat .dnum{color:#3d7dbe}.cell.today .dnum{background:var(--honey);color:#fff;border-radius:7px;align-self:flex-start;padding:0 6px;display:inline-block}.marks{flex-direction:column;gap:0;display:flex}.mrow{white-space:nowrap;justify-content:space-between;align-items:center;gap:2px;font-size:9.5px;line-height:1.3;display:flex}.mrow .svc{color:var(--muted);letter-spacing:-.02em;font-weight:700}.mrow .sym{font-size:11px}.closed-tag{color:var(--muted);background:#f0ece4;border-radius:6px;align-self:flex-start;padding:1px 6px;font-size:11px;font-weight:700}.evchips{flex-direction:column;gap:2px;min-height:0;margin-top:auto;display:flex;overflow:hidden}.evchip{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.45;overflow:hidden}.evmore{color:var(--teal);cursor:pointer;text-align:left;background:#eef5f2;border:none;border-radius:5px;flex:none;padding:1px 4px;font-size:10px;font-weight:700}.evmore:hover{background:#dfeee8}.cell>.evmore{z-index:2;text-align:center;position:absolute;bottom:2px;left:2px;right:2px}.cell:has(>.evmore) .evchips{margin-bottom:16px}.cal.month{overflow:hidden auto}.cal.month .dow{z-index:3;position:sticky;top:0}.cal.month .grid{flex:1 0 auto}.cal.month .week{flex:1 0 auto;min-height:88px}.cal.month .evchips{margin-top:4px}.dm-list{flex-direction:column;gap:6px;display:flex}.dm-item{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-left:4px solid #9aa5a2;border-radius:9px;align-items:baseline;gap:10px;padding:9px 11px;display:flex}.dm-item:hover{background:#f7f4ee}.dm-time{min-width:4.2em;color:var(--teal-d);flex:none;font-size:12.5px;font-weight:700}.dm-title{word-break:break-word;font-size:13.5px;line-height:1.5}.dm-by{color:var(--muted);font-size:12px;font-style:normal}.tl-head{background:var(--teal);flex:none;grid-template-columns:repeat(7,1fr);padding-left:48px;display:grid}.tl-head button{color:#fff;cursor:pointer;background:0 0;border:none;padding:5px 0 6px;font-size:11.5px;font-weight:700}.tl-head button b{font-size:13px}.tl-head button.today b{background:var(--honey);border-radius:8px;padding:0 6px}.tl-head .sun{color:#ffd9d4}.tl-head .sat{color:#cfe6ff}.tl-allday{border-bottom:2px solid var(--line);background:#fbfaf7;flex:none;max-height:118px;overflow-y:auto}.tl-allday-cells{min-height:26px;margin-left:48px;display:grid;position:relative}.tl-adcell{border-right:1px solid var(--line);cursor:pointer;flex-direction:column;gap:2px;min-width:0;padding:3px 3px 4px;display:flex}.tl-adbands{top:3px!important}.tl-scroll{background:#fff;flex:1;min-height:0;overflow-y:auto}.tl-body{position:relative}.tl-hourline{border-top:1px solid #eee9e0;position:absolute;left:0;right:0}.tl-hourline span{color:var(--muted);background:#fff;border-radius:4px;padding:0 3px;font-size:10px;position:absolute;top:-7px;left:4px}.tl-cols{display:grid;position:absolute;inset:0 0 0 48px}.tl-col{border-right:1px solid var(--line);cursor:pointer;min-width:0;position:relative}.tl-col.closed{background:repeating-linear-gradient(45deg,#f6f3ec,#f6f3ec 8px,#efece4 8px 16px)}.tl-block{color:#fff;border:1px solid #ffffff8c;border-radius:6px;padding:2px 5px;font-size:10.5px;line-height:1.35;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0000002e}.tl-block-title{text-overflow:ellipsis;font-weight:700;overflow:hidden}.tl-block-time{opacity:.92;white-space:nowrap;font-size:9.5px;overflow:hidden}.tl-block.tappable,.evchip.tappable{cursor:pointer}.tl-block.tappable:hover,.evchip.tappable:hover{filter:brightness(1.08)}.tl-now{z-index:5;pointer-events:none;background:#e2453d;height:2px;position:absolute;left:0;right:0}.tl-now:before{content:"";background:#e2453d;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.month-nav button.monthlabel{white-space:nowrap;cursor:pointer;background:0 0;border:none;min-width:0;height:auto;padding:2px 4px;font-size:14.5px;font-weight:800}.month-nav button.monthlabel:hover{color:var(--teal)}.mp-year{justify-content:center;align-items:center;gap:14px;margin:4px 0 14px;display:flex}.mp-year b{text-align:center;min-width:92px;font-size:18px}.mp-year button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:38px;height:38px;font-size:16px}.mp-year button:hover{border-color:var(--teal);color:var(--teal)}.mp-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.mp-grid button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:12px 0;font-size:14px;font-weight:700}.mp-grid button:hover{border-color:var(--teal)}.mp-grid button.now{border-color:var(--honey)}.mp-grid button.on{background:var(--teal);border-color:var(--teal);color:#fff}.mp-grid.compact{grid-template-columns:repeat(6,1fr);gap:6px}.mp-grid.compact button{padding:8px 0;font-size:13px}.mp-dow{grid-template-columns:repeat(7,1fr);margin:14px 0 4px;display:grid}.mp-dow div{text-align:center;color:var(--muted);font-size:11px;font-weight:700}.mp-dow div.sun{color:var(--full)}.mp-dow div.sat{color:#3d7dbe}.mp-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mp-days button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 0;font-size:13px;font-weight:700}.mp-days button:hover{border-color:var(--teal)}.mp-days button.sun{color:var(--full)}.mp-days button.sat{color:#3d7dbe}.mp-days button.now{border-color:var(--honey)}.mp-days button.on{background:var(--teal);border-color:var(--teal);color:#fff}.mp-today{color:var(--teal-d);cursor:pointer;background:#eef5f2;border:none;border-radius:10px;margin:14px auto 4px;padding:9px 16px;font-weight:700;display:block}.mp-today:hover{background:#dfeee8}.wm-grid{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.wm-dow{border-bottom:1px solid var(--line);background:#fbfaf7;grid-template-columns:repeat(7,1fr);display:grid}.wm-dow div{text-align:center;color:var(--muted);padding:4px 0;font-size:10.5px;font-weight:700}.wm-dow div.sun{color:var(--full)}.wm-dow div.sat{color:#3d7dbe}.wm-dates{grid-template-columns:repeat(7,1fr);display:grid}.wm-dates .d{text-align:center;cursor:pointer;padding:6px 0 2px;font-size:13px;font-weight:800}.wm-dates .d.sun{color:var(--full)}.wm-dates .d.sat{color:#3d7dbe}.wm-dates .d.today span{background:var(--honey);color:#fff;border-radius:7px;padding:0 6px;display:inline-block}.wm-bands{grid-template-columns:repeat(7,1fr);grid-auto-rows:16px;gap:2px 0;padding:2px 0 4px;display:grid}.wm-cols{grid-template-columns:repeat(7,1fr);min-height:200px;display:grid}.wm-col{cursor:pointer;border-right:1px solid #f2ede4;flex-direction:column;gap:3px;min-width:0;padding:2px 2px 10px;display:flex}.wm-col:last-child{border-right:none}.wm-col:hover{background:#f3faf6}.wm-col.closed{background:repeating-linear-gradient(-45deg,#f5f1e9,#f5f1e9 5px,#efe9dd 5px 10px)}.wm-chip{color:#fff;border-radius:4px;flex:none;padding:2px 3px;font-size:9.5px;font-weight:700;line-height:1.25;overflow:hidden}.wm-chip small{opacity:.9;font-size:8.5px;font-weight:600;display:block}.wm-closed-tag{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:6px;align-self:center;margin-top:8px;padding:1px 6px;font-size:10px;font-weight:700}@media (height<=480px){.wrap{height:auto}.cal{flex:none}.cell{min-height:84px}}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#1e2a2873;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border-radius:22px 22px 0 0;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:0 -10px 40px #00000040}@supports (max-height:92dvh){.sheet{max-height:92dvh}}@media (width>=620px){.overlay{align-items:center}.sheet{border-radius:22px}}.overlay.center{align-items:center}.overlay.center .sheet{border-radius:22px}.sheet-head{background:var(--paper);border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;padding:16px 18px 10px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:17px;font-weight:800}.sheet-head .sub{color:var(--muted);margin-top:2px;font-size:12.5px}.close-x{border:1px solid var(--line);cursor:pointer;width:36px;height:36px;color:var(--muted);background:#fff;border-radius:10px;font-size:18px}.sheet-head-actions{flex:none;align-items:center;gap:8px;display:flex}.hdr-new{background:var(--teal);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.hdr-new:hover{background:var(--teal-d)}.sheet-body{padding:16px 18px calc(24px + env(safe-area-inset-bottom,0px))}.btn{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:800}.btn.primary{background:linear-gradient(135deg, var(--teal), var(--teal-d));color:#fff}.btn.ghost{border:1px solid var(--line);color:var(--ink);background:#fff}.btn.danger{border:1px solid var(--full);color:var(--full);background:#fff}.mini{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.mini:hover{border-color:var(--teal);color:var(--teal)}.mini.danger:hover{border-color:var(--full);color:var(--full)}.hint{color:var(--muted);font-size:12.5px}.closed-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding:6px 0 14px;display:flex}.closed-row label:first-child{flex:1;font-size:14px;font-weight:700}.switch{flex:none;width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.slider{background:#cfc8bc;border-radius:999px;transition:all .2s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+.slider{background:var(--full)}.switch input:checked+.slider:before{transform:translate(20px)}.avail{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.avail-item{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:9px 11px;display:flex}.avail-item .an{font-size:13px;font-weight:800}.avail-item .as{color:var(--muted);margin-left:auto;font-size:12px}.avail-item .sym{font-size:18px}.ev-list{margin-bottom:4px}.ev-row{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.ev-row-tap{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.ev-row-tap:hover{border-color:var(--teal);background:#f7faf8}.ev-tap-hint{color:var(--muted);flex:none;margin-left:auto;font-size:18px}.ev-color{border-radius:50%;flex:none;width:10px;height:10px}.ev-time{width:84px;color:var(--teal-d);flex:none;font-size:12.5px;font-weight:700}.ev-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.ev-by{color:var(--muted);font-size:11px}.ev-form{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.ef-title{margin-bottom:10px;font-size:14px;font-weight:800}.ef-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ef-row>label{width:48px;color:var(--muted);font-size:13px;font-weight:700}.ef-row input[type=text]{flex:1;min-width:140px}.ev-form input,.ev-form select,.labelmgr input,.labelmgr select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 10px;font-family:inherit;font-size:14px}.ef-actions{justify-content:flex-end;gap:8px;display:flex}.ig-open{width:100%;margin-top:16px;padding:14px;font-size:15px}.ig-preview{justify-content:center;margin-bottom:14px;display:flex}.ig-preview canvas{width:100%;max-width:340px;box-shadow:var(--shadow);background:#fff;border-radius:18px}.field{margin-bottom:14px}.field>label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:11px;min-height:120px;padding:11px 12px;font-family:inherit;font-size:14px}.ai-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ig-actions{gap:10px;display:flex}.ig-actions .btn{flex:1;padding:14px}.ig-toast{color:#fff;z-index:100;background:#1e2a28;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.ig-thumbs{justify-content:center;gap:8px;margin:-4px 0 8px;padding:2px 2px 12px;display:flex;overflow-x:auto}.ig-thumb{text-align:center;cursor:pointer;flex:none}.ig-thumb canvas{border:2px solid var(--line);background:#fff;border-radius:8px;width:64px;height:80px;display:block}.ig-thumb.active canvas{border-color:var(--teal);box-shadow:0 0 0 2px #2f6f6233}.ig-thumb span{color:var(--muted);margin-top:3px;font-size:10.5px;display:block}.room-grid{flex-direction:column;gap:6px;display:flex}.room-row{align-items:center;gap:8px;display:flex}.room-row .room-name{white-space:nowrap;flex:1;min-width:0;font-size:13.5px}.settings .room-row input{text-align:center;flex:none;width:72px}.room-row .room-unit{color:var(--muted);flex:none;font-size:13px}.settings .sf{margin-bottom:14px}.settings .sf>label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.settings input,.settings select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:11px 12px;font-family:inherit;font-size:14.5px}.settings .sf-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings .sf-2col>.sf,.settings .sf-2col input{min-width:0}.settings input[type=time]{appearance:none;min-height:44px}.settings .hint{margin-top:5px}.settings input[type=checkbox]{width:auto}.confirm-layer{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#1e2a2873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{background:var(--paper);text-align:center;border-radius:18px;width:calc(100% - 40px);max-width:360px;padding:26px 20px;box-shadow:0 10px 40px #00000040}.confirm-box p{margin:0 0 18px;font-size:15px;font-weight:700;line-height:1.6}.cb-actions{gap:10px;display:flex}.cb-actions .btn{flex:1}.login-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;border-radius:20px;padding:30px 26px}.login-logo{font-size:40px}.login-brand{width:230px;max-width:78%;margin:4px auto 2px;display:block}.login-card h1{color:var(--teal-d);margin:4px 0 16px;font-size:21px}.login-sub{color:var(--muted);margin:-6px 0 16px;font-size:13px;line-height:1.7}.login-field{text-align:left;margin-bottom:12px}.login-field label{color:var(--muted);margin-bottom:5px;font-size:12.5px;font-weight:700;display:block}.login-field input,.login-field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:12px;font-family:inherit;font-size:15px}.login-err{color:var(--full);background:#fdecea;border-radius:10px;margin-bottom:12px;padding:9px 12px;font-size:13px;font-weight:700}.login-btn{width:100%;margin-top:4px;padding:13px}.login-link{width:100%;color:var(--teal);cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:13px;font-weight:700;text-decoration:underline;display:block}.account .acc-actions{flex:none;gap:6px;display:flex}.account .acc-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:10px 12px;font-size:14px;display:flex}.acc-badge{background:var(--teal);color:#fff;vertical-align:1px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:800}.acc-date{color:var(--muted);margin-left:8px;font-size:11px}.acc-invite{align-items:center;gap:8px;margin-top:8px;display:flex}.acc-invite code{border:1px dashed var(--teal);letter-spacing:2px;color:var(--teal-d);background:#fff;border-radius:10px;padding:8px 14px;font-size:17px;font-weight:800}.reserve-wrap{align-items:flex-start;padding-top:30px}.reserve-card{max-width:460px}.reserve-card h1{font-size:19px}.login-field label em{color:#fff;background:var(--full);vertical-align:1px;border-radius:5px;margin-left:6px;padding:1px 5px;font-size:10px;font-style:normal}.login-field textarea,.login-field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:12px;font-family:inherit;font-size:15px}.reserve-2col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reserve-2col .login-field,.reserve-2col input{min-width:0}.svc-choices{flex-direction:column;gap:6px;display:flex}.svc-choice{border:1.5px solid var(--line);text-align:left;cursor:pointer;color:var(--ink);background:#fff;border-radius:11px;padding:11px;font-size:14px;font-weight:700}.svc-choice.on{border-color:var(--teal);color:var(--teal-d);background:#eef5f2}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:70;background:#1e2a2873;position:fixed;inset:0}.drawer{background:var(--paper);flex-direction:column;gap:8px;width:min(78vw,300px);padding:14px;animation:.18s ease-out drawer-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:8px 0 30px #00000040}@keyframes drawer-in{0%{opacity:.4;transform:translate(40px)}to{opacity:1;transform:none}}.drawer-head{color:var(--teal-d);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:2px 2px 10px;font-weight:800;display:flex}.drawer-item{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:14px 12px;font-family:inherit;font-size:14.5px;font-weight:700;display:flex}.drawer-item:hover{border-color:var(--teal);color:var(--teal-d)}.req-badge-inline{background:var(--full);color:#fff;text-align:center;border-radius:999px;min-width:19px;height:19px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:800;line-height:19px}.req-badge{background:var(--full);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:800;line-height:17px;position:absolute;top:-6px;right:-6px}.req-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:10px;padding:12px}.req-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.req-head b{color:var(--teal-d)}.req-when{font-size:15px;font-weight:800}.req-at{color:var(--muted);margin-left:auto;font-size:11px}.req-body{font-size:13.5px;line-height:1.8}.req-body a{color:var(--teal-d)}.req-note{background:#faf7f0;border-radius:8px;margin-top:4px;padding:6px 9px;font-size:12.5px}.req-vaccine{background:#f2f8f5;border-radius:8px;margin-top:6px;padding:6px 9px}.req-vaccine-head{margin-bottom:4px;font-size:12.5px;font-weight:700}.req-vac-item{flex-wrap:wrap;align-items:center;gap:8px;padding:3px 0;display:flex}.req-vac-name{min-width:3.5em;font-size:12.5px;font-weight:700}.req-vac-link img{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:8px;width:64px;height:64px;display:block}.req-vac-date{color:var(--ink);font-size:12.5px}.req-vac-item.req-stale{background:#fff2f0;border-radius:6px;padding:3px 6px}.req-vac-item.req-stale .req-vac-date{color:#c0392b;font-weight:700}.req-approve{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.req-approve select,.req-approve input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:8px 9px;font-family:inherit;font-size:13.5px}.req-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.req-ok{padding:10px 16px;font-size:13.5px}.lab-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.lab-row input[type=color]{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:40px;height:38px;padding:2px}.lab-name{flex:1;min-width:80px}.lab-add{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.swatches{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.sw.on{border-color:var(--ink)}
