:root{--color-brand: #3e9e8c;--color-brand-light: #e8f5f3;--color-brand-dark: #2d7a6e;--color-orange: #d96e00;--color-orange-light: #fff3e0;--color-green: #2a7d2a;--color-green-light: #e8f5e9;--color-red: #b03020;--color-red-light: #ffebee;--color-gray: #4e4c4c;--color-gray-light: #f4f4f4;--color-text-primary: #131314;--color-text-secondary: #55555555;--color-text-muted: #696767;--color-border: #d5e2dc;--color-border-md: #b8cec7;--font-xs: 16px;--font-sm: 18px;--font-base: 18px;--font-md: 22px;--font-lg: 24px;--font-xl: 26px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--max-w-mobile: 430px;--max-w-desktop: 1024px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background:#e8f0ee;color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}.app-shell{width:100%;min-height:100vh;display:flex;flex-direction:column;background:#fff}@media (min-width: 768px){html{font-size:20px}body{background:#d8e8e4;padding:32px 0 48px}#root{width:70%;margin:0 auto}.app-shell{width:100%;min-height:calc(100vh - 80px);border-radius:var(--radius-lg);box-shadow:0 8px 48px #00000029;overflow:hidden}}.app-header{background:var(--color-brand);padding:14px 18px;color:#fff;display:flex;align-items:center;gap:12px;flex-shrink:0}.app-header__icon{width:40px;height:40px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.app-header__title{font-size:var(--font-md);font-weight:700;letter-spacing:.5px}.app-header__subtitle{font-size:var(--font-xs);opacity:.75;margin-top:2px}.tab-bar{display:flex;background:#fff;border-bottom:2px solid #e0e0e0;flex-shrink:0}.tab-bar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:14px 4px 12px;border:none;background:transparent;font-size:18px;font-weight:700;color:var(--color-text-muted);cursor:pointer;border-bottom:3px solid transparent;transition:background .2s,color .2s,border-color .2s;-webkit-tap-highlight-color:transparent}.tab-bar__icon{display:none}.tab-bar__label{font-size:inherit;line-height:1.2}.tab-bar__lock{font-size:14px;vertical-align:top;margin-left:2px}.tab-bar__btn--active{background:var(--color-brand-light);color:var(--color-brand-dark);border-bottom-color:var(--color-brand)}@media (min-width: 768px){.tab-bar__btn{flex-direction:row;gap:10px;padding:16px 20px;font-size:17px;justify-content:center}.tab-bar__icon{display:inline-flex;align-items:center;font-size:22px;flex-shrink:0}.tab-bar__btn--active{background:var(--color-brand-light);color:var(--color-brand-dark)}}.screen{flex:1;overflow-y:auto;padding:var(--space-md);background:#f0f5f3}@media (min-width: 768px){.screen--main{display:grid;grid-template-columns:1fr}}.card{background:#fff;border-radius:var(--radius-md);padding:var(--space-md) 18px;margin-bottom:var(--space-md);border:1px solid var(--color-border)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:6px;font-weight:700}.form-input{width:100%;height:54px;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:0 15px;font-size:var(--font-md);background:#fff;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--color-brand)}.btn{width:100%;height:54px;border:none;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:700;cursor:pointer;margin-top:var(--space-sm);display:flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s;-webkit-tap-highlight-color:transparent}.btn:active{filter:brightness(.88)}.btn--primary{background:var(--color-brand);color:#fff}.btn--outline{background:#fff;color:var(--color-brand);border:2px solid var(--color-brand)}.btn--danger{background:#fff;color:var(--color-red);border:2px solid var(--color-red)}.btn--orange{background:var(--color-orange);color:#fff}.btn--sm{height:42px;font-size:var(--font-sm);padding:0 18px;width:auto;display:inline-flex}.appt-banner{display:flex;align-items:center;gap:12px;background:#fff;border:2.5px solid var(--color-brand);border-radius:var(--radius-md);padding:15px 16px;margin-bottom:var(--space-md);cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.appt-banner:active{background:var(--color-brand-light)}.appt-banner__icon{width:46px;height:46px;background:var(--color-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.appt-banner__title{font-size:var(--font-md);font-weight:700;color:var(--color-brand-dark)}.appt-banner__sub{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:2px}.appt-banner__arrow{margin-left:auto;font-size:24px;color:var(--color-brand);font-weight:700;flex-shrink:0}.alert{padding:12px 15px;font-size:var(--font-sm);margin-bottom:var(--space-sm);display:flex;align-items:flex-start;gap:8px;border-radius:var(--radius-sm);line-height:1.6}.alert--info{background:var(--color-brand-light);color:var(--color-brand-dark);border-left:4px solid var(--color-brand);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.alert--warning{background:var(--color-orange-light);color:var(--color-orange);border-left:4px solid var(--color-orange);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.alert--danger{background:var(--color-red-light);color:var(--color-red);border-left:4px solid var(--color-red);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.greeting-bar{background:var(--color-brand-light);border-radius:var(--radius-sm);padding:12px 15px;margin-bottom:var(--space-md);font-size:var(--font-base);color:var(--color-brand-dark);display:flex;align-items:center;gap:8px}.section-divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0 var(--space-sm)}.section-divider__line{flex:1;height:1px;background:#ddd}.section-divider__text{font-size:var(--font-xs);color:#aaa;white-space:nowrap}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:700}.status--review{background:#e3f4f1;color:var(--color-brand-dark)}.status--supp{background:var(--color-orange-light);color:var(--color-orange)}.status--supp-processing{background:#ffe0b2;color:#bf360c}.status--pass{background:var(--color-green-light);color:var(--color-green)}.status--reject{background:var(--color-red-light);color:var(--color-red)}.status--cancel{background:var(--color-gray-light);color:var(--color-gray)}.supp--waiting{background:#fff3e0;color:#e65100}.supp--pending{background:#e3f2fd;color:#1565c0}.supp--approved{background:var(--color-green-light);color:var(--color-green)}.supp--rejected{background:var(--color-red-light);color:var(--color-red)}.case-card{background:#fff;border-radius:var(--radius-md);margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px #00000017,0 1px 2px #0000000f}.case-card--current{border:2px solid var(--color-brand)}.case-card--historical{border:1.5px solid #c8c8c8}.case-card--supp{border:2px solid var(--color-orange)}.case-card--reject{border:2px solid var(--color-red)}.case-card--reject .case-card__header{background:#fde8e8}.case-card__header{padding:12px 15px;display:flex;justify-content:space-between;align-items:center}.case-card--current .case-card__header{background:#c6e8e3}.case-card--historical .case-card__header{background:#ebebeb}.case-card--supp .case-card__header{background:#ffe8c8}.case-card__body{padding:13px 15px}.case-card__year{font-size:var(--font-xs);color:var(--color-text-muted)}.case-card__no{font-size:var(--font-base);font-weight:700;color:var(--color-text-primary)}.case-card__status{font-size:var(--font-base);color:var(--color-text-primary);margin-top:5px;display:flex;align-items:center;gap:6px}.case-card__eta{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:4px}.case-card__note{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.6;margin-top:10px;padding:10px 12px;background:var(--color-brand-light);border-radius:var(--radius-sm)}.link-btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-sm);padding:8px 14px;font-size:var(--font-sm);font-weight:700;cursor:pointer;margin-top:var(--space-sm);-webkit-tap-highlight-color:transparent}.link-btn--orange{background:var(--color-orange-light);color:var(--color-orange);border:1.5px solid var(--color-orange)}.link-btn--red{background:var(--color-red-light);color:var(--color-red);border:1.5px solid var(--color-red)}.link-btn--brand{background:var(--color-brand-light);color:var(--color-brand-dark);border:1.5px solid var(--color-brand)}.supp-history__item{border-left:2px solid #ddd;margin-left:14px;padding:10px 12px;margin-bottom:8px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fafafa}.supp-history__item--latest{border-left-color:var(--color-brand)}.memo-box{font-size:var(--font-base);font-weight:700;color:var(--color-text-primary);line-height:1.6;border-left:4px solid var(--color-orange);padding:10px 13px;background:#fff9f3;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:var(--space-sm)}.otp-row{display:flex;gap:6px;justify-content:center;margin:var(--space-md) 0;width:100%}.otp-box{flex:0 0 44px;width:44px;height:56px;border:2px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;font-size:24px;font-weight:700;background:#fff;transition:border-color .2s}.otp-box:focus{outline:none;border-color:var(--color-brand)}.otp-box--error{border-color:var(--color-red)}.otp-box--active{border-color:var(--color-brand);box-shadow:0 0 0 3px #00a07826}.otp-timer{text-align:center;font-size:var(--font-xl);font-weight:700;color:var(--color-brand);margin:8px 0}.otp-timer--warn{color:var(--color-red)}.inner-tabs{display:flex;background:#e8eeec;border-radius:var(--radius-sm);padding:3px;margin-bottom:var(--space-md)}.inner-tabs__btn{flex:1;padding:10px;border:none;border-radius:6px;font-size:var(--font-base);cursor:pointer;font-weight:700;transition:all .2s;background:transparent;color:var(--color-text-muted)}.inner-tabs__btn--active{background:var(--color-brand);color:#fff}.step-label{font-size:var(--font-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:6px}.step-num{width:22px;height:22px;border-radius:50%;background:var(--color-brand);color:#fff;font-size:var(--font-xs);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:var(--space-sm) 0}.cal-day{border:2px solid var(--color-brand);border-radius:var(--radius-sm);padding:8px 2px;text-align:center;cursor:pointer;background:#fff;transition:all .15s;-webkit-tap-highlight-color:transparent}.cal-day:active:not(.cal-day--full){background:var(--color-brand-light)}.cal-day--full{border-color:#ccc;cursor:default}.cal-day--selected{background:var(--color-brand);color:#fff}.cal-day__wd{font-size:14px;color:var(--color-text-muted);margin-bottom:1px}.cal-day__date{font-size:17px;font-weight:700}.cal-day__slots{font-size:14px;color:var(--color-text-muted);margin-top:2px}.cal-day--selected .cal-day__wd,.cal-day--selected .cal-day__slots{color:#ffffffbf}.cal-day--full .cal-day__wd,.cal-day--full .cal-day__date,.cal-day--full .cal-day__slots{color:#ccc}.session-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:var(--space-sm) 0}.session-btn{padding:15px;text-align:center;border:2px solid var(--color-brand);border-radius:var(--radius-md);cursor:pointer;background:#fff;transition:all .15s;-webkit-tap-highlight-color:transparent}.session-btn:active:not(.session-btn--full){background:var(--color-brand-light)}.session-btn--full{border-color:#ccc;cursor:default}.session-btn--selected{background:var(--color-brand);color:#fff}.session-btn__name{font-size:18px;font-weight:700}.session-btn__time{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:3px}.session-btn--selected .session-btn__time{color:#ffffffbf}.session-btn--full .session-btn__name,.session-btn--full .session-btn__time{color:#ccc}.timeslot-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:7px;margin:var(--space-sm) 0}.timeslot{padding:12px 3px;text-align:center;border:2px solid var(--color-brand);border-radius:var(--radius-sm);cursor:pointer;background:#fff;transition:all .15s;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}.timeslot:active:not(.timeslot--full){background:var(--color-brand-light)}.timeslot--full{border-color:#ccc;cursor:default}.timeslot--selected{background:var(--color-brand);color:#fff}.timeslot__time{font-size:15px;font-weight:700;letter-spacing:.2px}.timeslot--selected .timeslot__avail{color:#ffffffbf}.timeslot--full .timeslot__time,.timeslot--full .timeslot__avail{color:#ccc}.confirm-box{background:var(--color-brand-light);border:2px solid var(--color-brand);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-md);text-align:center}.confirm-box__row{font-size:18px;font-weight:600;color:var(--color-text-secondary);margin:8px 0;text-align:center}.confirm-box__row b{color:var(--color-brand-dark);font-size:20px}.success-box{text-align:center;padding:26px var(--space-md);background:var(--color-green-light);border-radius:var(--radius-md);border:2px solid #a5d6a7}.booking-id{font-size:22px;font-weight:700;color:var(--color-text-primary);background:#fff;padding:9px 24px;border-radius:var(--radius-sm);display:inline-block;margin:8px 0;letter-spacing:1.5px}@media (min-width: 768px){.screen{padding:32px 48px;display:flex;flex-direction:column;align-items:center}.screen>*{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.btn{max-width:400px;margin-left:auto;margin-right:auto}.appt-banner{max-width:600px}}.text-muted{color:var(--color-text-muted);font-size:var(--font-sm)}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.section-title{font-size:var(--font-md);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}.modal-box{background:#fff;border-radius:16px;padding:36px 28px 28px;max-width:340px;width:100%;text-align:center;box-shadow:0 8px 32px #00000038}.service-menu{padding:20px 12px;display:flex;flex-direction:column;gap:0;flex:1;min-height:100%}.service-menu__intro{text-align:center;padding:8px 0 18px}.service-menu__intro-title{font-size:clamp(17px,4.7vw,20px);font-weight:700;color:var(--color-text-primary);margin-bottom:6px;text-wrap:balance}.service-menu__intro-sub{font-size:15px;color:var(--color-text-muted)}.service-menu__list{display:flex;flex-direction:column;gap:16px;flex:1}.service-menu__btn{display:flex;align-items:center;gap:16px;width:100%;min-height:140px;padding:22px;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:0 2px 6px #0000000f}.service-menu__btn:hover:not(:disabled){border-color:var(--color-brand);box-shadow:0 4px 12px #3e9e8c2e;background:var(--color-brand-light)}.service-menu__btn:active:not(:disabled){background:var(--color-brand-light);border-color:var(--color-brand-dark)}.service-menu__btn--loading{opacity:.65;cursor:wait}.service-menu__btn:disabled{cursor:not-allowed}.service-menu__btn-icon{font-size:clamp(30px,8.5vw,40px);flex-shrink:0;line-height:1}.service-menu__btn-text{flex:1;display:flex;flex-direction:column;gap:5px}.service-menu__btn-title{font-size:clamp(18px,5.4vw,26px);font-weight:700;color:var(--color-text-primary);line-height:1.3;text-wrap:balance}.service-menu__btn-sub{font-size:clamp(15px,4.1vw,18px);color:var(--color-text-muted);line-height:1.5;text-wrap:pretty}.service-menu__btn-arrow{font-size:clamp(24px,6.5vw,32px);color:var(--color-brand);font-weight:700;flex-shrink:0;line-height:1}.service-menu__error{margin-top:16px;padding:10px 14px;background:var(--color-red-light);color:var(--color-red);border-radius:var(--radius-sm);font-size:14px;text-align:center}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#f8f9fa}.spinner{width:50px;height:50px;border:4px solid rgba(0,123,255,.2);border-left-color:#007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-text{font-size:16px;color:#333;font-weight:500}.skeleton-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 4px 12px #0000000d;animation:pulse 1.5s infinite ease-in-out}.skeleton-line{height:16px;background:#e0e0e0;border-radius:4px;margin-bottom:12px}.skeleton-line.short{width:60%}.skeleton-line.title{height:24px;width:40%;margin-bottom:20px}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}:root{--pg-panel: #FFFFFF;--pg-ink: #15302A;--pg-ink2: #4A5F59;--pg-muted: #7E918C;--pg-line: #DAE4E1;--pg-brand: #0B7A64;--pg-brand-soft: #E2F3ED;--pg-brand-ink: #075A49;--pg-warn: #B4480F;--pg-warn-soft: #FDEEDF;--pg-warn-ink: #8A3508;--pg-bad: #BF302C;--pg-bad-soft: #FCE8E7;--pg-bad-ink: #8E1F1C;--pg-info: #1F63B5;--pg-info-soft: #E6EFFB;--pg-info-ink: #164A88;--pg-gray: #7B8784;--pg-gray-soft: #E6ECEA;--pg-gray-ink: #48534F;--pg-wait: #EEF2F1;--pg-on-fill: #FFFFFF;--pg-scrim: rgba(10, 25, 21, .5);--pg-ease-out: cubic-bezier(.2, .8, .2, 1);--pg-ease-spring: cubic-bezier(.3, 1.6, .5, 1);--pg-fs-pill: clamp(.75rem, .62rem + .6vw, .875rem);--pg-fs-sm: clamp(.85rem, .7rem + .7vw, 1rem);--pg-fs-body: clamp(.95rem, .8rem + .8vw, 1.1rem);--pg-fs-md: clamp(1rem, .85rem + .9vw, 1.2rem);--pg-fs-lg: clamp(1.1rem, .9rem + 1.2vw, 1.4rem);--pg-node: clamp(1.85rem, 1.6rem + 1.2vw, 2.3rem)}.screen--progress>:not(.sheet-overlay){max-width:40rem;margin-inline:auto}.screen--progress>.sheet-overlay{max-width:none;width:auto;margin:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fx-rise{animation:pg-rise .35s ease both;animation-delay:var(--delay, 0ms)}@keyframes pg-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tone--done{background:var(--pg-brand-soft);color:var(--pg-brand-ink)}.tone--cur{background:var(--pg-info-soft);color:var(--pg-info-ink)}.tone--sup{background:var(--pg-warn-soft);color:var(--pg-warn-ink)}.tone--rej{background:var(--pg-bad-soft);color:var(--pg-bad-ink)}.tone--end{background:var(--pg-gray-soft);color:var(--pg-gray-ink)}.tone--wait{background:var(--pg-line);color:var(--pg-muted)}.pg-pill{display:inline-block;font-size:var(--pg-fs-sm);font-weight:500;padding:2px 12px;border-radius:999px;white-space:nowrap}.progress-case{color:var(--pg-ink);margin-bottom:var(--space-md)}.progress-case__head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;background:var(--pg-panel);border-radius:12px;padding:12px 15px;margin-bottom:16px;font-variant-numeric:tabular-nums}.progress-case__head b{font-size:var(--pg-fs-md)}.progress-case__head span{font-size:var(--pg-fs-sm);color:var(--pg-ink2)}.milestone__head{display:flex;justify-content:space-between;font-size:var(--pg-fs-md);font-weight:700}.milestone__step-text{font-variant-numeric:tabular-nums}.milestone__bar{position:relative;height:9px;margin:5px 0 18px;background:var(--pg-line);border-radius:5px;overflow:hidden}.milestone__bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pg-brand);border-radius:inherit;transform-origin:left center;transform:scaleX(var(--ratio, 0));animation:pg-grow-x .8s var(--pg-ease-out) both;overflow:hidden}@keyframes pg-grow-x{0%{transform:scaleX(0)}}.milestone__track{position:relative;margin-bottom:16px}.milestone__rail,.milestone__rail-fill{position:absolute;top:calc(var(--pg-node) / 2 - 1px);left:12.5%;width:75%;height:2px;overflow:hidden}.milestone__rail{background:var(--pg-line)}.milestone__rail-fill{background:var(--pg-brand);transform-origin:left center;transform:scaleX(var(--ratio, 0));animation:pg-grow-x .7s ease-out both}.milestone__cells{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}.milestone__cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.milestone__node{position:relative;z-index:1;flex-shrink:0;width:var(--pg-node);height:var(--pg-node);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--pg-fs-sm);font-weight:700;background:var(--pg-panel);color:var(--pg-muted);border:1.5px solid var(--pg-line)}.node--done{background:var(--pg-brand);border-color:var(--pg-brand);color:var(--pg-on-fill)}.node--cur{background:var(--pg-info);border-color:var(--pg-info);color:var(--pg-on-fill)}.node--sup,.node--sup_proc{background:var(--pg-warn);border-color:var(--pg-warn);color:var(--pg-on-fill)}.node--rej{background:var(--pg-bad);border-color:var(--pg-bad);color:var(--pg-on-fill)}.node--end{background:var(--pg-gray);border-color:var(--pg-gray);color:var(--pg-on-fill)}.milestone__pulse{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid currentColor;animation:pg-pulse 1.6s ease-out infinite;pointer-events:none}.node--cur .milestone__pulse{color:var(--pg-info)}.node--sup .milestone__pulse,.node--sup_proc .milestone__pulse{color:var(--pg-warn)}@keyframes pg-pulse{0%{transform:scale(.8);opacity:.9}to{transform:scale(1.55);opacity:0}}.node--done{animation:pg-pop .45s var(--pg-ease-spring) both;animation-delay:calc(var(--delay, 0ms) + .15s)}@keyframes pg-pop{0%{transform:scale(.3)}to{transform:scale(1)}}.node--rej{animation:pg-beat 1.3s ease-in-out .8s infinite}@keyframes pg-beat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(.95)}45%{transform:scale(1.1)}60%{transform:scale(1)}}.progress-case--celebrate .milestone__cell:last-child .milestone__node{animation:pg-pop .5s var(--pg-ease-spring) both,pg-beat 1.4s ease-in-out 1s 2}.progress-case--running .milestone__bar-fill:after,.progress-case--running .milestone__rail-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translate(-100%);animation:pg-shimmer 1.8s ease-in-out 1s infinite}@keyframes pg-shimmer{to{transform:translate(100%)}}.milestone__name{display:flex;flex-direction:column;min-height:2.7em;font-size:var(--pg-fs-sm);line-height:1.35;color:var(--pg-ink2)}.milestone__name--current{color:var(--pg-ink);font-weight:700}.milestone__pill{max-width:100%;font-size:var(--pg-fs-pill);font-weight:500;padding:1px .45em;border-radius:999px;white-space:nowrap}.pill--done{background:var(--pg-brand-soft);color:var(--pg-brand-ink)}.pill--cur{background:var(--pg-info-soft);color:var(--pg-info-ink)}.pill--sup,.pill--sup_proc{background:var(--pg-warn-soft);color:var(--pg-warn-ink)}.pill--rej{background:var(--pg-bad-soft);color:var(--pg-bad-ink)}.pill--end{background:var(--pg-gray-soft);color:var(--pg-gray-ink)}.pill--wait{background:var(--pg-line);color:var(--pg-muted)}.case-focus{border-radius:12px;padding:14px 16px}.case-focus__top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--pg-fs-lg);font-weight:700}.case-focus__item{padding:1px 8px;border-radius:6px;background:var(--pg-panel);font-size:var(--pg-fs-sm);font-weight:700;white-space:nowrap}.case-focus__message{margin-top:6px;font-size:var(--pg-fs-body);line-height:1.6;white-space:pre-line}.case-focus__reason{margin-top:10px;padding:9px 12px;border-radius:8px;background:var(--pg-panel);color:var(--pg-bad-ink);font-size:var(--pg-fs-body);line-height:1.6}.case-focus__reason span{display:block;font-size:var(--pg-fs-sm);font-weight:700;margin-bottom:2px}.case-focus__warnline{display:flex;gap:6px;align-items:flex-start;margin-top:10px;padding-top:10px;border-top:1px dashed currentColor;font-size:var(--pg-fs-body);line-height:1.6;white-space:pre-line}.case-focus__warnline svg{flex-shrink:0;margin-top:3px}.case-focus__aside{margin-top:10px;font-size:var(--pg-fs-sm);color:var(--pg-ink2)}.case-focus__aside a{color:inherit;font-weight:500;text-decoration:underline}.case-focus__link{display:flex;align-items:center;gap:6px;width:100%;min-height:48px;margin-top:12px;padding:10px 14px;border-radius:10px;border:1.5px solid var(--pg-warn);background:var(--pg-panel);color:var(--pg-warn-ink);font:inherit;font-size:var(--pg-fs-md);font-weight:700;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.case-focus__link:active{transform:scale(.98)}.case-focus__chevron{margin-left:auto;display:inline-flex;animation:pg-nudge 1.4s ease-in-out 1s infinite}@keyframes pg-nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.case-reject{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--pg-panel);border:1.5px solid var(--pg-bad);color:var(--pg-bad-ink)}.case-reject__head{display:flex;align-items:center;gap:6px;font-size:var(--pg-fs-md);font-weight:700}.case-reject__icon{display:inline-flex;animation:appt-shake .6s ease .7s 2}.case-reject__msg{margin-top:6px;font-size:var(--pg-fs-body);line-height:1.6}.case-reject__reason{margin-top:8px;padding:9px 12px;border-radius:8px;background:var(--pg-bad-soft);color:var(--pg-ink);font-size:var(--pg-fs-body);font-weight:700;line-height:1.6;white-space:pre-line}.case-reject__reason span{display:block;font-size:var(--pg-fs-sm);color:var(--pg-bad-ink);margin-bottom:2px}.case-reject__hint{margin-top:8px;font-size:var(--pg-fs-sm);color:var(--pg-ink2)}@media (prefers-reduced-motion: reduce){.case-reject__icon{animation:none!important}}.pg-btn{font:inherit;font-size:var(--pg-fs-md);font-weight:500;width:100%;min-height:3em;padding:.4em .8em;border-radius:11px;border:1.5px solid var(--pg-brand);background:transparent;color:var(--pg-brand-ink);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;transition:transform .12s ease;-webkit-tap-highlight-color:transparent}.pg-btn:active{transform:scale(.97)}@media (hover: hover){.pg-btn:hover{background:var(--pg-brand-soft)}.pg-btn--warn:hover{background:var(--pg-warn-ink);border-color:var(--pg-warn-ink)}.case-focus__link:hover{background:var(--pg-warn-soft)}.sheet__close:hover{background:var(--pg-line)}}.pg-btn--warn{background:var(--pg-warn);border-color:var(--pg-warn);color:var(--pg-on-fill);animation:pg-glow 2s ease-out 1.2s infinite}@keyframes pg-glow{0%{box-shadow:0 0 #b4480f80}70%,to{box-shadow:0 0 0 12px #b4480f00}}.pg-hint{font-size:var(--pg-fs-sm);color:var(--pg-muted);text-align:center;margin-top:4px}.progress-case__cta{margin-top:16px}.case-focus__link:focus-visible,.pg-btn:focus-visible,.sheet__close:focus-visible{outline:2px solid var(--pg-info);outline-offset:2px}.progress-empty{text-align:center;color:var(--color-text-muted);font-size:var(--font-xs);line-height:1.9;padding:40px 16px}.progress-actions{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-md);padding-bottom:var(--space-md)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:var(--pg-scrim);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .32s}.sheet-overlay.is-open{opacity:1;visibility:visible;transition:opacity .2s,visibility 0s}.sheet{width:100%;max-width:var(--max-w-mobile);max-height:85vh;overflow-y:auto;background:var(--pg-panel);color:var(--pg-ink);border-radius:18px 18px 0 0;padding:18px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .32s var(--pg-ease-out)}.sheet-overlay.is-open .sheet{transform:none;transition:transform .42s cubic-bezier(.2,1.1,.3,1)}.sheet{margin-bottom:-24px;padding-bottom:calc(44px + env(safe-area-inset-bottom))}.sheet__grabber{display:none}.sheet__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.sheet__title{display:flex;align-items:center;gap:6px;font-size:var(--pg-fs-lg);font-weight:700;color:var(--pg-warn-ink)}.sheet__title-icon{display:inline-flex}.sheet-overlay.is-open .sheet__title-icon{animation:pg-bounce .9s ease .3s 2}@keyframes pg-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-5px)}70%{transform:translateY(1px)}}.sheet__close{flex-shrink:0;width:44px;height:44px;border:none;border-radius:50%;background:var(--pg-wait);color:var(--pg-ink2);display:flex;align-items:center;justify-content:center;cursor:pointer}.sheet__body{margin-top:12px}.sheet-status{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;padding:16px;border-radius:16px}.sheet-status__icon{position:relative;flex-shrink:0;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--pg-panel);color:currentColor;box-shadow:0 2px 8px #15302a14;animation:pg-pop .5s var(--pg-ease-spring) .26s both}.sheet-status__icon:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:pg-pulse 1.6s ease-out .7s 2}.sheet-status__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.sheet-status__badge{align-self:flex-start;padding:2px 12px;border-radius:999px;background:var(--pg-panel);font-size:var(--pg-fs-sm);font-weight:700;animation:pg-rise .35s ease .36s both}.sheet-status__alert{font-size:var(--pg-fs-body);font-weight:700;line-height:1.6;animation:pg-rise .35s ease .42s both}.sheet-status__label{margin-top:2px;font-size:var(--pg-fs-sm);font-weight:700;opacity:.85;animation:pg-rise .35s ease .46s both}.sheet-status__text{color:var(--pg-ink);font-size:var(--pg-fs-md);font-weight:700;line-height:1.6;white-space:pre-line;animation:pg-rise .35s ease .48s both}.sheet-status__item{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:3px 10px;border-radius:8px;background:var(--pg-panel);font-size:var(--pg-fs-sm);font-weight:700;animation:pg-rise .35s ease .54s both}.sheet-pop{animation:pg-card-pop .52s var(--pg-ease-spring) both;animation-delay:var(--delay, 0ms)}@keyframes pg-card-pop{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}.sheet__actions{display:flex;gap:8px;margin-top:4px}.sheet__actions .pg-btn{flex:1}.celebrate-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:900}@media (max-width: 360px){.milestone__pill{letter-spacing:-.04em;padding-inline:.3em}.milestone__cells{column-gap:2px}}.timeline{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.timeline__row{position:relative;display:flex;gap:12px}.timeline__seg{position:absolute;left:calc(var(--pg-node) / 2 - 1px);top:calc(var(--pg-node) / 2);bottom:calc(-16px - var(--pg-node) / 2);width:2px;background:var(--pg-line);overflow:hidden}.timeline__seg--done:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pg-brand);transform-origin:top center;animation:pg-grow-y .5s ease-out both;animation-delay:var(--delay, 0ms)}@keyframes pg-grow-y{0%{transform:scaleY(0)}}.progress-case--running .timeline__seg--done:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,rgba(255,255,255,.7),transparent);transform:translateY(-100%);animation:pg-shimmer-y 1.8s ease-in-out 1s infinite}@keyframes pg-shimmer-y{to{transform:translateY(100%)}}.timeline__body{flex:1;min-width:0}.timeline__top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:var(--pg-node)}.timeline__name{font-size:var(--pg-fs-md);color:var(--pg-ink)}.timeline__name--current{font-weight:700}.timeline__name--wait{color:var(--pg-ink2)}.timeline__pill{flex-shrink:0;font-size:var(--pg-fs-sm);font-weight:500;padding:2px 10px;border-radius:999px;white-space:nowrap}.case-focus--inline{margin-top:8px;padding:12px 14px}.progress-case--celebrate .timeline__row:last-child .milestone__node{animation:pg-pop .5s var(--pg-ease-spring) both,pg-beat 1.4s ease-in-out 1s 2}@media (prefers-reduced-motion: reduce){.timeline__seg--done:before,.progress-case--celebrate .timeline__row:last-child .milestone__node{animation:none!important}.progress-case--running .timeline__seg--done:after{display:none}}@media (prefers-reduced-motion: reduce){.fx-rise,.node--done,.node--rej,.milestone__bar-fill,.milestone__rail-fill,.milestone__pulse,.case-focus__chevron,.pg-btn--warn,.progress-case--celebrate .milestone__cell:last-child .milestone__node,.sheet-overlay.is-open .sheet__title-icon,.sheet-pop,.sheet-status__icon,.sheet-status__icon:after,.sheet-status__badge,.sheet-status__alert,.sheet-status__label,.sheet-status__text,.sheet-status__item{animation:none!important}.progress-case--running .milestone__bar-fill:after,.progress-case--running .milestone__rail-fill:after{display:none}.sheet,.sheet-overlay,.sheet-overlay.is-open,.pg-btn{transition:none!important}.celebrate-canvas{display:none}}.greeting-bar--strong{font-weight:700}@keyframes appt-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes appt-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@keyframes appt-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes appt-success-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes appt-bounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-10px) scale(1.08)}55%{transform:translateY(2px) scale(.98)}75%{transform:translateY(-3px)}}.appt-motion .card,.appt-motion .step-label,.appt-motion .confirm-box,.appt-motion .case-card,.appt-motion .alert--info,.appt-motion .alert--warning{animation:appt-rise .65s cubic-bezier(.2,.8,.2,1) both}.appt-motion .step-num{position:relative;animation:appt-pop .7s cubic-bezier(.3,1.6,.5,1) .2s both}.appt-motion .step-label{color:var(--color-text-primary)}.appt-motion .cal-day,.appt-motion .timeslot{animation:appt-rise .5s ease both;animation-delay:.1s}.appt-motion .cal-day:nth-child(2),.appt-motion .timeslot:nth-child(2){animation-delay:.17s}.appt-motion .cal-day:nth-child(3),.appt-motion .timeslot:nth-child(3){animation-delay:.24s}.appt-motion .cal-day:nth-child(4),.appt-motion .timeslot:nth-child(4){animation-delay:.31s}.appt-motion .cal-day:nth-child(5),.appt-motion .timeslot:nth-child(5){animation-delay:.38s}.appt-motion .cal-day:nth-child(6),.appt-motion .timeslot:nth-child(6){animation-delay:.45s}.appt-motion .cal-day:nth-child(7),.appt-motion .timeslot:nth-child(7){animation-delay:.52s}.appt-motion .cal-day:nth-child(8),.appt-motion .timeslot:nth-child(8){animation-delay:.59s}.appt-motion .cal-day:nth-child(9),.appt-motion .timeslot:nth-child(9){animation-delay:.66s}.appt-motion .cal-day:nth-child(n+10),.appt-motion .timeslot:nth-child(n+10){animation-delay:.73s}.appt-motion .btn,.appt-motion .cal-day,.appt-motion .timeslot,.appt-motion .inner-tabs__btn{transition:transform .12s ease,background .15s,color .15s,border-color .15s,box-shadow .15s,filter .15s}.appt-motion .btn:active,.appt-motion .inner-tabs__btn:active,.appt-motion .cal-day:active:not(.cal-day--full),.appt-motion .timeslot:active:not(.timeslot--full){transform:scale(.96)}@media (hover: hover){.appt-motion .cal-day:not(.cal-day--full):hover,.appt-motion .timeslot:not(.timeslot--full):hover{transform:translateY(-2px);box-shadow:0 4px 10px #3e9e8c2e}}.appt-motion .alert--danger{animation:appt-rise .3s ease both,appt-shake .6s ease .3s 2}.appt-motion .success-box{animation:appt-success-pop .7s cubic-bezier(.3,1.4,.5,1) both}.appt-motion .success-box>div:first-child{animation:appt-pop .7s cubic-bezier(.3,1.6,.5,1) .3s both,appt-bounce 1s ease 1.1s 3}@keyframes appt-ring{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.6);opacity:0}}@keyframes appt-line-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.appt-stepbar__node{position:relative}.appt-stepbar__node--current{animation:appt-pop .7s cubic-bezier(.3,1.6,.5,1) .35s both}.appt-stepbar__node--current:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid var(--color-brand-dark);animation:appt-ring 1.6s ease-out 1s infinite;pointer-events:none}.appt-stepbar__node--done{animation:appt-pop .6s cubic-bezier(.3,1.6,.5,1) both}.appt-stepbar__line--done{transform-origin:left center;animation:appt-line-fill .5s ease-out .15s both}@media (prefers-reduced-motion: reduce){.appt-motion .card,.appt-motion .step-label,.appt-motion .confirm-box,.appt-motion .case-card,.appt-motion .alert,.appt-motion .step-num,.appt-motion .cal-day,.appt-motion .timeslot,.appt-motion .success-box,.appt-motion .success-box>div:first-child,.appt-stepbar__node--current,.appt-stepbar__node--current:after,.appt-stepbar__node--done,.appt-stepbar__line--done{animation:none!important}.appt-stepbar__node--current:after{display:none}.appt-motion .btn,.appt-motion .cal-day,.appt-motion .timeslot,.appt-motion .inner-tabs__btn{transition:none!important}.appt-motion .btn:active,.appt-motion .inner-tabs__btn:active,.appt-motion .cal-day:active,.appt-motion .timeslot:active{transform:none}}
