:root{--royal:#1e4b98;--royal-deep:#133a78;--sky:#30a6e3;--mint:#60ba70;--ivory:#faf6ef;--border:#e6e8ec;--divider:#ecedef;--ink:#14233d;--muted:#6b778c;--success:#22c55e;--warning:#f59e0b;--alert:#ef4444;--bg:#f6f9fb;--ring:0 0 0 4px #30a6e32e;--shadow:0 26px 70px #14233d33;--soft-shadow:0 14px 34px #14233d1a;--card-shadow:0 12px 30px #14233d14;--lift-shadow:0 18px 38px #1e4b982e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--ivory);--ui-radius:18px;--ui-gap:12px;--ui-section:16px;--ui-shadow:0 10px 24px #14233d0e;--space-xs:6px;--space-sm:10px;--space-md:14px;--space-lg:18px;--control-h:52px;--ds-primary:var(--brand-royal);--ds-primary-strong:var(--brand-royal-deep);--ds-primary-soft:#eef7ff;--ds-bg:var(--app-bg);--ds-surface:var(--brand-surface);--ds-surface-raised:#fbfcfd;--ds-border:var(--brand-border);--ds-divider:var(--brand-divider);--ds-text:#14233d;--ds-text-soft:#64748b;--ds-muted:#6b778c;--ds-danger:var(--brand-alert);--ds-radius-sm:12px;--ds-radius-md:14px;--ds-radius-lg:18px;--ds-radius-xl:22px;--ds-space-1:6px;--ds-space-2:10px;--ds-space-3:14px;--ds-space-4:18px;--ds-space-5:22px;--ds-control:48px;--ds-shadow-soft:0 1px 2px #14233d0a;--font-body:16.5px;--font-caption:13.5px;--font-small:14.5px;--font-label:15px;--font-card:17px;--font-section:20px;--font-title:22px;--font-display:25px;--brand-royal:#1e4f9f;--brand-royal-deep:#143a78;--brand-sky:#30b6e3;--brand-mint:#60ad70;--brand-slate:#64748b;--brand-success:#22c55e;--brand-warning:#f5b608;--brand-alert:#ef4444;--brand-neutral:#64748b;--brand-surface:#fff;--brand-elevated:#f2f4f7;--brand-border:#e6e8ec;--brand-divider:#ecedef;--brand-muted:#64748b;--ds-card-shadow:0 10px 24px #14233d0e;--ds-panel-shadow:0 20px 60px #14233d29;--ds-success-soft:#ecf8f0;--ds-lift-shadow:0 14px 28px #1e4b9824;--app-bg:#f8fafc;--surface-white:#fff;--border-soft:#e6e8ec;--divider-soft:#ecedef;--text-primary:#102437;--text-secondary:#475569;--text-tertiary:#64748b;--status-wait-bg:#fef3f2;--status-wait-text:#d92d20;--status-progress-bg:#fffaeb;--status-progress-text:#b54708;--status-done-bg:#ecfdf3;--status-done-text:#15803d;--status-blue-bg:#eff8ff;--status-blue-text:#1e4f9f;--status-empty-bg:#f8fafc;--status-empty-text:#64748b;--radius-card:20px;--radius-hero:24px;--radius-button:14px;--shadow-ios:0 14px 34px #10243714;--shadow-soft-ios:0 8px 22px #1024370f;--app-font-family:Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--app-surface:#fff;--app-border:#e6e8ec;--app-text:#102437;--app-text-muted:#475569;--app-text-subtle:#64748b;--app-primary:#1e4f9f;--app-primary-soft:#eff8ff;--app-card-radius:20px;--app-control-radius:14px;--app-shadow-soft:0 8px 22px #1024370f;--type-page-title:28px;--type-section-title:20px;--type-card-title:17px;--type-body:15px;--type-caption:13px;--line-title:1.18;--line-section:1.25;--line-body:1.5;--line-caption:1.35;font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17.5px}*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:linear-gradient(145deg,#faf6effa 0%,#f6fbfffa 48%,#f1f9f4fa 100%),repeating-linear-gradient(135deg,#1e4b9809 0 1px,#0000 1px 18px);font-size:17.5px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}#app{place-items:center;min-height:100dvh;padding:24px;display:grid}.device{width:min(430px,100%);min-height:min(900px,100vh - 48px);max-height:930px;box-shadow:var(--shadow);background:#0e1829;border-radius:42px;padding:12px}.screen{background:linear-gradient(180deg, #fffffff2, #fffffffa), var(--ivory);border:1px solid #ffffff80;border-radius:32px;height:calc(min(900px,100vh - 48px) - 24px);min-height:720px;position:relative;overflow:hidden}.screen:before{content:"";pointer-events:none;background-image:linear-gradient(#1e4b9809 1px,#0000 1px),linear-gradient(90deg,#1e4b9809 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}.content{flex-direction:column;height:100%;display:flex;position:relative}.scroll{-webkit-overflow-scrolling:touch;padding:20px 20px 110px;overflow-y:auto}.scroll::-webkit-scrollbar{width:0}.brand-mark{color:var(--royal);letter-spacing:0;align-items:center;gap:10px;font-weight:600;display:inline-flex}.brand-title{line-height:1.03;display:grid}.brand-title strong{font-size:21px}.brand-title span{color:var(--royal-deep);font-size:14px;font-weight:650}.auth-hero{-webkit-overflow-scrolling:touch;flex-direction:column;gap:24px;width:100%;min-height:100%;padding:34px 24px 22px;display:flex;overflow-y:auto}.auth-card{min-width:0}.brand-panel{min-height:112px;color:var(--ink);background:linear-gradient(155deg,#fffffffa,#f4f9fdf5 58%,#f8fbf7f5);border:1px solid #dae7ebf5;border-radius:28px;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 42px #14233d17}.brand-panel:before,.brand-panel:after{content:none}.brand-panel>*{z-index:1;position:relative}.brand-panel .brand-mark{color:var(--royal)}.brand-panel .brand-title span,.brand-panel .brand-title strong{color:var(--royal-deep)}.page-title h1{letter-spacing:0;margin:0;font-size:33px;line-height:1.15}.page-title p{color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:17px;line-height:1.55}.auth-card{gap:14px;display:grid}.field{gap:7px;display:grid}.control{border:1px solid var(--border);width:100%;min-height:56px;color:var(--ink);background:#ffffffeb;border-radius:16px;outline:none;padding:0 15px;box-shadow:inset 0 1px #fffc}textarea.control{resize:vertical;min-height:92px;padding-top:14px}.check-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:16px;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--royal)}.primary-btn,.secondary-btn,.ghost-btn{border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 16px;font-weight:600;display:inline-flex}.primary-btn{background:linear-gradient(135deg, var(--royal), #247ac0);color:#fff;box-shadow:0 12px 24px #1e4b9838}.data-note{background:#eef8ff;border:1px solid #cfe8fb;border-radius:18px;max-width:100%;padding:14px;overflow:hidden}.data-note strong{color:var(--royal);font-size:16px;display:block}.data-note p{color:#53657d;overflow-wrap:anywhere;margin:7px 0 0;font-size:14.5px;line-height:1.52}.app-header{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #e6e8ecb3;padding:16px 18px 12px;position:sticky;top:0}.header-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.location{min-width:0;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.location strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:18px;display:block;overflow:hidden}.mini-mark{width:34px;height:34px;color:var(--royal);background:linear-gradient(135deg,#1e4b981c,#60ba701f);border-radius:50%;place-items:center;font-weight:700;display:grid}.header-actions{align-items:center;gap:8px;display:flex}.icon-btn{width:40px;height:40px;color:var(--royal);background:#ffffffb8;border:1px solid #e6e8ece6;border-radius:14px;place-items:center;display:grid;position:relative}.icon-btn svg,.tab svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.badge-dot{background:var(--alert);color:#fff;border:2px solid #fff;border-radius:99px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:12px;font-weight:700;display:grid;position:absolute;top:-3px;right:-3px}.bottom-tabs{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #e6e8ecf2;border-radius:24px;grid-template-columns:repeat(5,1fr);gap:4px;height:84px;padding:8px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 18px 40px #14233d1f}.tab{color:#7a8799;background:0 0;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.page{flex:1;padding:18px 18px 108px;position:relative;overflow-y:auto}.page::-webkit-scrollbar{width:0}.section-title{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.section-title h2{letter-spacing:0;margin:0;font-size:20px}.section-title span,.small-muted{color:var(--muted);font-size:14px;font-weight:700}.segmented{border:1px solid var(--border);background:#ffffffbd;border-radius:18px;gap:6px;padding:5px;display:flex}.segmented button{min-height:36px;color:var(--muted);background:0 0;border-radius:13px;flex:1;font-size:15px;font-weight:600}.segmented small{color:inherit;font-size:12px;font-weight:500}.segmented button.is-active{background:var(--royal);color:#fff}.list{gap:10px;display:grid}.person-card,.request-card,.plain-card,.notice-card,.profile-card{border:1px solid var(--border);background:#ffffffe6;border-radius:20px;padding:15px;box-shadow:inset 0 1px #fffc}.person-card,.request-card,.notice-card{align-items:center;gap:12px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg, var(--royal), var(--sky));border-radius:16px;flex:none;place-items:center;width:46px;height:46px;font-weight:700;display:grid}.avatar.mint{background:linear-gradient(135deg, var(--mint), #2a9f73)}.avatar.slate{background:linear-gradient(135deg,#64748b,#475569)}.card-body{flex:1;min-width:0}.card-body strong{font-size:17px;display:block}.card-body p{color:var(--muted);margin:4px 0 0;font-size:14.5px;line-height:1.4}.chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.status-pill{border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:54px;min-height:28px;padding:0 10px;font-size:14px;font-weight:700;display:inline-flex}.qr-box{border:1px solid var(--divider);width:146px;height:146px;box-shadow:var(--soft-shadow);background:#fff;border-radius:24px;place-items:center;display:grid}.qr-grid{background:linear-gradient(90deg, var(--royal) 12px, transparent 12px) 0 0 / 24px 24px, linear-gradient(var(--royal) 12px, transparent 12px) 0 0 / 24px 24px, linear-gradient(90deg, transparent 6px, #fff 6px 18px, transparent 18px) 0 0 / 24px 24px, linear-gradient(transparent 6px, #fff 6px 18px, transparent 18px) 0 0 / 24px 24px;opacity:.9;border-radius:10px;width:96px;height:96px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mini-stat{border:1px solid var(--border);background:#ffffffe0;border-radius:18px;padding:14px}.mini-stat span{color:var(--muted);font-size:14px;font-weight:600;display:block}.mini-stat strong{letter-spacing:0;margin-top:7px;font-size:24px;display:block}.action-row{gap:9px;margin-top:12px;display:flex}.action-row>*{flex:1}.detail-panel{background:#f4fbff;border:1px solid #30a6e347;border-radius:20px;margin-top:12px;padding:15px}.detail-panel h3{margin:0 0 8px;font-size:18px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.detail-item{background:#ffffffc7;border-radius:15px;padding:11px}.detail-item span{color:var(--muted);font-size:13px;font-weight:600;display:block}.detail-item strong{margin-top:4px;font-size:15px;display:block}.date-chip{color:#256b3d;background:#f2f7f2;border:1px solid #dcefe0;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:15px;font-weight:600;display:inline-flex}.profile-photo{align-items:center;gap:14px;margin-bottom:14px;display:flex}.profile-img{object-fit:cover;background:#eef8ff;border:3px solid #fff;border-radius:18px;flex:none;width:48px;height:48px;display:block;box-shadow:0 10px 24px #14233d29}.profile-img-lg{border-radius:26px;width:76px;height:76px}.profile-photo-readonly{border:1px solid var(--border);background:linear-gradient(135deg,#f4fbff,#f3faf2);border-radius:22px;align-items:center;gap:16px;margin-bottom:12px;padding:14px;display:flex}.profile-photo-readonly strong{font-size:21px;display:block}.photo-edit-wrap{flex:none;position:relative}.photo-edit-btn{color:#fff;background:linear-gradient(135deg, var(--royal), var(--sky));border:3px solid #fff;border-radius:14px;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:-6px;right:-6px;box-shadow:0 8px 18px #1e4b983d}.photo-edit-btn svg{stroke-width:2.3px;width:16px;height:16px}.field-search{border-radius:16px;width:52px;height:56px}.top-back{align-items:center;gap:10px;margin-bottom:18px;display:flex}.info-list{gap:10px;display:grid}.info-row{border-bottom:1px solid var(--divider);grid-template-columns:92px 1fr;gap:10px;padding:12px 0;display:grid}.info-row:last-child{border-bottom:0}.info-row span{color:var(--muted);font-size:14px;font-weight:600}.info-row strong{word-break:keep-all;font-size:16px}.modal-scrim{z-index:60;background:#0b172b5c;align-items:end;display:flex;position:absolute;inset:0}.sheet{background:#fff;border-radius:28px 28px 0 0;width:100%;max-height:76%;padding:22px;overflow-y:auto;box-shadow:0 -18px 48px #14233d38}.sheet h2{margin:0 0 8px;font-size:22px}.sheet p{color:var(--muted);line-height:1.58}.terms-sheet{gap:14px;display:grid}.terms-intro{margin:0;font-size:15.5px;line-height:1.62;color:var(--ink)!important}.terms-detail-list{gap:10px;display:grid}.terms-detail-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:14px}.terms-detail-card h3{color:var(--royal);margin:0 0 8px;font-size:16px}.terms-detail-card p{color:#53657d;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:14.5px;line-height:1.66}.toast{z-index:1000;opacity:0;pointer-events:none;color:#fff;min-width:min(360px,100vw - 40px);box-shadow:var(--shadow);background:#10213b;border-radius:16px;padding:14px 16px;font-weight:500;transition:all .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.device{background:linear-gradient(145deg,#071326,#152848 56%,#0c1729);border:1px solid #ffffff1f;box-shadow:0 34px 90px #0912214d}.screen{background:linear-gradient(180deg, #fffffff5, #f8fbfdfa 46%, #faf6efe6 100%), var(--bg);box-shadow:inset 0 1px #fffc,inset 0 -1px #1e4b9814}.screen:before{background-image:linear-gradient(115deg,#0000 0%,#30a6e30e 42%,#0000 72%),linear-gradient(#1e4b9807 1px,#0000 1px);background-size:100% 100%,100% 28px;-webkit-mask-image:linear-gradient(#000 0%,#0000 74%);mask-image:linear-gradient(#000 0%,#0000 74%)}.brand-panel{isolation:isolate;position:relative;overflow:hidden}.auth-hero{gap:22px}.brand-panel{border:1px solid #d6e6eaeb;box-shadow:0 18px 42px #14233d1c}.page-title h1{font-weight:700}.page-title p,.small-muted,.card-body p,.data-note p,.sheet p{word-break:keep-all}.control{background:#ffffffdb;border-color:#cfd8e3e6;min-height:58px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px #ffffffe6,0 7px 18px #14233d0a}.control:focus{box-shadow:var(--ring), 0 10px 24px #14233d0f;background:#fff;border-color:#30a6e3e6}.primary-btn,.secondary-btn,.ghost-btn,.segmented button,.tab,.icon-btn,.person-card,.request-card,.notice-card,.plain-card{transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s}.primary-btn,.secondary-btn{border-radius:18px;min-height:56px}.secondary-btn{background:linear-gradient(#f3faff,#eaf6ff);border-color:#30a6e340;box-shadow:0 10px 22px #30a6e31a}.ghost-btn{background:#eff7ffb8;border:1px solid #1e4b981a;min-height:44px;padding-inline:14px}button:focus-visible,.tab:focus-visible,.plain-card:focus-visible,.request-card:focus-visible,.notice-card:focus-visible{box-shadow:var(--ring), var(--card-shadow);outline:none}button:active:not(:disabled),.person-card:active,.request-card:active,.notice-card:active,.plain-card:active{transform:translateY(1px)scale(.99)}.app-header{background:#ffffffc2;border-bottom-color:#cfd8e3b8;box-shadow:0 10px 28px #14233d0f}.mini-mark{color:#fff;background:linear-gradient(135deg, var(--royal), var(--sky));box-shadow:0 8px 18px #1e4b9829}.icon-btn{background:#ffffffdb;border-radius:16px;width:44px;height:44px;box-shadow:0 8px 18px #14233d12}.badge-dot{top:-5px;right:-4px;box-shadow:0 6px 14px #ef444447}.bottom-tabs{background:#ffffffd1;border-color:#ffffffb8;height:92px;padding:9px;box-shadow:0 22px 50px #14233d29,inset 0 1px #ffffffe6}.tab{border:1px solid #0000;font-size:13.5px}.tab.is-active{color:#fff;background:linear-gradient(135deg, var(--royal), #2588ce);border-color:#ffffff52;box-shadow:0 12px 24px #1e4b9833}.page{padding-bottom:124px}.section-title h2{font-size:21px;font-weight:700}.section-title span,.small-muted{font-size:14.5px}.segmented{background:#ffffffb3;border-color:#cfd8e3c7;gap:7px;padding:7px;box-shadow:inset 0 8px 20px #14233d0d}.segmented button{border-radius:15px;min-height:42px}.segmented button.is-active{background:linear-gradient(135deg, var(--royal), #278cd0);box-shadow:0 10px 20px #1e4b982e}.person-card,.request-card,.plain-card,.notice-card,.profile-card,.mini-stat,.detail-panel,.data-note,.terms-detail-card{box-shadow:var(--card-shadow), 0 1px 0 #ffffffdb inset;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border-color:#cfd8e3b8}.person-card.is-highlight{background:linear-gradient(#fffdf2,#fffaf0);border-color:#f59e0b75}.avatar{border-radius:18px;width:50px;height:50px;box-shadow:0 10px 20px #1e4b9824}.card-body strong{font-size:18px;line-height:1.35}.card-body p{font-size:15px}.status-pill{min-height:30px;font-size:14.5px}.mini-stat{border-radius:20px;padding:16px}.mini-stat strong{font-size:25px;font-weight:700}.detail-panel{background:linear-gradient(#f4fbffeb,#ffffffdb)}.detail-item{background:#ffffffbd;border:1px solid #e6e8ec9e}.data-note{background:linear-gradient(#eef8ffeb,#f5fbffd6)}.qr-box{border-radius:28px;box-shadow:0 18px 38px #14233d1f}.date-chip{min-height:38px;padding-inline:14px;box-shadow:0 7px 14px #256b3d14}.profile-photo-readonly{background:linear-gradient(135deg,#f4fbfff0,#f2faf2e6);box-shadow:inset 0 12px 26px #14233d0f}.profile-img{border-color:#fffffff0;box-shadow:0 14px 28px #14233d2e}.profile-trigger{padding:0;overflow:hidden}.profile-img-header{width:38px;height:38px;box-shadow:none;border-width:2px;border-radius:14px}.info-row{grid-template-columns:104px 1fr;padding:13px 0}.info-row span{font-size:14.5px}.info-row strong{font-size:16.5px}.sheet{background:linear-gradient(#fffffffa,#f8fbfdfa);border:1px solid #ffffffb8}.terms-detail-card{background:#ffffffe6}.toast{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#10213bf0;border:1px solid #ffffff24}.stepper span{min-height:42px;color:var(--muted);text-align:center;background:#ffffffc2;border:1px solid #cfd8e3b8;border-radius:14px;place-items:center;padding:0 6px;font-size:13px;font-weight:700;display:grid}.stepper span.is-active{color:#fff;background:linear-gradient(135deg, var(--royal), #278cd0);border-color:#0000;box-shadow:0 10px 20px #1e4b9829}.sync-note{min-height:30px;color:var(--royal-deep);background:#1e4b9814;border:1px solid #1e4b9814;border-radius:999px;align-items:center;gap:7px;margin-top:12px;padding:0 11px;font-size:13.5px;font-weight:600;display:inline-flex}.sync-note span,.dot{background:var(--success);border-radius:50%;width:9px;height:9px}.sensitive-row strong{min-height:30px;color:var(--royal-deep);background:#f4f8fb;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.empty-state,.result-panel{text-align:center;box-shadow:var(--card-shadow);background:#ffffffd6;border:1px solid #cfd8e3b8;border-radius:22px;justify-items:center;gap:9px;padding:22px 16px;display:grid}.empty-state>span,.result-panel>span{width:52px;height:52px;color:var(--royal);background:#eff7ff;border-radius:18px;place-items:center;display:grid}.empty-state svg,.result-panel svg{width:26px;height:26px}.empty-state strong,.result-panel strong{font-size:19px;font-weight:700}.empty-state p,.result-panel p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.result-panel.success>span{color:#fff;background:linear-gradient(135deg, var(--success), #2fb981)}.select-like{text-align:left;justify-content:space-between;align-items:center;display:flex}.select-like span{color:var(--royal)}.calendar-head{justify-content:space-between;align-items:center;gap:10px;margin:14px 0 10px;display:flex}.calendar-head span{color:var(--muted);font-size:14px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-week{margin-bottom:6px}.calendar-week b{color:var(--muted);text-align:center;font-size:13px}.calendar-empty{min-height:52px}.calendar-day{min-height:54px;color:var(--ink);background:#ffffffdb;border:1px solid #cfd8e3b8;border-radius:15px;place-items:center;padding:4px;display:grid}.calendar-day strong{font-size:16px}.calendar-day small{font-size:12px;font-weight:700}.calendar-day.is-selected{color:#fff;background:linear-gradient(135deg, var(--royal), #278cd0);box-shadow:0 12px 22px #1e4b982e}.calendar-day.is-approved{color:#1b7d42;background:#eaf8ee}.calendar-day.is-pending{color:#a15c00;background:#fff7e8}.calendar-day.is-off{color:var(--royal);background:#eff7ff}.calendar-day.is-rejected{color:#b42318;background:#fff0ee}.calendar-day.is-selected small,.calendar-day.is-selected strong{color:#fff}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:13px;font-weight:600;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.password-checks{background:#eff7ffb8;border:1px solid #cfd8e3b8;border-radius:18px;gap:8px;margin:14px 0 0;padding:14px;list-style:none;display:grid}.password-checks li{color:var(--muted);align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.password-checks span{color:#fff;background:#fff;border:1px solid #64748b38;border-radius:8px;place-items:center;width:22px;height:22px;font-size:14px;font-weight:700;display:grid}.notice-card.is-selected{box-shadow:var(--lift-shadow);background:linear-gradient(135deg,#eff7ff,#ffffffe6);border-color:#1e4b985c}.comfort-mode{--ink:#071326;--muted:#334155}.comfort-mode .screen{background:#fff}.comfort-mode .page,.comfort-mode .scroll{font-size:18.5px}.comfort-mode .card-body p,.comfort-mode .small-muted,.comfort-mode .data-note p{color:#334155;font-size:16px}.comfort-mode .primary-btn,.comfort-mode .secondary-btn,.comfort-mode .control,.comfort-mode .tab,.comfort-mode .segmented button{border-width:2px}body{font-weight:400;line-height:1.58}button,input,select,textarea{font-weight:400}strong,b{font-weight:600}.page-title h1,.sheet h2{font-weight:700;line-height:1.22}.brand-title strong,.section-title h2,.card-body strong,.data-note strong,.plain-card strong,.location strong{font-weight:600}.primary-btn,.secondary-btn,.ghost-btn,.segmented button,.tab{font-weight:600;line-height:1.25}.person-card,.request-card,.notice-card,.plain-card{font-weight:400}.small-muted,.section-title span,.brand-title span,.card-body p,.data-note p,.sheet p,.terms-intro,.terms-detail-card p{font-weight:400;line-height:1.58}.field label,.segmented small,.location,.date-chip,.sync-note,.password-checks li,.calendar-legend,.info-row span{font-weight:500}.status-pill,.badge-dot,.password-checks span,.calendar-day{font-weight:600}.toast{font-weight:500}body{font-size:17px;line-height:1.58}.auth-hero{gap:18px;padding:26px 22px 22px}.scroll{padding:20px 20px 108px}.page{padding:16px 18px 104px}.list,.info-list,.terms-detail-list,.password-checks{gap:var(--ui-gap)}.page-title p{margin-top:7px;font-size:15.5px;line-height:1.6}.brand-panel{min-height:104px;box-shadow:var(--ui-shadow);border-radius:24px;padding:22px}.brand-mark{gap:11px}.brand-title strong{font-size:20px;line-height:1.04}.brand-title span{font-size:13.5px}.app-header{padding:13px 16px 10px}.header-line{gap:10px}.location{gap:9px;font-size:13.5px}.mini-mark{width:32px;height:32px}.icon-btn{border-radius:13px;width:40px;height:40px}.control,.select-like{border-radius:14px;min-height:52px;font-size:16px}textarea.control{min-height:96px;line-height:1.55}.field label{font-size:14.5px}.primary-btn,.secondary-btn,.ghost-btn{border-radius:15px;min-height:50px;padding-inline:15px;font-size:16px}.person-card,.request-card,.plain-card,.notice-card,.profile-card,.mini-stat,.detail-panel,.data-note,.terms-detail-card,.result-panel{border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);padding:14px}.person-card,.request-card,.notice-card{align-items:flex-start;gap:12px}.plain-card{min-height:58px}.card-body strong,.plain-card strong,.data-note strong{font-size:16.5px;line-height:1.35}.card-body p,.data-note p,.small-muted{font-size:14.5px;line-height:1.55}.section-title{align-items:center;margin-bottom:10px}.section-title h2{font-size:19px;line-height:1.32}.section-title span{font-size:13.5px}.segmented{border-radius:16px;gap:5px;padding:5px}.segmented button{border-radius:12px;min-height:38px;font-size:14.5px}.status-pill,.date-chip,.sync-note{min-height:28px;font-size:12.5px}.bottom-tabs{border-radius:22px;height:78px;padding:7px;bottom:10px;left:10px;right:10px}.tab{border-radius:16px;gap:4px;min-width:0;font-size:12px}.avatar,.profile-img-header{flex:none}.page,.scroll{line-height:1.58}.page>:first-child,.scroll>:first-child{margin-top:0}.auth-card,.field,.profile-card,.detail-panel,.terms-sheet{gap:var(--space-sm)}.section-title{gap:var(--space-sm);min-height:30px}.list,.info-list,.off-dates,.password-checks,.terms-detail-list,.chip-row,.field-row,.two-col,.detail-grid{gap:var(--space-sm)}.two-col,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row{grid-template-columns:minmax(0, 1fr) var(--control-h)}.field-search{width:var(--control-h);height:var(--control-h);border-radius:14px}.control,.select-like,.primary-btn,.secondary-btn,.ghost-btn{min-height:var(--control-h)}.action-row{gap:var(--space-sm);margin-top:var(--space-md)}.person-card,.request-card,.notice-card{min-height:76px}.plain-card,.data-note,.mini-stat,.detail-item{min-height:auto}.mini-stat,.detail-item{border-radius:16px;padding:12px}.mini-stat span,.detail-item span{font-size:12.5px;line-height:1.35}.mini-stat strong,.detail-item strong{line-height:1.25}.info-row{align-items:center;gap:var(--space-sm);grid-template-columns:96px minmax(0,1fr);min-height:48px;padding:10px 0}.info-row span{line-height:1.35}.info-row strong{line-height:1.45}.card-body{min-width:0}.card-body strong,.plain-card strong,.data-note strong{word-break:keep-all;overflow-wrap:anywhere}.card-body p,.data-note p,.terms-detail-card p{word-break:keep-all;overflow-wrap:anywhere;margin-top:5px}.status-pill,.date-chip,.sync-note{padding-inline:10px;line-height:1}.segmented{margin-top:0}.segmented button{min-height:42px}.calendar-grid{gap:var(--space-xs)}.calendar-day,.calendar-empty{min-height:50px}.sheet h2{line-height:1.28}.tab{min-height:62px;line-height:1.2}.app-header{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom:1px solid #edf0f4;padding:14px 16px 12px}.location>span:last-child{min-width:0}.location strong{color:#121722;font-size:19px;font-weight:700}.mini-mark{color:#ec1580;width:38px;height:38px;box-shadow:none;background:#fff0f8;border-radius:12px;font-size:20px}.header-actions .icon-btn{width:38px;height:38px;box-shadow:none;background:#eef6ff;border-color:#0000;border-radius:50%}.schedule-shifts button{color:#777f8c;background:#eef0f4;border:1px solid #0000;border-radius:12px;place-items:center;gap:2px;min-height:50px;display:grid}.schedule-shifts button strong{font-size:15.5px;font-weight:700;line-height:1.1}.schedule-worker-panel{box-shadow:none;background:#fff;border:1px solid #e6e9ef;border-radius:12px;margin-top:13px;padding:12px 10px 13px}.schedule-worker-panel h2{color:#121722;margin:0 0 11px;font-size:20px;font-weight:700;line-height:1.25}.schedule-person{min-height:60px;box-shadow:none;background:#fff;border-color:#e7e9ee;border-radius:10px;align-items:center;gap:12px;padding:9px 10px}.staff-photo{background:linear-gradient(160deg,#f7d7bc 0 45%,#24456f 46% 100%);border:1px solid #12172212;border-radius:50%;flex:none;width:44px;height:44px;position:relative;overflow:hidden}.staff-photo:before{content:"";background:#f4c7a8;border-radius:50%;width:18px;height:18px;position:absolute;top:9px;left:13px;box-shadow:0 -7px 0 2px #283041d6}.staff-photo:after{content:"";background:#fff;border-radius:16px 16px 8px 8px;width:28px;height:24px;position:absolute;bottom:-7px;left:8px}.staff-photo span{width:1px;height:1px;position:absolute;overflow:hidden}.staff-photo-2{background:linear-gradient(160deg,#f7d2ba 0 45%,#80624d 46% 100%)}.staff-photo-3{background:linear-gradient(160deg,#f2c8aa 0 45%,#6d3f3c 46% 100%)}.staff-photo-4{background:linear-gradient(160deg,#f7d6b9 0 45%,#b9892c 46% 100%)}.staff-photo-5{background:linear-gradient(160deg,#e9c6b0 0 45%,#5c6978 46% 100%)}.schedule-person .chip-row{align-items:center;gap:6px;display:flex}.bottom-tabs{height:68px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-top:1px solid #d9dde5;border-radius:0;padding:4px 4px 5px;bottom:0;left:0;right:0}.tab{color:#656d78;background:0 0;border:0;border-radius:0;min-height:58px;font-size:12px;font-weight:500}.tab.is-active{color:#1769ff;box-shadow:none;background:0 0;border:0}.tab svg{width:21px;height:21px}html,body{color:var(--ds-text);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);letter-spacing:0;word-break:keep-all;font-weight:400;line-height:1.58}button,input,select,textarea{font:inherit;letter-spacing:0}h1,h2,h3,strong{letter-spacing:0}.screen:before{content:none}.page,.scroll{color:var(--ds-text);padding-inline:16px;line-height:1.58}.page{padding-top:16px;padding-bottom:92px}.page-title{margin-bottom:var(--ds-space-3)}.page-title h1{color:var(--ds-text);font-size:var(--font-display);margin:0;font-weight:650;line-height:1.25}.page-title p,.small-muted,.card-body p,.data-note p,.sheet p,.terms-intro,.terms-detail-card p{color:var(--ds-muted);font-size:var(--font-small);font-weight:400;line-height:1.56}.section-title{min-height:30px;margin-bottom:var(--ds-space-2);align-items:center;gap:var(--ds-space-2)}.section-title h2,.schedule-worker-panel h2{color:var(--ds-text);font-size:var(--font-section);margin:0;font-weight:650;line-height:1.32}.section-title span{color:var(--ds-muted);font-size:var(--font-caption);font-weight:500}.app-header{background:var(--ds-surface);border-bottom:1px solid var(--ds-divider);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:14px 16px 12px}.location{gap:var(--ds-space-2);color:var(--ds-muted);font-size:var(--font-caption)}.mini-mark{border-radius:var(--ds-radius-md);color:#ec1580;width:38px;height:38px;box-shadow:none;background:#fff0f8;font-size:20px;font-weight:650}.icon-btn,.header-actions .icon-btn{border-radius:var(--ds-radius-md);width:40px;height:40px;color:var(--ds-primary);background:var(--ds-primary-soft);box-shadow:none;border:1px solid #0000}.header-actions .icon-btn:first-child{background:var(--ds-surface);border-color:var(--ds-border)}.badge-dot{background:var(--ds-danger);min-width:18px;height:18px;font-size:12px;font-weight:650}.brand-panel,.person-card,.request-card,.plain-card,.notice-card,.profile-card,.mini-stat,.detail-panel,.data-note,.terms-detail-card,.result-panel,.schedule-worker-panel,.sheet{border-radius:var(--ds-radius-lg);background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:var(--ds-shadow-soft)}.brand-panel{border-radius:var(--ds-radius-xl);padding:var(--ds-space-4)}.list,.schedule-list,.info-list,.terms-detail-list,.password-checks,.off-dates,.chip-row{gap:var(--ds-space-2)}.person-card,.request-card,.notice-card,.plain-card{min-height:68px;padding:var(--ds-space-3)}.request-card,.notice-card,.plain-card{text-align:left;width:100%}.card-body strong,.plain-card strong,.data-note strong,.schedule-person .chip-row strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.36}.control,.select-like,.primary-btn,.secondary-btn,.ghost-btn{min-height:var(--ds-control);border-radius:var(--ds-radius-md);font-size:var(--font-label);line-height:1.35}.control,.select-like{color:var(--ds-text);background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:none}.control:focus,.select-like:focus{border-color:#1e4b988f;box-shadow:0 0 0 4px #30a6e324}.field{gap:var(--ds-space-1)}.field label{color:var(--ds-text-soft);font-size:var(--font-caption);font-weight:500}.field-row,.two-col,.detail-grid{gap:var(--ds-space-2)}.primary-btn,.secondary-btn,.ghost-btn,.segmented button,.tab{font-weight:550}.secondary-btn,.ghost-btn{color:var(--ds-primary);background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:none}.segmented{gap:var(--ds-space-1);border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);box-shadow:none;background:#eef3f8;padding:5px}.segmented button{border-radius:calc(var(--ds-radius-md) - 3px);min-height:42px;color:var(--ds-text-soft);font-size:var(--font-small);background:0 0}.segmented button.is-active{color:#fff;background:var(--ds-primary);box-shadow:none}.status-pill,.date-chip,.sync-note{border-radius:999px;min-height:26px;padding:5px 10px;font-size:12.5px;font-weight:600;line-height:1}.status-done,.status-approved{color:#14724c;background:#e4f7ed}.status-progress{color:var(--ds-primary);background:#e8f1ff}.status-rejected{color:#b4232a;background:#ffe7e8}.mini-stat,.detail-item{min-height:74px;padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-surface-raised);border:1px solid var(--ds-border);box-shadow:none}.mini-stat span,.detail-item span{color:var(--ds-muted);font-size:var(--font-caption);font-weight:500;line-height:1.35}.mini-stat strong,.detail-item strong{color:var(--ds-primary-strong);font-size:22px;font-weight:650;line-height:1.25}.avatar{border-radius:var(--ds-radius-md);width:46px;height:46px;box-shadow:none;font-weight:600}.bottom-tabs{border:0;border-top:1px solid var(--ds-border);background:var(--ds-surface);height:70px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:5px 4px 6px;bottom:0;left:0;right:0}.tab{min-height:58px;color:var(--ds-muted);border-radius:var(--ds-radius-sm);background:0 0;border:0;gap:4px;font-size:12px}.tab.is-active{color:var(--ds-primary);background:var(--ds-primary-soft);box-shadow:none}.tab.is-active svg{filter:none}.schedule-shifts button{border-radius:var(--ds-radius-md);min-height:52px;color:var(--ds-muted);background:#eef3f8}.schedule-shifts button small{font-size:12px;font-weight:500}.schedule-worker-panel{margin-top:var(--ds-space-3);border-radius:var(--ds-radius-lg);padding:var(--ds-space-3)}.schedule-person{border-radius:var(--ds-radius-md);border-color:var(--ds-border);min-height:66px;padding:10px 12px}.schedule-person .card-body p{color:var(--ds-muted);font-size:var(--font-caption);font-weight:400}.grade-pill.grade-rn{color:var(--ds-primary);background:#e6f0ff}.grade-pill.grade-an{color:#14724c;background:#e4f7ed}.grade-pill.grade-prn{color:#6d44c5;background:#f0e8ff}.detail-panel,.profile-card{gap:var(--ds-space-3);display:grid}.sheet{padding:var(--ds-space-5)}.sheet h2{color:var(--ds-text);font-size:var(--font-title);font-weight:650;line-height:1.28}.empty-state,.result-panel{gap:var(--ds-space-2);padding:var(--ds-space-5) var(--ds-space-4)}.comfort-mode{--font-body:17px;--font-small:15.5px;--font-label:16px;--font-card:17.5px}html,body{color:var(--ds-text);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);letter-spacing:0;font-weight:400;line-height:1.58}body{background:radial-gradient(circle at 50% 2%,#30a6e31f,#0000 30%),linear-gradient(145deg,#fffaf2 0%,#f7fbfd 48%,#f5faf7 100%)}.device{box-shadow:var(--ds-panel-shadow);background:linear-gradient(#10213b 0%,#0c1728 100%);border-radius:44px;padding:10px}.screen{color:var(--ds-text);background:linear-gradient(180deg, #ffffffdb, #f7f8fafa), var(--ds-bg);border:1px solid #ffffffb3;border-radius:34px}.content,.page,.scroll,.schedule-page{color:var(--ds-text)}.page,.scroll,.schedule-page{padding-inline:16px}.page,.schedule-page{padding-top:16px;padding-bottom:92px}.scroll{padding-top:20px;padding-bottom:104px}h1,h2,h3,strong,.location strong,.page-title h1,.section-title h2,.schedule-worker-panel h2{color:var(--ds-text);letter-spacing:0;font-weight:600}.page-title h1{font-size:var(--font-display);line-height:1.24}.section-title h2,.schedule-worker-panel h2{font-size:var(--font-section);line-height:1.32}p,small,label,.small-muted,.card-body p,.page-title p,.section-title span,.terms-intro,.terms-detail-card p,.data-note p{color:var(--ds-muted);font-weight:400;line-height:1.56}.app-header{border-bottom:1px solid var(--brand-divider);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;min-height:66px;padding:13px 16px 11px;box-shadow:0 1px #14233d05}.header-line{min-height:42px}.location{gap:10px}.location strong{font-size:18px;line-height:1.25}.mini-mark{color:#fff;background:linear-gradient(135deg, var(--brand-royal) 0%, var(--brand-sky) 58%, var(--brand-mint) 100%);border:1px solid #30a6e342;border-radius:14px;width:38px;height:38px;font-size:19px;font-weight:600;box-shadow:0 8px 18px #1e4b9824}.icon-btn,.header-actions .icon-btn{width:40px;height:40px;color:var(--brand-royal);border:1px solid var(--brand-border);box-shadow:none;background:#fff;border-radius:14px}.profile-trigger{overflow:hidden}.badge-dot{background:var(--brand-alert);font-size:12px;font-weight:600}.brand-panel{border-radius:var(--ds-radius-xl);min-height:172px;box-shadow:var(--ds-card-shadow);background:radial-gradient(circle at 92% 12%,#60ba702e,#0000 26%),linear-gradient(145deg,#fffaf2 0%,#fff 54%,#f1f9ff 100%);border:1px solid #e6e8ecc7;padding:28px 22px}.brand-panel:before,.brand-panel:after{opacity:.18}.brand-title strong{color:var(--brand-royal);font-weight:650}.brand-title span{color:var(--brand-royal-deep);font-weight:500}.auth-card,.profile-card,.request-card,.plain-card,.notice-card,.terms-detail-card,.data-note,.schedule-worker-panel,.detail-panel,.sheet,.empty-state,.result-panel{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);background:var(--brand-surface);box-shadow:var(--ds-card-shadow)}.auth-card,.profile-card,.schedule-worker-panel,.detail-panel{padding:var(--ds-space-4)}.field,.profile-card,.terms-detail-list,.detail-panel{gap:var(--ds-space-3)}.field label{color:var(--ds-text-soft);font-size:var(--font-small);margin-bottom:7px;font-weight:500}.control,textarea.control,select.control{min-height:var(--ds-control);color:var(--ds-text);border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);box-shadow:none;font-size:var(--font-card);background:#fff;font-weight:400}.control:focus{border-color:#30a6e3e6;box-shadow:0 0 0 4px #30a6e329}.control::placeholder,textarea.control::placeholder{color:#9aa7b5;opacity:1;font-weight:400}.control:placeholder-shown,textarea.control:placeholder-shown{background:#fff;border-color:#dce4ec}.qualification-list{gap:12px;margin-top:14px;display:grid}.qualification-card,.qualification-empty{border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);background:#fff;padding:14px}.qualification-card.is-form{background:#fbfdff;border-color:#30a6e35c;gap:12px;display:grid}.qualification-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.qualification-head strong{color:var(--ds-text);font-size:var(--font-card);font-weight:650}.text-action{color:var(--royal);font-size:var(--font-small);white-space:nowrap;background:0 0;font-weight:650}.text-action.danger{color:var(--alert)}.qualification-empty{color:var(--ds-text-soft);font-size:var(--font-small);text-align:center}.info-list.compact{gap:7px;margin-top:10px}.ghost-btn{color:var(--brand-royal);background:0 0}.bottom-tabs{border-top:1px solid var(--brand-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;height:74px;padding:6px 5px 7px;bottom:0;left:0;right:0;box-shadow:0 -8px 20px #14233d0a}.tab{min-height:58px;color:var(--brand-muted);border-radius:var(--ds-radius-sm);font-size:12px;font-weight:500}.tab svg,.icon-btn svg{stroke-width:2px;width:20px;height:20px}.status-pill{border-radius:999px;min-height:26px;padding:0 10px;font-size:12.5px;font-weight:600}.status-pill.success,.status-pill.completed,.status-pill.done{color:#14724c;background:#e9f8ef}.status-pill.info{color:var(--brand-royal);background:#e8f5ff}.status-pill.pending{color:#8a5a00;background:#fff5d8}.status-pill.alert,.status-pill.danger,.status-pill.rejected{color:#b42318;background:#fff0ef}.data-note{color:var(--ds-text);box-shadow:none;background:#f0f8ff;border-color:#d4ebfb}.data-note strong{color:var(--brand-royal);font-weight:600}.schedule-page{background:var(--ds-bg)}.schedule-shifts{gap:10px}.schedule-shifts button{min-height:54px;color:var(--brand-muted);border-radius:var(--ds-radius-md);background:var(--brand-elevated)}.schedule-shifts button.is-active{background:var(--brand-royal)}.schedule-person{border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);background:#fff;min-height:68px;padding:10px 12px}.schedule-person .card-body strong{font-size:var(--font-card)}.profile-img,.staff-photo{border:1px solid #e6e8ece6;box-shadow:0 8px 18px #14233d14}.profile-img-lg{width:94px;height:94px}.profile-img-header{width:34px;height:34px}.profile-tabs,.segmented{border-radius:var(--ds-radius-md)}.segmented button,.profile-tabs button{min-height:44px;font-size:var(--font-label);font-weight:500}.segmented button.is-active,.profile-tabs button.is-active{color:var(--brand-royal);background:var(--ds-primary-soft)}.calendar-day,.calendar-empty{border-radius:var(--ds-radius-md);min-height:50px}.sheet h2{font-size:var(--font-title);font-weight:600}.comfort-mode{--font-body:17.5px;--font-small:16px;--font-label:16.5px;--font-card:18px;--font-section:20px}*{letter-spacing:0}button,input,select,textarea{font-family:inherit}.page-title{margin:0 0 var(--ds-space-4);gap:8px;display:grid}.page-title h1{font-size:var(--font-display);font-weight:600;line-height:1.22}.page-title p{max-width:32em;font-size:var(--font-small);line-height:1.56}.section-title{justify-content:space-between;align-items:center;gap:var(--ds-space-2);min-height:32px;margin-bottom:var(--ds-space-2);display:flex}.section-title h2{font-size:var(--font-section);font-weight:600;line-height:1.32}.section-title span{font-size:var(--font-caption);line-height:1.45}.list,.schedule-list,.terms-detail-list,.info-list,.password-checks{gap:var(--ds-space-2);display:grid}.auth-card,.plain-card,.request-card,.notice-card,.profile-card,.detail-panel,.terms-detail-card,.schedule-worker-panel{padding:var(--ds-space-4)}.plain-card,.request-card,.notice-card,.profile-card,.detail-panel,.terms-detail-card,.mini-stat,.detail-item,.info-row{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);background:var(--brand-surface)}.request-card,.notice-card{align-items:center;gap:var(--ds-space-3);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;width:100%;display:grid}.card-body{gap:4px;min-width:0;display:grid}.card-body strong,.plain-card strong,.notice-card strong,.request-card strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.34}.card-body p,.plain-card p,.notice-card p,.request-card p{color:var(--ds-muted);font-size:var(--font-caption);margin:0;font-weight:400;line-height:1.5}.chip-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.avatar,.staff-photo{width:46px;height:46px;color:var(--brand-royal);font-size:var(--font-label);background:#edf6ff;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.avatar.mint,.staff-photo-3,.staff-photo-4{color:#14724c;background:#e9f8ef}.avatar.slate,.staff-photo-5{color:var(--brand-slate);background:#f1f3f6}.mini-stat{min-height:78px;box-shadow:var(--ds-card-shadow);align-content:center;gap:6px;padding:14px;display:grid}.mini-stat span,.detail-item span,.info-row span{color:var(--ds-muted);font-size:var(--font-caption);font-weight:400;line-height:1.4}.mini-stat strong,.detail-item strong,.info-row strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.35}.two-col,.detail-grid{gap:var(--ds-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-grid{gap:var(--ds-space-2)}.detail-item{min-height:72px;box-shadow:none;align-content:center;gap:5px;padding:12px;display:grid}.info-list{gap:8px}.info-row{align-items:center;gap:var(--ds-space-2);min-height:52px;box-shadow:none;grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);padding:12px 14px;display:grid}.info-row strong{text-align:right;overflow-wrap:anywhere}.segmented,.profile-tabs{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);box-shadow:none;background:#fff;gap:4px;padding:4px;display:grid}.segmented{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.profile-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented button,.profile-tabs button{border-radius:var(--ds-radius-md);min-height:44px;color:var(--ds-muted);font-size:var(--font-label);background:0 0;font-weight:500}.status-pill,.grade-pill,.date-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.status-pending,.status-pill.status-pending{color:#8a5a00;background:#fff5d8}.status-done,.status-pill.status-done{color:#14724c;background:#e9f8ef}.off-dates{flex-wrap:wrap;gap:8px;display:flex}.date-chip{color:var(--brand-royal);background:var(--ds-primary-soft)}.profile-photo,.profile-photo-readonly{align-items:center;gap:var(--ds-space-3);display:flex}.profile-img-xl{border-radius:50%;width:86px;height:86px}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.stepper span{border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);min-height:38px;color:var(--ds-muted);font-size:var(--font-caption);background:#fff;place-items:center;padding:0 8px;font-weight:500;display:grid}.stepper span.is-active{color:var(--brand-royal);background:var(--ds-primary-soft);border-color:#1e4b9838;font-weight:600}.qr-box{aspect-ratio:1;border:1px solid var(--brand-border);border-radius:var(--ds-radius-xl);background:var(--brand-elevated);place-items:center;width:min(190px,60%);margin:0 auto;display:grid}.qr-grid{width:86px;height:86px}.password-checks{padding:var(--ds-space-3);border-radius:var(--ds-radius-lg);background:#f0f8ff;border:1px solid #d4ebfb;margin:0;list-style:none}.password-checks li{color:var(--ds-muted);font-size:var(--font-small);align-items:center;gap:8px;line-height:1.45;display:flex}.password-checks li.is-ok{color:#14724c;font-weight:500}.calendar-head{justify-content:space-between;align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-3);display:flex}.calendar-head strong{font-size:var(--font-card)}.calendar-head span,.calendar-week b,.calendar-day small,.calendar-legend{color:var(--ds-muted);font-size:var(--font-caption);font-weight:500}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.calendar-day,.calendar-empty{border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);background:#fff;min-height:50px}.calendar-day strong{font-size:var(--font-label);font-weight:600}.calendar-day.is-selected{color:#fff;border-color:var(--brand-royal);background:var(--brand-royal)}.calendar-legend{margin-top:var(--ds-space-3);flex-wrap:wrap;gap:8px 12px;display:flex}.dot{background:var(--brand-neutral);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.dot.approved{background:var(--brand-success)}.dot.pending{background:var(--brand-warning)}.dot.off{background:var(--brand-sky)}.dot.rejected{background:var(--brand-alert)}.sheet{gap:var(--ds-space-3);width:min(390px,100% - 28px);max-height:min(82vh,720px);padding:var(--ds-space-5);border-radius:var(--ds-radius-xl);display:grid;overflow-y:auto}.sheet h2{font-size:var(--font-title);margin:0;font-weight:600;line-height:1.28}.sheet h3{font-size:var(--font-section);margin:0;font-weight:600;line-height:1.32}.sheet p{font-size:var(--font-small);margin:0;line-height:1.58}.action-row{gap:var(--ds-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-row .primary-btn:only-child,.action-row .secondary-btn:only-child{grid-column:1/-1}.field-row{grid-template-columns:minmax(0, 1fr) var(--ds-control);align-items:end;gap:var(--ds-space-2);display:grid}.field-search{width:var(--ds-control);height:var(--ds-control)}.select-like{width:100%;color:var(--ds-text);background:#fff;justify-content:space-between;padding-inline:14px}@media (width<=380px){:root{--font-body:16px;--font-card:16px;--font-section:18px;--font-display:25px}.page,.scroll,.schedule-page{padding-inline:14px}.two-col,.detail-grid{grid-template-columns:1fr}}.terms-app{color:#172033;background:#f6f7f9;flex-direction:column;height:100%;display:flex}.terms-hero{color:#fff;background:linear-gradient(135deg, #1e4b98fa, #30a6e3f5), var(--brand-royal);padding:22px 22px 20px}.terms-topbar{align-items:center;min-height:40px;margin:-6px 0 10px;display:flex}.terms-back-button{color:#fff;min-width:64px;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;gap:3px;margin-left:-10px;padding:0 10px;font-size:15px;font-weight:600;display:inline-flex}.terms-back-button:active{background:#ffffff24}.terms-back-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.terms-brand-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.terms-brand-copy{gap:3px;min-width:0;display:grid}.terms-brand-copy strong{letter-spacing:0;font-size:20px;font-weight:700;line-height:1.2}.terms-brand-copy small{color:#ffffffc7;word-break:keep-all;font-size:14px;font-weight:500;line-height:1.35}.terms-logo{background:#fff;border-radius:16px;flex:none;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 10px 24px #00225029}.terms-hero h1{letter-spacing:0;word-break:keep-all;max-width:17em;margin:0;font-size:23px;font-weight:650;line-height:1.25}.terms-hero p{color:#ffffffdb;word-break:keep-all;max-width:24em;margin:12px 0 0;font-size:15.5px;font-weight:400;line-height:1.55}.terms-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:18px 16px 108px;overflow-y:auto}.terms-body::-webkit-scrollbar{width:0}.terms-main-card{background:#fff;border:1px solid #e5e9ef;border-radius:11px;padding:18px 12px 0;box-shadow:0 1px 3px #18233514}.terms-card-title{padding:0 0 8px}.terms-card-title h2{color:#172033;margin:0;font-size:21px;font-weight:700;line-height:1.3}.terms-card-title p{color:#7b8798;margin:8px 0 0;font-size:15px;font-weight:400;line-height:1.45}.terms-all-row{color:#172033;width:100%;min-height:62px;box-shadow:none;text-align:left;background:#f7fbff;border:1px solid #cfe0ef;border-radius:11px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;margin:8px 0 4px;padding:12px;display:grid}.terms-all-row strong,.terms-all-row small{display:block}.terms-all-row strong{color:var(--brand-royal);font-size:16px;font-weight:650;line-height:1.35}.terms-all-row small{color:#6d7d92;margin-top:3px;font-size:13.5px;font-weight:400;line-height:1.4}.terms-all-row.is-selected{background:#f3fbf5;border-color:#60ba7073}.terms-all-row.is-selected .terms-check-box{border-color:var(--brand-mint);background:var(--brand-mint)}.terms-plan-list{display:grid}.terms-plan-item{border-bottom:1px solid #e8ebf0;padding:14px 0 16px}.terms-plan-item:last-child{border-bottom:0}.terms-plan-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.terms-plan-head strong{color:#252b36;word-break:keep-all;min-width:0;font-size:16px;font-weight:600;line-height:1.42}.terms-plan-head strong span{color:#ef4444;font-weight:700}.terms-plan-detail{min-height:34px;color:var(--brand-royal);box-shadow:none;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:500;display:inline-flex}.terms-plan-detail span{font-size:24px;line-height:1}.terms-plan-choice{grid-template-columns:1fr 1fr;gap:8px 22px;margin-top:13px;display:grid}.terms-plan-choice button{color:#3b4452;min-height:32px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;gap:8px;padding:0;font-size:15px;font-weight:500}.terms-check-box{color:#fff;background:#fff;border:2px solid #6e7480;flex:none;place-items:center;width:17px;height:17px;font-size:12px;font-weight:800;line-height:1;display:inline-grid}.terms-plan-choice button.is-selected .terms-check-box{border-color:var(--brand-royal);background:var(--brand-royal)}.terms-plan-choice button.is-rejected .terms-check-box{background:#ff3f5e;border-color:#ff3f5e}.terms-required-note{color:var(--brand-royal);background:#eef6ff;border:1px solid #b9d8ff;border-radius:10px;grid-template-columns:24px minmax(0,1fr);gap:8px;margin-top:14px;padding:14px 16px;display:grid}.terms-required-note span{line-height:1.5}.terms-required-note p{word-break:keep-all;margin:0;font-size:15.5px;font-weight:600;line-height:1.55}.terms-bottom{background:#fff;border-top:1px solid #e8ebf0;padding:16px 16px 14px;position:absolute;bottom:0;left:0;right:0}.terms-continue-btn{background:var(--brand-royal);width:100%;min-height:49px;box-shadow:none;border-radius:10px;font-size:16px;font-weight:500}.login-brand-stack{align-items:center;gap:15px;width:100%;display:flex}.login-logo-card{background:#fff;border:1px solid #30a6e32e;border-radius:20px;flex:none;place-items:center;width:70px;height:70px;display:grid;box-shadow:0 14px 30px #1e4b981a}.login-app-copy{gap:3px;min-width:0;display:grid}.login-app-copy strong{color:var(--brand-royal);letter-spacing:0;font-size:27px;font-weight:750;line-height:1.02}.login-app-copy span{color:#173b72;font-size:18px;font-weight:650;line-height:1.3}.login-app-copy em{width:fit-content;color:var(--brand-royal);background:#eef7ff;border-radius:999px;margin-top:4px;padding:5px 10px;font-size:14px;font-style:normal;font-weight:650;line-height:1.2}.login-error-message{color:#b42318;word-break:keep-all;background:#fff1f0;border:1px solid #ef444452;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:550;line-height:1.45}.onboarding-preview-btn{color:#1e4f9f;width:100%;box-shadow:none;background:#fff;border-color:#1e4f9f38;margin-top:10px}.login-account-note{background:#f8fbff;border:1px solid #dce7f2;border-radius:14px;padding:13px 14px}.login-account-note strong{color:#173b72;font-size:15.5px;font-weight:650;line-height:1.35;display:block}.login-account-note p{color:#64748b;word-break:keep-all;margin:5px 0 0;font-size:14px;font-weight:400;line-height:1.52}.schedule-shifts{gap:10px;margin-top:14px}.schedule-shifts button{border:1px solid var(--brand-border);min-height:76px;color:var(--ds-text-soft);background:#fff;border-radius:18px;justify-items:start;padding:12px;box-shadow:0 8px 22px #14233d0d}.schedule-shifts button span{color:var(--brand-slate);font-size:13px;font-weight:600}.schedule-shifts button strong{color:var(--ds-text);font-size:17px;font-weight:700}.schedule-shifts button small{color:var(--ds-text-soft);font-size:12px;line-height:1.25}.schedule-shifts button.is-active{color:#fff;background:linear-gradient(145deg, var(--brand-royal), #2d8fd4);border-color:#0000;box-shadow:0 14px 26px #1e4b9838}.schedule-shifts button.is-active span,.schedule-shifts button.is-active strong,.schedule-shifts button.is-active small{color:#fff}.schedule-worker-panel{background:#fff;border-radius:22px;margin-top:14px;padding:16px;box-shadow:0 12px 28px #14233d0f}.schedule-person{background:#fff;border:1px solid #e9edf2;border-radius:18px;min-height:76px;padding:12px;box-shadow:0 8px 20px #14233d0b}.schedule-person .card-body p{color:var(--ds-text-soft);font-size:14.5px;line-height:1.35}.schedule-date-card{border:1px solid var(--brand-border);background:#fff;border-radius:20px;gap:14px;padding:17px;display:grid;box-shadow:0 10px 24px #14233d0e}.schedule-date-title{gap:5px;display:grid}.schedule-date-title h1{color:var(--ds-text);letter-spacing:0;word-break:keep-all;margin:0;font-size:25px;font-weight:720;line-height:1.26}.schedule-date-button{text-align:left;background:#fbfdff;border:1px solid #dfe6ee;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:54px;padding:10px 14px;display:flex}.schedule-date-button span:first-child{gap:2px;display:grid}.schedule-date-button small{color:var(--ds-text-soft);font-size:13px;font-weight:500;line-height:1.2}.schedule-date-button strong{color:var(--ds-text);font-size:16.5px;font-weight:650;line-height:1.2}.schedule-date-button>span:last-child{width:34px;height:34px;color:var(--brand-royal);background:#eef7ff;border-radius:12px;flex:none;place-items:center;display:grid}.schedule-shifts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.schedule-shifts button{border:1px solid var(--brand-border);min-height:70px;box-shadow:none;text-align:center;background:#fff;border-radius:16px;justify-items:center;padding:12px 8px}.schedule-shifts button.is-active{background:var(--brand-royal);border-color:var(--brand-royal);box-shadow:0 10px 22px #1e4b982e}.schedule-worker-panel{border:1px solid var(--brand-border);background:#fff;border-radius:20px;margin-top:14px;padding:16px;box-shadow:0 10px 24px #14233d0e}.schedule-worker-title{color:var(--ds-text);margin:0 0 14px;font-size:20px;font-weight:720;line-height:1.28}.schedule-person{min-height:74px;box-shadow:none;border:1px solid #e8edf2;border-radius:16px;padding:12px}.schedule-calendar .calendar-day{min-height:48px}.schedule-calendar .calendar-day.is-selected{color:#fff;background:var(--brand-royal);border-color:var(--brand-royal)}.attendance-page{background:#f7f8fa;padding:14px 16px 94px}.attendance-title{gap:6px;margin-bottom:13px;display:grid}.attendance-title h1{color:var(--ds-text);margin:0;font-size:28px;font-weight:720;line-height:1.2}.attendance-title p{color:var(--ds-text-soft);word-break:keep-all;margin:0;font-size:15px;line-height:1.45}.attendance-qr-card,.attendance-today-card,.attendance-record-card{border:1px solid var(--brand-border);background:#fff;border-radius:20px;box-shadow:0 10px 24px #14233d0e}.qr-camera-box svg,.attendance-success-mark svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:21px;height:21px}.attendance-qr-card{text-align:center;justify-items:center;gap:12px;min-height:292px;margin-top:13px;padding:22px 18px 18px;display:grid}.attendance-qr-card .qr-box{width:150px;height:150px;box-shadow:none;background:#f4f6f9;border-radius:24px}.attendance-qr-card p{color:var(--ds-text-soft);margin:0;font-size:15px;line-height:1.45}.attendance-qr-card small{color:#1b6d43;font-size:14px;font-weight:600}.attendance-action{width:100%;margin-top:6px}.attendance-confirm-btn{background:#18a957;box-shadow:0 12px 24px #18a95738}.qr-camera-box,.attendance-success-mark{border-radius:24px;place-items:center;width:150px;height:150px;display:grid}.qr-camera-box{color:#a8b0bd;background:#111b2d;position:relative;overflow:hidden}.qr-camera-box svg{width:64px;height:64px}.qr-camera-box span{background:var(--brand-royal);height:3px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 18px #30a6e3b8}.attendance-success-mark{color:#13a052;background:#eaf8ef}.attendance-success-mark svg{stroke-width:2.7px;width:76px;height:76px}.attendance-today-card,.attendance-record-card{margin-top:13px;padding:16px}.attendance-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.attendance-section-head h2{color:var(--ds-text);margin:0;font-size:20px;font-weight:720;line-height:1.25}.attendance-section-head p{color:var(--ds-text-soft);word-break:keep-all;margin:4px 0 0;font-size:14px;line-height:1.4}.attendance-section-head .status-pill{flex:none}.attendance-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-time-grid div{background:#f4f8fc;border-radius:16px;align-content:center;gap:7px;min-height:78px;padding:14px;display:grid}body{color:var(--ds-text);font-size:var(--font-body);letter-spacing:0;font-weight:400;line-height:1.55}.screen{background:var(--ds-bg)}.app-header{border-bottom:1px solid var(--brand-divider);background:#fffffff5;height:66px;padding:12px 16px;box-shadow:0 4px 14px #14233d09}.header-line{height:100%}.location strong{color:var(--ds-text);font-size:17px;font-weight:600;line-height:1.2}.mini-mark{border-radius:11px;width:34px;height:34px}.icon-btn{width:42px;height:42px;color:var(--brand-royal);background:#fff;border:1px solid #e5ebf2;border-radius:14px}.icon-btn svg,.tab svg{stroke-width:2.1px;width:22px;height:22px}.badge-dot{min-width:19px;height:19px;font-size:12px;font-weight:600}.page,.schedule-page,.attendance-page{background:var(--ds-bg);padding:16px 16px 98px}.page-title,.attendance-title{gap:5px;margin:0 0 16px;display:grid}.page-title h1,.attendance-title h1{color:var(--ds-text);font-size:var(--font-display);letter-spacing:0;margin:0;font-weight:650;line-height:1.24}.page-title p,.attendance-title p,.section-title span,.small-muted,.card-body p,.plain-card p,.data-note p{color:var(--ds-text-soft);font-size:var(--font-label);word-break:keep-all;font-weight:400;line-height:1.5}.section{margin-top:16px}.section-title{align-items:flex-start;gap:10px;margin-bottom:12px}.section-title h2,.attendance-section-head h2,.schedule-worker-title{color:var(--ds-text);font-size:var(--font-section);letter-spacing:0;margin:0;font-weight:620;line-height:1.28}.plain-card,.profile-card,.request-card,.notice-card,.data-note,.mini-stat,.attendance-qr-card,.attendance-today-card,.attendance-record-card,.schedule-date-card,.schedule-worker-panel{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);background:var(--brand-surface);box-shadow:var(--ds-card-shadow)}.plain-card,.profile-card,.data-note,.attendance-today-card,.attendance-record-card,.schedule-date-card,.schedule-worker-panel{padding:16px}.notice-card,.request-card{border-radius:var(--ds-radius-md);min-height:76px;padding:13px 14px}.card-body strong,.plain-card strong,.data-note strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.3}.control,textarea.control,select.control,.select-like{min-height:var(--ds-control);border-radius:var(--ds-radius-md);color:var(--ds-text);font-size:var(--font-body);background:#fff;border:1px solid #dfe6ee;font-weight:400}.control::placeholder,textarea.control::placeholder{color:#9aa7b5;font-weight:400}.primary-btn,.secondary-btn,.ghost-btn{min-height:var(--ds-control);border-radius:var(--ds-radius-md);font-size:var(--font-label);font-weight:560}.primary-btn{background:var(--brand-royal);box-shadow:0 10px 22px #1e4b9829}.secondary-btn{color:var(--brand-royal);background:#fff;border:1px solid #1e4b9838}.segmented,.profile-tabs{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-card-shadow);background:#fff;gap:6px;padding:5px}.segmented button,.profile-tabs button{border-radius:var(--ds-radius-md);min-height:42px;color:var(--ds-text-soft);font-size:var(--font-label);font-weight:500}.segmented button.is-active,.profile-tabs button.is-active{color:var(--brand-royal);background:var(--ds-primary-soft);font-weight:600}.status-pill{min-height:26px;padding:0 10px;font-size:12.5px;font-weight:560}.status-done,.status-pill.completed,.status-pill.done{color:#167449;background:var(--ds-success-soft)}.status-pending{color:#9a6700;background:#fff7e6}.two-col{gap:10px}.mini-stat{align-content:center;gap:6px;min-height:92px;padding:14px;display:grid}.mini-stat span{color:var(--ds-text-soft);font-size:var(--font-caption);font-weight:500}.mini-stat strong{color:var(--brand-royal);font-size:24px;font-weight:650;line-height:1.1}.tab{border-radius:var(--ds-radius-md);min-width:0;min-height:64px;color:var(--brand-slate);letter-spacing:0;white-space:nowrap;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12.8px;font-weight:500;line-height:1.15;display:flex}.tab.is-active{color:var(--brand-royal);background:var(--ds-primary-soft);font-weight:600}.tab.is-active svg{stroke-width:2.35px}.schedule-date-card{border-radius:var(--ds-radius-lg);gap:13px;padding:16px}.schedule-date-title h1{color:var(--ds-text);font-size:var(--font-display);font-weight:650;line-height:1.24}.schedule-date-button{border-radius:var(--ds-radius-md);background:#fbfdff;border:1px solid #dfe6ee;min-height:52px;padding:10px 13px}.schedule-date-button small{color:var(--ds-text-soft);font-size:var(--font-caption);font-weight:500}.schedule-date-button strong{color:var(--ds-text);font-size:var(--font-body);font-weight:560}.schedule-date-button>span:last-child{width:36px;height:36px;color:var(--brand-royal);background:var(--ds-primary-soft);border-radius:12px}.schedule-shifts{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.schedule-shifts button{border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);min-height:68px;box-shadow:none;text-align:center;background:#fff;padding:11px 8px}.schedule-shifts button strong{color:var(--ds-text);font-size:18px;font-weight:620;line-height:1.1}.schedule-shifts button.is-active{border-color:var(--brand-royal);background:var(--brand-royal);box-shadow:var(--ds-lift-shadow)}.schedule-worker-panel{border-radius:var(--ds-radius-lg);margin-top:14px}.schedule-person{border-radius:var(--ds-radius-md);min-height:74px;box-shadow:none;background:#fff;border:1px solid #e8edf2;padding:12px}.attendance-title h1{font-size:var(--font-display)}.attendance-qr-card{text-align:center;gap:12px;min-height:282px;margin-top:14px;padding:21px 18px 18px}.attendance-qr-card .qr-box,.qr-camera-box,.attendance-success-mark{border-radius:22px;width:142px;height:142px}.attendance-qr-card strong{color:var(--ds-text);font-size:19px;font-weight:620;line-height:1.25}.attendance-qr-card p{color:var(--ds-text-soft);font-size:var(--font-label)}.attendance-section-head{align-items:flex-start;gap:12px;margin-bottom:13px}.attendance-section-head p{color:var(--ds-text-soft);font-size:var(--font-caption);margin-top:4px}.attendance-time-grid div{border-radius:var(--ds-radius-md);background:#f5f8fb;gap:7px;min-height:84px;padding:14px}.attendance-time-grid div.is-recorded{background:var(--ds-primary-soft);border:1px solid #d8ebff}.attendance-time-grid span{color:var(--ds-text-soft);font-size:var(--font-caption);font-weight:500}.attendance-time-grid strong{color:var(--brand-royal);font-size:24px;font-weight:650;line-height:1.1}.attendance-record-table{border:1px solid var(--brand-divider);border-radius:var(--ds-radius-md);background:#fff;display:grid;overflow:hidden}.attendance-record-header,.attendance-record-table article{grid-template-columns:minmax(104px,1.45fr) minmax(58px,.8fr) minmax(58px,.8fr);align-items:center;column-gap:8px;display:grid}.attendance-record-header{min-height:44px;color:var(--ds-text-soft);font-size:var(--font-caption);text-align:center;background:#f7f9fb;padding:0 12px;font-weight:600}.attendance-record-header span:first-child{text-align:left}.attendance-record-table article{border-top:1px solid var(--brand-divider);min-height:54px;color:var(--ds-text);font-size:var(--font-label);padding:8px 12px}.attendance-record-table article.is-today{background:#fbfdff}.attendance-record-table article>span{align-items:center;gap:7px;min-width:0;display:flex}.attendance-record-table article strong{color:var(--ds-text);font-size:var(--font-label);font-weight:560;line-height:1.2}.attendance-record-table article small{min-height:23px;color:var(--brand-royal);background:var(--ds-primary-soft);border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:560;display:inline-flex}.attendance-record-table article b{color:var(--ds-text);font-size:var(--font-label);text-align:center;font-weight:500;line-height:1.2}.content:has(.schedule-page) .app-header{height:104px;box-shadow:none;background:#fff;border-bottom:1px solid #e4e7ee;padding:22px 22px 18px}.content:has(.schedule-page) .header-line{align-items:center}.content:has(.schedule-page) .location strong{color:#101832;letter-spacing:0;max-width:210px;font-size:26px;font-weight:650;line-height:1.12}.content:has(.schedule-page) .mini-mark{color:#0000;background:radial-gradient(circle at 35% 37%,#f47db8 0 9%,#0000 10%),radial-gradient(circle at 58% 56%,#ec4d96 0 32%,#0000 33%),linear-gradient(145deg,#fff5fb,#ffe7f2);border-radius:17px;width:52px;height:52px;box-shadow:inset 0 0 0 1px #f7d8e9}.content:has(.schedule-page) .mini-mark:before{content:"";width:26px;height:24px;clip-path:path("M13 23C5 17 1 13 1 8C1 4 4 2 7 2C10 2 12 4 13 6C14 4 16 2 19 2C22 2 25 4 25 8C25 13 21 17 13 23Z");background:linear-gradient(145deg,#ff7cba,#e84591);display:block}.content:has(.schedule-page) .header-actions .icon-btn{color:#101832;background:#f5f7ff;border-color:#eef0f6;border-radius:50%;width:58px;height:58px;box-shadow:0 8px 20px #14233d0e}.content:has(.schedule-page) .profile-trigger{background:#eef2ff}.content:has(.schedule-page) .profile-trigger .profile-img{display:none}.content:has(.schedule-page) .profile-trigger:before{content:"";border:3px solid;border-bottom-color:#0000;border-radius:50%;width:27px;height:27px;display:block}.content:has(.schedule-page) .profile-trigger:after{content:"";border:3px solid;border-top:0;border-radius:0 0 20px 20px;width:30px;height:15px;position:absolute;bottom:12px}.content:has(.schedule-page) .badge-dot{background:#ef3338;border:2px solid #fff;min-width:24px;height:24px;font-size:14px;font-weight:600;top:-2px;right:-3px}.schedule-date-card{background:#fff;border:1px solid #e2e6ef;border-radius:22px;grid-template-columns:68px minmax(0,1fr) 42px;align-items:center;gap:18px;min-height:112px;padding:18px 20px;display:grid;box-shadow:0 12px 28px #14233d14}.schedule-date-icon{color:#5b5df7;background:#f0efff;border-radius:50%;place-items:center;width:62px;height:62px;display:grid}.schedule-date-icon svg{fill:none;stroke:currentColor;stroke-width:2.3px;width:30px;height:30px}.schedule-date-title{gap:5px;min-width:0}.schedule-date-title h1{color:#101832;letter-spacing:0;margin:0;font-size:28px;font-weight:560;line-height:1.16}.schedule-date-title p{color:#65708a;margin:0;font-size:18px;font-weight:400;line-height:1.25}.schedule-date-button{color:#25304d;width:42px;min-height:42px;box-shadow:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.schedule-date-button svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:28px;height:28px}.schedule-shifts{background:#fff;border:1px solid #e2e6ef;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:28px;padding:9px;display:grid;position:relative;box-shadow:0 12px 28px #14233d14}.schedule-shifts button{min-height:72px;box-shadow:none;text-align:center;background:0 0;border:0;border-radius:16px;align-content:center;place-items:center;gap:7px;padding:10px 6px;display:grid;position:relative}.schedule-shifts button small{color:#65708a;font-size:15px;font-weight:400;line-height:1.1}.schedule-summary-card{background:linear-gradient(145deg,#fff 0%,#fbfbff 100%);border:1px solid #d5d2ff;border-radius:22px;grid-template-columns:76px minmax(0,1fr) 78px;align-items:center;gap:18px;min-height:126px;margin-top:28px;padding:22px 24px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #5652f414}.schedule-summary-icon{color:#fff;background:linear-gradient(145deg,#6f72ff,#4d4be8);border-radius:50%;place-items:center;width:70px;height:70px;display:grid}.schedule-summary-icon svg{fill:none;stroke:currentColor;stroke-width:2.1px;width:34px;height:34px}.schedule-summary-card strong{color:#101832;letter-spacing:0;font-size:26px;font-weight:560;line-height:1.15}.schedule-summary-card strong em{color:#5a58f4;letter-spacing:0;font-size:42px;font-style:normal;font-weight:650}.schedule-summary-card p{color:#65708a;margin:7px 0 0;font-size:16px;line-height:1.35}.schedule-summary-shield{color:#7e7af7;opacity:.72;background:#f2f1ff;border-radius:50%;place-items:center;width:78px;height:78px;display:grid}.schedule-worker-panel{box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:30px;padding:0}.schedule-worker-title>span{color:#5a58f4;place-items:center;width:26px;height:26px;display:grid}.schedule-worker-title svg{fill:none;stroke:currentColor;stroke-width:2.3px;width:25px;height:25px}.schedule-person{background:#fff;border:1px solid #e2e6ef;border-radius:22px;grid-template-columns:82px minmax(0,1fr) 46px;align-items:center;gap:18px;min-height:112px;padding:18px 22px;display:grid;position:relative;box-shadow:0 12px 28px #14233d12}.schedule-person .staff-photo{background:url(/assets/profile-eunji.svg) 50%/cover no-repeat;border-radius:50%;width:74px;height:74px;box-shadow:0 7px 16px #14233d14}.schedule-person .staff-photo span{opacity:0}.schedule-person .card-body{gap:8px;min-width:0;display:grid}.schedule-person .chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-person .chip-row strong{color:#101832;font-size:25px;font-weight:620;line-height:1.12}.schedule-person .grade-rn{color:#5a58f4;background:#ecebff}.schedule-person .grade-an{color:#13954a;background:#e8f9ee}.schedule-person .status-pending{color:#c37a00;background:#fff0c4}.schedule-leader-star{color:#fff;background:#f8b92c;border-radius:50%;justify-self:end;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 16px #f8b92c38}.schedule-leader-star svg{fill:currentColor;stroke:currentColor;stroke-width:1.4px;width:22px;height:22px}.content:has(.vacation-page) .app-header{height:96px;box-shadow:none;background:#fff;border-bottom:1px solid #e4e7ee;padding:22px 22px 18px}.content:has(.vacation-page) .location{gap:14px}.content:has(.vacation-page) .location strong{color:#101832;max-width:220px;font-size:22px;font-weight:650;line-height:1.12}.content:has(.vacation-page) .mini-mark{color:#0000;width:48px;height:48px;box-shadow:none;background:0 0}.content:has(.vacation-page) .mini-mark:before{content:"";width:40px;height:36px;clip-path:path("M20 35C8 25 1 18 1 10C1 4 5 1 10 1C15 1 18 4 20 8C22 4 25 1 30 1C35 1 39 4 39 10C39 18 32 25 20 35Z");background:linear-gradient(145deg,#f84aa0,#d92583);display:block}.content:has(.vacation-page) .header-actions{gap:12px}.content:has(.vacation-page) .header-actions .icon-btn{color:#101832;width:52px;height:52px;box-shadow:none;background:0 0;border:0;border-radius:50%}.content:has(.vacation-page) .profile-trigger{color:#1f6cff;background:#eaf2ff}.content:has(.vacation-page) .profile-trigger .profile-img{display:none}.content:has(.vacation-page) .profile-trigger:before{content:"";border:3px solid;border-bottom-color:#0000;border-radius:50%;width:21px;height:21px;display:block}.content:has(.vacation-page) .profile-trigger:after{content:"";border:3px solid;border-top:0;border-radius:0 0 18px 18px;width:25px;height:13px;position:absolute;bottom:11px}.content:has(.vacation-page) .badge-dot{background:#e90813;border:2px solid #fff;min-width:23px;height:23px;font-size:13px;font-weight:650;top:0;right:1px}.vacation-page{background:#fff;padding:26px 16px 118px}.vacation-title{gap:6px;margin-bottom:18px;display:grid}.vacation-month-card,.vacation-notice-card,.vacation-status-card,.vacation-calendar-card,.vacation-history-card{background:#fff;border:1px solid #e2e6ef;border-radius:18px;box-shadow:0 10px 24px #14233d11}.vacation-month-card button{color:#101832;background:#fff;border:1px solid #d6dce6;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 16px;font-size:18px;font-weight:450;display:flex}.vacation-month-card svg{fill:none;stroke:#536077;stroke-width:2.3px;width:22px;height:22px}.vacation-result-banner{color:#139444;background:#f0fbf2;border:1px solid #8fd5a5;border-radius:12px;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:10px;min-height:52px;margin-bottom:14px;padding:10px 12px;display:grid}.vacation-result-banner.info{color:#1266f1;background:#f2f7ff;border-color:#b8d4ff}.vacation-result-banner span{color:#fff;background:#2dbd5a;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.vacation-result-banner.info span{color:#1266f1;background:#e8f1ff}.vacation-result-banner svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:20px;height:20px}.vacation-result-banner span svg{color:inherit}.vacation-result-banner:not(.info) span svg{color:#fff}.vacation-result-banner p{color:currentColor;margin:0;font-size:16px;font-weight:560;line-height:1.42}.vacation-result-banner button{color:#7b8493;background:0 0;font-size:31px;font-weight:300;line-height:1}.vacation-notice-card{background:linear-gradient(145deg,#f6fbff,#fff);border-color:#bad5ff;margin-top:18px;padding:18px 18px 16px}.vacation-notice-card h2 span{color:#1266f1;place-items:center;width:28px;height:28px;display:grid}.vacation-notice-card h2 svg,.vacation-reapply-note svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:24px;height:24px}.vacation-notice-card ul{color:#202b3d;gap:8px;margin:0;padding-left:20px;font-size:15.8px;line-height:1.45;display:grid}.vacation-notice-card p{color:#1266f1;text-align:right;margin:14px 0 0;font-size:15px;font-weight:520}.vacation-status-card{margin-top:18px;padding:18px 14px 16px}.vacation-status-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.vacation-status-head span,.vacation-calendar-head span{color:#1266f1;background:#fff;border:1px solid #2c72ff;border-radius:8px;align-items:center;min-height:31px;padding:0 11px;font-size:14px;font-weight:560;display:inline-flex}.vacation-status-grid article{text-align:center;background:#f8fbff;border:1px solid #d9e6fa;border-radius:13px;align-content:center;place-items:center;gap:7px;min-height:80px;padding:9px 5px;display:grid}.vacation-status-grid article span{color:#17406f;font-size:13.5px;font-weight:520;line-height:1.1}.vacation-status-grid article small{font-size:18px;font-weight:520}.vacation-status-grid .approved{background:#f4fcf5;border-color:#cde9d0}.vacation-status-grid .approved span,.vacation-status-grid .approved strong{color:#147a36}.vacation-status-grid .pending{background:#fff9f0;border-color:#ffd9a4}.vacation-status-grid .pending span,.vacation-status-grid .pending strong{color:#d67600}.vacation-status-grid .rejected{background:#fff6f6;border-color:#ffd1d1}.vacation-status-grid .rejected span,.vacation-status-grid .rejected strong{color:#b22626}.vacation-status-grid .available{background:#f7fbff;border-color:#8db8ff}.vacation-status-grid .available span,.vacation-status-grid .available strong{color:#1266f1}.vacation-calendar-card{margin-top:18px;padding:18px 12px 16px}.vacation-weekdays,.vacation-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.vacation-weekdays{margin-bottom:9px}.vacation-calendar-empty{min-height:52px}.vacation-day{color:#101832;text-align:center;background:#fff;border:1px solid #e1e6ee;border-radius:12px;align-content:center;place-items:center;gap:2px;min-width:0;min-height:52px;padding:5px 2px;display:grid}.vacation-day:disabled{opacity:1}.vacation-day strong{color:currentColor;font-size:20px;font-weight:650;line-height:1}.vacation-day.is-selected{color:#1266f1;background:#eef6ff;border:2px solid #1266f1;box-shadow:inset 0 0 0 1px #1266f10d}.vacation-legend{flex-wrap:wrap;gap:12px;margin:18px 8px 0;display:flex}.vacation-legend .approved{background:#2dbd5a}.vacation-legend .pending{background:#f59a0a}.vacation-legend .off{background:#438be9}.vacation-legend .rejected{background:#f44444}.vacation-reapply-note{color:#1266f1;background:#f4f8ff;border:1px solid #b8d4ff;border-radius:14px;margin-top:14px;padding:14px 16px}.vacation-reapply-note strong{color:#1266f1;align-items:center;gap:8px;font-size:17px;font-weight:620;display:flex}.vacation-reapply-note p{color:#202b3d;margin:8px 0 0;font-size:15px;line-height:1.45}.vacation-history-card{margin-top:14px;padding:16px}.vacation-history-card article{border:1px solid #dfe6ee;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.vacation-history-card article>span{color:#21b75a;border:2px solid;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.vacation-history-card article>span.is-pending{color:#d67600}.vacation-history-card article>span.is-rejected{color:#ed3737}.vacation-history-card svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:18px;height:18px}.vacation-history-card strong{color:#101832;font-size:15px;font-weight:560}.vacation-history-card small{color:#556274;white-space:nowrap;font-size:13px}.section-more{color:#1266f1;background:#f7fbff;border:1px solid #d6e5ff;border-radius:9px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:14px;font-weight:610;display:inline-flex}.vacation-month-sheet,.vacation-history-sheet{gap:14px}.vacation-month-options,.vacation-history-list{gap:10px;width:100%;display:grid}.vacation-month-options button{color:#101832;text-align:left;background:#fff;border:1px solid #dfe6ee;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:12px 14px;display:flex}.vacation-month-options button.is-selected{background:#f2f7ff;border-color:#1266f1;box-shadow:inset 0 0 0 1px #1266f114}.vacation-month-options strong{font-size:17px;font-weight:610}.vacation-month-options span{color:#1266f1;font-size:13px;font-weight:610}.vacation-history-list article{background:#fff;border:1px solid #dfe6ee;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px;display:grid}.vacation-history-list article>span{color:#21b75a;border:2px solid;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.vacation-history-list article>span.is-pending{color:#d67600}.vacation-history-list article>span.is-rejected{color:#ed3737}.vacation-history-list svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:18px;height:18px}.vacation-history-list strong{color:#101832;font-size:15px;font-weight:610}.vacation-history-list p{color:#556274;margin:4px 0 0;font-size:13px;line-height:1.35}.vacation-history-list em{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:27px;padding:0 9px;font-size:12.5px;font-style:normal;font-weight:610;display:inline-flex}.empty-history{grid-template-columns:1fr!important;align-items:start!important}.empty-history span{color:#556274!important;border:0!important;border-radius:0!important;width:auto!important;height:auto!important;font-size:14px!important;line-height:1.45!important;display:block!important}.vacation-confirm-sheet{background:#fff;border-radius:22px;justify-items:center;gap:14px;width:min(300px,100% - 48px);padding:24px 20px 20px;display:grid;box-shadow:0 24px 70px #0000003d}.vacation-confirm-icon{color:#1266f1;background:#eaf2ff;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.vacation-confirm-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;width:30px;height:30px}.vacation-confirm-sheet h2{color:#101832;margin:0;font-size:22px;font-weight:650;line-height:1.2}.vacation-confirm-sheet article{background:#f8fbff;border:1px solid #cfe0ff;border-radius:12px;justify-items:center;gap:7px;width:100%;padding:14px;display:grid}.vacation-confirm-sheet article span{color:#556274;font-size:14px;font-weight:500}.vacation-confirm-sheet article strong{color:#101832;font-size:17px;font-weight:650}.vacation-confirm-sheet p{color:#202b3d;text-align:center;margin:0;font-size:14.5px;line-height:1.45}.vacation-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.vacation-confirm-actions button{min-height:48px}.content:has(.schedule-page) .app-header{height:88px;padding:18px 18px 15px}.content:has(.schedule-page) .location{gap:12px}.content:has(.schedule-page) .location strong{max-width:205px;font-size:22px;font-weight:650}.content:has(.schedule-page) .mini-mark{border-radius:15px;width:46px;height:46px}.content:has(.schedule-page) .mini-mark:before{width:24px;height:22px}.content:has(.schedule-page) .header-actions{gap:9px}.content:has(.schedule-page) .header-actions .icon-btn{width:48px;height:48px}.content:has(.schedule-page) .profile-trigger:before{width:23px;height:23px}.content:has(.schedule-page) .profile-trigger:after{width:26px;height:13px;bottom:10px}.content:has(.schedule-page) .badge-dot{min-width:22px;height:22px;font-size:13px}.schedule-page{padding:22px 18px 104px}.schedule-date-card{border-radius:18px;grid-template-columns:56px minmax(0,1fr) 34px;gap:13px;min-height:96px;padding:16px}.schedule-date-icon{width:52px;height:52px}.schedule-date-icon svg{width:26px;height:26px}.schedule-date-title h1{font-size:23px;font-weight:610}.schedule-date-title p{font-size:15.5px}.schedule-date-button{width:34px;min-height:34px}.schedule-date-button svg{width:24px;height:24px}.schedule-shifts{border-radius:18px;margin-top:18px;padding:7px}.schedule-shifts button{border-radius:14px;gap:5px;min-height:62px;padding:8px 5px}.schedule-shifts button+button:before{top:14px;bottom:14px}.schedule-shifts button strong{gap:5px;font-size:17px;font-weight:610}.schedule-shifts button small{font-size:13px}.schedule-summary-card{border-radius:18px;grid-template-columns:58px minmax(0,1fr) 56px;gap:13px;min-height:104px;margin-top:18px;padding:18px}.schedule-summary-icon{width:56px;height:56px}.schedule-summary-icon svg{width:28px;height:28px}.schedule-summary-card strong{font-size:22px;font-weight:610}.schedule-summary-card strong em{font-size:34px;font-weight:650}.schedule-summary-card p{font-size:14px}.schedule-summary-shield{width:56px;height:56px}.schedule-summary-shield svg{width:32px;height:32px}.schedule-worker-panel{margin-top:22px}.schedule-worker-title{gap:8px;margin-bottom:13px;font-size:18px;font-weight:610}.schedule-worker-title>span{width:22px;height:22px}.schedule-worker-title svg{width:21px;height:21px}.schedule-list{gap:12px}.schedule-person{border-radius:18px;grid-template-columns:62px minmax(0,1fr) 36px;gap:13px;min-height:86px;padding:14px 16px}.schedule-person .staff-photo{width:58px;height:58px}.schedule-person .card-body,.schedule-person .chip-row{gap:6px}.schedule-person .chip-row strong{font-size:20px;font-weight:650}.schedule-person .card-body p{font-size:15px}.schedule-person .status-pill{border-radius:8px;min-height:25px;padding:0 9px;font-size:13px;font-weight:560}.schedule-leader-star{width:34px;height:34px}.schedule-leader-star svg{width:18px;height:18px}.vacation-calendar-head span:empty{display:none}@media (width<=380px){.content:has(.schedule-page) .location strong{max-width:170px;font-size:20px}.schedule-summary-card{grid-template-columns:52px minmax(0,1fr)}.schedule-summary-shield{display:none}:root{--font-display:23px;--font-section:18px;--font-body:16px;--font-label:14.5px}.tab{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=520px){#app{padding:0;display:block}.device{width:100%;min-height:100dvh;max-height:none;box-shadow:none;background:0 0;border-radius:0;padding:0}.screen{border:0;border-radius:0;height:100dvh;min-height:100dvh}.auth-hero{padding-top:26px}}.notification-page{padding-top:16px}.notification-page .page-title p{color:#59677c}.notification-detail-card{background:#f8fbff;border:1px solid #d9e6fa;border-radius:18px;gap:12px;margin-top:16px;padding:14px;display:grid;box-shadow:0 12px 28px #14233d12}.notification-info-box{background:#fff;border:1px solid #e2e7ef;border-radius:14px;gap:10px;padding:13px;display:grid}.notification-info-box h4{color:#17406f;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:650;display:flex}.notification-info-box h4 svg{fill:none;stroke:#1266f1;stroke-width:2.3px;width:18px;height:18px}.notification-info-box dl{gap:9px;margin:0;display:grid}.notification-info-box dl div{grid-template-columns:82px minmax(0,1fr);gap:10px;display:grid}.notification-info-box dt,.notification-info-box dd,.notification-info-box p{margin:0;font-size:14.5px;line-height:1.45}.notification-info-box dd,.notification-info-box p{color:#101832;font-weight:560}.notification-policy{color:#536077;background:#fff;border:1px dashed #d9e1ec;border-radius:12px;margin:0;padding:12px 13px;font-size:14px;line-height:1.45}.notification-detail-page{padding-bottom:128px}.notification-read-card{background:#fff;border:1px solid #e2e7ef;border-radius:14px;gap:12px;padding:13px;display:grid}.notification-read-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-read-head h4{color:#101832;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:650;display:flex}.notification-read-head h4 span{color:#536077;font-size:14px;font-weight:560}.notification-read-head svg{fill:none;stroke:#1266f1;stroke-width:2.3px;width:19px;height:19px}.notification-read-head button{color:#1266f1;background:#f7fbff;border:1px solid #d6e5ff;border-radius:10px;min-height:34px;padding:0 11px;font-size:14px;font-weight:650}.notification-reader-list{gap:8px;display:grid}.notification-reader-list article{border-top:1px solid #edf1f6;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.notification-reader-list article:first-child{border-top:0}.reader-avatar{color:#18924a;background:#eaf9ef;border-radius:50%;place-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:grid;overflow:hidden}.reader-avatar.is-unread{color:#7b8493;background:#f1f4f8}.reader-avatar img{object-fit:cover;width:100%;height:100%}.notification-reader-list strong{color:#101832;align-items:center;gap:6px;font-size:15px;font-weight:650;display:flex}.notification-reader-list strong em{color:#1266f1;background:#edf5ff;border-radius:7px;align-items:center;min-height:22px;padding:0 7px;font-size:12px;font-style:normal;font-weight:650;display:inline-flex}.notification-reader-list p{color:#59677c;margin:3px 0 0;font-size:13px;line-height:1.25}.notification-reader-list b{color:#159447;background:#eaf9ef;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12.5px;font-weight:650;display:inline-flex}.notification-reader-list b.is-unread{color:#6b7484;background:#eef1f5}.notification-detail-action{z-index:18;padding-top:10px;display:grid;position:sticky;bottom:18px}.notification-detail-action .primary-btn{border-radius:14px;min-height:56px;box-shadow:0 14px 28px #1266f133}.notification-read-sheet{width:min(360px,100% - 34px);max-height:min(86vh,760px);overflow-y:auto}.sheet-top{align-items:flex-start;width:100%}.notification-read-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.notification-read-stats article{background:#f8fbff;border:1px solid #dfe8f5;border-radius:14px;align-content:center;place-items:center;gap:5px;min-height:70px;display:grid}.notification-read-stats article.is-read{background:#f2fbf4;border-color:#cdeed5}.notification-read-stats article.is-unread{background:#f7f8fa;border-color:#e1e6ee}.notification-read-stats span{color:#536077;font-size:13px;font-weight:650}.notification-read-stats strong{color:#1266f1;font-size:23px;font-weight:700;line-height:1}.notification-read-stats .is-read strong{color:#159447}.notification-read-stats .is-unread strong{color:#334155}.notification-reader-list{gap:10px;width:100%}.notification-reader-list article{background:#fff;border:1px solid #e2e7ef;border-radius:14px;grid-template-columns:48px minmax(0,1fr) auto;min-height:76px;padding:11px 12px}.notification-reader-list aside{justify-items:end;gap:7px;display:grid}.notification-reader-list aside small{color:#59677c;white-space:nowrap;font-size:12.5px}.notification-insight{background:#fff9ed;border:1px solid #ffdca9;border-radius:14px;gap:5px;width:100%;padding:14px;display:grid}.notification-insight strong{color:#b76500;font-size:15px;font-weight:700}.notification-insight p{color:#536077;margin:0;font-size:14px;line-height:1.45}.attendance-today-card{background:linear-gradient(145deg,#f7fbff,#fff);border-color:#cfe0ff}.attendance-record-table article.is-today{background:linear-gradient(90deg,#eaf3ff,#fff);border-left:4px solid #1266f1}.attendance-record-table article.is-today strong,.attendance-record-table article.is-today b{color:#1266f1;font-weight:650}.attendance-record-table article.is-today small{color:#fff;background:#1266f1}.vacation-day.is-today:not(.is-selected),.calendar-day.is-today:not(.is-selected){color:#1266f1;background:#f5f9ff;border-color:#1266f1;box-shadow:inset 0 0 0 1px #1266f11f}.vacation-day.is-today small,.calendar-day.is-today small{color:#1266f1}.vacation-day.is-selected.is-today small,.calendar-day.is-selected.is-today small{color:currentColor}.vacation-latest-item{grid-template-columns:34px minmax(0,1fr) auto!important}.vacation-latest-item div{min-width:0}.vacation-latest-item p{color:#556274;margin:4px 0 0;font-size:13px;line-height:1.35}.vacation-latest-item em{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:27px;padding:0 9px;font-size:12.5px;font-style:normal;font-weight:610;display:inline-flex}@media (width<=380px){.notification-info-box dl div{grid-template-columns:74px minmax(0,1fr)}}.schedule-page{background:#fff;padding:18px 18px 108px}.schedule-home-hero{color:#fff;background:radial-gradient(circle at 82% 20%,#ffffff61,#0000 30%),linear-gradient(145deg,#7476ff 0%,#5753ef 56%,#4a56df 100%);border-radius:24px;gap:18px;margin-bottom:22px;padding:22px;display:grid;box-shadow:0 20px 42px #4f53e63d}.schedule-home-intro h1{color:#fff;letter-spacing:0;flex-wrap:wrap;align-items:center;gap:9px;margin:0;font-size:30px;font-weight:720;line-height:1.1;display:flex}.schedule-home-intro p{color:#ffffffc7;margin:12px 0 0;font-size:15.5px;line-height:1.45}.schedule-home-photo{align-self:start;width:90px;height:90px;position:relative}.schedule-home-metrics article{background:#ffffffed;border:1px solid #ffffff85;border-radius:16px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:86px;padding:14px;display:grid;box-shadow:0 12px 24px #1f26871a}.metric-icon.purple{color:#5d55f3;background:#f0efff}.metric-icon.blue{color:#2f86f5;background:#eef6ff}.metric-icon.sky{color:#3b92df;background:#eff7ff}.schedule-date-card,.schedule-shifts,.schedule-summary-card,.schedule-person{box-shadow:0 14px 34px #13204112}.schedule-date-query-card{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe7f2}.schedule-date-query-card:focus-visible{outline:none;box-shadow:0 0 0 4px #1266f124,0 14px 34px #13204112}.schedule-date-query-card:active{transform:translateY(1px)}.schedule-date-kicker{color:#1266f1;background:#edf5ff;border-radius:999px;align-items:center;min-height:24px;margin-bottom:7px;padding:0 9px;font-size:13px;font-weight:680;line-height:1;display:inline-flex}.schedule-date-query-card .schedule-date-title h1{font-size:22px;font-weight:690}.schedule-date-query-card .schedule-date-title p{color:#687389;margin-top:7px;font-size:14.5px;line-height:1.35}.schedule-worker-title{margin-top:24px}.payroll-page{background:#fff;gap:18px;padding:28px 18px 108px;display:grid}.payroll-summary-card{background:radial-gradient(circle at 9% 0,#3086f11f,#0000 28%),linear-gradient(135deg,#fbfdff 0%,#fff 100%);border:1px solid #d8e8ff;border-radius:22px;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:108px;padding:18px;display:grid;box-shadow:0 16px 34px #1266f117}.payroll-summary-icon{color:#fff;background:linear-gradient(145deg,#56b8ff,#1266f1);border-radius:16px;place-items:center;width:64px;height:64px;display:grid;position:relative;box-shadow:0 12px 26px #1266f138}.payroll-summary-icon:after{content:"₩";color:#fff;background:#1266f1;border:2px solid #fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;font-weight:720;display:grid;position:absolute;bottom:-8px;right:-8px}.payroll-summary-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:31px;height:31px}.payroll-summary-card>strong{color:#101832;font-size:23px;font-weight:720;line-height:1.2}.payroll-summary-card>div{grid-template-columns:repeat(2,auto);align-items:center;gap:0;display:grid}.payroll-summary-card>div span{color:#667187;border-left:1px solid #e3e9f2;grid-template-columns:auto auto;grid-template-areas:"label label""count unit";justify-content:start;align-items:end;gap:6px;min-width:76px;padding:0 14px;font-size:14px;font-weight:610;line-height:1.1;display:grid}.payroll-summary-card small{color:#667187;grid-area:label;font-size:14px;font-weight:610;line-height:1.1}.payroll-summary-card .dot{vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.payroll-summary-card .dot.green{background:#4abb7b}.payroll-summary-card .dot.slate{background:#b7bfcc}.payroll-summary-card b{color:#1f985a;grid-area:count;font-size:29px;font-weight:720;line-height:1}.payroll-summary-card em{color:#667187;grid-area:unit;font-size:15px;font-style:normal;font-weight:610}.payroll-year-card{background:#fff;border:1px solid #e0e7f1;border-radius:18px;grid-template-columns:36px minmax(0,1fr) 26px;align-items:center;gap:12px;min-height:66px;padding:14px 18px;display:grid;box-shadow:0 12px 28px #0f172a0f}.payroll-year-card>span,.payroll-year-card>svg{color:#123d75}.payroll-year-card svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.payroll-year-card .control{color:#101832;width:100%;height:38px;box-shadow:none;appearance:none;background:0 0;border:0;padding:0;font-size:22px;font-weight:680}.payroll-item-card{background:#fff;border:1px solid #e1e8f2;border-radius:22px;grid-template-columns:74px minmax(0,1fr) auto;grid-template-areas:"month main status""month main actions";align-items:center;gap:12px 16px;min-height:138px;padding:18px;display:grid;position:relative;box-shadow:0 16px 34px #0f172a0f}.payroll-item-card.is-empty{background:linear-gradient(135deg,#fff 0%,#fbfbfc 100%)}.payroll-month-badge{color:#1266f1;background:#eef6ff;border-radius:16px;grid-area:month;place-items:center;width:64px;height:64px;font-size:21px;font-weight:720;display:grid}.payroll-item-card.is-empty .payroll-month-badge{color:#657184;background:#f0f2f5}.payroll-item-main{grid-area:main;min-width:0}.payroll-status{white-space:nowrap;border-radius:999px;grid-area:status;justify-content:center;justify-self:end;align-items:center;min-height:35px;padding:0 14px;font-size:15px;font-weight:690;display:inline-flex}.payroll-card-actions{grid-area:actions;justify-self:end;gap:10px;display:flex}.payroll-card-actions button{color:#164b91;background:#fff;border:1px solid #dfe7f2;border-radius:16px;align-content:center;place-items:center;gap:5px;width:66px;height:62px;font-size:13px;font-weight:650;display:grid;box-shadow:0 8px 20px #0f172a0d}.payroll-card-actions button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.payroll-card-actions button:disabled{color:#8a95a7;opacity:.75;background:#f7f8fa}.payroll-policy-card{background:linear-gradient(145deg,#f7fbff,#fff);border:1px solid #d8e8ff;border-radius:22px;grid-template-columns:44px minmax(0,1fr);align-items:flex-start;gap:14px;padding:18px;display:grid}.payroll-policy-card>span{color:#1266f1;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.payroll-policy-card svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px}.payroll-policy-card p{color:#56627a;margin:8px 0 0;font-size:16px;line-height:1.5}@media (width<=390px){.schedule-home-hero{padding:19px}.schedule-home-intro{grid-template-columns:minmax(0,1fr) 78px}.schedule-home-intro h1{font-size:26px}.schedule-home-photo,.schedule-home-photo .profile-img,.schedule-hero-profile{width:78px;height:78px}.schedule-home-metrics article{grid-template-columns:42px minmax(0,1fr);gap:9px;padding:12px}.metric-icon{width:42px;height:42px}.schedule-home-metrics strong{font-size:21px}.payroll-summary-card{grid-template-columns:60px minmax(0,1fr)}.payroll-summary-card>div{grid-column:1/-1}.payroll-item-card{grid-template-columns:62px minmax(0,1fr);grid-template-areas:"month status""main main""actions actions"}.payroll-card-actions{justify-self:stretch}.payroll-card-actions button{flex:1;width:auto}}body{color:var(--text-primary);background:var(--app-bg);font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5}#app{background:radial-gradient(circle at 50% 0%, #30b6e31a, transparent 32%), var(--app-bg);min-height:100vh;padding:18px}.device{background:var(--surface-white);border:1px solid #e6e8ece6;border-radius:34px;width:min(430px,100%);min-height:min(900px,100vh - 36px);max-height:930px;padding:0;box-shadow:0 30px 70px #1024372e}.screen{background:var(--app-bg);border:0;border-radius:34px;height:min(900px,100vh - 36px);min-height:720px}.screen:before{display:none}.content{background:var(--app-bg)}.content>.page{-webkit-overflow-scrolling:touch;background:var(--app-bg);flex:auto;align-content:start;gap:24px;padding:24px 20px 112px;display:grid;overflow-y:auto}.app-header{border-bottom:1px solid var(--divider-soft);height:76px;min-height:76px;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;flex:none;padding:14px 20px}.content:has(.schedule-page) .app-header{border-bottom:1px solid var(--divider-soft);height:76px;min-height:76px;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;flex:none;padding:14px 20px}.content:has(.vacation-page) .app-header{border-bottom:1px solid var(--divider-soft);height:76px;min-height:76px;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;flex:none;padding:14px 20px}.content:has(.payroll-page) .app-header{border-bottom:1px solid var(--divider-soft);height:76px;min-height:76px;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;flex:none;padding:14px 20px}.header-line{align-items:center;gap:14px;height:100%}.location{gap:12px;min-width:0}.content:has(.schedule-page) .location{gap:12px;min-width:0}.mini-mark{color:#fff;background:linear-gradient(145deg,#1e4f9f 0%,#30b6e3 55%,#60ad70 100%);border:1px solid #1e4f9f14;border-radius:14px;width:44px;height:44px;font-size:22px;box-shadow:0 10px 22px #1e4f9f1f}.content:has(.schedule-page) .mini-mark{color:#fff;background:linear-gradient(145deg,#1e4f9f 0%,#30b6e3 55%,#60ad70 100%);border:1px solid #1e4f9f14;border-radius:14px;width:44px;height:44px;font-size:22px;box-shadow:0 10px 22px #1e4f9f1f}.mini-mark:before,.mini-mark:after{display:none}.content:has(.schedule-page) .mini-mark:before{display:none}.content:has(.schedule-page) .mini-mark:after{display:none}.location strong{max-width:190px;color:var(--text-primary);letter-spacing:0;font-size:20px;font-weight:700;line-height:1.2}.content:has(.schedule-page) .location strong{max-width:190px;color:var(--text-primary);letter-spacing:0;font-size:20px;font-weight:700;line-height:1.2}.header-actions{gap:10px}.header-actions .icon-btn{border:1px solid var(--border-soft);width:44px;height:44px;color:var(--text-primary);background:#fff;border-radius:50%;box-shadow:0 8px 20px #1024370d}.content:has(.schedule-page) .header-actions .icon-btn{border:1px solid var(--border-soft);width:44px;height:44px;color:var(--text-primary);background:#fff;border-radius:50%;box-shadow:0 8px 20px #1024370d}.header-actions .icon-btn svg{stroke-width:2px;width:23px;height:23px}.profile-trigger{background:#eff8ff;padding:0;overflow:hidden}.content:has(.schedule-page) .profile-trigger{background:#eff8ff;padding:0;overflow:hidden}.profile-trigger:before,.profile-trigger:after{display:none}.content:has(.schedule-page) .profile-trigger:before{display:none}.content:has(.schedule-page) .profile-trigger:after{display:none}.profile-trigger .profile-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block!important}.content:has(.schedule-page) .profile-trigger .profile-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block!important}.badge-dot{color:#fff;background:#d92d20;border:2px solid #fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;top:-5px;right:-5px}.content:has(.schedule-page) .badge-dot{color:#fff;background:#d92d20;border:2px solid #fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;top:-5px;right:-5px}.page-title,.attendance-title,.vacation-title,.payroll-title{gap:8px;margin:0;display:grid}.page-title h1,.attendance-title h1,.vacation-title h1,.payroll-title h1{color:var(--text-primary);letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1.18}.page-title p,.attendance-title p,.vacation-title p,.payroll-title p{color:var(--text-secondary);margin:0;font-size:16px;font-weight:450;line-height:1.5}.section-title{align-items:center;min-height:auto;margin:0 0 12px}.section-title h2,.attendance-section-head h2,.schedule-worker-title,.vacation-calendar-head h2,.vacation-status-head h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:21px;font-weight:700;line-height:1.25}.section-title span,.section-title button,.small-muted,.card-body p,.data-note p,.sheet p,.payroll-policy-card p{color:var(--text-tertiary);font-size:13px;font-weight:500;line-height:1.45}.section,.profile-card,.plain-card,.notice-card,.request-card,.detail-panel,.data-note,.attendance-qr-card,.attendance-today-card,.attendance-record-card,.vacation-month-card,.vacation-notice-card,.vacation-status-card,.vacation-calendar-card,.vacation-history-card,.payroll-summary-card,.payroll-year-card,.payroll-item-card,.payroll-policy-card,.notification-info-box,.notification-read-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--surface-white);box-shadow:var(--shadow-soft-ios)}.section,.profile-card,.plain-card,.notice-card,.request-card,.detail-panel,.data-note{padding:18px}.primary-btn,.secondary-btn,.ghost-btn,.payroll-card-actions button,.section-more{border-radius:var(--radius-button);letter-spacing:0;min-height:48px;font-size:16px;font-weight:700}.primary-btn{color:#fff;background:var(--brand-royal);box-shadow:0 12px 24px #1e4f9f2e}.secondary-btn,.ghost-btn{color:var(--brand-royal);box-shadow:none;background:#fff;border:1px solid #1e4f9f38}.control,input,select,textarea{border-color:var(--border-soft);min-height:48px;color:var(--text-primary);background:#fff;border-radius:14px;font-size:16px;line-height:1.4}.status-pill,.grade-pill,.date-chip,.payroll-status,.notification-badges em,.vacation-latest-item em{border-radius:999px;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;line-height:1}.status-waiting,.status-pill.status-waiting{color:var(--status-wait-text);background:var(--status-wait-bg)}.status-pending,.status-progress,.status-pill.status-progress,.status-pill.status-pending{color:var(--status-progress-text);background:var(--status-progress-bg)}.status-done,.status-approved,.status-pill.status-done,.status-pill.status-approved,.payroll-status.is-ready{color:var(--status-done-text);background:var(--status-done-bg)}.status-rejected,.status-pill.status-rejected{color:var(--status-wait-text);background:var(--status-wait-bg)}.status-empty,.status-pill.status-empty,.payroll-status.is-empty{color:var(--status-empty-text);background:var(--status-empty-bg)}.grade-rn,.grade-pill.grade-rn{color:var(--brand-royal);background:#eaf2ff}.grade-an,.grade-pill.grade-an{color:var(--brand-mint);background:#ecfdf3}.grade-prn,.grade-pill.grade-prn{color:#7c3aed;background:#f3eeff}.bottom-tabs{z-index:30;border:0;border-top:1px solid var(--divider-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;height:86px;padding:8px 10px 12px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -14px 30px #10243714}.tab{min-height:60px;color:var(--text-tertiary);background:0 0;border-radius:18px;align-content:center;place-items:center;gap:5px;font-size:13px;font-weight:700;display:grid}.tab svg{stroke-width:2px;width:25px;height:25px}.tab.is-active{color:var(--brand-royal);background:#eff8ff}.schedule-page{gap:22px;padding:24px 20px 112px}.schedule-home-hero{border-radius:var(--radius-hero);background:radial-gradient(circle at 88% 12%,#30b6e35c,#0000 26%),linear-gradient(145deg,#1e4f9f 0%,#2878bd 58%,#30b6e3 100%);border:0;gap:18px;margin:0;padding:20px;box-shadow:0 20px 38px #1e4f9f33}.schedule-home-intro h1{font-size:28px;font-weight:800}.schedule-home-intro h1 span{color:#eaf2ff;background:#ffffff2e;font-size:13px}.schedule-home-intro strong{font-size:17px;font-weight:700}.schedule-home-intro p{color:#ffffffd1;font-size:15px}.schedule-home-metrics{gap:10px}.schedule-home-metrics article{min-height:82px;box-shadow:none;background:#fffffff0;border:0;border-radius:18px}.schedule-home-metrics small{color:var(--text-tertiary);font-size:13px}.schedule-home-metrics strong{color:var(--text-primary);font-size:22px;font-weight:800}.schedule-date-card,.schedule-date-query-card{border-radius:var(--radius-card);min-height:108px;box-shadow:var(--shadow-soft-ios);grid-template-columns:56px minmax(0,1fr) 32px;gap:14px;padding:18px}.schedule-date-icon,.schedule-summary-icon,.schedule-date-kicker{color:var(--brand-royal);background:#eff8ff}.schedule-date-query-card .schedule-date-title h1{color:var(--text-primary);font-size:20px;font-weight:800}.schedule-date-query-card .schedule-date-title p{color:var(--text-secondary);font-size:15px}.schedule-shifts{border:1px solid var(--border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#fff;margin:0;padding:6px}.schedule-shifts button{min-height:64px;color:var(--text-secondary);border-radius:16px}.schedule-shifts button strong{font-size:17px;font-weight:800}.schedule-shifts button small{color:currentColor;opacity:.72;font-size:13px}.schedule-summary-card{border-radius:var(--radius-card);min-height:104px;box-shadow:var(--shadow-soft-ios);margin:0;padding:18px}.schedule-summary-card strong{color:var(--text-primary);font-size:21px;font-weight:800}.schedule-summary-card strong em{color:var(--brand-royal);font-size:34px;font-weight:800}.schedule-summary-card p{color:var(--text-tertiary);font-size:14px}.schedule-worker-title{margin:0 0 14px}.schedule-person{border-radius:var(--radius-card);min-height:92px;box-shadow:var(--shadow-soft-ios);background:#fff;grid-template-columns:58px minmax(0,1fr) auto;padding:16px}.schedule-person .card-body strong{font-size:19px;font-weight:800}.schedule-person .card-body p{color:var(--text-secondary);margin-top:5px;font-size:15px}.schedule-person .status-pill{border-radius:999px;min-height:28px;font-size:12px}.attendance-page,.vacation-page,.payroll-page,.notification-page{gap:24px;padding:24px 20px 112px}.attendance-qr-card,.attendance-today-card,.attendance-record-card{padding:18px}.attendance-section-head p{color:var(--text-secondary);margin:5px 0 0;font-size:15px}.attendance-time-grid{gap:12px}.attendance-time-grid div{border:1px solid var(--border-soft);background:#f8fafc;border-radius:18px;min-height:96px}.attendance-time-grid div.is-recorded{background:#f4fbf6;border-color:#60ad7059}.attendance-time-grid strong{color:var(--text-primary);font-size:24px;font-weight:800}.attendance-record-table{border-radius:16px;overflow:hidden}.attendance-record-header,.attendance-record-table article{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);min-height:54px}.attendance-record-header span{color:var(--text-tertiary);font-size:13px}.attendance-record-table article strong,.attendance-record-table article b{font-size:15px}.attendance-record-table article.is-today{border-left:4px solid var(--brand-royal);background:#eff8ff}.vacation-month-card,.vacation-notice-card,.vacation-status-card,.vacation-calendar-card,.vacation-history-card{padding:18px}.vacation-status-grid{gap:10px}.vacation-status-grid article{border-radius:16px;min-height:82px}.vacation-status-grid article span{font-size:13px}.vacation-status-grid article strong{font-size:28px;font-weight:800}.vacation-calendar-grid{gap:8px}.vacation-day,.calendar-day{border-radius:14px;min-height:56px;font-size:16px;font-weight:800}.vacation-day small,.calendar-day small{font-size:12px;font-weight:800}.vacation-day.is-selected,.calendar-day.is-selected{color:#fff;background:var(--brand-royal);border-color:var(--brand-royal)}.payroll-page{gap:20px}.payroll-summary-card{grid-template-columns:64px minmax(0,1fr);gap:14px;min-height:112px;padding:18px}.payroll-summary-card>div{border-top:1px solid var(--divider-soft);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding-top:14px}.payroll-summary-card>div span{border-left:0;min-width:0;padding:0}.payroll-summary-icon{background:linear-gradient(145deg, var(--brand-royal), var(--brand-sky));border-radius:16px;width:56px;height:56px}.payroll-summary-card>strong{color:var(--text-primary);font-size:21px;font-weight:800}.payroll-year-card{min-height:64px;padding:14px 16px}.payroll-item-card{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"month status""main main""actions actions";min-height:150px;padding:18px}.payroll-month-badge{width:58px;height:58px;color:var(--brand-royal);background:#eff8ff;border-radius:16px}.payroll-item-main strong{font-size:21px;font-weight:800}.payroll-item-main p{color:var(--text-secondary);font-size:15px}.payroll-card-actions{justify-self:stretch;gap:10px}.payroll-card-actions button{width:auto;height:58px;color:var(--brand-royal);flex:1}.payroll-policy-card{padding:18px}.payroll-policy-card strong{color:var(--text-primary)}.segmented{border:1px solid var(--border-soft);background:#fff;border-radius:16px;padding:4px}.segmented button{min-height:44px;color:var(--text-tertiary);border-radius:12px;font-size:14px;font-weight:700}.segmented button.is-active{color:var(--brand-royal);background:#eff8ff}.modal-scrim{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1024376b}.sheet,.vacation-confirm-sheet{background:#fff;border-radius:24px}.sheet h2,.vacation-confirm-sheet h2{color:var(--text-primary);font-size:24px;font-weight:800}small{font-size:12px}.tab span{font-size:13px}.status-pill,.grade-pill,.date-chip,.calendar-day small,.vacation-day small,.payroll-card-actions span{font-size:12px}@media (width<=480px){#app{padding:0}.device{width:100%;min-height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0}.screen{border-radius:0;height:100dvh;min-height:100dvh}}@media (width<=380px){.content>.page,.schedule-page,.attendance-page,.vacation-page,.payroll-page,.notification-page{padding-inline:16px}.location strong{max-width:160px;font-size:18px}.content:has(.schedule-page) .location strong{max-width:160px;font-size:18px}.schedule-home-metrics{grid-template-columns:1fr}.payroll-summary-card>div{grid-template-columns:1fr 1fr}}.schedule-page{background:var(--app-bg);gap:22px;padding:24px 20px 112px;display:grid}.schedule-home-hero{border-radius:var(--radius-hero);color:#fff;background:radial-gradient(circle at 88% 14%, #30b6e361, transparent 28%), linear-gradient(145deg, var(--brand-royal) 0%, #2878bd 56%, var(--brand-sky) 100%);border:0;gap:16px;margin:0;padding:20px;display:grid;box-shadow:0 20px 38px #1e4f9f33}.schedule-home-intro{grid-template-columns:minmax(0,1fr) 88px;align-items:start;gap:14px;display:grid}.schedule-home-intro h1{color:#fff;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:28px;font-weight:800;line-height:1.12;display:flex}.schedule-home-intro h1 span{color:#eaf2ff;background:#ffffff2e;border-radius:999px;align-items:center;min-height:28px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.schedule-home-intro strong{color:#fffffff0;margin-top:8px;font-size:17px;font-weight:700;line-height:1.3;display:block}.schedule-status-badge{color:#fff;background:#ffffff2e;border:1px solid #ffffff57;border-radius:999px;align-items:center;width:fit-content;min-height:30px;margin-top:10px;padding:0 12px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.schedule-home-intro p{color:#ffffffd1;margin:12px 0 0;font-size:15px;font-weight:500;line-height:1.45}.schedule-home-photo{width:88px;height:88px;position:relative}.schedule-home-photo .profile-img,.schedule-hero-profile{object-fit:cover;background:#eff8ff;border:4px solid #ffffffe6;border-radius:50%;width:88px;height:88px;box-shadow:0 12px 26px #0d14372e}.schedule-home-photo i{background:var(--brand-mint);border:4px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;bottom:5px;right:3px}.schedule-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-home-metrics article{min-height:82px;box-shadow:none;background:#fffffff0;border:0;border-radius:18px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;padding:14px;display:grid}.schedule-home-metrics small{color:var(--text-tertiary);font-size:13px;font-weight:700;line-height:1.2;display:block}.schedule-home-metrics strong{color:var(--text-primary);margin-top:5px;font-size:22px;font-weight:800;line-height:1.1;display:block}.metric-icon{border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.metric-icon svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.metric-icon.purple,.metric-icon.blue,.metric-icon.sky{color:var(--brand-royal);background:#eff8ff}.metric-icon.amber{color:var(--status-progress-text);background:var(--status-progress-bg)}.schedule-meta-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-meta-row p{min-width:0;color:var(--text-primary);margin:0;font-size:18px;font-weight:700;line-height:1.35}.schedule-meta-row p strong{color:var(--brand-royal);margin-right:10px;font-size:18px;font-weight:800}.schedule-dept-button{min-height:42px;color:var(--brand-royal);background:#eff8ff;border:0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px 0 14px;font-size:15px;font-weight:800;display:inline-flex}.schedule-dept-button svg{fill:none;stroke:currentColor;stroke-width:2.3px;width:18px;height:18px}.schedule-date-card,.schedule-date-query-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);width:100%;min-height:108px;color:inherit;text-align:left;box-shadow:var(--shadow-soft-ios);background:#fff;grid-template-columns:56px minmax(0,1fr) 32px;align-items:center;gap:14px;padding:18px;display:grid}.schedule-date-icon,.schedule-summary-icon{width:56px;height:56px;color:var(--brand-royal);background:#eff8ff;border-radius:50%;place-items:center;display:grid}.schedule-date-icon svg,.schedule-summary-icon svg{fill:none;stroke:currentColor;stroke-width:2.1px;width:28px;height:28px}.schedule-date-kicker{min-height:26px;color:var(--brand-royal);background:#eff8ff;border-radius:999px;align-items:center;margin-bottom:7px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.schedule-date-query-card .schedule-date-title h1{color:var(--text-primary);margin:0;font-size:28px;font-weight:800;line-height:1.1}.schedule-date-query-card .schedule-date-title{justify-content:center}.schedule-date-query-card .schedule-date-title p{color:var(--text-secondary);margin:8px 0 0;font-size:16px;font-weight:500;line-height:1.35}.schedule-date-button svg{fill:none;width:24px;height:24px;stroke:var(--text-secondary);stroke-width:2.4px}.schedule-shifts{border:1px solid var(--border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:6px;display:grid}.schedule-shifts button{min-height:64px;color:var(--text-secondary);background:0 0;border:0;border-radius:16px;align-content:center;place-items:center;gap:5px;padding:8px 5px;display:grid;position:relative}.schedule-shifts button+button:before{content:"";background:var(--divider-soft);width:1px;position:absolute;top:14px;bottom:14px;left:0}.schedule-shifts button.is-active:before,.schedule-shifts button.is-active+button:before{display:none}.schedule-shifts button strong{color:var(--text-primary);justify-content:center;align-items:center;gap:5px;font-size:17px;font-weight:800;line-height:1.1;display:inline-flex}.schedule-shifts button small{color:currentColor;opacity:.78;font-size:13px;font-weight:600;line-height:1.2}.schedule-shifts button.is-active{color:#fff;background:linear-gradient(145deg, var(--brand-royal) 0%, #5b5ff6 100%);box-shadow:0 10px 20px #1e4f9f2e}.schedule-shifts button.is-active strong,.schedule-shifts button.is-active small{color:#fff}.schedule-summary-card{border-radius:var(--radius-card);min-height:104px;box-shadow:var(--shadow-soft-ios);background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border:1px solid #1e4f9f29;grid-template-columns:58px minmax(0,1fr) 56px;align-items:center;gap:13px;margin:0;padding:18px;display:grid}.schedule-summary-card strong{color:var(--text-primary);font-size:21px;font-weight:800;line-height:1.18}.schedule-summary-card strong em{color:var(--brand-royal);font-size:34px;font-style:normal;font-weight:800}.schedule-summary-card p{color:var(--text-tertiary);margin:6px 0 0;font-size:14px;font-weight:600;line-height:1.35}.schedule-summary-shield{color:#1e4f9f80;background:#eff8ff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.schedule-summary-shield svg{fill:none;stroke:currentColor;stroke-width:1.9px;width:32px;height:32px}.schedule-worker-panel{margin:0}.schedule-worker-title{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 14px;font-size:21px;font-weight:800;line-height:1.25;display:flex}.schedule-worker-title span,.schedule-worker-title svg{width:22px;height:22px;color:var(--brand-royal);fill:none;stroke:currentColor;stroke-width:2.1px}.schedule-list{gap:12px;display:grid}.schedule-person{border:1px solid var(--border-soft);border-radius:var(--radius-card);min-height:92px;box-shadow:var(--shadow-soft-ios);background:#fff;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.schedule-person.is-highlight{background:#fffdf3;border-color:#f6c45e}.schedule-person .card-body strong{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.15}.schedule-person .card-body p{color:var(--text-secondary);margin:6px 0 0;font-size:15px;font-weight:500;line-height:1.35}.schedule-person .status-pill{border-radius:999px;min-height:28px;font-size:12px;font-weight:800}.schedule-leader-star{color:#fff;background:linear-gradient(145deg,#f7b731,#f59e0b);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.schedule-leader-star svg{fill:currentColor;stroke:currentColor;width:23px;height:23px}@media (width<=380px){.schedule-home-intro{grid-template-columns:minmax(0,1fr) 76px}.schedule-home-photo,.schedule-home-photo .profile-img,.schedule-hero-profile{width:76px;height:76px}.schedule-home-metrics{grid-template-columns:1fr}.schedule-meta-row{flex-direction:column;align-items:flex-start}.schedule-date-query-card .schedule-date-title h1{font-size:24px}.schedule-summary-card{grid-template-columns:52px minmax(0,1fr)}.schedule-summary-shield{display:none}}.scroll{background:var(--app-bg);padding:24px 20px 112px}.scroll .top-back{margin-bottom:22px}.scroll .page-title{margin-bottom:24px}.scroll .page-title h1{color:var(--ds-text);font-size:27px;font-weight:700;line-height:1.22}.scroll .page-title p{color:var(--ds-text-soft);margin-top:8px;font-size:16px;font-weight:400;line-height:1.55}.scroll .section{margin-top:24px}.stepper{gap:8px}.stepper span{border-radius:14px;min-height:44px;padding:0 8px;font-size:13px;line-height:1.25}.profile-card{border:1px solid var(--ds-border);background:var(--ds-surface);border-radius:20px;padding:20px;box-shadow:0 12px 28px #1024370f}.profile-card .section-title{margin-bottom:18px}.profile-card .section-title h2{font-size:21px;font-weight:650;line-height:1.25}.profile-card .field{gap:8px;margin-top:16px}.profile-card .field label{color:var(--ds-text-soft);font-size:14px;font-weight:600;line-height:1.35}.profile-card .control,.profile-card select.control{border-radius:14px;min-height:52px;font-size:16px;line-height:1.45}.profile-card textarea.control{min-height:96px}.registration-ready-panel{align-items:flex-start;gap:12px}.registration-ready-panel ul{color:var(--ds-text-soft);margin:8px 0 0;padding-left:18px;font-size:15px;line-height:1.55}.terms-continue-btn:disabled,.primary-btn:disabled{color:#fff;box-shadow:none;opacity:1;cursor:not-allowed;background:#cbd5e1}.header-user-chip{border:1px solid var(--border-soft);height:40px;color:var(--text-primary);background:#fff;border-radius:999px;flex-direction:column;justify-content:center;gap:1px;padding:0 10px;display:inline-flex;box-shadow:0 8px 18px #1024370d}.content:has(.notification-page) .location strong{max-width:145px;font-size:18px}.content:has(.notification-page) .header-actions{gap:7px}.header-user-chip strong{font-size:13px;font-weight:700;line-height:1}.header-user-chip small{color:var(--text-tertiary);font-size:12px;font-weight:650;line-height:1}.notification-list-page{gap:18px;padding-top:22px}.notification-title-block{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid}.notification-title-block h1{color:var(--text-primary);margin:0;font-size:28px;font-weight:800;line-height:1.16}.notification-title-block p{color:var(--text-secondary);margin:6px 0 0;font-size:15px;font-weight:500;line-height:1.45}.notification-back{border:1px solid var(--border-soft);width:44px;height:44px;color:var(--text-primary);box-shadow:var(--shadow-soft-ios);background:#fff;border-radius:50%}.notification-badges{flex-wrap:wrap;gap:7px;display:flex}.notification-badges em{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-style:normal;font-weight:750;line-height:1;display:inline-flex}.notification-badges .status-waiting{color:var(--status-wait-text);background:var(--status-wait-bg)}.notification-badges .status-progress{color:var(--status-progress-text);background:var(--status-progress-bg)}.notification-badges .status-done{color:var(--status-done-text);background:var(--status-done-bg)}.notification-badges .is-waiting-read{color:#b54708;background:#fff4d6}@media (width<=380px){.header-user-chip{display:none}}.notification-detail-page,.notification-reader-page{gap:18px;padding-top:22px}.notification-detail-status{border:1px solid var(--border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.notification-detail-status small{color:var(--text-tertiary);font-size:14px;font-weight:700;line-height:1.3}.notification-detail-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;margin:0;padding:0;display:grid}.notification-detail-section,.notification-read-card.notification-detail-section{border:1px solid var(--border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#fff;padding:18px}.notification-info-box h4,.notification-read-head h4{color:var(--text-primary);font-size:18px;font-weight:750;line-height:1.25}.notification-info-box dl{gap:11px}.notification-info-box dl div{grid-template-columns:96px minmax(0,1fr);align-items:center}.notification-info-box dt,.notification-info-box dd,.notification-info-box p{font-size:15.5px}.notification-info-box dt{color:var(--text-tertiary);font-weight:650}.notification-info-box dd{color:var(--text-primary);font-weight:700}.notification-request-text{gap:8px;display:grid}.notification-request-text p{color:var(--text-primary);background:#f8fafc;border-radius:14px;margin:0;padding:13px 14px;font-size:16px;font-weight:550;line-height:1.48}.notification-read-head{align-items:flex-start}.notification-read-head h4 span{color:var(--text-tertiary);margin-top:3px;font-size:13px;font-weight:650;line-height:1.25;display:block}.notification-read-head>strong{min-height:32px;color:var(--brand-royal);white-space:nowrap;background:#eff8ff;border-radius:999px;align-items:center;padding:0 11px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.notification-detail-reader-list,.notification-reader-list{gap:10px;display:grid}.notification-reader-card,.notification-reader-list article.notification-reader-card{border:1px solid var(--border-soft);background:#fff;border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:12px;display:grid}.notification-reader-card div{min-width:0}.notification-reader-card strong{color:var(--text-primary);align-items:center;gap:7px;font-size:16px;font-weight:750;line-height:1.25;display:flex}.notification-reader-card strong em{min-height:24px;color:var(--brand-royal);background:#eff8ff;border-radius:8px;align-items:center;padding:0 8px;font-size:13px;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.notification-reader-card p{color:var(--text-tertiary);margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.35}.notification-reader-card aside{justify-items:end;gap:6px;display:grid}.notification-reader-card b{min-height:28px;color:var(--status-done-text);background:var(--status-done-bg);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.notification-reader-card b.is-unread{color:var(--text-tertiary);background:#f1f5f9}.notification-reader-card small{color:var(--text-tertiary);white-space:nowrap;font-size:12.5px;font-weight:600;line-height:1.25}.notification-read-more{min-height:48px;color:var(--brand-royal);background:#f8fbff;border-color:#1e4f9f3d}.notification-reader-page .notification-read-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.notification-reader-page .notification-read-stats article{border-color:var(--border-soft);min-height:88px;box-shadow:var(--shadow-soft-ios);background:#fff;border-radius:18px}.notification-reader-page .notification-read-stats span{font-size:13px;font-weight:700}.notification-reader-page .notification-read-stats strong{font-size:24px;font-weight:800}.notification-reader-page .notification-insight{border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#fffaeb;border-color:#fedf89;padding:18px}.notification-reader-page .notification-insight strong{color:var(--status-progress-text);font-size:18px;font-weight:800;line-height:1.3}.notification-reader-page .notification-insight p{color:var(--text-secondary);font-size:15px;font-weight:550;line-height:1.5}@media (width<=380px){.notification-info-box dl div{grid-template-columns:84px minmax(0,1fr)}.notification-reader-card,.notification-reader-list article.notification-reader-card{grid-template-columns:44px minmax(0,1fr)}.notification-reader-card aside{grid-column:2;justify-items:start}}.payroll-page{background:var(--app-bg);gap:20px;padding:24px 20px 112px}.payroll-title{gap:8px;display:grid}.payroll-title h1{color:var(--text-primary);letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1.18}.payroll-title p{color:var(--text-secondary);margin:0;font-size:16px;font-weight:500;line-height:1.45}.payroll-summary-card{border-radius:var(--radius-hero);min-height:156px;box-shadow:var(--shadow-ios);background:radial-gradient(circle at 12% 0,#30b6e32e,#0000 34%),linear-gradient(135deg,#fff 0%,#f8fbff 100%);border:1px solid #1e4f9f24;grid-template-rows:auto auto;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:16px 14px;padding:18px;display:grid}.payroll-summary-icon{background:linear-gradient(145deg, var(--brand-royal), var(--brand-sky));border-radius:18px;width:56px;height:56px;box-shadow:0 12px 24px #1e4f9f2e}.payroll-summary-card>strong{color:var(--text-primary);align-self:center;font-size:21px;font-weight:800;line-height:1.24}.payroll-summary-card>div{border-top:1px solid var(--divider-soft);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px;display:grid}.payroll-summary-card>div span{border-left:0;grid-template-columns:auto auto;grid-template-areas:"label label""count unit";place-content:center start;gap:6px;min-width:0;min-height:62px;padding:0 2px;display:grid}.payroll-summary-card small{color:var(--text-tertiary);font-size:13px;font-weight:700}.payroll-summary-card b{color:var(--brand-mint);font-size:30px;font-weight:800}.payroll-summary-card span:last-child b{color:var(--text-tertiary)}.payroll-year-card{border-radius:var(--radius-card);border-color:var(--border-soft);background:var(--surface-white);min-height:64px;box-shadow:var(--shadow-soft-ios);grid-template-columns:40px minmax(0,1fr) 22px;padding:12px 16px}.payroll-year-card>span{width:40px;height:40px;color:var(--brand-royal);background:#eff8ff;border-radius:14px;place-items:center;display:grid}.payroll-year-card select.control{min-height:44px;color:var(--text-primary);background:0 0;border:0;padding:0;font-size:20px;font-weight:700}.payroll-list-modern{gap:14px;display:grid}.payroll-item-card{border-color:var(--border-soft);border-radius:var(--radius-card);background:var(--surface-white);min-height:154px;box-shadow:var(--shadow-soft-ios);grid-template-columns:64px minmax(0,1fr);grid-template-areas:"month status""main main""actions actions";align-items:center;gap:14px;padding:18px}.payroll-month-badge{width:58px;height:58px;color:var(--brand-royal);background:#eff8ff;border-radius:18px;font-size:20px;font-weight:800}.payroll-item-main{gap:7px;display:grid}.payroll-item-main strong{color:var(--text-primary);font-size:21px;font-weight:800;line-height:1.22}.payroll-item-main p{color:var(--text-secondary);margin:0;font-size:15px;font-weight:500;line-height:1.35}.payroll-status{border-radius:999px;justify-self:end;align-items:center;min-height:34px;padding:0 13px;font-size:15px;font-weight:800;display:inline-flex}.payroll-status.is-ready{color:var(--status-done-text);background:var(--status-done-bg)}.payroll-status.is-empty{color:var(--status-progress-text);background:var(--status-progress-bg)}.payroll-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;gap:10px;display:grid}.payroll-card-actions button{border-radius:var(--radius-button);width:100%;min-height:52px;color:var(--brand-royal);background:#fff;border:1px solid #1e4f9f2e;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #1024370a}.payroll-card-actions button:disabled{cursor:not-allowed;color:var(--text-tertiary);border-color:var(--border-soft);box-shadow:none;opacity:.58;background:#f8fafc}.payroll-card-actions span{font-size:15px;font-weight:800}.payroll-policy-card{border-radius:var(--radius-card);box-shadow:var(--shadow-soft-ios);background:#f8fbff;border:1px solid #1e4f9f24;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px;padding:18px;display:grid}.payroll-policy-card>span{width:42px;height:42px;color:var(--brand-royal);background:#eff8ff;border-radius:14px;place-items:center;display:grid}.payroll-policy-card strong{color:var(--text-primary);font-size:18px;font-weight:800;line-height:1.3}.payroll-policy-card p{color:var(--text-secondary);margin:8px 0 0;font-size:15px;font-weight:500;line-height:1.5}.vacation-page{background:var(--app-bg);gap:20px;padding:24px 20px 116px}.vacation-title{gap:8px;margin:0;display:grid}.vacation-title h1{color:var(--text-primary);letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1.18}.vacation-title p{color:var(--text-secondary);margin:0;font-size:16px;font-weight:500;line-height:1.45}.vacation-month-card,.vacation-notice-card,.vacation-status-card,.vacation-calendar-card,.vacation-history-card,.vacation-reapply-note{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--surface-white);box-shadow:var(--shadow-soft-ios)}.vacation-month-card{gap:9px;padding:16px;display:grid}.vacation-month-card label{color:var(--text-secondary);font-size:15px;font-weight:650;line-height:1.25}.vacation-month-card button{border:1px solid var(--border-soft);border-radius:var(--radius-button);min-height:52px;color:var(--text-primary);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:18px;font-weight:700;line-height:1;display:flex}.vacation-notice-card{background:radial-gradient(circle at 90% 0,#30b6e324,#0000 34%),linear-gradient(135deg,#fff 0%,#f5faff 100%);border-color:#1e4f9f2e;gap:13px;padding:18px;display:grid}.vacation-notice-card h2{color:var(--brand-royal);align-items:center;gap:9px;margin:0;font-size:20px;font-weight:800;line-height:1.25;display:flex}.vacation-notice-card h2 span{width:30px;height:30px;color:var(--brand-royal);background:#eff8ff;border-radius:999px;place-items:center;display:grid}.vacation-notice-card ul{color:var(--text-primary);gap:9px;margin:0;padding-left:20px;font-size:15.5px;font-weight:500;line-height:1.5;display:grid}.vacation-notice-card p{color:var(--brand-royal);justify-self:end;margin:0;font-size:14px;font-weight:700;line-height:1.35}.vacation-status-card{box-shadow:none;background:#fff;border:1px solid #8d8d8d;border-radius:16px;gap:18px;padding:16px;display:grid}.vacation-status-head{margin:0}.vacation-status-head h2{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.25}.vacation-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.vacation-status-grid article{min-height:106px;box-shadow:none;text-align:center;background:#fff;border:1px solid #8d8d8d;border-radius:8px;align-content:center;place-items:center;gap:14px;padding:16px 6px;display:grid}.vacation-status-grid article span{color:#000;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.2}.vacation-status-grid article strong{color:#000;font-size:22px;font-weight:800;line-height:1}.vacation-status-grid article small{color:#000;margin-left:6px;font-size:18px;font-weight:500}.vacation-status-grid article.total,.vacation-status-grid article.approved,.vacation-status-grid article.pending,.vacation-status-grid article.rejected{background:#fff;border-color:#8d8d8d}.vacation-status-grid article.total span,.vacation-status-grid article.total strong,.vacation-status-grid article.approved span,.vacation-status-grid article.approved strong,.vacation-status-grid article.pending span,.vacation-status-grid article.pending strong,.vacation-status-grid article.rejected span,.vacation-status-grid article.rejected strong{color:#000}.vacation-status-grid article.available{background:#fff;border-color:#8d8d8d;border-radius:4px;grid-column:1/-1;justify-content:center;gap:36px;min-height:58px;padding:10px 14px;display:flex}.vacation-status-grid article.available span,.vacation-status-grid article.available strong{color:#000}.vacation-calendar-card{gap:15px;padding:18px;display:grid}.vacation-calendar-head{justify-content:space-between;align-items:center;gap:10px;margin:0;display:flex}.vacation-calendar-head h2{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.vacation-calendar-head span{color:#1266f1;white-space:nowrap;background:#fff;border:1px solid #1e4f9f38;border-radius:10px;align-items:center;min-height:32px;padding:0 11px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.vacation-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.vacation-weekdays b{color:var(--text-tertiary);text-align:center;font-size:13px;font-weight:800;line-height:1.2}.vacation-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.vacation-day{border:1px solid var(--border-soft);min-width:0;min-height:56px;color:var(--text-primary);background:#fff;border-radius:14px;align-content:center;place-items:center;gap:3px;padding:7px 4px;display:grid;box-shadow:0 4px 12px #10243709}.vacation-day strong{font-size:18px;font-weight:800;line-height:1}.vacation-day small{color:currentColor;font-size:12px;font-weight:800;line-height:1}.vacation-day:disabled{cursor:default;opacity:1}.vacation-day.is-today:not(.is-selected):not(.is-approved):not(.is-pending):not(.is-off):not(.is-rejected){color:var(--text-primary);background:#fff8ef}.vacation-day.is-selected{color:#1266f1;background:#eef5ff;border-color:#1266f1;box-shadow:inset 0 0 0 1px #1266f1}.vacation-day.is-approved{color:var(--status-done-text);background:var(--status-done-bg);border-color:#15803d33}.vacation-day.is-pending{color:var(--status-progress-text);background:var(--status-progress-bg);border-color:#b547082e}.vacation-day.is-off{color:var(--brand-royal);background:#eff8ff;border-color:#1e4f9f2e}.vacation-day.is-rejected{color:var(--status-wait-text);background:var(--status-wait-bg);border-color:#d92d202e}.vacation-day.is-today{border-color:#ff7a00;box-shadow:inset 0 0 0 2px #ff7a00f2,0 4px 12px #10243709}.vacation-day.is-today small{color:currentColor}.vacation-day.is-selected.is-today{border-color:#ff7a00;box-shadow:inset 0 0 0 2px #ff7a00f2,0 0 0 2px #1266f129}.vacation-legend{flex-wrap:wrap;gap:10px 14px;display:flex}.vacation-legend span{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.vacation-legend i{border-radius:999px;width:10px;height:10px}.vacation-legend i.approved{background:#22c55e}.vacation-legend i.pending{background:#f59e0b}.vacation-legend i.off{background:#3b82f6}.vacation-legend i.rejected{background:#ef4444}.vacation-calendar-action{background:#fff;border:1px solid #e4e7ee;border-radius:18px;grid-template-columns:48px minmax(0,1fr) minmax(132px,.78fr);align-items:center;gap:12px;min-height:82px;padding:14px;display:grid;box-shadow:0 10px 24px #14233d11}.vacation-calendar-action>span{color:#1266f1;background:#eff8ff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.vacation-calendar-action svg{fill:none;stroke:currentColor;stroke-width:2.3px;width:24px;height:24px}.vacation-calendar-action strong{color:var(--text-primary);font-size:16px;font-weight:800;line-height:1.28;display:block}.vacation-calendar-action p{color:#1266f1;margin:5px 0 0;font-size:13px;font-weight:650;line-height:1.38}.vacation-calendar-action .primary-btn{background:#1266f1;border-radius:12px;min-height:50px;font-size:16px;font-weight:800;line-height:1.1;box-shadow:0 10px 22px #1266f138}.vacation-calendar-action .primary-btn:disabled{cursor:not-allowed;color:#fff;box-shadow:none;opacity:1;background:#cfd4dc}@media (width<=380px){.vacation-page{padding-inline:16px}.vacation-status-grid{grid-template-columns:1fr 1fr}.vacation-calendar-grid,.vacation-weekdays{gap:6px}.vacation-day{border-radius:12px;min-height:52px}.vacation-day strong{font-size:17px}.vacation-calendar-action{grid-template-columns:44px minmax(0,1fr)}.vacation-calendar-action .primary-btn{grid-column:1/-1}}.profile-topbar{align-items:flex-start;margin:0!important}.profile-topbar .page-title h1{color:var(--text-primary,#102437);font-size:28px;font-weight:750;line-height:1.2}.profile-topbar .page-title p{color:var(--text-secondary,#475569);margin:5px 0 0;font-size:15px;font-weight:450;line-height:1.45}.profile-summary-card{color:#fff;background:radial-gradient(circle at 84% 16%,#ffffff42,#0000 28%),linear-gradient(135deg,#143a78 0%,#1e4f9f 54%,#30b6e3 100%);border:1px solid #ffffff42;border-radius:24px;gap:16px;padding:20px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px #1e4f9f33}.profile-summary-card:after{content:"";border:28px solid #ffffff1a;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-48px;right:-42px}.profile-summary-main{z-index:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;display:grid;position:relative}.profile-summary-photo{object-fit:cover;border:4px solid #ffffffd6;box-shadow:0 12px 26px #0d143733;border-radius:50%!important;width:78px!important;height:78px!important}.profile-summary-main h2{color:#fff;margin:0 0 4px;font-size:25px;font-weight:760;line-height:1.18}.profile-summary-main p{color:#ffffffd1;margin:0;font-size:15px;font-weight:500;line-height:1.42}.profile-tabs{border:1px solid var(--border-soft,#e6e8ec);background:#fff;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid;box-shadow:0 10px 24px #1024370f}.profile-tabs button{min-width:0;min-height:44px;color:var(--text-tertiary,#64748b);letter-spacing:0;background:0 0;border-radius:13px;padding:0 6px;font-size:14px;font-weight:700;line-height:1.15}.profile-tabs button.is-active{color:var(--brand-royal,#1e4f9f);background:#eff8ff}.profile-info-stack{gap:14px;display:grid}.profile-info-card{border:1px solid var(--border-soft,#e6e8ec);background:#fff;border-radius:20px;gap:15px;padding:18px;display:grid;box-shadow:0 12px 28px #1024370f}.profile-section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-section-title span{color:var(--brand-royal,#1e4f9f);font-size:13px;font-weight:750;line-height:1.2;display:block}.profile-section-title h2{color:var(--text-primary,#102437);margin:5px 0 0;font-size:20px;font-weight:750;line-height:1.25}.profile-section-title em{color:#15803d;background:#ecfdf3;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-style:normal;font-weight:750;display:inline-flex}.profile-photo-readonly{background:linear-gradient(135deg,#f6fbff,#f7fbf3);border:1px solid #1e4f9f1a;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid!important}.profile-photo-readonly strong{color:var(--text-primary,#102437);font-size:20px;font-weight:750;line-height:1.24}.profile-info-list{gap:10px;display:grid}.profile-info-row{border:1px solid var(--border-soft,#e6e8ec);background:#fff;border-radius:16px;grid-template-columns:minmax(86px,.72fr) minmax(0,1.28fr);align-items:center;gap:10px;min-height:54px;padding:12px 14px;display:grid}.profile-info-row span{color:var(--text-tertiary,#64748b);font-size:13px;font-weight:650;line-height:1.35}.profile-info-row strong{color:var(--text-primary,#102437);text-align:right;overflow-wrap:anywhere;font-size:16px;font-weight:650;line-height:1.38}.profile-safe-note{color:var(--text-tertiary,#64748b);margin:-2px 0 0;font-size:13px;font-weight:500;line-height:1.48}.profile-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-review-metrics article{background:#f8fbff;border:1px solid #1e4f9f1f;border-radius:16px;place-items:center;gap:4px;min-height:78px;padding:12px;display:grid}.profile-review-metrics span{color:var(--text-tertiary,#64748b);font-size:13px;font-weight:650}.profile-review-metrics strong{color:var(--brand-royal,#1e4f9f);font-size:20px;font-weight:800;line-height:1.2}.profile-review-total{min-height:82px;color:var(--brand-royal,#1e4f9f);background:#f8fbff;border:2px solid #1e4f9f57;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 24px;display:grid}.profile-review-total span{color:currentColor;font-size:22px;font-weight:650;line-height:1.2}.profile-review-total strong{color:currentColor;letter-spacing:0;font-size:26px;font-weight:650;line-height:1.1}.profile-review-total em{font-style:normal}.settings-detail-page{gap:18px;padding-top:22px}.settings-topbar{align-items:center}.settings-topbar .page-title h1{color:var(--text-primary,#102437);font-size:28px;font-weight:800;line-height:1.2}.settings-topbar .page-title p{color:var(--text-secondary,#475569);margin:5px 0 0;font-size:15px;font-weight:500;line-height:1.45}.notification-settings-card{border:1px solid var(--border-soft,#e6e8ec);background:#fff;border-radius:22px;gap:8px;padding:28px 20px;display:grid;box-shadow:0 12px 28px #10243714}.notification-toggle-row{min-height:58px;color:var(--text-primary,#102437);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:18px;padding:8px 0;display:flex}.notification-toggle-row span{font-size:16px;font-weight:650;line-height:1.35}.notification-toggle-row i{background:#cbd5e1;border-radius:999px;flex:none;width:48px;height:28px;transition:background .18s;position:relative}.notification-toggle-row i b{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 3px 7px #0f172a38}.notification-toggle-row i.is-on{background:#76b6e8}.notification-toggle-row i.is-on b{background:#1476d4;transform:translate(20px)}.notification-settings-card p{color:var(--text-primary,#102437);word-break:keep-all;margin:22px 0 0;font-size:15px;font-weight:500;line-height:1.55}.password-panel .field{margin-top:0!important}.password-panel .control{border-radius:14px;min-height:52px;font-size:16px}.password-checks{background:#f3f9ff!important;border:1px solid #d9ecff!important;border-radius:18px!important;gap:9px!important;margin:0!important;padding:14px!important}.password-checks li{color:var(--text-secondary,#475569);line-height:1.45;font-size:14px!important;font-weight:650!important}.password-checks span{color:#fff;background:#fff;border:1px solid #64748b38;border-radius:8px;place-items:center;width:22px;height:22px;display:grid}.password-checks li.is-ok{color:#15803d!important}.password-checks li.is-ok span{background:#22c55e;border-color:#0000}@media (width<=380px){.profile-page{padding-inline:16px!important}.profile-review-metrics{gap:8px}.profile-tabs button{font-size:13px}.profile-info-row{grid-template-columns:1fr}.profile-info-row strong{text-align:left}}.mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.schedule-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.attendance-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.vacation-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.payroll-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.notification-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.content:has(.profile-page) .mini-mark.erp-mark{flex:0 0 44px;place-items:center;overflow:visible;width:44px!important;height:44px!important;color:var(--brand-royal,#1e4f9f)!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:14px!important;padding:0!important;display:grid!important;box-shadow:0 8px 18px #10243714!important}.mini-mark.erp-mark:before,.mini-mark.erp-mark:after{display:none!important}.content:has(.schedule-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.schedule-page) .mini-mark.erp-mark:after{display:none!important}.content:has(.attendance-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.attendance-page) .mini-mark.erp-mark:after{display:none!important}.content:has(.vacation-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.vacation-page) .mini-mark.erp-mark:after{display:none!important}.content:has(.payroll-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.payroll-page) .mini-mark.erp-mark:after{display:none!important}.content:has(.notification-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.notification-page) .mini-mark.erp-mark:after{display:none!important}.content:has(.profile-page) .mini-mark.erp-mark:before{display:none!important}.content:has(.profile-page) .mini-mark.erp-mark:after{display:none!important}.profile-page .profile-tabs{z-index:8!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:20px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:7px!important;width:100%!important;height:auto!important;min-height:62px!important;margin:2px 0 0!important;padding:7px!important;display:grid!important;position:relative!important;overflow:visible!important;box-shadow:0 12px 28px #10243714!important}.profile-page .profile-tabs button{appearance:none;z-index:1!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;color:var(--text-secondary,#475569)!important;white-space:nowrap!important;opacity:1!important;background:#f8fafc!important;border:1px solid #0000!important;border-radius:15px!important;justify-content:center!important;align-items:center!important;padding:0 4px!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;display:flex!important;position:relative!important;overflow:visible!important;transform:none!important}@media (width<=380px){.profile-page .profile-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:62px!important}.profile-page .profile-tabs button{font-size:14px!important}}.payroll-page .payroll-summary-card{grid-template:"payIcon payTitle""payStats payStats"/56px minmax(0,1fr)!important;align-items:center!important;gap:16px 14px!important;min-height:auto!important;padding:18px!important}.payroll-page .payroll-summary-icon{grid-area:payIcon}.payroll-page .payroll-summary-card>strong{grid-area:payTitle;align-self:center!important}.payroll-page .payroll-summary-card>div{border-top:1px solid var(--divider-soft,#ecedef)!important;grid-area:2/1/auto/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-self:stretch!important;gap:10px!important;width:100%!important;padding-top:14px!important;display:grid!important}.payroll-page .payroll-summary-card>div span{background:#f8fafc!important;border:1px solid #1e4f9f14!important;border-radius:16px!important;grid-template-columns:minmax(0,max-content) auto!important;grid-template-areas:"label label""count unit"!important;place-content:center start!important;justify-self:stretch!important;align-items:baseline!important;gap:8px 5px!important;min-width:0!important;min-height:76px!important;padding:12px 14px!important;display:grid!important}.payroll-page .payroll-summary-card>div span:first-child{background:#f2fbf6!important;border-color:#60ad7038!important}.payroll-page .payroll-summary-card>div span:last-child{background:#f8fafc!important;border-color:#64748b29!important}.payroll-page .payroll-summary-card small{color:var(--text-secondary,#475569)!important;white-space:nowrap!important;grid-area:label!important;align-items:center!important;gap:6px!important;font-size:13px!important;font-weight:750!important;line-height:1.2!important;display:inline-flex!important}.payroll-page .payroll-summary-card .dot{flex:0 0 8px!important;width:8px!important;height:8px!important;margin-right:0!important}.payroll-page .payroll-summary-card b{color:var(--brand-mint,#60ad70)!important;grid-area:count!important;align-self:baseline!important;font-size:31px!important;font-weight:820!important;line-height:.95!important}.payroll-page .payroll-summary-card span:last-child b{color:var(--text-tertiary,#64748b)!important}.payroll-page .payroll-summary-card em{color:var(--text-secondary,#475569)!important;grid-area:unit!important;align-self:baseline!important;font-size:14px!important;font-style:normal!important;font-weight:700!important;line-height:1!important}.profile-page .profile-summary-card{grid-template-rows:auto auto!important;align-content:start!important;align-self:stretch!important;gap:16px!important;height:auto!important;min-height:306px!important;max-height:none!important;padding:20px!important;display:grid!important;overflow:hidden!important}.profile-page .profile-summary-main{min-height:91px!important}.brand-logo-img{object-fit:contain;width:100%;height:100%;display:block}.brand-logo-symbol{border-radius:15px;flex:0 0 48px;width:48px;height:48px}.login-logo-card,.terms-logo,.mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.schedule-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.attendance-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.vacation-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.payroll-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.notification-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.content:has(.profile-page) .mini-mark.erp-mark{background:#fff!important;border:1px solid #1e4f9f1a!important;place-items:center!important;display:grid!important;overflow:hidden!important;box-shadow:0 8px 18px #10243714!important}.login-logo-card{border-radius:20px!important;width:66px!important;height:66px!important}.terms-logo{border-radius:16px!important;flex:0 0 52px!important;width:52px!important;height:52px!important}.mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.schedule-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.attendance-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.vacation-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.payroll-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.notification-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.content:has(.profile-page) .mini-mark.erp-mark{border-radius:15px!important;flex:0 0 48px!important;width:48px!important;height:48px!important;padding:2px!important}.login-logo-card .brand-logo-img,.terms-logo .brand-logo-img,.mini-mark.erp-mark .brand-logo-img{border-radius:inherit;width:100%!important;height:100%!important}.mini-mark.erp-mark:before,.mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.schedule-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.schedule-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.attendance-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.attendance-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.vacation-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.vacation-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.payroll-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.payroll-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.notification-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.notification-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.content:has(.profile-page) .mini-mark.erp-mark:before{content:none!important;display:none!important}.content:has(.profile-page) .mini-mark.erp-mark:after{content:none!important;display:none!important}.notification-summary-list{gap:12px;display:grid}.notification-summary-card{width:100%;min-height:58px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #0f172a42;border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:13px 16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 3px 8px #0f172a24}.notification-summary-card:focus-visible{outline-offset:2px;border-color:#1e4f9f8c;outline:3px solid #1e4f9f3d}.notification-summary-card:active{transform:translateY(1px);box-shadow:0 2px 5px #0f172a1f}.notification-summary-card span{width:22px;height:22px;color:var(--text-primary);place-items:center;display:inline-grid}.notification-summary-card svg{fill:none;stroke:currentColor;stroke-width:2.1px;width:18px;height:18px}.notification-summary-card strong{min-width:0;color:var(--text-primary);letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;font-size:15.5px;font-weight:650;line-height:1.4}.notice-board-list{gap:14px;display:grid}.notice-board-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);color:var(--text-primary);box-shadow:var(--shadow-soft-ios);background:#fff;gap:12px;padding:16px;display:grid}.notice-board-meta{border-bottom:1px solid var(--divider-soft);flex-wrap:wrap;gap:6px 10px;padding-bottom:10px;display:flex}.notice-board-meta span{min-width:0;color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;font-weight:650;line-height:1.25;display:inline-flex}.notice-board-meta b{color:var(--text-tertiary);flex:none;font-size:12px;font-weight:800}.notice-board-meta em{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-style:normal}.notice-board-message{color:var(--text-secondary);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:13.5px;font-weight:500;line-height:1.7}.notice-more-button{border-radius:var(--radius-button);width:100%;min-height:52px;color:var(--brand-royal);box-shadow:var(--shadow-soft-ios);background:#eff8ff;border:1px solid #1e4f9f2e;justify-content:center;align-items:center;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.vacation-result-banner{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;padding:12px}.vacation-result-banner p{text-align:center;word-break:keep-all;overflow-wrap:anywhere;justify-content:center;align-items:center;width:100%;min-width:0;margin:0;display:flex}.vacation-result-banner button{place-items:center;width:34px;height:34px;padding:0;display:grid}.vacation-day,.calendar-day{overflow:hidden}.vacation-day small,.calendar-day small{color:currentColor;text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:0 1px;font-size:10px;line-height:1.08;display:block;overflow:hidden}.vacation-day small span,.calendar-day small span{line-height:1.05;display:block}.account-sheet-layer{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1024376b;justify-content:flex-end;align-items:stretch;display:flex;position:absolute;inset:0;overflow:hidden}.account-sheet{cursor:default;background:#fffffffa;border:1px solid #ffffffe0;border-right:0;border-radius:34px 0 0 34px;width:min(336px,100% - 56px);height:100%;margin-left:auto;animation:.22s ease-out accountSheetIn;position:relative;box-shadow:-24px 0 48px #10243738}@keyframes accountSheetIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.account-sheet-scroll{height:100%;padding:34px 26px 28px;overflow-y:auto}.account-sheet-handle{background:#cfd4dc;border-radius:999px;width:52px;height:6px;position:absolute;top:17px;left:50%;transform:translate(-50%)}.account-sheet-head{gap:26px;padding-top:36px;display:grid}.account-sheet-head h2{color:#102437;letter-spacing:0;margin:0;font-size:28px;font-weight:700;line-height:1.18}.account-profile-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.account-avatar{background:#eef8f4;border-radius:50%;place-items:center;width:88px;height:88px;display:grid;position:relative}.account-avatar-img{object-fit:cover;border-radius:50%;width:88px!important;height:88px!important}.account-avatar i{color:#fff;background:#42c56b;border:3px solid #fff;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;bottom:5px;right:4px}.account-avatar i svg{stroke-width:4px;width:14px;height:14px}.account-profile-row strong{color:#102437;font-size:25px;font-weight:700;line-height:1.22;display:block}.account-profile-row small{color:#64748b;margin-top:8px;font-size:18px;font-weight:500;line-height:1.35;display:block}.account-action-list{border-top:1px solid #e6e8ec;margin-top:34px;display:grid}.account-action-list button{color:#102437;text-align:left;background:0 0;border:0;border-bottom:1px solid #e6e8ec;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:0;display:grid}.account-action-list button>strong{font-size:19px;font-weight:650;line-height:1.35}.account-action-list button>i{color:#64748b;font-size:34px;font-style:normal;line-height:1}.account-action-icon{border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.account-action-icon svg,.account-logout-btn svg{stroke-width:2.2px;width:24px;height:24px}.account-action-icon.blue{color:#1e4f9f;background:#eef6ff}.account-action-icon.green{color:#16895b;background:#eafaf2}.account-logout-btn{color:#ef3b2d;background:#fffdfc;border:1px solid #f2c2bd;border-radius:22px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:60px;margin-top:40px;font-size:19px;font-weight:650;display:flex}.account-logout-btn span{place-items:center;display:grid}@media (width<=380px){.account-sheet{border-radius:30px 0 0 30px;width:min(322px,100% - 42px)}.account-sheet-scroll{padding-inline:20px}.account-profile-row{gap:14px}.account-profile-row strong{font-size:23px}.account-profile-row small{font-size:15px}}.account-sheet-layer{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172a5c}.account-sheet{background:#fffffff5;border:1px solid #ffffffc7;border-right:0;border-radius:32px 0 0 32px;width:min(348px,100% - 44px);box-shadow:-20px 0 54px #0f172a38}.account-sheet-scroll{flex-direction:column;gap:18px;height:100%;padding:34px 22px 24px;display:flex}.account-sheet-handle{background:#cbd5e1;width:46px;height:5px;top:15px}.account-sheet-head{gap:16px;padding-top:26px}.account-sheet-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-sheet-title h2{color:#102437;margin:0;font-size:26px;font-weight:800;line-height:1.16}.account-close-btn{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:25px;font-weight:400;line-height:1;display:grid;box-shadow:0 8px 18px #0f172a0f}.account-profile-row{background:linear-gradient(135deg,#f7fbff 0%,#f3fff8 100%);border:1px solid #e2e8f0;border-radius:24px;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px;box-shadow:0 12px 28px #10243714}.account-avatar,.account-avatar-img{width:74px!important;height:74px!important}.account-avatar{background:#eaf7f0;box-shadow:inset 0 0 0 1px #ffffffdb}.account-avatar i{width:23px;height:23px;bottom:2px;right:0}.account-profile-row strong{color:#102437;font-size:23px;font-weight:800;line-height:1.18}.account-profile-row small{color:#526175;margin-top:5px;font-size:15px;font-weight:700;line-height:1.35}.account-profile-row em{color:#1e4f9f;text-overflow:ellipsis;white-space:nowrap;background:#eff8ffeb;border:1px solid #1e4f9f24;border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:28px;margin-top:10px;padding:0 10px;font-size:12px;font-style:normal;font-weight:800;line-height:1;display:inline-flex;overflow:hidden}.account-action-list{border-top:0;gap:10px;margin-top:2px;display:grid}.account-action-list button{background:#fff;border:1px solid #e2e8f0;border-radius:22px;grid-template-columns:48px minmax(0,1fr) 26px;gap:12px;min-height:72px;padding:12px 14px;box-shadow:0 10px 24px #1024370e}.account-action-icon{border-radius:16px;width:48px;height:48px}.account-action-copy{gap:3px;min-width:0;display:grid}.account-action-copy strong{color:#102437;font-size:17px;font-weight:800;line-height:1.25}.account-action-copy small{color:#64748b;word-break:keep-all;min-width:0;font-size:13px;font-weight:650;line-height:1.35}.account-action-list button>i{color:#94a3b8;background:#f8fafc;border-radius:50%;place-items:center;width:26px;height:26px;font-size:24px;display:grid}.account-logout-btn{color:#dc2626;min-height:58px;box-shadow:none;background:#fff7f7;border-color:#fecaca;border-radius:18px;margin-top:auto;font-size:17px;font-weight:800}@media (width<=380px){.account-sheet{border-radius:30px 0 0 30px;width:min(326px,100% - 34px)}.account-sheet-scroll{padding-inline:18px}.account-profile-row{padding:14px}}.tab{position:relative;color:#64748b!important;background:0 0!important;border-radius:20px!important;align-content:center!important;place-items:center!important;gap:6px!important;min-height:70px!important;font-size:14px!important;font-weight:650!important;line-height:1.2!important;display:grid!important}.tab+.tab:before{content:"";background:#e6e8ec;border-radius:999px;width:1px;height:38px;position:absolute;top:17px;left:0}.tab.is-active{color:#1e4f9f!important;box-shadow:none!important;background:#eff8ff!important}.tab.is-active:before,.tab.is-active+.tab:before{opacity:0}.tab svg.tab-icon{stroke:currentColor;stroke-width:1.9px;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:none!important;width:32px!important;height:32px!important}.tab .tab-dot{stroke:#cbd5e1;stroke-width:2.4px}.tab .tab-moon{stroke:currentColor;fill:#30b6e31a}.tab span{color:currentColor;letter-spacing:0;font-weight:650;line-height:1.2;font-size:14px!important}@media (width<=380px){.bottom-tabs{border-radius:24px!important;height:84px!important;padding:8px 9px!important;left:10px!important;right:10px!important}.tab{min-height:66px!important;font-size:13px!important}.tab svg.tab-icon{width:29px!important;height:29px!important}.tab span{font-size:13px!important}}html,body,button,input,select,textarea{font-family:var(--app-font-family);letter-spacing:0}body,.content,.content>.page,.scroll{color:var(--app-text);background:var(--app-bg)}.content>.page,.scroll{gap:22px}.page-title h1,.schedule-home-intro h1,.attendance-title h1,.vacation-title h1,.payroll-title h1,.notification-title-block h1,.profile-topbar .page-title h1{color:var(--app-text);letter-spacing:0;font-size:28px;font-weight:800;line-height:1.18}.page-title p,.schedule-home-intro p,.attendance-title p,.vacation-title p,.payroll-title p,.notification-title-block p,.profile-topbar .page-title p{color:var(--app-text-muted);letter-spacing:0;font-size:15px;font-weight:500;line-height:1.5}.section-title h2,.attendance-section-head h2,.vacation-calendar-head h2,.vacation-status-head h2,.schedule-worker-title,.notification-detail-card h2,.notification-read-card h3{color:var(--app-text);letter-spacing:0;font-weight:800;line-height:1.25}.plain-card,.profile-card,.data-note,.detail-panel,.schedule-date-card,.attendance-qr-card,.attendance-today-card,.attendance-record-card,.vacation-month-card,.vacation-notice-card,.vacation-calendar-card,.vacation-history-card,.payroll-summary-card,.payroll-year-card,.payroll-item-card,.payroll-policy-card,.notice-board-card,.notification-info-box,.notification-detail-card,.notification-read-card,.account-action-list button{border-color:var(--app-border);border-radius:var(--app-card-radius);background-color:var(--app-surface);box-shadow:var(--app-shadow-soft)}.primary-btn,.secondary-btn,.control,select.control,textarea.control,.schedule-dept-button,.notice-more-button,.account-logout-btn{border-radius:var(--app-control-radius);font-family:var(--app-font-family);letter-spacing:0}.primary-btn{background:var(--app-primary)}.secondary-btn,.notice-more-button{color:var(--app-primary);background:var(--app-primary-soft);box-shadow:none;border-color:#1e4f9f2e}.control,select.control,textarea.control{color:var(--app-text);border-color:var(--app-border);background:var(--app-surface)}.status-pill,.grade-pill,.notification-badges em,.payroll-status,.schedule-status-badge{letter-spacing:0;border-radius:999px;font-size:12px;font-weight:800;line-height:1}.app-header,.bottom-tabs,.account-sheet{border-color:#e6e8eceb}@media (width<=380px){.page-title h1,.schedule-home-intro h1,.attendance-title h1,.vacation-title h1,.payroll-title h1,.notification-title-block h1,.profile-topbar .page-title h1{font-size:25px}}.screen{font-size:16px;line-height:var(--line-body)}.page-title,.attendance-title,.vacation-title,.payroll-title,.notification-title-block,.profile-topbar .page-title{gap:8px;display:grid}.page-title h1,.attendance-title h1,.vacation-title h1,.payroll-title h1,.notification-title-block h1,.profile-topbar .page-title h1{color:var(--app-text);font-size:var(--type-page-title);line-height:var(--line-title);margin:0;font-weight:800}.page-title p,.attendance-title p,.vacation-title p,.payroll-title p,.notification-title-block p,.profile-topbar .page-title p,.small-muted{color:var(--app-text-muted);font-size:var(--type-body);line-height:var(--line-body);margin:0;font-weight:500}.section-title h2,.attendance-section-head h2,.vacation-calendar-head h2,.vacation-status-head h2,.profile-section-title h2,.profile-section-title h3,.notification-detail-card h2,.notification-read-card h3{color:var(--app-text);font-size:var(--type-section-title);line-height:var(--line-section);margin:0;font-weight:800}.section-title span,.profile-section-title span,.attendance-section-head p,.vacation-calendar-head p,.vacation-status-head p,.profile-section-title p,.notice-board-meta span,.notice-board-meta b{color:var(--app-text-subtle);font-size:var(--type-caption);line-height:var(--line-caption);font-weight:650}.card-body strong,.person-card strong,.request-card strong,.plain-card strong,.profile-card strong,.detail-panel h3,.notice-board-card strong,.notification-info-box h4,.payroll-item-card strong,.vacation-history-card strong{color:var(--app-text);font-size:var(--type-card-title);font-weight:800;line-height:1.3}.card-body p,.person-card p,.request-card p,.plain-card p,.profile-card p,.detail-panel p,.notice-board-message,.notification-info-box p,.notification-info-box dd,.payroll-item-card p,.vacation-history-card p{color:var(--app-text-muted);font-size:var(--type-body);line-height:var(--line-body);font-weight:500}.primary-btn,.secondary-btn,.ghost-btn,.notice-more-button{font-size:16px;font-weight:800;line-height:1}.schedule-home-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#ffffff2e,#0000 27%),linear-gradient(145deg,#174a9a 0%,#1f69b2 58%,#25acd3 100%)}.schedule-home-intro{grid-template-columns:minmax(0,1fr) 88px;align-items:start}.schedule-home-intro h1{color:#fff;text-shadow:0 1px 12px #0819362e;font-size:28px;font-weight:800;line-height:1.12}.schedule-home-intro h1 span{color:#1e4f9f;min-height:28px;text-shadow:none;background:#ffffffe0}.schedule-home-intro strong{color:#fff;text-shadow:0 1px 10px #08193629;font-size:17px;font-weight:800;line-height:1.32}.schedule-status-badge{color:#fff;background:#ffffff3d;border-color:#ffffff8f}.schedule-home-intro p{color:#ffffffeb;text-shadow:0 1px 10px #08193626;font-size:15px;font-weight:650;line-height:1.48}.schedule-home-metrics article{background:#fffffff5;box-shadow:0 8px 18px #0a234b14}.schedule-home-metrics small{color:var(--app-text-subtle);font-size:var(--type-caption);font-weight:750;line-height:1.25}.schedule-home-metrics strong{color:var(--app-text);font-size:22px;font-weight:800;line-height:1.12}@media (width<=380px){.schedule-home-intro{grid-template-columns:minmax(0,1fr) 76px}.schedule-home-intro h1{font-size:25px}.schedule-home-photo,.schedule-home-photo .profile-img,.schedule-hero-profile{width:76px;height:76px}}.bottom-tabs{-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:linear-gradient(#fffffff5,#f8fcffeb)!important;border:1px solid #e2e8f0bd!important;border-radius:26px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;height:82px!important;padding:8px!important;bottom:14px!important;left:18px!important;right:18px!important;box-shadow:0 -10px 28px #10243712,0 18px 42px #10243721!important}.bottom-tabs:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fffffffa,#0000);border-radius:999px;height:1px;position:absolute;inset:1px 14px auto}.tab{transition:transform .18s,background .18s,color .18s,box-shadow .18s;color:#6b7a90!important;background:0 0!important;border-radius:20px!important;align-content:center!important;place-items:center!important;gap:5px!important;min-height:64px!important;font-size:12.5px!important;font-weight:750!important;line-height:1.15!important;display:grid!important}.tab+.tab:before{display:none!important}.tab svg.tab-icon{transition:transform .18s,filter .18s;stroke-width:2px!important;width:28px!important;height:28px!important}.tab span{color:currentColor;letter-spacing:0;font-size:12.5px!important;font-weight:750!important;line-height:1.15!important}.tab.is-active{transform:translateY(-2px);color:#174a9a!important;background:linear-gradient(#fff 0%,#eef7ff 100%)!important;box-shadow:inset 0 0 0 1px #1e4f9f14,0 10px 22px #1e4f9f1f!important}.tab.is-active svg.tab-icon{filter:drop-shadow(0 5px 8px #1e4f9f29);transform:translateY(-1px)}.tab.is-active:after{content:"";background:#30b6e3;border-radius:50%;width:5px;height:5px;margin-top:-2px;box-shadow:0 0 0 4px #30b6e31f}.tab .tab-accent-stroke{stroke:#9eb68b}.tab.is-active .tab-accent-stroke{stroke:#60ad70}.tab .tab-dot{stroke:#cbd5e1}.tab.is-active .tab-dot{stroke:#7fb2ee}@media (width<=380px){.bottom-tabs{border-radius:24px!important;height:78px!important;padding:7px!important;bottom:12px!important;left:12px!important;right:12px!important}.tab{border-radius:18px!important;min-height:60px!important}.tab svg.tab-icon{width:26px!important;height:26px!important}.tab span{font-size:12px!important}}.content:has(.vacation-page) .header-actions .profile-trigger{width:48px;height:48px;color:var(--app-primary);background:#eff8ff;border:1px solid #e2e8f0eb;border-radius:50%;padding:3px;box-shadow:0 8px 20px #1024370f}.content:has(.vacation-page) .profile-trigger .profile-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.content:has(.vacation-page) .profile-trigger:before{content:none;display:none}.content:has(.vacation-page) .profile-trigger:after{content:none;display:none}.content:has(.profile-page){background:linear-gradient(#f8fbff 0%,#f4f7fb 44%,#f7f9fc 100%)}.profile-page{gap:16px!important;padding:18px 20px 42px!important}.profile-topbar{align-items:center!important;gap:12px!important}.profile-topbar .icon-btn{flex:0 0 44px;background:#ffffffeb!important;border:1px solid #e2e8f0eb!important;border-radius:15px!important;width:44px!important;height:44px!important;box-shadow:0 10px 22px #10243712!important}.profile-summary-card{align-items:center;min-height:112px;background:linear-gradient(135deg,#174a9a 0%,#1f69b2 58%,#23a8d1 100%)!important;border:0!important;border-radius:24px!important;padding:18px!important;box-shadow:0 18px 34px #1e4f9f38!important}.profile-summary-card:after{content:none!important}.profile-summary-main{gap:16px!important}.profile-summary-photo{border-width:3px!important;width:74px!important;height:74px!important;box-shadow:0 12px 24px #08214638!important}.profile-summary-copy{gap:5px;min-width:0;display:grid}.profile-summary-copy h2{margin:0!important;font-size:26px!important;line-height:1.12!important}.profile-summary-copy p{font-size:15px!important;line-height:1.35!important}.profile-summary-copy span{color:#0f4c9a;background:#ffffffe6;border-radius:999px;justify-self:start;align-items:center;min-height:28px;padding:0 10px;font-size:12.5px;font-weight:800;line-height:1;display:inline-flex}.profile-page .profile-tabs{border-color:#e2e8f0e6!important;border-radius:18px!important;min-height:56px!important;margin-top:-2px!important;padding:5px!important;box-shadow:0 12px 26px #10243712!important}.profile-page .profile-tabs button{background:0 0!important;border-radius:14px!important;height:44px!important;min-height:44px!important;font-size:14px!important}.profile-page .profile-tabs button.is-active{color:#fff!important;background:var(--brand-royal,#1e4f9f)!important;border-color:#0000!important;box-shadow:0 9px 18px #1e4f9f33!important}.profile-info-stack{gap:12px!important}.profile-page .profile-info-card,.profile-page .profile-card{background:#fffffffa!important;border:1px solid #e2e8f0eb!important;border-radius:22px!important;padding:16px!important;box-shadow:0 12px 26px #10243711!important}.profile-page .profile-section-title{border-bottom:1px solid #e2e8f0d1;padding-bottom:12px;align-items:center!important}.profile-page .profile-section-title span{color:var(--app-primary,#1e4f9f);font-size:12.5px;font-weight:800;line-height:1.2}.profile-page .profile-section-title h2{margin-top:4px!important;font-size:18px!important;line-height:1.24!important}.profile-page .ghost-btn{min-height:34px;color:var(--app-primary,#1e4f9f);background:#eff8ff;border-radius:999px;padding:0 12px;font-size:13px;font-weight:800}.profile-photo-readonly{background:#f8fbff!important;border-color:#1e4f9f1a!important;border-radius:18px!important;padding:12px!important}.profile-info-list{background:#fff;border:1px solid #e2e8f0eb;border-radius:18px;overflow:hidden;gap:0!important}.profile-info-row{background:0 0!important;border:0!important;border-bottom:1px solid #e2e8f0d1!important;border-radius:0!important;min-height:52px!important;padding:12px 14px!important}.profile-info-row:last-child{border-bottom:0!important}.profile-info-row span{color:#64748b!important;font-size:13px!important;font-weight:750!important}.profile-info-row strong{color:#102437!important;font-size:15px!important;font-weight:750!important;line-height:1.42!important}.profile-safe-note{color:#64748b!important;margin:-2px 2px 0!important;font-size:12.5px!important}.profile-page .qualification-list{gap:12px}.profile-page .qualification-card,.profile-page .qualification-empty{box-shadow:none!important;background:#fbfdff!important;border-color:#e2e8f0eb!important;border-radius:18px!important}.profile-page .qualification-head strong{font-size:16px!important}.profile-review-metrics{gap:9px!important}.profile-review-metrics article{min-height:72px!important;box-shadow:none!important;background:#f8fbff!important;border-color:#1e4f9f1f!important;border-radius:16px!important}.profile-review-total{background:#f8fbff!important;border-color:#1e4f9f4d!important;border-radius:18px!important;min-height:76px!important;padding:16px 20px!important}.profile-review-total span,.profile-review-total strong{font-weight:750!important}@media (width<=380px){.profile-page{padding-inline:16px!important}.profile-summary-card{min-height:104px;padding:16px!important}.profile-summary-photo{width:68px!important;height:68px!important}.profile-summary-copy h2{font-size:24px!important}.profile-info-row{grid-template-columns:minmax(76px,.6fr) minmax(0,1.4fr)!important}}.profile-page .profile-summary-card{grid-template-rows:auto!important;align-content:center!important;gap:0!important;height:auto!important;min-height:116px!important;max-height:136px!important;padding:18px 20px!important}.profile-page .profile-summary-main{align-items:center!important;min-height:0!important}@media (width<=380px){.profile-page .profile-summary-card{min-height:108px!important;max-height:128px!important}}html,body,#app{width:100%;min-width:320px;min-height:100%}#app{min-height:100dvh}.device,.screen,.content{min-width:0}@media (width<=640px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}#app{background:var(--app-bg);min-height:100dvh;padding:0;display:block}.device{width:100%;max-width:none;min-height:100dvh;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.screen{border:0;border-radius:0;width:100%;height:100dvh;min-height:100dvh;max-height:none}.content{width:100%;min-height:100%}.app-header{height:calc(76px + env(safe-area-inset-top,0px));min-height:calc(76px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.content:has(.schedule-page) .app-header{height:calc(76px + env(safe-area-inset-top,0px));min-height:calc(76px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.content:has(.vacation-page) .app-header{height:calc(76px + env(safe-area-inset-top,0px));min-height:calc(76px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.content:has(.payroll-page) .app-header{height:calc(76px + env(safe-area-inset-top,0px));min-height:calc(76px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.content>.page,.scroll{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.bottom-tabs{left:calc(12px + env(safe-area-inset-left,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.auth-hero,.terms-app{width:100%;height:100%;min-height:100%}.auth-hero{padding-top:calc(26px + env(safe-area-inset-top,0px));padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));padding-left:calc(22px + env(safe-area-inset-left,0px));padding-right:calc(22px + env(safe-area-inset-right,0px))}.terms-hero{padding-top:calc(24px + env(safe-area-inset-top,0px))}.terms-bottom{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.modal-scrim{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.toast{width:min(360px,100vw - 24px);min-width:0;max-width:calc(100vw - 24px);bottom:calc(28px + env(safe-area-inset-bottom,0px));overflow-wrap:anywhere}}:root{--app-viewport-height:100dvh}button,a,select,label,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,.tab,.segmented button,.notification-toggle-row{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,select{font-size:max(16px,1em)}button:not(:disabled){transition:transform .14s,opacity .14s,background-color .18s,box-shadow .18s}@media (hover:none) and (pointer:coarse){button:not(:disabled):active{opacity:.82}button:not(:disabled):not(.tab):not(.schedule-shifts button):active{transform:scale(.98)}}.network-banner{z-index:90;color:#7c2d12;text-align:center;background:#fff7ed;border-bottom:1px solid #fed7aa;flex:none;padding:10px 18px;font-size:13px;font-weight:750;line-height:1.4;position:relative}.schedule-person .staff-photo{color:#1e4f9f;background:#edf6ff;place-items:center;display:grid;overflow:hidden}.schedule-person .staff-photo:before,.schedule-person .staff-photo:after{content:none;display:none}.schedule-person .staff-photo span{opacity:1;width:auto;height:auto;font-size:18px;font-weight:800;line-height:1;position:static;overflow:visible}.schedule-person .staff-photo-2{color:#6d4ab6;background:#f4efff}.schedule-person .staff-photo-3{color:#14724c;background:#e9f8ef}.schedule-person .staff-photo-4{color:#b65f16;background:#fff4e5}.schedule-person .staff-photo-5{color:#64748b;background:#f1f3f6}.staff-photo img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.terms-hero{padding:18px 20px 16px}.terms-brand-row{gap:10px;margin-bottom:12px}.terms-logo{border-radius:14px;width:48px;height:48px}.terms-brand-copy strong{font-size:18px}.terms-brand-copy small{font-size:13px}.terms-hero h1{font-size:22px}.terms-hero p{margin-top:8px;font-size:14px}.terms-body{padding:14px 12px 104px}.terms-main-card{border-radius:16px;padding:16px 14px 14px;box-shadow:0 8px 24px #1720330f}.terms-card-title h2{font-size:20px}.terms-card-title p{margin-top:5px;font-size:13.5px}.terms-all-row{border-radius:13px;grid-template-columns:26px minmax(0,1fr);gap:13px;min-height:74px;margin:10px 0 12px;padding:14px}.terms-all-row strong{font-size:16px;line-height:1.45}.terms-all-row small{margin-top:4px;font-size:13.5px;line-height:1.5}.terms-plan-list{gap:10px}.terms-plan-item,.terms-plan-item:last-child{background:#fff;border:1px solid #e4eaf2;border-radius:14px;padding:13px}.terms-plan-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.terms-plan-title{align-items:center;gap:8px;min-width:0;display:flex}.terms-plan-index{width:24px;height:24px;color:var(--brand-royal);background:#edf5ff;border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.terms-plan-head strong{padding-top:0;font-size:15.5px;line-height:1.5}.terms-plan-detail{white-space:nowrap;gap:4px;min-height:44px;margin-top:-8px;padding:0 2px;font-size:14px}.terms-plan-detail span{font-size:19px}.terms-plan-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.terms-plan-choice button{color:#27364a;white-space:nowrap;background:#f8fafc;border:1.5px solid #d8e0ea;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;min-width:0;min-height:52px;padding:0 12px;font-size:15px;font-weight:650;display:flex}.terms-plan-choice button.is-selected{color:#153f7e;background:#e8f1ff;border-color:#2c66b8;box-shadow:inset 0 0 0 1px #1e4f9f1f}.terms-plan-choice button.is-rejected{color:#a51f36;background:#fff0f3;border-color:#d44b62;box-shadow:inset 0 0 0 1px #bd28401a}.terms-check-box{border:2.5px solid #66758a;border-radius:7px;width:25px;height:25px;font-size:0;position:relative;box-shadow:inset 0 0 0 1px #ffffff8c}.terms-check-box:after{content:"";transform-origin:50%;border:3px solid #fff;border-width:0 3px 3px 0;width:7px;height:12px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)rotate(45deg)}.terms-all-row.is-selected .terms-check-box:after,.terms-plan-choice button.is-selected .terms-check-box:after,.terms-plan-choice button.is-rejected .terms-check-box:after{display:block}.terms-all-row:focus-visible,.terms-plan-detail:focus-visible,.terms-plan-choice button:focus-visible,.terms-continue-btn:focus-visible,.terms-modal-close:focus-visible,.terms-modal-footer .primary-btn:focus-visible{outline-offset:2px;outline:3px solid #ffbf47}.terms-required-note{border-radius:13px;margin-top:12px;padding:12px 13px}.terms-required-note p{font-size:14.5px;font-weight:650;line-height:1.65}.terms-bottom{padding:12px 12px max(12px, env(safe-area-inset-bottom));box-shadow:0 -8px 24px #1720330f}.terms-continue-btn{border-radius:13px;min-height:54px;font-size:16.5px;font-weight:700}.terms-modal-scrim{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);background:#0a162a85;align-items:center}.terms-sheet{border:1px solid #ffffffb8;border-radius:22px;flex-direction:column;gap:0;width:min(100%,460px);max-height:min(84%,720px);padding:0;display:flex;overflow:hidden;box-shadow:0 24px 70px #030f244d}.terms-modal-header{background:#fff;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:flex-start;gap:12px;min-height:82px;padding:18px 18px 14px;display:flex}.terms-modal-header>div{min-width:0}.terms-modal-header span{color:var(--brand-royal);margin-bottom:4px;font-size:12px;font-weight:800;display:block}.terms-modal-header h2{color:#172033;word-break:keep-all;margin:0;font-size:19px;line-height:1.35}.terms-modal-close{color:#475569;width:44px;height:44px;min-height:44px;box-shadow:none;background:#f1f5f9;border:0;border-radius:12px;flex:none;place-items:center;padding:0 0 2px;font-size:28px;font-weight:400;line-height:1;display:grid}.terms-modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f8fafc;gap:14px;min-height:0;padding:16px 18px 10px;display:grid;overflow-y:auto}.terms-modal-scroll::-webkit-scrollbar{width:0;height:0}.terms-modal-scroll .terms-intro{background:#f0f6ff;border:1px solid #d9e6f7;border-radius:14px;padding:13px 14px;font-size:15px;line-height:1.72;color:#263b58!important}.terms-modal-scroll .terms-detail-list{gap:10px}.terms-modal-scroll .terms-detail-card{border-color:#e0e7ef;border-radius:14px;padding:14px;box-shadow:0 2px 8px #17203309}.terms-modal-scroll .terms-detail-card h3{margin-bottom:6px;font-size:15.5px;line-height:1.5}.terms-modal-scroll .terms-detail-card p{font-size:14.5px;line-height:1.72}.terms-modal-footer{padding:12px 18px max(14px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8edf3}.terms-modal-footer .primary-btn{border-radius:13px;width:100%;min-height:54px;font-size:16.5px;font-weight:750}@media (width<=370px){.terms-plan-choice{grid-template-columns:1fr}.terms-plan-choice button{width:100%}}.content>.global-app-header.global-app-header{z-index:60!important;color:#102437!important;width:100%!important;height:76px!important;min-height:76px!important;box-shadow:none!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;background:#fffffffa!important;border:0!important;border-bottom:1px solid #e2e8f0!important;border-radius:0!important;flex:0 0 76px!important;margin:0!important;padding:14px 18px!important;position:relative!important}.global-app-header .global-header-line{justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0!important;display:flex!important}.global-app-header .global-header-location{flex:auto!important;align-items:center!important;gap:11px!important;min-width:0!important;margin:0!important;padding:0!important;display:flex!important}.global-app-header .global-header-mark.global-header-mark{color:#0000!important;background:#fff!important;border:1px solid #1e4f9f1a!important;border-radius:13px!important;flex:0 0 44px!important;place-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:grid!important;overflow:hidden!important;box-shadow:0 5px 14px #10243712!important}.global-app-header .global-header-mark:before,.global-app-header .global-header-mark:after{content:none!important;display:none!important}.global-app-header .global-header-mark .brand-logo-img{object-fit:cover!important;border-radius:12px!important;width:100%!important;height:100%!important;display:block!important}.global-app-header .global-header-facility{min-width:0!important;margin:0!important;padding:0!important;display:block!important}.global-app-header .global-header-facility strong{color:#102437!important;letter-spacing:-.015em!important;white-space:nowrap!important;text-overflow:ellipsis!important;max-width:178px!important;margin:0!important;padding:0!important;font-size:18px!important;font-weight:850!important;line-height:1.25!important;display:block!important;overflow:hidden!important}.global-app-header .global-header-actions{flex:none!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;min-width:0!important;margin:0!important;padding:0!important;display:flex!important}.global-app-header .global-header-actions .icon-btn{color:#27364a!important;background:#fff!important;border:1px solid #dfe6ee!important;border-radius:50%!important;flex:0 0 44px!important;place-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:grid!important;position:relative!important;overflow:visible!important;box-shadow:0 5px 14px #1024370f!important}.global-app-header .global-header-actions .global-header-notifications svg{fill:none!important;stroke:currentColor!important;stroke-width:2px!important;width:22px!important;height:22px!important}.global-app-header .global-header-actions .global-header-profile{background:#edf5ff!important;border-color:#d7e2ee!important;overflow:hidden!important}.global-app-header .global-header-actions .global-header-profile:before,.global-app-header .global-header-actions .global-header-profile:after{content:none!important;display:none!important}.global-app-header .global-header-actions .global-header-profile .profile-img{object-fit:cover!important;width:100%!important;height:100%!important;box-shadow:none!important;border:0!important;border-radius:50%!important;margin:0!important;padding:0!important;display:block!important}.global-app-header .global-header-actions .badge-dot{color:#fff!important;background:#d92d20!important;border:2px solid #fff!important;border-radius:999px!important;place-items:center!important;min-width:21px!important;height:21px!important;padding:0 5px!important;font-size:11px!important;font-weight:850!important;line-height:1!important;display:grid!important;position:absolute!important;top:-5px!important;right:-5px!important}@media (width<=370px){.content>.global-app-header.global-app-header{padding-inline:15px!important}.global-app-header .global-header-facility strong{max-width:132px!important;font-size:17px!important}.global-app-header .global-header-actions{gap:7px!important}}.content.app-transition-forward>.page,.content.app-transition-forward>.scroll,.content.app-transition-forward>.auth-hero,.content.app-transition-forward>.terms-app{animation:.22s cubic-bezier(.22,.8,.24,1) both native-page-forward}.content.app-transition-back>.page,.content.app-transition-back>.scroll,.content.app-transition-back>.auth-hero,.content.app-transition-back>.terms-app{animation:.2s cubic-bezier(.22,.8,.24,1) both native-page-back}.content.app-transition-replace>.page,.content.app-transition-replace>.scroll,.content.app-transition-replace>.auth-hero,.content.app-transition-replace>.terms-app{animation:.16s ease-out both native-page-replace}@keyframes native-page-forward{0%{opacity:.35;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes native-page-back{0%{opacity:.45;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes native-page-replace{0%{opacity:.55}to{opacity:1}}.modal-sheet-handle{background:0 0;border-radius:999px;flex:none;width:44px;height:18px;min-height:18px;margin:-5px auto 5px;padding:0;display:block}.modal-sheet-handle:before{content:"";background:#cbd5e1;border-radius:999px;width:36px;height:5px;margin:auto;display:block}.bottom-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bottom-tabs .tab{min-width:0;padding-inline:2px!important}.bottom-tabs .tab span{white-space:nowrap}@media (width<=380px){.bottom-tabs .tab svg.tab-icon{width:23px!important;height:23px!important}.bottom-tabs .tab span{font-size:10.5px!important}}@media (width<=640px){html.keyboard-open,html.keyboard-open body,html.keyboard-open #app,html.keyboard-open .device,html.keyboard-open .screen{height:var(--app-viewport-height)!important;min-height:var(--app-viewport-height)!important}html.keyboard-open .bottom-tabs{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(120%)}html.keyboard-open .content>.page,html.keyboard-open .scroll{padding-bottom:28px}}@media (prefers-reduced-motion:reduce){.content.app-transition-forward>*,.content.app-transition-back>*,.content.app-transition-replace>*{animation:none!important}}.attendance-page.attendance-page{padding:20px 16px calc(94px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 92% 2%,#30b6e314,#0000 24%),#f4f7fb;gap:14px}.attendance-page>.attendance-title,.attendance-page>.attendance-qr-card,.attendance-page>.attendance-today-card,.attendance-page>.attendance-record-card{margin:0}.attendance-page .attendance-title{gap:6px;padding:2px 2px 4px}.attendance-page .attendance-title h1{color:#102437;letter-spacing:-.02em;font-size:28px;font-weight:850;line-height:1.18}.attendance-page .attendance-title p{color:#5e6f84;max-width:340px;font-size:14.5px;font-weight:560;line-height:1.5}.attendance-page .attendance-qr-card,.attendance-page .attendance-today-card,.attendance-page .attendance-record-card{background:#fff;border:1px solid #dee6ef;border-radius:20px;box-shadow:0 8px 24px #1024370f}.attendance-page .attendance-qr-card{background:radial-gradient(circle at 50% 16%,#30b6e317,#0000 34%),#fff;gap:8px;min-height:276px;padding:20px 16px 16px;position:relative;overflow:hidden}.attendance-page .attendance-qr-card.is-ready{height:max-content;min-height:296px}.attendance-page .attendance-qr-card.is-scanning,.attendance-page .attendance-qr-card.is-result{min-height:276px}.attendance-page .attendance-qr-card:before{content:"";background:linear-gradient(90deg,#1e4f9f,#30b6e3,#60ad70);border-radius:0 0 999px 999px;width:56px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%)}.attendance-page .qr-camera-box,.attendance-page .attendance-success-mark{border-radius:26px;width:112px;height:112px}.attendance-page .attendance-qr-ready{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:10px;width:100%;padding:2px 2px 4px;display:grid}.attendance-page .attendance-qr-ready-copy{text-align:left;justify-items:start;gap:7px;min-width:0;display:grid}.attendance-page .attendance-qr-ready-copy>strong{color:#102437;letter-spacing:-.02em;font-size:20px;font-weight:850;line-height:1.3}.attendance-page .attendance-qr-ready-copy>p{color:#5d7085;margin:0;font-size:14px;font-weight:560;line-height:1.5}.attendance-page .attendance-qr-ready-copy>p b{color:#174d93;font-weight:820}.attendance-page .attendance-checkin-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 7px 10px #1e4f9f24);width:92px;height:92px;display:block}.attendance-page .attendance-qr-card>strong{color:#102437;margin-top:3px;font-size:19px;font-weight:850;line-height:1.25}.attendance-page .attendance-qr-card>p{color:#65758a;font-size:14px;font-weight:560;line-height:1.45}.attendance-page .attendance-qr-notice{color:#53677c;text-align:left;background:#f2f6fa;border-radius:13px;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.attendance-page .attendance-qr-notice>span{color:#fff;background:#1e4f9f;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;display:grid}.attendance-page .attendance-qr-notice p{gap:2px;margin:0;font-size:12px;font-weight:600;line-height:1.4;display:grid}.attendance-page .attendance-qr-notice p b{color:#243b53;font-size:13px;font-weight:820}.attendance-page .attendance-scan-steps{color:#5d7085;justify-content:center;align-items:center;gap:9px;width:100%;padding:2px 0;font-size:12px;font-weight:700;line-height:1.35;display:flex}.attendance-page .attendance-scan-steps>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.attendance-page .attendance-scan-steps b{color:#174d93;background:#e8f2ff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:850;display:grid}.attendance-page .attendance-scan-steps>i{background:#c7d3df;width:18px;height:1px}.attendance-page .attendance-action{border-radius:15px;width:100%;min-height:54px;margin-top:8px;font-size:16px;font-weight:820;box-shadow:0 10px 20px #1e4f9f2e}.attendance-page .attendance-confirm-btn{background:#16894b;box-shadow:0 10px 20px #16894b2e}.attendance-page .qr-camera-box{color:#b8d6ee;background:linear-gradient(145deg,#102a49,#0e1d33);border:1px solid #30b6e33d;position:relative;overflow:hidden;box-shadow:0 9px 20px #10243729}.attendance-page .qr-camera-box svg{stroke-width:1.9px;width:46px;height:46px}.attendance-page .qr-camera-box span{background:#43cef0;height:2px;animation:1.45s ease-in-out infinite alternate attendance-scan-line;top:18%;box-shadow:0 0 14px #43cef0e0}.attendance-page .attendance-success-mark{color:#138247;background:linear-gradient(145deg,#f3fff7,#e5f7ec);border:1px solid #ccebd8;box-shadow:0 9px 20px #13824717}.attendance-page .attendance-success-mark svg{stroke-width:2.5px;width:54px;height:54px}.attendance-page .attendance-today-card,.attendance-page .attendance-record-card{padding:16px}.attendance-page .attendance-today-card{background:linear-gradient(145deg,#fbfdff,#fff);border-color:#d7e5f4}.attendance-page .attendance-section-head{align-items:flex-start;margin:0 0 14px;padding-left:12px;position:relative}.attendance-page .attendance-section-head:before{content:"";background:linear-gradient(#1e4f9f,#30b6e3);border-radius:999px;width:4px;position:absolute;top:2px;bottom:2px;left:0}.attendance-page .attendance-section-head h2{color:#102437;font-size:19px;font-weight:850;line-height:1.3}.attendance-page .attendance-section-head p{color:#718096;margin-top:4px;font-size:13.5px;font-weight:560;line-height:1.4}.attendance-page .attendance-time-grid{gap:10px}.attendance-page .attendance-time-grid>div{background:#f7f9fc;border:1px solid #e0e7ef;border-radius:16px;gap:7px;min-height:88px;padding:14px;position:relative;overflow:hidden}.attendance-page .attendance-time-grid>div:after{content:"";background:#1e4f9f0d;border-radius:0 0 0 28px;width:34px;height:34px;position:absolute;top:0;right:0}.attendance-page .attendance-time-grid>div.is-recorded{background:#f2faf5;border-color:#cce7d7}.attendance-page .attendance-time-grid>div.is-recorded:after{background:#16894b14}.attendance-page .attendance-time-grid span{color:#6b7a90;font-size:13.5px;font-weight:700;line-height:1.3}.attendance-page .attendance-time-grid strong{color:#102437;font-variant-numeric:tabular-nums;font-size:24px;font-weight:850;line-height:1.1}.attendance-page .attendance-record-table{--attendance-record-columns:minmax(0, 1fr) 68px 68px;background:#fff;border:1px solid #e0e7ef;border-radius:15px;overflow:hidden}.attendance-page .attendance-record-header,.attendance-page .attendance-record-table article{grid-template-columns:var(--attendance-record-columns);column-gap:0}.attendance-page .attendance-record-header{color:#718096;background:#f3f6f9;height:42px;padding:0 10px;font-size:12.5px;font-weight:760}.attendance-page .attendance-record-table article{background:#fff;border-top:1px solid #e8edf3;height:56px;padding:8px 10px}.attendance-page .attendance-record-table article:nth-of-type(2n):not(.is-today){background:#fbfcfd}.attendance-page .attendance-record-table article.is-today{background:linear-gradient(90deg,#edf6ff,#fbfdff);border-left:0;box-shadow:inset 4px 0 #1e4f9f}.attendance-page .attendance-record-table article>span{gap:6px;min-width:0}.attendance-page .attendance-record-header>span:nth-child(n+2),.attendance-page .attendance-record-table article>b{text-align:center;width:100%}.attendance-page .attendance-record-table article strong,.attendance-page .attendance-record-table article b{color:#25364a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:680;line-height:1.25}.attendance-page .attendance-record-table article.is-today strong,.attendance-page .attendance-record-table article.is-today b{color:#174a9a;font-weight:820}.attendance-page .attendance-record-table article small{color:#fff;background:#1e4f9f;min-height:22px;padding:0 7px;font-size:11px;font-weight:800;line-height:1}.attendance-page .attendance-record-table article.is-off b:nth-child(2){color:#607087;font-weight:820}.terms-document,.terms-document-sections,.terms-document-copy{display:grid}.terms-document{color:#25364a;text-align:left;gap:14px}.terms-document-intro{background:#eef6ff;border:1px solid #cfe0f2;border-radius:14px;gap:8px;padding:15px 16px;display:grid}.terms-document-intro p,.terms-document-copy p{color:inherit;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.75}.terms-document-sections{gap:12px}.terms-document-section{background:#fff;border:1px solid #dfe7f0;border-radius:15px;padding:0;overflow:hidden;box-shadow:0 2px 8px #17203309}.terms-document-section h3{color:#174a9a;letter-spacing:-.015em;word-break:keep-all;background:linear-gradient(135deg,#eef5ff,#f7fbff);border-bottom:1px solid #dce7f4;align-items:center;gap:9px;margin:0;padding:12px 15px;font-size:15.5px;font-weight:750;line-height:1.45;display:flex}.terms-document-copy{gap:9px;padding:14px 15px 15px}.terms-document-copy p{color:#42566d}.terms-document-copy .is-bullet{text-indent:-13px;padding-left:19px;position:relative}.terms-document-copy .is-bullet:first-letter{color:#174a9a;font-weight:800}.terms-document-article-number{color:#fff;letter-spacing:0;background:#174a9a;border-radius:999px;flex:none;padding:4px 8px;font-size:11.5px;font-weight:800;line-height:1}.terms-document-article-title{color:#203b62;min-width:0;font-weight:750}@media (width<=640px){.terms-modal-scrim{padding:max(8px, env(safe-area-inset-top)) 0 0;align-items:flex-end}.terms-sheet{border-bottom:0;border-left:0;border-right:0;border-radius:24px 24px 0 0;width:100%;max-height:min(92%,820px)}.terms-modal-scroll{padding:16px 14px 12px}}.schedule-page .metric-icon.purple,.schedule-page .metric-icon.blue{border:1px solid #1e4f9f1f;border-radius:16px;width:52px;height:52px;box-shadow:inset 0 1px #ffffffd1}.schedule-page .metric-icon.purple{color:#5b55e8;background:linear-gradient(145deg,#f3f1ff,#e7e9ff)}.schedule-page .metric-icon.blue{color:#1769b5;background:linear-gradient(145deg,#eaf7ff,#dff2ff)}.schedule-page .metric-icon.purple svg,.schedule-page .metric-icon.blue svg{stroke-width:2.35px;width:28px;height:28px}.schedule-page .schedule-summary-icon{color:#1769b5;background:linear-gradient(145deg,#eaf7ff,#dff2ff);border:1px solid #1e4f9f1f;box-shadow:inset 0 1px #ffffffd1}.schedule-page .schedule-summary-icon svg{stroke-width:2.25px;width:31px;height:31px}.attendance-page .attendance-record-card .attendance-section-head{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding-right:0;display:flex}.attendance-page .attendance-history-more{color:#1e4f9f;background:0 0;border:0;flex:none;align-items:center;gap:4px;min-height:44px;margin:-8px -4px -8px 0;padding:0 8px;font-size:14px;font-weight:820;line-height:1;display:inline-flex}.attendance-page .attendance-history-more span{font-size:20px;transform:translateY(-1px)}.attendance-history-sheet{width:min(430px,100%);max-height:min(92dvh,800px);padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;flex-direction:column;gap:14px;display:flex;overflow:hidden}.attendance-history-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-history-head>div{gap:4px;display:grid}.attendance-history-head h2{color:#102437;margin:0;font-size:22px;font-weight:850;line-height:1.3}.attendance-history-head p{color:#6e7f93;margin:0;font-size:13.5px;font-weight:560;line-height:1.45}.attendance-history-head>button{color:#42556b;background:#f1f4f8;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;margin:-7px -7px 0 0;font-size:28px;font-weight:400;line-height:1;display:grid}.attendance-history-summary{color:#607087;background:#f2f6fa;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-size:12.5px;font-weight:650;line-height:1.35;display:flex}.attendance-history-filter{background:#f8fafc;border:1px solid #dfe7f0;border-radius:17px;gap:12px;padding:14px;display:grid}.attendance-history-filter-title{gap:3px;display:grid}.attendance-history-filter-title strong{color:#17314a;font-size:16px;font-weight:850;line-height:1.35}.attendance-history-filter-title span{color:#697b90;font-size:13px;font-weight:560;line-height:1.4}.attendance-period-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.attendance-period-presets button{color:#445a70;background:#fff;border:1px solid #cfd9e5;border-radius:13px;min-height:48px;padding:0 6px;font-size:15px;font-weight:760;line-height:1.2}.attendance-period-presets button.is-active{color:#fff;background:#1e5aa8;border-color:#1e5aa8;box-shadow:0 6px 14px #1e5aa82e}.attendance-date-range{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:end;gap:7px;display:grid}.attendance-date-range label{gap:6px;min-width:0;display:grid}.attendance-date-range label>span{color:#455c73;font-size:13px;font-weight:760;line-height:1.2}.attendance-date-range input{color:#17314a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border:1px solid #cbd7e4;border-radius:12px;width:100%;min-width:0;min-height:50px;padding:0 8px;font-family:inherit;font-size:14px;font-weight:720;line-height:1}.attendance-date-range>i{color:#7b8a9c;place-items:center;height:50px;font-size:15px;font-style:normal;font-weight:700;display:grid}.attendance-period-apply{color:#fff;background:#173f73;border:0;border-radius:13px;min-height:50px;font-size:16px;font-weight:820;line-height:1.2;box-shadow:0 7px 16px #173f7329}.attendance-period-apply:disabled{color:#8290a0;box-shadow:none;background:#dce3ea}.attendance-history-summary span b,.attendance-history-summary>strong{color:#1d4f91;font-weight:820}.attendance-history-scroll{overscroll-behavior:contain;scrollbar-width:none;min-height:0;overflow-y:auto}.attendance-history-scroll::-webkit-scrollbar{display:none}.attendance-history-table{--attendance-history-columns:minmax(0, 1fr) 68px 68px;background:#fff;border:1px solid #e0e7ef;border-radius:15px;overflow:hidden}.attendance-history-table-head,.attendance-history-table article{grid-template-columns:var(--attendance-history-columns);align-items:center;column-gap:0;padding-inline:10px;display:grid}.attendance-history-table-head{z-index:1;color:#718096;background:#f3f6f9;height:42px;font-size:12.5px;font-weight:760;position:sticky;top:0}.attendance-history-table article{background:#fff;border-top:1px solid #e8edf3;height:56px}.attendance-history-table article:nth-of-type(2n):not(.is-today){background:#fbfcfd}.attendance-history-table article.is-today{color:#174a9a;background:linear-gradient(90deg,#edf6ff,#fbfdff);border-left:0;box-shadow:inset 4px 0 #1e4f9f}.attendance-history-table article>span{align-items:center;gap:6px;min-width:0;display:flex}.attendance-history-table-head>span:nth-child(n+2),.attendance-history-table article>b{text-align:center;width:100%}.attendance-history-table article strong,.attendance-history-table article b{color:#25364a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:680;line-height:1.25}.attendance-history-table article.is-today strong,.attendance-history-table article.is-today b{color:#174a9a;font-weight:820}.attendance-history-table article small{color:#fff;background:#1e4f9f;border-radius:999px;align-items:center;min-height:22px;padding:0 7px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.attendance-history-table article.is-off b:nth-child(2){color:#607087;font-weight:820}.attendance-history-empty{color:#6f8093;text-align:center;border-top:1px solid #e8edf3;place-content:center;gap:5px;min-height:128px;padding:20px;display:grid}.attendance-history-empty strong{color:#31475d;font-size:15px;font-weight:800;line-height:1.4}.attendance-history-empty span{font-size:13.5px;font-weight:560;line-height:1.4}@keyframes attendance-scan-line{0%{transform:translateY(0)}to{transform:translateY(70px)}}@media (width<=370px){.attendance-page.attendance-page{padding-inline:13px}.attendance-page .attendance-today-card,.attendance-page .attendance-record-card{padding:14px}.attendance-page .attendance-record-header,.attendance-page .attendance-record-table article{padding-inline:9px}.attendance-page .attendance-record-table,.attendance-history-table{--attendance-record-columns:minmax(0, 1fr) 60px 60px;--attendance-history-columns:minmax(0, 1fr) 60px 60px}.attendance-history-summary span b{display:block}.attendance-page .attendance-record-table article strong,.attendance-page .attendance-record-table article b{font-size:13px}}@media (prefers-reduced-motion:reduce){.attendance-page .qr-camera-box span{transform:translateY(35px);animation:none!important}}.registration-screen{background:#f4f7fb;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.registration-scroll{background:#f4f7fb;flex:auto;min-height:0;padding:0 16px 28px}.registration-header{background:radial-gradient(circle at 92% 12%,#30b6e329,#0000 36%),linear-gradient(#fff 0%,#f7fbff 100%);border-bottom:1px solid #dfe7f0;margin:0 -16px;padding:16px 20px 22px}.registration-header .brand-mark{gap:9px}.registration-header .brand-logo-symbol{border-radius:11px;width:38px;height:38px}.registration-header .brand-title strong{font-size:16px;font-weight:800}.registration-header .brand-title span{color:#64748b;font-size:11.5px;font-weight:700}.registration-header-copy{margin-top:20px}.registration-header-copy>span{color:#1e4f9f;background:#e8f3ff;border-radius:999px;align-items:center;min-height:27px;padding:0 10px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.registration-header-copy h1{color:#102437;letter-spacing:-.025em;margin:9px 0 0;font-size:27px;font-weight:850;line-height:1.2}.registration-header-copy p{color:#53647a;margin:7px 0 0;font-size:15px;font-weight:550;line-height:1.5}.registration-progress-wrap{background:#fff;border:1px solid #e0e7f0;border-radius:18px;margin-top:14px;padding:15px 14px 13px;box-shadow:0 7px 20px #1024370d}.registration-progress-summary{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.registration-progress-summary strong{color:#1e4f9f;font-size:15px;font-weight:850}.registration-progress-summary span{color:#64748b;font-size:13px;font-weight:700}.registration-progress{z-index:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid;position:relative}.registration-progress:before{content:"";z-index:-1;background:#dce4ed;height:2px;position:absolute;top:16px;left:11%;right:11%}.registration-progress li{color:#8290a3;justify-items:center;gap:7px;min-width:0;display:grid}.registration-progress li>span{color:#718096;background:#fff;border:2px solid #dce4ed;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:850;line-height:1;display:grid}.registration-progress li small{max-width:100%;color:inherit;text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:750;line-height:1.25;overflow:hidden}.registration-progress li.is-complete,.registration-progress li.is-current{color:#1e4f9f}.registration-progress li.is-complete>span{color:#fff;background:#60ad70;border-color:#60ad70}.registration-progress li.is-current>span{color:#fff;background:#1e4f9f;border-color:#1e4f9f;box-shadow:0 0 0 5px #1e4f9f1c}.registration-scroll .registration-card{background:#fff;border:1px solid #e0e7f0;border-radius:20px;margin-top:14px;padding:19px 17px 20px;box-shadow:0 8px 24px #1024370e}.registration-section-title{justify-content:space-between;align-items:center;gap:12px;min-height:43px;display:flex;margin-bottom:18px!important}.registration-section-title>div{min-width:0}.registration-section-title h2{color:#102437;letter-spacing:-.02em;margin:2px 0 0;line-height:1.25;font-size:22px!important;font-weight:850!important}.registration-eyebrow{color:#1e4f9f;letter-spacing:.045em;font-size:11.5px;font-weight:850;line-height:1.2;display:block}.required-guide,.optional-guide{color:#b42318;background:#fff0ef;border-radius:999px;flex:none;align-items:center;min-height:29px;padding:0 10px;font-size:12.5px;font-weight:800;display:inline-flex}.optional-guide{color:#526071;background:#eef2f6}.registration-photo-card{background:#f8fbff;border:1px solid #dfe7f0;border-radius:18px;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:22px;padding:16px;display:grid}.registration-photo-preview{color:#71869e;background:#edf4fb;border:2px dashed #a9bdd5;border-radius:50%;place-items:center;width:96px;height:96px;display:grid;position:relative;overflow:visible}.registration-photo-preview.has-photo{background:#fff;border:3px solid #fff;overflow:visible;box-shadow:0 0 0 2px #cddbeb,0 8px 18px #1024371f}.registration-photo-preview>svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:38px;height:38px}.registration-photo-preview img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block;overflow:hidden}.registration-photo-camera{color:#fff;background:#1e4f9f;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:1px;right:-3px;box-shadow:0 5px 12px #1e4f9f40}.registration-photo-camera svg{fill:none;stroke:currentColor;stroke-width:2px;width:16px;height:16px}.registration-photo-copy{min-width:0}.registration-photo-title{align-items:center;gap:7px;display:flex}.registration-photo-title strong{color:#102437;font-size:16.5px;font-weight:850}.registration-photo-title span{color:#526071;background:#e8edf3;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.registration-photo-copy p{color:#64748b;margin:5px 0 10px;font-size:13px;font-weight:550;line-height:1.45}.registration-photo-actions{align-items:center;gap:7px;display:flex}.registration-photo-select,.registration-photo-remove{color:#1e4f9f;background:#fff;border:1.5px solid #1e4f9f;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-size:14px;font-weight:800;display:inline-flex}.registration-photo-select svg{fill:none;stroke:currentColor;stroke-width:2px;width:18px;height:18px}.registration-photo-remove{color:#6b7280;border-color:#d8e0e9;padding-inline:10px}.registration-card .registration-field{gap:8px;margin-top:18px;display:grid}.registration-card .registration-field label{color:#27364a;align-items:center;gap:7px;font-size:15px;font-weight:800;display:flex}.registration-card .registration-field label em{color:#e5484d;font-size:12px;font-style:normal;font-weight:850}.registration-card .registration-field .control{color:#102437;min-width:0;min-height:56px;box-shadow:none;background:#fff;border:1.5px solid #d6dee8;border-radius:14px;outline:none;padding:0 15px;font-size:16px;font-weight:600}.registration-card .registration-field .control::placeholder{color:#9aa6b5;font-weight:500}.registration-card .registration-field .control:focus{border-color:#1e4f9f;box-shadow:0 0 0 4px #1e4f9f1c}.registration-card .registration-field .control[readonly]{color:#334155;cursor:pointer;background:#f6f8fb}.registration-address-row{grid-template-columns:minmax(94px,.82fr) minmax(132px,1.18fr);gap:9px;display:grid}.registration-card .registration-field .zonecode-control{text-align:center}.registration-address-button{color:#fff;background:#1e4f9f;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:56px;font-size:15px;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #1e4f9f2e}.registration-address-button svg{fill:none;stroke:currentColor;stroke-width:2px;width:19px;height:19px}.registration-card .address-control{margin-top:1px}.registration-rrn-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.registration-rrn-row>span{color:#64748b;font-size:19px;font-weight:800}.registration-card .registration-rrn-row .control{text-align:center;letter-spacing:.06em;padding-inline:8px}.registration-rrn-back{background:#fff;border:1.5px solid #d6dee8;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;min-width:0;min-height:56px;display:grid;overflow:hidden}.registration-rrn-back:focus-within{border-color:#1e4f9f;box-shadow:0 0 0 4px #1e4f9f1c}.registration-card .registration-rrn-back .control{min-height:52px;box-shadow:none;border:0;border-radius:0;padding-inline:4px}.registration-card .registration-rrn-back .control:focus{box-shadow:none;border:0}.registration-card .registration-rrn-back .rrn-back-first{border-right:1px solid #e4e9ef;font-weight:850}.registration-card .registration-rrn-back .rrn-back-rest{letter-spacing:.12em}.registration-field-help{color:#526071;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:650;line-height:1.45;display:flex}.registration-field-help svg{fill:none;stroke:#1e4f9f;stroke-width:2px;width:15px;height:15px}.registration-security-note{background:#f1f7ff;border:1px solid #cfe1f5;border-radius:15px;margin-top:22px;padding:15px 16px}.registration-security-note strong{color:#1e4f9f;font-size:15px;font-weight:850}.registration-security-note p{color:#526071;margin:5px 0 0;font-size:13.5px;line-height:1.5}.registration-career-step{gap:0;display:grid}.registration-career-step .secondary-btn{color:#1e4f9f;background:#f7fbff;border:1.5px solid #b9cbe0;border-radius:14px;min-height:52px;font-size:15px;font-weight:800}.registration-review-guide{background:#effaf2;border:1px solid #cce7d4;border-radius:16px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:15px;display:grid}.registration-review-guide>span{color:#fff;background:#3c9b59;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.registration-review-guide svg{fill:none;stroke:currentColor;stroke-width:2px;width:22px;height:22px}.registration-review-guide strong{color:#174c29;font-size:15.5px;font-weight:850;display:block}.registration-review-guide p{color:#487057;margin:3px 0 0;font-size:13px;line-height:1.45}.review-ready-badge{color:#19703a;background:#e9f8ee;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.review-ready-badge svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:14px;height:14px}.registration-review-profile{background:#f8fafc;border:1px solid #e1e7ef;border-radius:16px;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:13px;margin-top:16px;padding:15px;display:grid}.registration-review-photo{color:#71869e;background:#e8f0f8;border-radius:50%;place-items:center;width:66px;height:66px;display:grid;overflow:hidden}.registration-review-photo svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:29px;height:29px}.registration-review-photo img{object-fit:cover;width:100%;height:100%;display:block}.registration-review-profile div:last-child{min-width:0;display:grid}.registration-review-profile small{color:#64748b;font-size:12px;font-weight:750}.registration-review-profile strong{color:#102437;margin-top:1px;font-size:19px;font-weight:850}.registration-review-profile div:last-child span{color:#526071;font-size:14px;font-weight:650}.registration-review-group{margin-top:18px}.registration-review-group h3{color:#334155;margin:0 0 8px;font-size:15px;font-weight:850}.registration-review-group dl{background:#fff;border:1px solid #e4e9f0;border-radius:15px;margin:0;padding:3px 14px}.registration-review-group dl>div{border-bottom:1px solid #edf0f4;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.registration-review-group dl>div:last-child{border-bottom:0}.registration-review-group dt{color:#64748b;font-size:13.5px;font-weight:750}.registration-review-group dd{color:#1f2f43;text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:750;line-height:1.45}.registration-action-bar{z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top:1px solid #d7e0eaeb;flex:none;gap:10px;display:flex;position:relative;box-shadow:0 -10px 28px #10243714}.registration-prev-button,.registration-next-button{border-radius:15px;justify-content:center;align-items:center;min-height:56px;font-size:17px;font-weight:850;display:inline-flex}.registration-prev-button{color:#334155;background:#f7f9fb;border:1.5px solid #d5dde7;flex:0 0 34%}.registration-next-button{color:#fff;background:#1e4f9f;flex:auto;box-shadow:0 10px 22px #1e4f9f38}.registration-action-bar>.registration-next-button:only-child{width:100%}.kakao-address-scrim{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a182b8f;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.kakao-address-dialog{background:#fff;border:1px solid #ffffffc2;border-radius:24px;flex-direction:column;width:min(430px,100%);height:min(760px,100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0a182b47}.kakao-address-dialog>header{background:#fff;border-bottom:1px solid #dde5ef;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:12px 16px 12px 20px;display:flex}.kakao-address-dialog header span{color:#1e4f9f;font-size:11.5px;font-weight:800;display:block}.kakao-address-dialog header h2{color:#102437;margin:1px 0 0;font-size:21px;font-weight:850;line-height:1.25}.kakao-address-dialog header button{color:#475569;background:#eef2f6;border-radius:15px;place-items:center;width:48px;height:48px;font-size:31px;line-height:1;display:grid}.kakao-address-body{background:#fff;flex:auto;min-height:0;position:relative}.kakao-address-embed{width:100%;height:100%}.kakao-address-state{color:#526071;text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.kakao-address-state strong{color:#102437;font-size:17px;font-weight:850}.kakao-address-state p{margin:0;font-size:14px;line-height:1.5}@media (width<=480px){.kakao-address-scrim{padding:0}.kakao-address-dialog{border:0;border-radius:0;width:100%;height:100dvh}}@media (width<=370px){.registration-photo-card{grid-template-columns:82px minmax(0,1fr);gap:13px;padding-inline:13px}.registration-photo-preview{width:82px;height:82px}.registration-photo-copy p{font-size:12px}.registration-photo-select,.registration-photo-remove{min-height:42px;padding-inline:10px;font-size:13px}.registration-progress li small{font-size:10.5px}}.bottom-tabs.bottom-tabs{--bottom-tab-left-inset:calc(8px + env(safe-area-inset-left,0px));--bottom-tab-right-inset:calc(8px + env(safe-area-inset-right,0px));--bottom-tab-top-inset:7px;--bottom-tab-bottom-inset:calc(7px + env(safe-area-inset-bottom,0px));--bottom-tab-gap:6px;isolation:isolate;-webkit-backdrop-filter:blur(20px)saturate(135%);backdrop-filter:blur(20px)saturate(135%);overflow:visible;height:calc(78px + env(safe-area-inset-bottom,0px))!important;gap:var(--bottom-tab-gap)!important;padding:var(--bottom-tab-top-inset) var(--bottom-tab-right-inset) var(--bottom-tab-bottom-inset) var(--bottom-tab-left-inset)!important;background:#fffffff7!important;border:0!important;border-top:1px solid #dae2ecf0!important;border-radius:0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;bottom:0!important;left:0!important;right:0!important;box-shadow:0 -8px 24px #10243714!important}.bottom-tabs.bottom-tabs:before{content:none!important;display:none!important}.bottom-tabs .bottom-tab-indicator{z-index:0;top:var(--bottom-tab-top-inset);bottom:var(--bottom-tab-bottom-inset);left:var(--bottom-tab-left-inset);width:calc((100% - var(--bottom-tab-left-inset) - var(--bottom-tab-right-inset) - (var(--bottom-tab-gap) * 3)) / 4);transform:translateX(calc(var(--active-tab-index) * (100% + var(--bottom-tab-gap))));pointer-events:none;will-change:transform;background:linear-gradient(#fff 0%,#eaf6ff 100%);border:1px solid #1e4f9f17;border-radius:18px;transition:transform .3s cubic-bezier(.2,.82,.25,1);position:absolute;box-shadow:0 5px 14px #1e4f9f1a,inset 0 1px #ffffffeb}.bottom-tabs .tab{z-index:1;-webkit-tap-highlight-color:transparent;color:#65758a!important;box-shadow:none!important;background:0 0!important;gap:3px!important;padding:3px 2px 4px!important;transform:none!important}.bottom-tabs .tab:after,.bottom-tabs .tab+.tab:before{content:none!important;display:none!important}.bottom-tabs .tab-icon-frame{flex:none;place-items:center;width:35px;height:35px;display:grid;overflow:visible}.bottom-tabs .tab-generated-icon{object-fit:contain;opacity:.52;filter:grayscale(.82)saturate(.55);will-change:transform;width:34px;height:34px;transition:opacity .19s,filter .22s,transform .26s cubic-bezier(.2,.82,.25,1);display:block;transform:translateY(1px)scale(.9)}.bottom-tabs .tab>span:last-child{color:currentColor;transition:color .18s,transform .22s cubic-bezier(.2,.82,.25,1);font-size:12px!important;font-weight:760!important;line-height:1.1!important}.bottom-tabs .tab.is-active{color:#174a9a!important;box-shadow:none!important;background:0 0!important}.bottom-tabs .tab.is-active .tab-generated-icon{opacity:1;filter:saturate(1.06)drop-shadow(0 5px 8px #1e4f9f2b);animation:.33s cubic-bezier(.2,.82,.25,1) bottom-tab-icon-pop;transform:translateY(-2px)scale(1.03)}.bottom-tabs .tab.is-active>span:last-child{transform:translateY(-1px)}.bottom-tabs .tab:active .tab-generated-icon{transform:scale(.9)}@keyframes bottom-tab-icon-pop{0%{transform:translateY(1px)scale(.86)}62%{transform:translateY(-4px)scale(1.1)}to{transform:translateY(-2px)scale(1.03)}}@media (width<=380px){.bottom-tabs.bottom-tabs{--bottom-tab-left-inset:calc(6px + env(safe-area-inset-left,0px));--bottom-tab-right-inset:calc(6px + env(safe-area-inset-right,0px));--bottom-tab-top-inset:6px;--bottom-tab-bottom-inset:calc(6px + env(safe-area-inset-bottom,0px));--bottom-tab-gap:0px;height:calc(74px + env(safe-area-inset-bottom,0px))!important;gap:0!important}.bottom-tabs .tab-icon-frame{width:32px;height:32px}.bottom-tabs .tab-generated-icon{width:31px;height:31px}.bottom-tabs .tab>span:last-child{font-size:10.5px!important}}@media (prefers-reduced-motion:reduce){.bottom-tabs .bottom-tab-indicator,.bottom-tabs .tab-generated-icon,.bottom-tabs .tab>span:last-child{transition:none!important;animation:none!important}}@media (width<=640px){.content>.global-app-header.global-app-header{height:calc(76px + env(safe-area-inset-top,0px))!important;min-height:calc(76px + env(safe-area-inset-top,0px))!important;flex-basis:calc(76px + env(safe-area-inset-top,0px))!important;padding-top:calc(14px + env(safe-area-inset-top,0px))!important;padding-right:calc(18px + env(safe-area-inset-right,0px))!important;padding-bottom:14px!important;padding-left:calc(18px + env(safe-area-inset-left,0px))!important}}.app-loader{--app-loader-size:96px;--app-loader-logo-size:72px;z-index:1;color:#102437;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-width:0;padding:20px;display:flex;position:relative}.app-loader-small{--app-loader-size:82px;--app-loader-logo-size:62px;gap:10px;padding:12px}.app-loader-large{--app-loader-size:124px;--app-loader-logo-size:94px;gap:16px}.app-loader-overlay,.app-loader-fullscreen{isolation:isolate;-webkit-backdrop-filter:blur(16px)saturate(125%);backdrop-filter:blur(16px)saturate(125%);background:#f7fbfff0}.app-loader-overlay{z-index:80;min-height:220px;position:absolute;inset:0}.app-loader-fullscreen{z-index:1400;min-height:100%;padding:calc(28px + env(safe-area-inset-top,0px)) calc(22px + env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) calc(22px + env(safe-area-inset-left,0px));background:radial-gradient(circle at 50% 39%,#30b6e326,#0000 28%),#f7fbfff7;position:absolute;inset:0}.app-loader-visual{width:var(--app-loader-size);height:var(--app-loader-size);flex:0 0 var(--app-loader-size);place-items:center;display:grid;position:relative}.app-loader-visual img{z-index:2;width:var(--app-loader-logo-size);height:var(--app-loader-logo-size);object-fit:contain;filter:drop-shadow(0 10px 18px #10498129);animation:1.8s ease-in-out infinite app-loader-emblem-breathe;display:block;position:relative}.app-loader-orbit{z-index:1;background:conic-gradient(from 18deg, transparent 0 9%, #30b6e3 9% 36%, transparent 36% 49%, #1e4f9f 49% 79%, transparent 79% 90%, #60ad70 90% 96%, transparent 96% 100%);border-radius:50%;animation:1.25s linear infinite app-loader-orbit-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.app-loader-copy{gap:5px;display:grid}.app-loader-copy strong{color:#102437;letter-spacing:-.015em;font-size:17px;font-weight:850;line-height:1.3}.app-loader-small .app-loader-copy strong{font-size:15.5px}.app-loader-copy p{color:#65758a;margin:0;font-size:13.5px;font-weight:600;line-height:1.45}.app-loader-track{background:#dce8f4;border:1px solid #1e4f9f14;border-radius:999px;width:min(176px,52vw);height:6px;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #1024370f}.app-loader-small .app-loader-track{width:142px;height:5px}.app-loader-track>span{border-radius:inherit;background:linear-gradient(90deg,#1e4f9f 0%,#30b6e3 65%,#60ad70 100%);width:48%;height:100%;animation:1.4s cubic-bezier(.45,0,.2,1) infinite app-loader-progress;display:block;transform:translate(-115%);box-shadow:0 0 10px #30b6e357}@keyframes app-loader-orbit-spin{to{transform:rotate(360deg)}}@keyframes app-loader-emblem-breathe{0%,to{transform:translateY(0)scale(.98)}50%{transform:translateY(-2px)scale(1.025)}}@keyframes app-loader-progress{0%{transform:translate(-115%)}58%,to{transform:translate(225%)}}@media (prefers-reduced-motion:reduce){.app-loader-orbit,.app-loader-visual img,.app-loader-track>span{animation:none!important}.app-loader-track>span{width:58%;transform:none}}.device.device-main{background:#f5f7fb}.device.device-main .screen,.device.device-main .content{background:linear-gradient(#fff 0,#f5f7fb 220px 100%)}.device.device-main .global-app-header.global-app-header{height:calc(70px + env(safe-area-inset-top,0px))!important;min-height:calc(70px + env(safe-area-inset-top,0px))!important;flex-basis:calc(70px + env(safe-area-inset-top,0px))!important;padding:calc(11px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) 10px max(16px, env(safe-area-inset-left,0px))!important;-webkit-backdrop-filter:blur(20px)saturate(150%)!important;backdrop-filter:blur(20px)saturate(150%)!important;background:#ffffffe6!important;border-bottom-color:#e2e8f0d1!important}.device.device-main .global-app-header .global-header-line{height:48px!important}.device.device-main .global-app-header .global-header-mark.global-header-mark{border-radius:12px!important;flex-basis:40px!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;box-shadow:0 4px 12px #1024370f!important}.device.device-main .global-app-header .global-header-mark .brand-logo-img{border-radius:11px!important}.device.device-main .global-header-facility:before{color:#738197;content:"PCC-ON24 STAFF";letter-spacing:.06em;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.device.device-main .global-app-header .global-header-facility strong{max-width:164px!important;font-size:17px!important;font-weight:760!important}.device.device-main .global-app-header .global-header-actions{gap:7px!important}.device.device-main .global-app-header .global-header-actions .icon-btn{width:40px!important;height:40px!important;box-shadow:none!important;border-color:#e8edf4!important}.device.device-main .content>.page{padding:18px max(16px, env(safe-area-inset-right,0px)) calc(104px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));gap:18px}.device.device-main .schedule-page{gap:16px}.device.device-main .schedule-home-hero{border-radius:22px;padding:18px;box-shadow:0 16px 30px #1e4f9f2b}.device.device-main .bottom-tabs.bottom-tabs{height:calc(76px + env(safe-area-inset-bottom,0px))!important;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;border-top-color:#dae2ecd1!important;box-shadow:0 -8px 22px #10243712!important}.device.device-main .bottom-tabs .tab>span:last-child{font-size:11px!important}@media (width<=640px){.device.device-main .content>.page{padding-top:16px}}
