.r004[data-v-814a2dac]{color:#17312e;min-width:0}.r004 h3[data-v-814a2dac],.r004 h4[data-v-814a2dac]{margin:0}.r004 button[data-v-814a2dac]{font:inherit}.r004-heading[data-v-814a2dac]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.r004-heading h3[data-v-814a2dac]{font-size:21px}.r004-note[data-v-814a2dac]{color:#5a746d;margin:7px 0 16px;font-size:13px;line-height:1.65}.r004-button[data-v-814a2dac]{color:#086b5d;white-space:nowrap;background:#f4faf7;border:1px solid #d0e1dc;border-radius:10px;padding:10px 13px}.r004-button[data-v-814a2dac]:disabled{opacity:.5}.r004-button.primary-action[data-v-814a2dac]{color:#fff;background:#0f766e;border-color:#0f766e}.r004-back[data-v-814a2dac]{color:#0f766e;background:0 0;border:0;padding:6px 0 12px;font-weight:700}.r004-summary[data-v-814a2dac],.r004-metrics[data-v-814a2dac]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 20px;display:grid}.r004-summary>div[data-v-814a2dac],.r004-metrics>div[data-v-814a2dac]{background:#f1f8f5;border-radius:12px;flex-direction:column;gap:7px;min-width:0;padding:14px;display:flex}.r004-summary strong[data-v-814a2dac],.r004-metrics strong[data-v-814a2dac]{overflow-wrap:anywhere;font-size:22px}.r004-summary .r004-ratio[data-v-814a2dac],.r004-metrics .r004-ratio[data-v-814a2dac],.r004-cell .r004-ratio[data-v-814a2dac]{font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}.r004-ratio span[data-v-814a2dac]{color:#6c807a;font-size:.76em;font-weight:500}.r004-summary small[data-v-814a2dac],.r004-metrics small[data-v-814a2dac],.r004-cell small[data-v-814a2dac],.r004-person small[data-v-814a2dac]{color:#627972;font-size:12px;line-height:1.55}.r004-summary .r004-year-name[data-v-814a2dac]{font-size:15px}.r004-filters[data-v-814a2dac]{grid-template-columns:minmax(180px,1.4fr) minmax(135px,1fr);gap:12px;display:grid}.r004-filters label[data-v-814a2dac]{min-width:0;margin:0;font-size:13px}.r004-filters input[data-v-814a2dac],.r004-filters select[data-v-814a2dac]{min-width:0;padding:10px 12px}.r004-table-wrap[data-v-814a2dac]{border:1px solid #dbe7e3;border-radius:12px;overflow:hidden}.r004-table-head[data-v-814a2dac],.r004-student-row[data-v-814a2dac]{grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(115px,1fr)) minmax(94px,.7fr);align-items:center;gap:12px;padding:12px;display:grid}.r004-table-head[data-v-814a2dac]{color:#49695e;background:#edf6f2;font-size:12px;font-weight:700}.r004-student-row[data-v-814a2dac]{border-top:1px solid #e2ebe7;font-size:13px}.r004-student-row[data-v-814a2dac]:first-of-type{border-top:0}.r004-cell[data-v-814a2dac]{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}.r004-cell strong[data-v-814a2dac]{font-size:14px}.r004-cell-label[data-v-814a2dac]{display:none}.r004-identity strong[data-v-814a2dac]{font-size:15px}.r004-open[data-v-814a2dac]{color:#0d7967!important}.r004-empty[data-v-814a2dac]{color:#71837f;padding:12px;font-size:13px}.r004-error[data-v-814a2dac]{color:#a33228;background:#fff0ee;border-radius:10px;padding:10px}.r004-person[data-v-814a2dac]{background:#edf6f2;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;padding:15px;display:flex}.r004-person>div[data-v-814a2dac]{flex-direction:column;gap:6px;display:flex}.r004-person h4[data-v-814a2dac]{font-size:20px}.r004-subtitle[data-v-814a2dac]{font-size:17px;margin:23px 0 9px!important}.r004-list-scroll[data-v-814a2dac]{border:1px solid #e0eae6;border-radius:12px;max-height:360px;overflow:auto}.r004-day[data-v-814a2dac],.r004-record[data-v-814a2dac]{border-bottom:1px solid #e0eae6;padding:12px;font-size:13px;line-height:1.6}.r004-day[data-v-814a2dac]:last-child,.r004-record[data-v-814a2dac]:last-child{border-bottom:0}.r004-day[data-v-814a2dac]{grid-template-columns:115px minmax(0,1fr);gap:12px;display:grid}.r004-day>div[data-v-814a2dac]{overflow-wrap:anywhere;flex-direction:column;gap:3px;min-width:0;display:flex}.r004-day small[data-v-814a2dac],.r004-record small[data-v-814a2dac]{color:#647c75;font-size:12px;line-height:1.6;display:block}@media (width<=980px){.r004-table-head[data-v-814a2dac]{display:none}.r004-student-row[data-v-814a2dac]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.r004-identity[data-v-814a2dac]{border-bottom:1px dashed #dce8e2;grid-column:1/-1;padding-bottom:8px}.r004-cell-label[data-v-814a2dac]{font-weight:700;display:block}.r004-row-action[data-v-814a2dac]{grid-column:1/-1;align-items:stretch}}@media (width<=600px){.r004-summary[data-v-814a2dac],.r004-metrics[data-v-814a2dac]{grid-template-columns:repeat(2,minmax(0,1fr))}.r004-filters[data-v-814a2dac],.r004-student-row[data-v-814a2dac]{grid-template-columns:1fr}.r004-identity[data-v-814a2dac],.r004-row-action[data-v-814a2dac]{grid-column:auto}.r004-day[data-v-814a2dac]{grid-template-columns:1fr}}.stay-days-overlay[data-v-89e4be63]{z-index:1100;background:#132f2b6e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.stay-days-sheet[data-v-89e4be63]{box-sizing:border-box;width:min(100%,600px);max-height:min(78dvh,760px);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-radius:26px 26px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -12px 48px #0a282329}.stay-days-handle[data-v-89e4be63]{background:#cddbd5;border-radius:5px;flex:none;width:56px;height:5px;margin:12px auto 0}.stay-days-head[data-v-89e4be63]{border-bottom:1px solid #e4ece9;justify-content:space-between;align-items:flex-start;gap:14px;padding:21px 22px 16px;display:flex}.stay-days-head h2[data-v-89e4be63]{color:#183a36;margin:0;font-size:clamp(18px,4.6vw,22px);line-height:1.35}.stay-days-head p[data-v-89e4be63]{color:#6f817d;margin:7px 0 0;font-size:13px}.stay-days-close[data-v-89e4be63]{color:#49635d;background:#eff5f2;border:0;border-radius:50%;flex:none;width:36px;height:36px;padding:0;font-size:27px;line-height:1}.stay-days-body[data-v-89e4be63]{overscroll-behavior:contain;padding:0 22px 22px;overflow-y:auto}.stay-days-month h3[data-v-89e4be63]{color:#617873;justify-content:space-between;margin:23px 0 11px;font-size:15px;font-weight:600;display:flex}.stay-days-month h3 span[data-v-89e4be63]{font-weight:500}.stay-days-list[data-v-89e4be63]{background:#f7faf8;border-radius:16px;padding:0 14px}.stay-days-entry+.stay-days-entry[data-v-89e4be63]{border-top:1px solid #e2ebe6}.stay-days-entry button[data-v-89e4be63]{color:#183a36;text-align:left;width:100%;min-height:53px;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:15px;display:flex}.stay-days-entry small[data-v-89e4be63]{color:#718580;margin-left:5px;font-size:13px}.stay-days-duration[data-v-89e4be63]{color:#617873;white-space:nowrap;flex:none;font-size:13px}.stay-days-duration span[data-v-89e4be63]{color:#0d766a;min-width:12px;margin-left:5px;font-size:18px;display:inline-block}.stay-days-explanation[data-v-89e4be63]{color:#41645c;background:#eaf5f0;border-radius:10px;margin:-2px 0 13px;padding:10px 12px;font-size:13px;line-height:1.5}.stay-days-empty[data-v-89e4be63]{color:#718580;text-align:center;padding:32px 0}@media (width<=400px){.stay-days-head[data-v-89e4be63],.stay-days-body[data-v-89e4be63]{padding-left:17px;padding-right:17px}.stay-days-entry button[data-v-89e4be63]{font-size:14px}.stay-days-duration[data-v-89e4be63]{font-size:12px}}.stay-record-list[data-v-67cfe553]{gap:13px;display:grid}.stay-record-card[data-v-67cfe553]{background:#fff;border:1px solid #dce8e3;border-radius:20px;min-width:0;padding:18px 18px 0;overflow:hidden;box-shadow:0 5px 20px #123e330a}.record-head[data-v-67cfe553]{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:0;display:flex}.record-dates[data-v-67cfe553]{flex-direction:column;gap:3px;min-width:0;display:flex}.record-dates strong[data-v-67cfe553]{color:#193c36;overflow-wrap:anywhere;font-size:17px;font-weight:740;line-height:1.35}.record-dates>span[data-v-67cfe553]{color:#8a9b96;font-size:12px}.record-day-count[data-v-67cfe553]{color:#0f766e;background:#e6f3ee;border-radius:999px;flex:none;padding:5px 10px;font-size:13px;font-weight:750;line-height:1.25}.record-verdict[data-v-67cfe553]{color:#087a57;align-items:center;gap:7px;margin-top:15px;font-size:14px;font-weight:720;display:inline-flex}.record-verdict i[data-v-67cfe553]{background:currentColor;border-radius:50%;width:8px;height:8px}.verdict-partial[data-v-67cfe553]{color:#ad720e}.verdict-non_compliant[data-v-67cfe553],.verdict-time_unknown[data-v-67cfe553]{color:#b75a43}.verdict-in_progress[data-v-67cfe553],.verdict-no_stay[data-v-67cfe553],.verdict-outside_year[data-v-67cfe553]{color:#74857f}.record-times[data-v-67cfe553]{background:#f4f8f6;border-radius:14px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:8px;margin:16px 0 18px;padding:14px 15px;display:grid}.record-time-cell[data-v-67cfe553]{flex-direction:column;gap:3px;min-width:0;display:flex}.record-time-cell>span[data-v-67cfe553]{color:#778c85;font-size:12px}.record-time-cell strong[data-v-67cfe553]{color:#1b3d37;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(16px,5vw,22px);line-height:1.3}.record-time-cell strong.pending[data-v-67cfe553]{color:#a66332;font-size:16px}.record-time-cell small[data-v-67cfe553]{color:#718781;font-size:11px}.record-time-arrow[data-v-67cfe553]{color:#9cb1a9;text-align:center;font-size:18px}.record-hint[data-v-67cfe553]{color:#a26032;margin:-8px 0 14px;font-size:12px;line-height:1.5}.record-footer[data-v-67cfe553]{color:#8b9a95;border-top:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:10px;min-height:51px;font-size:12px;display:flex}.record-actions[data-v-67cfe553]{flex:none;gap:4px;display:flex}.record-actions button[data-v-67cfe553]{color:#0d766a;font:inherit;background:0 0;border:0;padding:7px 10px;font-size:13px;font-weight:650}.record-actions .danger[data-v-67cfe553]{color:#b15c4b}.record-details[data-v-67cfe553]{border-top:1px solid #edf1ef}.record-details summary[data-v-67cfe553]{color:#0d766a;cursor:pointer;justify-content:space-between;align-items:center;min-height:50px;font-size:13px;font-weight:680;list-style:none;display:flex}.record-details summary[data-v-67cfe553]::-webkit-details-marker{display:none}.record-chevron[data-v-67cfe553]{font-size:20px;line-height:1;transition:transform .15s}.record-details[open] .record-chevron[data-v-67cfe553]{transform:rotate(180deg)}.record-source[data-v-67cfe553]{border-top:1px solid #edf1ef;padding:11px 0}.record-source-type[data-v-67cfe553]{color:#647e74;font-size:12px;font-weight:650}.record-source p[data-v-67cfe553]{color:#506a63;margin:5px 0 0;font-size:13px;line-height:1.6}.record-source .record-actions[data-v-67cfe553]{justify-content:flex-end}@media (width<=380px){.stay-record-card[data-v-67cfe553]{padding-left:15px;padding-right:15px}.record-dates strong[data-v-67cfe553]{font-size:15px}.record-times[data-v-67cfe553]{gap:4px;padding:12px}.record-time-cell strong[data-v-67cfe553]{font-size:17px}}:root{color:#17312e;background:#f2f6f5;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:16px}select{font:inherit;background:#fbfdfc;border:1px solid #cfddda;border-radius:12px;width:100%;padding:13px 14px}.section-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.plan-list{gap:12px;display:grid}.plan-list .course-card{justify-content:space-between;align-items:center;display:flex}.plan-list p{color:#71837f;margin:5px 0 0;font-size:13px}.switch{grid-template-columns:auto 1fr;align-items:center;display:flex}.switch input{width:20px}.link{margin-left:8px;text-decoration:none;display:inline-block}.row-actions{gap:5px;display:flex}.row-actions button{color:#0f766e;background:#edf5f3;border:0;border-radius:7px;padding:6px}.calendar-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-title .secondary{border-radius:14px;width:44px;height:44px;font-size:24px}.calendar-legend{flex-wrap:wrap;align-items:center;gap:10px 22px;margin:12px 4px 14px;font-size:13px;font-weight:550;display:flex}.calendar-legend span{color:#405954;align-items:center;gap:7px;display:inline-flex}.calendar-legend i{border-radius:4px;flex:none;width:13px;height:13px;display:inline-block}.legend-effective i{background:#d9eddf}.legend-partial i{background:#fff0c6}.calendar-legend .legend-holiday i{color:#fff;background:#b45e40;place-items:center;width:18px;height:18px;font-size:11px;font-style:normal;font-weight:800;display:grid}.calendar-grid{background:#fff;border:1px solid #dce7e4;border-radius:22px;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:12px;display:grid}.calendar-grid b,.calendar-grid .calendar-day{place-items:center;min-height:48px;font-size:14px;display:grid;position:relative}.calendar-grid b{color:#70817e;font-weight:500}.calendar-day{color:#263d38;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;font-weight:600}.calendar-day.effective{background:#d9eddf}.calendar-day.invalid{color:#794b25;background:#ffebd4}.calendar-day.outside-year{color:#9ea9a3;background:#eef0ef}.calendar-day.selected{border:2px solid #4c7967}.calendar-day .stay-mark{background:#e3443f;border-radius:50%;width:8px;height:8px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-day .course-mark{color:#fff;background:#7952a0;border-radius:5px;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid;position:absolute;top:0;right:0}.calendar-day .holiday-mark{color:#fff;background:#b45e40;border-radius:5px;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid;position:absolute;top:0;left:0}.calendar-detail{color:#405954;background:#f3f8f6;border-radius:10px;margin:10px 2px 18px;padding:10px 12px;font-size:13px}.year-picker{color:#60736f;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.year-picker select{color:#0f4c46;width:auto;max-width:220px;padding:6px 28px 6px 8px;font-weight:700}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pending-reminder{color:#0f4c46;background:#fff;border:1px solid #dce7e4;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:relative}.pending-badge{background:#e65342;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;top:-2px;right:-2px}.account-card{padding:20px}.user-table>div{align-items:center}@media (width<=760px){.section-bar,.plan-list .course-card{align-items:flex-start}.row-actions{width:100%}.user-table>div{flex-wrap:wrap}}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.loading{place-items:center;min-height:100vh;display:grid}.home-loading{color:#687d79;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;display:flex}.home-loading p{margin:0}.course-loading{color:#687d79;text-align:center;justify-items:center;gap:16px;padding:12px 0 28px;display:grid}.course-loading p{margin:0}.course-placeholder{background:#fff;border:1px solid #dce6e2;border-radius:22px;flex-direction:column;gap:22px;width:100%;min-height:210px;padding:30px 24px;display:flex}.course-placeholder span{background:#edf3f0;border-radius:8px;width:45%;height:15px;animation:1.5s ease-in-out infinite alternate course-pulse}.course-placeholder span:nth-child(2){width:70%;height:22px}.course-placeholder span:nth-child(3){width:52%}.course-placeholder span:nth-child(4){width:85%}@keyframes course-pulse{to{opacity:.45}}@media (prefers-reduced-motion:reduce){.course-placeholder span{animation:none}}.pwa-onboarding{z-index:40;background:#dee8e4db;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pwa-onboarding-card{text-align:center;background:#fff;border-radius:28px;width:min(100%,342px);max-height:calc(100dvh - 48px);padding:27px 24px 25px;overflow-y:auto;box-shadow:0 15px 38px #153c3629}.pwa-onboarding-icon{color:#0f766e;background:#e7f5f0;border-radius:18px;place-items:center;width:62px;height:62px;margin:0 auto 22px;font-size:36px;line-height:1;display:grid}.pwa-onboarding-card h2{color:#173e38;margin:0;font-size:24px}.pwa-onboarding-card>p{color:#667d75;margin:17px 0 26px;font-size:15px;line-height:1.7}.pwa-onboarding-action{color:#fff;width:100%;min-height:58px;font:inherit;background:#0f766e;border:0;border-radius:16px;font-size:18px;font-weight:700;display:block}.pwa-onboarding-action:disabled{opacity:.65}.pwa-onboarding-skip{color:#738780;font:inherit;background:0 0;border:0;margin:20px auto 0;padding:8px 20px;font-size:15px;display:block}.pwa-onboarding-help{color:#23483f;text-align:left;background:#edf6f2;border-radius:14px;margin:0 0 5px;padding:14px}.pwa-onboarding-help p{margin:7px 0 0;font-size:14px;line-height:1.6}.auth-page{background-image:linear-gradient(90deg,#f5faf86b,#f8faf61a 67%,#f9f9f529),url(/login-background.webp);background-position:50% 60%;background-repeat:no-repeat;background-size:cover;min-height:100dvh}.auth-shell{grid-template-columns:1fr 440px;align-items:center;gap:72px;max-width:1080px;min-height:100vh;margin:auto;padding:40px;display:grid}.brand .logo{object-fit:cover;border-radius:18px;width:64px;height:64px;display:block;box-shadow:0 8px 24px #11372b2e}.brand h1{color:#183b35;text-shadow:0 1px 14px #ffffffe6;margin:24px 0 10px;font-size:48px}.brand p{color:#28443e;text-shadow:0 1px 12px #fffffff2;font-size:19px}.auth-card,.progress-card,.status-card,.list,.course-card,.ranking-list,.admin-card{background:#fff;border:1px solid #dce7e4;border-radius:24px;box-shadow:0 18px 50px #2749440d}.auth-card{-webkit-backdrop-filter:blur(12px);background:#fffffff0;padding:28px;box-shadow:0 20px 65px #19373030}.auth-panel{width:100%;min-width:0}.auth-footer{-webkit-backdrop-filter:blur(9px);background:#ffffffbd;border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-top:18px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.auth-footer a{color:#215d54;text-underline-offset:3px;border-radius:4px;font-weight:550;text-decoration:none}.auth-footer a:hover,.auth-footer a:focus-visible{text-decoration:underline}.seg{background:#edf3f1;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid}.seg button{color:#6b7f7b;background:0 0;border:0;border-radius:9px;padding:10px}.seg .active{color:#0f766e;background:#fff;font-weight:700}label{gap:8px;margin:15px 0;font-size:14px;font-weight:650;display:grid}input{background:#fbfdfc;border:1px solid #cfddda;border-radius:12px;width:100%;padding:13px 14px}.primary,.check{color:#fff;background:#0f766e;border:0;border-radius:13px;width:100%;padding:14px 18px;font-weight:750}.compact{width:auto;padding:10px 16px}.error{color:#b42318;background:#feeceb}.success{color:#166534;background:#dcfce7}.app-shell{max-width:720px;min-height:100vh;margin:auto;padding:28px 20px 100px}.app-shell header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.app-shell h1{margin:4px 0 0;font-size:27px}.eyebrow,.page-note{color:#728580;font-size:13px}.ghost,.secondary,.danger{color:#48615c;background:#fff;border:1px solid #d5e1de;border-radius:11px;padding:9px 13px}.progress-card{padding:clamp(18px,4vw,26px)}.progress-title{color:#213d37;margin:0;font-size:clamp(17px,3.2vw,20px);font-weight:750;line-height:1.4}.progress-total{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:14px 0 20px;display:flex}.progress-total strong{color:#d97706;font-variant-numeric:tabular-nums;font-size:clamp(42px,8.5vw,54px);font-weight:750;line-height:1.15}.progress-total strong small{font-size:.44em;font-weight:650}.progress-total>span{color:#688079;font-size:clamp(12px,2.5vw,13px)}.progress-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.progress-metric{text-align:center;background:#f2f7f6;border:0;border-radius:14px;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;padding:16px 10px;display:flex}.progress-metric:focus-visible{outline-offset:2px;outline:3px solid #0f766e}.progress-metric .metric-view{color:#0f766e;font-size:12px;font-style:normal;font-weight:650}.progress-metric>span{color:#28423c;font-size:clamp(13px,2.5vw,15px);font-weight:650;line-height:1.5}.progress-metric>span small{color:#738782;font-size:12px;font-weight:500;display:block}.progress-metric strong{color:#d97706;font-variant-numeric:tabular-nums;font-size:clamp(27px,6vw,34px);line-height:1.15}.progress-metric strong small{font-size:.58em;font-weight:650}.progress-note{color:#546e67;border-top:1px solid #e3ece9;margin-top:16px;padding-top:18px;font-size:clamp(12px,2.5vw,13px);line-height:1.8}.progress-note h3{color:#2a4b42;margin:0 0 8px;font-size:14px;font-weight:750}.progress-note ol{margin:0;padding-left:1.65em}.progress-note li{margin-bottom:8px;padding-left:1px}.progress-note li b{color:#304e46;font-weight:700}.progress-note p{color:#647a73;background:#f3f7f6;border-radius:10px;margin:10px 0 0;padding:10px 12px}.status-card{justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:22px;display:flex}.status-card p,.list p,.ranking-list p{color:#7b8e89;margin:5px 0 0;font-size:13px}.dot{background:#9aaba7;border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.dot.on{background:#16a34a}.status-card .check{width:auto;min-width:110px}.actions{gap:8px;display:flex}.quick{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.quick button{color:#31514b;background:#fff;border:1px solid #d8e5e2;border-radius:18px;padding:20px 12px;font-weight:700}.quick b{color:#0f766e;margin-bottom:6px;font-size:24px;display:block}.list,.ranking-list{overflow:hidden}.list article,.ranking-list article{border-bottom:1px solid #e7efed;justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.danger{color:#b42318;border-color:#f1c8c5}.course-list{gap:14px;display:grid}.course-card{padding:20px}.course-head{justify-content:space-between;align-items:center;display:flex}.course-head h3{margin:0}.date-check{align-items:center;gap:10px;display:flex}.date-check input{width:20px}.ranking-list article.me{background:#ecfdf8}.ranking-list article>b{color:#0f766e;width:32px;font-size:20px}.ranking-list article>div{flex:1}.ranking-list small{color:#fff;background:#0f766e;border-radius:8px;padding:2px 6px}.admin-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-card{padding:18px}.admin-card.wide{grid-column:1/-1}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-list{margin-top:16px}.mini-list>div,.user-table>div{border-top:1px solid #e6eeec;justify-content:space-between;gap:8px;padding:10px 0;font-size:13px;display:flex}.mini-list button{color:#b42318;background:0 0;border:0}.user-table small{color:#71837f;display:block}.toast{z-index:20;border-radius:10px;padding:10px 12px;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}nav{width:min(720px,100%);padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffe;border-top:1px solid #dce6e4;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#82928f;background:0 0;border:0;padding:8px}nav .active{color:#0f766e;font-weight:800}.overlay{z-index:30;background:#102b2766;place-items:end center;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);padding:24px 22px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0}.full{width:100%;margin-top:10px}.empty-card{text-align:center;color:#758783;padding:30px}@media (width<=760px){.auth-page{background-image:linear-gradient(90deg,#f5faf86b,#f8faf61a 67%,#f9f9f529),url(/login-background-mobile.webp);background-position:50%}.auth-shell{padding:28px 20px calc(28px + env(safe-area-inset-bottom));display:block}.brand{text-align:center;margin:24px 0 28px}.brand .logo{margin:auto}.brand h1{font-size:36px}.brand p{font-size:16px}.auth-card{padding:22px}.meta{flex-wrap:wrap;gap:8px}.progress-head strong{font-size:44px}.status-card{flex-direction:column;align-items:flex-start}.status-card .check,.actions{width:100%}.quick{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}.two{grid-template-columns:1fr}.course-head{align-items:flex-start;gap:10px}}.account-logout,.account-admin{width:100%;margin-top:18px}.announcement-card{color:#164b42;background:#e7f4f0;border:1px solid #cce8de;border-radius:20px;margin-bottom:16px;padding:16px 18px}.announcement-heading{align-items:center;gap:8px;font-size:15px;display:flex}.announcement-icon{color:#fff;background:#116b61;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700}.announcement-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;line-height:1.6}.admin-card textarea{width:100%;font:inherit;resize:vertical;background:#fbfdfc;border:1px solid #cfddda;border-radius:12px;margin-top:7px;padding:12px;display:block}.announcement-editor-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.announcement-editor-actions small{color:#60736f}.modal{max-height:min(90vh,820px);overflow-y:auto}.range-trigger{color:#17312e;width:100%;font:inherit;text-align:left;background:#fbfdfc;border:1px solid #cfddda;border-radius:12px;justify-content:space-between;align-items:center;margin-top:7px;padding:13px 14px;display:flex}.range-picker{background:#f8fbfa;border:1px solid #d8e5e2;border-radius:16px;margin:12px 0 16px;padding:12px}.range-head{justify-content:space-between;align-items:center;display:flex}.range-head button{color:#0f766e;background:0 0;border:0;padding:0 12px;font-size:30px}.range-hint{color:#60736f;min-height:20px;margin:10px 0;font-size:13px}.range-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.range-grid b,.range-grid button{place-items:center;min-height:38px;font-size:13px;display:grid}.range-grid b{color:#71837f;font-weight:500}.range-grid button{color:#17312e;background:0 0;border:0;border-radius:9px}.range-grid button.between{background:#d6eae3;border-radius:0}.range-grid button.edge{color:#fff;background:#0f766e;font-weight:800}.range-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.range-actions button:disabled{opacity:.5;cursor:not-allowed}.calendar-day.partial{color:#775621;background:#fff0c6}.calendar-day.pending{color:#415869;background:#e2e8ed}.date-rules-card .page-note{margin-bottom:10px}.date-rules-toolbar,.date-rule-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0;display:flex}.date-rules-toolbar label,.date-rule-form label{flex:150px;min-width:130px;margin:0}.date-rules-toolbar label{flex:0 0 164px}.date-rules-toolbar label input,.date-rules-toolbar>button{min-height:52px}.date-rules-toolbar>button{white-space:nowrap}.date-rules-toolbar>span{align-items:center;min-height:52px;display:inline-flex}@media (width<=600px){.date-rules-toolbar label{flex:100%}.date-rules-toolbar>span{min-height:44px}.date-rule-form label{flex:100%}}.date-exceptions-empty{padding:12px}.date-rule-details{margin-top:16px}.date-rule-details summary{cursor:pointer;padding:12px 2px;font-weight:600}.date-rule-details .date-rules-list{margin-top:8px}.date-rules-list{border:1px solid #d9e4df;border-radius:10px;max-height:340px;overflow-y:auto}.date-rules-row{border-bottom:1px solid #e5ede9;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.date-rules-row:last-child{border-bottom:0}.date-rules-row p{margin:4px 0}.date-rules-row small{color:#536b61}.date-rules-row .row-actions{flex-wrap:wrap;justify-content:end}@media (width<=600px){.date-rules-row{flex-direction:column;align-items:flex-start}}.plan-summary{background:#fff;border:1px solid #d9e5e3;border-radius:22px;margin:18px 0;padding:20px 24px}.plan-summary h3{margin:0 0 10px}.plan-summary .page-note{margin:8px 0 12px}.plan-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 0;display:grid}.plan-metrics>div{background:#f3f8f7;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:13px 10px;display:flex}.plan-metrics span{color:#57716d;font-size:13px}.plan-metrics strong{overflow-wrap:anywhere;font-size:24px}.plan-metrics:has(>div:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.plan-item-forecast{color:#166b60;margin:7px 0 0;font-size:13px}@media (width<=760px){.plan-summary{padding:16px}.plan-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-metrics:has(>div:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.plan-metrics>div{padding:12px 8px}.plan-metrics strong{font-size:20px}}.app-shell.admin-shell{max-width:1120px}.app-shell.admin-shell .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.admin-shell .admin-card{min-width:0}@media (width<=760px){.app-shell.admin-shell .admin-grid{grid-template-columns:minmax(0,1fr)}}.companion-card{gap:18px}.companion-main{flex:1;min-width:0}.companion-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.seat-summary,.seat-owner-summary{font-weight:650;color:#315f58!important}.seat-full{color:#a63a2d;font-weight:750}.reservation-ok{font-weight:800;color:#0f766e!important}.owner-badge{color:#315f58;background:#edf5f3;border-radius:9px;align-items:center;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex}.contact-card{overflow-wrap:anywhere;background:#e8f5f1;border-radius:10px;max-width:100%;padding:9px 11px;display:inline-block;color:#174f47!important}.contact-card strong{color:#0f5f56}@media (width<=760px){.companion-card{flex-direction:column}.companion-actions{justify-content:stretch;width:100%}.companion-actions button{width:100%}.owner-badge{justify-content:center;width:100%}}.home-plan-summary{padding:22px 24px 24px}.home-plan-summary h3{color:#18312e;margin:0 0 20px;font-size:20px;line-height:1.35}.home-month-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:14px;display:flex}.home-month-heading h4{margin:0;font-size:16px;font-weight:650;line-height:1.4}.home-month-heading>span{color:#81908d;font-size:12px}.home-month-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:14px;display:grid}.home-month-planned,.home-month-actual{background:#f2f7f6;border-radius:12px;min-width:0;min-height:112px}.home-month-planned{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 8px;display:flex}.home-month-planned>span,.home-month-actual-total>span{color:#203b36;font-size:clamp(13px,2.6vw,16px)}.home-month-planned strong,.home-month-actual-total strong{color:#19322e;white-space:nowrap;font-size:clamp(22px,4.3vw,28px);font-weight:750;line-height:1.15}.home-month-planned strong small,.home-month-actual-total strong small{font-size:.68em;font-weight:600}.home-month-actual{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:center;padding:14px 12px;display:grid}.home-month-actual-total{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.home-month-actual-detail{border-left:1px solid #637771;flex-direction:column;justify-content:center;align-self:stretch;gap:12px;min-width:0;padding-left:12px;display:flex}.home-month-actual-detail>span{color:#203b36;text-align:center;font-size:clamp(12px,2.1vw,14px);line-height:1.35}.home-month-actual-detail b{margin-top:2px;font-size:16px;font-weight:750;display:block}@media (width<=480px){.home-plan-summary{padding:18px 16px 20px}.home-plan-summary h3{margin-bottom:16px;font-size:19px}.home-month-grid{grid-template-columns:1fr;gap:10px}.home-month-planned{flex-direction:row;justify-content:space-between;min-height:84px;padding:14px 20px}.home-month-actual{min-height:108px;padding:12px 14px}.home-month-planned strong,.home-month-actual-total strong{font-size:25px}.home-month-actual-detail>span{font-size:13px}.progress-breakdown{gap:8px}.progress-metric{padding:14px 6px}.progress-note{line-height:1.7}}.plan-entry-main{flex:1 1 0;min-width:0}.plan-title-line{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.plan-title-line strong{overflow-wrap:anywhere}.plan-segment-line+.plan-segment-line{margin-top:8px}.plan-type-label{border-radius:8px;flex:none;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex}.plan-type-self{color:#fff;background:#d97706}.plan-type-course{color:#fff;background:#0f766e}.plan-list .plan-segment-note{color:#617a74;margin:10px 0 0;font-size:12px}.plan-auto-preview{background:#f7faf9;border:1px solid #dce8e4;border-radius:12px;margin:10px 0 12px;padding:11px 13px}.plan-auto-preview .page-note{margin:0 0 9px}.plan-auto-preview .plan-segment-line{font-size:13px}.range-legend{color:#60736f;flex-wrap:wrap;align-items:center;gap:6px 13px;margin:8px 0;font-size:11px;display:flex}.range-legend span{align-items:center;gap:6px;display:inline-flex}.range-legend .mark-holiday{background:#ffe6a0;border:1px solid #dfb446;border-radius:3px;width:11px;height:11px;display:inline-block}.range-grid button{min-width:0;position:relative}.range-grid button.holiday:not(.edge):not(.between){color:#77520c;background:#fff0bc}.range-grid button.between{box-shadow:inset 0 0 0 2px #3a9583}.range-grid button.edge{color:#fff;background:#0f766e;font-weight:800;box-shadow:inset 0 0 0 2px #086052}.range-day-tags{pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;display:flex;position:absolute;top:1px;right:1px}.range-grid .course-mark,.range-legend .course-mark{color:#fff;background:#7952a0;border-radius:5px;place-items:center;width:18px;height:18px;font-size:11px;font-style:normal;font-weight:800;line-height:1;display:inline-grid}.range-legend .course-mark{width:16px;height:16px;font-size:10px}.range-day-tag{color:#77520c;background:#ffe6a0;border-radius:3px;place-items:center;min-width:15px;height:14px;font-size:9px;font-weight:750;line-height:1;display:inline-grid}.range-grid button.edge .range-day-tag{color:#77520c}.range-grid button:disabled{opacity:.65;cursor:wait}.range-status{color:#60736f;margin:6px 0;font-size:12px}.range-explain{color:#677a74;margin:9px 0 0;font-size:12px;line-height:1.6}.plan-date-review{color:#63472b;background:#fffbf5;border:1px solid #ebcdad;border-radius:12px;margin:12px 0;padding:14px;font-size:13px}.plan-date-review h4{color:#88500e;margin:0 0 8px;font-size:15px}.plan-date-review>p{margin:6px 0 10px;line-height:1.6}.review-group{border-top:1px solid #f0dfc8;margin-top:10px;padding-top:10px}.review-group>strong{font-size:13px}.review-group p{margin:5px 0;font-size:12px;line-height:1.6}.review-group ul{overflow-wrap:anywhere;max-height:156px;margin:4px 0 6px;padding-left:18px;overflow-y:auto}.review-group li{margin:3px 0}.plan-date-review .range-actions{flex-wrap:wrap}.app-shell.admin-shell .admin-section-heading{grid-column:1/-1;align-items:baseline;gap:16px;padding:8px 4px 0;display:flex}.admin-section-heading h2{margin:0;font-size:19px}.admin-section-heading p{color:#71837f;margin:0;font-size:13px}.app-shell.admin-shell .academic-year-card{flex-direction:column;padding:22px;display:flex}.academic-year-card h3{margin:0 0 10px}.academic-year-card label{min-width:0;margin:10px 0}.academic-year-card .academic-year-context{margin:0 0 9px}.academic-year-card .academic-year-hint{margin:7px 0 0;line-height:1.6}.academic-year-card .academic-year-footer{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:17px}.academic-year-current{background:#f1f7f5;border:1px solid #e0ece7;border-radius:14px;gap:5px;padding:14px 16px;display:grid}.academic-year-current span,.academic-year-current small{color:#60736f;font-size:13px}.academic-year-current strong{color:#154c44;overflow-wrap:anywhere;font-size:17px}.academic-year-subtitle{margin:22px 0 5px;font-size:15px}.academic-year-switch{border:1px dashed #bdd7d0;border-radius:12px;margin-top:12px;padding:12px 14px}.academic-year-switch p{margin:0 0 9px;font-size:13px;line-height:1.5}@media (width<=950px){.app-shell.admin-shell .academic-year-card{grid-column:1/-1}.app-shell.admin-shell .admin-section-heading{display:block}.admin-section-heading p{margin-top:4px}}@media (width<=500px){.app-shell.admin-shell .academic-year-card{padding:18px}.academic-year-card .academic-year-footer{flex-direction:column;align-items:stretch}.academic-year-card .academic-year-footer button{width:100%}}.check.checkout{color:#fff;background:#c65b1a}.check.checkout:hover{background:#a94b13}.check.checkout:disabled{opacity:.7;cursor:wait}.checkout-success{z-index:60;color:#183b35;pointer-events:none;text-align:center;background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:8px;min-width:min(310px,100vw - 48px);padding:28px 32px;display:flex;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 54px #102f2b55}.checkout-success strong{font-size:26px}.checkout-success-icon{color:#16834a;background:#e6f4ea;border-radius:50%;place-items:center;width:56px;height:56px;font-size:34px;font-weight:700;display:grid}.account-docs{margin-top:16px}.account-docs a{color:#0f766e;border-top:1px solid #e1e9e5;justify-content:space-between;align-items:center;padding:15px 4px;font-weight:600;text-decoration:none;display:flex}.account-docs a span{font-size:24px;line-height:1}@media (width<=760px){.plans-header{flex-wrap:wrap;align-items:center}.plans-header .page-note{flex:0 0 100%;order:2;min-width:0;margin:0}.plans-header>button{white-space:nowrap;flex:none}.plan-list .course-card{flex-direction:column;align-items:stretch;gap:14px}.plan-list .plan-entry-main{flex:none;width:100%;min-width:0}.plan-list .plan-title-line strong{overflow-wrap:normal;word-break:normal}.plan-list .row-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.plan-list .row-actions button{white-space:nowrap}}.progress-note summary{cursor:pointer;color:#2a4b42;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:750;list-style:none;display:flex}.progress-note summary::-webkit-details-marker{display:none}.progress-note-chevron{border-bottom:2px solid;border-right:2px solid;flex:none;width:9px;height:9px;margin-right:4px;transition:transform .2s;transform:rotate(45deg)}.progress-note[open] .progress-note-chevron{transform:rotate(225deg)}.progress-note[open] summary{margin-bottom:8px}.plans-header{justify-content:flex-end}.plans-header .plan-add-button{white-space:nowrap;text-align:center;flex:none;width:auto;min-width:7em}.home-planned-month{color:#7c8c89;white-space:nowrap;margin-top:.35rem;font-size:.78em;display:block}.metric-asterisk{color:#f05252;vertical-align:super;margin-left:.15em;font-size:.7em;line-height:0}.auth-caption{color:#66817c;letter-spacing:.06em;border-top:1px solid #dce8e4;margin:22px 0 0;padding:13px 0 0;font-size:14px}.auth-card{border-radius:26px}.brand p{letter-spacing:.09em}@media (width<=760px){.auth-page{background-position:top}.auth-shell{width:100%;min-height:100svh;padding:36px 18px calc(22px + env(safe-area-inset-bottom));flex-direction:column;gap:0;display:flex}.brand{text-align:center;width:100%;margin:0 auto}.brand .logo{border-radius:22px;width:74px;height:74px;margin:0 auto}.brand h1{margin:15px 0 9px;font-size:clamp(34px,10vw,42px)}.brand p{white-space:nowrap;max-width:100%;margin:0 auto;font-size:13px;line-height:1.7}.auth-panel{width:100%;max-width:480px;margin:clamp(62px,16vh,150px) auto 0}.auth-card{border-radius:28px;padding:24px 22px}.auth-caption{margin-top:24px}}@media (width<=380px){.brand p{letter-spacing:.02em;font-size:12px}.auth-shell{padding-left:14px;padding-right:14px}.auth-card{padding:22px 18px}}.home-month-grid{background:#f2f7f6;border-radius:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr) minmax(0,2.05fr);align-items:stretch;gap:0;display:grid;overflow:hidden}.home-month-date,.home-month-planned,.home-month-actual{background:0 0;border-radius:0;min-width:0;min-height:132px}.home-month-date{text-align:center;color:#19322e;border-right:1px solid #cbd9d5;flex-direction:column;justify-content:center;align-items:center;min-height:0;margin:20px 0;font-size:clamp(15px,2.3vw,23px);line-height:1.35;display:flex}.home-month-planned{padding:14px 5px}.home-month-actual{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:0;padding:14px 5px;display:grid}.home-month-actual-total{border-left:1px solid #637771;height:100%}.progress-metric small{white-space:nowrap}@media (width<=480px){.home-month-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,2.25fr)}.home-month-date{font-size:14px}.home-month-planned,.home-month-actual{min-height:112px}.home-month-planned>span,.home-month-actual-total>span,.home-month-actual-detail>span{font-size:12px}.home-month-planned strong,.home-month-actual-total strong{font-size:24px}.home-month-actual-detail b{font-size:15px}}.home-month-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.home-month-date,.home-month-planned{min-height:88px;margin:0;padding:14px 18px}.home-month-date{text-align:left;border-right:1px solid #cbd9d5;align-items:flex-start;margin:14px 0;padding-top:0;padding-bottom:0}.home-month-planned{flex-direction:row;justify-content:space-between;gap:12px;padding-right:28px}.home-month-planned>span{white-space:nowrap}.home-month-actual{border-top:1px solid #d8e4e0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);min-height:108px;margin:0 18px;padding:16px 4px}.home-month-actual-total{border-left:0}.home-month-actual-detail{border-left:1px solid #cbd9d5;padding-left:18px}@media (width<=480px){.home-month-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.home-month-date,.home-month-planned{min-height:80px;padding:12px}.home-month-planned{gap:8px}.home-month-planned>span{font-size:14px}.home-month-actual{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);min-height:112px;margin:0 12px;padding:14px 2px}.home-month-actual-detail{padding-left:12px}.home-month-actual-detail>span{font-size:12px}.home-month-actual-detail b{font-size:16px}.auth-panel{margin-top:clamp(22px,5vh,55px)}}.range-save-hint{color:#a45613;background:#fff4df;border:1px solid #ead2a7;border-radius:10px;margin:8px 0;padding:10px 12px;font-weight:650}.range-actions:has(.range-save-hint){flex-wrap:wrap}.range-actions .range-save-hint{flex:0 0 100%}.home-plan-summary.monthly-travel{padding:20px 22px}.monthly-travel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.monthly-travel-head h3{margin:0}.monthly-travel-head>span{color:#7c8b87;white-space:nowrap;font-size:14px}.monthly-travel-row{color:#173a35;justify-content:space-between;align-items:center;gap:12px;padding:16px 2px;display:flex}.monthly-travel-row+.monthly-travel-row{border-top:1px solid #dfe8e5}.monthly-travel-row>span,.monthly-travel-total>span{font-size:16px}.monthly-travel-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:30px;font-weight:700;line-height:1}.monthly-travel-row strong small{margin-left:4px;font-size:15px;font-weight:500}.monthly-travel-actual{padding-bottom:2px;display:block}.monthly-travel-total{justify-content:space-between;align-items:center;gap:12px;display:flex}.monthly-travel-details{gap:8px;margin-top:14px;display:flex}.monthly-travel-details span{color:#5d7770;white-space:nowrap;background:#f2f7f5;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:5px;min-width:0;padding:10px 12px;font-size:13px;display:flex}.monthly-travel-details b{color:#1b4941;font-variant-numeric:tabular-nums;font-size:15px}@media (width<=480px){.home-plan-summary.monthly-travel{padding:18px 17px}.monthly-travel-row{padding:15px 2px}.monthly-travel-row strong{font-size:27px}.monthly-travel-details{gap:7px}.monthly-travel-details span{padding:9px 8px;font-size:12px}.monthly-travel-details b{font-size:14px}}@media (width<=350px){.monthly-travel-details{flex-direction:column}}.account-doc-links{border-top:1px solid #dce7e3;margin-top:22px}.account-doc-links a{color:#0d736b;justify-content:space-between;align-items:center;padding:16px 4px;font-weight:600;text-decoration:none;display:flex}.account-doc-links a+a{border-top:1px solid #dce7e3}.account-doc-links a span{font-size:24px;line-height:1}.course-note{color:#748782;margin:22px 4px 12px;font-size:.9rem;line-height:1.6}.row-actions button.danger-action{color:#b54134;background:#fff0ed}.row-actions button.danger-action:hover{background:#ffe3dc}.course-admin-list>div{flex-direction:column;align-items:stretch;gap:9px}.course-admin-list>div>span:first-child{overflow-wrap:anywhere;line-height:1.5}.course-admin-list .row-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.course-admin-list .row-actions button{white-space:nowrap;padding:7px 11px}.plan-calendar-card{background:#fff;border:1px solid #dce7e4;border-radius:24px;margin:0 0 26px;padding:20px 24px 24px}.plan-calendar-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.plan-calendar-heading h3{margin:0}.plan-calendar-switch{color:#17312e;align-items:center;gap:12px;display:flex}.plan-calendar-switch button{width:36px;height:36px;padding:0;font-size:22px;line-height:1}.plan-calendar-legend{color:#60736f;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;display:flex}.plan-day-swatch{background:#e2f1ec;border-radius:4px;width:13px;height:13px}.plan-holiday-swatch,.plan-holiday-mark{color:#fff;background:#b45e40;border-radius:4px;place-items:center;width:17px;height:17px;font-size:11px;font-weight:800;line-height:1;display:grid}.plan-holiday-swatch{margin-left:14px}.plan-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.plan-calendar-grid b,.plan-calendar-grid button{color:#17312e;min-height:44px;font:inherit;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.plan-calendar-grid b{color:#82918d;font-size:13px;font-weight:500}.plan-calendar-grid button.is-planned{color:#0c756c;background:#e2f1ec;font-weight:750}.plan-calendar-grid button.is-selected{outline-offset:-2px;outline:2px solid #0c756c}.plan-calendar-grid button i{background:#0c756c;border-radius:50%;width:6px;height:6px;position:absolute;bottom:3px}.plan-calendar-grid button .plan-holiday-mark{position:absolute;top:0;left:0}.plan-calendar-detail{color:#405954;background:#f2f6f5;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px}.range-legend .mark-planned{background:#da7210;border-radius:50%;width:11px;height:11px;display:inline-block}.range-grid button.planned:not(.edge):not(.between){box-shadow:inset 0 0 0 2px #da7210}.range-planned-dot{background:#da7210;border-radius:50%;width:6px;height:6px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.range-grid button.edge .range-planned-dot{background:#fff}.datetime24-trigger{color:#173a35;text-align:left;font-variant-numeric:tabular-nums;background:#fbfdfc;border:1px solid #cbded7;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:52px;margin-top:8px;padding:12px 14px;display:flex}.datetime24-trigger.is-empty{color:#718981}.datetime24-overlay{z-index:100;background:#0d2b265e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.datetime24-sheet{width:min(100%,540px);max-height:min(92dvh,800px);padding:20px 22px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;overflow:auto;box-shadow:0 -10px 36px #102e2930}.datetime24-sheet-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.datetime24-sheet-head h3{margin:0;font-size:20px}.datetime24-sheet-head p{color:#728981;margin:4px 0 12px;font-size:13px}.datetime24-sheet-head button{color:#698078;background:0 0;border:0;font-size:26px;line-height:1}.datetime24-month{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.datetime24-month button{color:#0f766e;background:#f1f7f4;border:0;border-radius:10px;width:38px;height:38px;font-size:24px}.datetime24-calendar{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.datetime24-calendar b,.datetime24-calendar button{color:#173a35;background:0 0;border:0;border-radius:10px;place-items:center;min-height:38px;font-size:14px;display:grid}.datetime24-calendar b{color:#82958e;font-weight:500}.datetime24-calendar button.selected{color:#fff;background:#0f766e;font-weight:700}.datetime24-time-label{margin:13px 0 8px;font-weight:700}.datetime24-time-label small{color:#789087;margin-left:5px;font-weight:400}.datetime24-inputs{align-items:center;gap:8px;display:flex}.datetime24-inputs input{text-align:center;font-variant-numeric:tabular-nums;border:1px solid #cbded7;border-radius:10px;width:90px;min-width:0;padding:10px;font-size:21px}.datetime24-inputs input:focus{outline:2px solid #0f766e}.datetime24-inputs span{font-size:22px;font-weight:700}.datetime24-quick{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.datetime24-quick button{color:#23675b;background:#f4f9f7;border:1px solid #d2e4dd;border-radius:9px;padding:8px 12px}.datetime24-error{color:#bb4238;margin:10px 0 0;font-size:13px}.datetime24-footer{gap:9px;margin-top:18px;display:flex}.datetime24-footer button{flex:1;min-width:0}.monthly-travel-progress{background:#e4eeea;border-radius:20px;height:11px;margin:14px 2px 0;overflow:hidden}.monthly-travel-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#36aa91);height:100%;transition:width .25s}@media (width<=380px){.datetime24-sheet{padding-left:16px;padding-right:16px}.datetime24-calendar b,.datetime24-calendar button{min-height:36px}}@media (width<=600px){.plan-calendar-card{padding:16px 12px 18px}.plan-calendar-heading{flex-wrap:wrap}.plan-calendar-grid{gap:3px}.plan-calendar-grid b,.plan-calendar-grid button{min-height:42px;font-size:14px}}
