@charset "UTF-8";:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:flex;place-items:center}}:root{--main: #2a5eec;--sub1: #ffd257;--sub2: #fdb418;--sub3: #fac6d2;--sub4: #ee828d;--ink: #1b1d25;--muted: #6b7280;--bg: #f6f8ff;--card: #ffffff;--border: #e5e7eb;--danger: #ef4444}*,*:before,*:after{box-sizing:border-box}body,html,#app,.app{min-height:100%;width:100%}.header{width:100%;position:sticky;top:0;background:linear-gradient(180deg,#2a5eecf2,#2a5eecd9);-webkit-backdrop-filter:saturate(1.4) blur(4px);backdrop-filter:saturate(1.4) blur(4px);border-bottom:1px solid rgba(255,255,255,.2);z-index:20}.nav{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:#fff}.brand{display:flex;gap:8px;align-items:center;cursor:pointer}.logo{font-size:30px}.title{font-weight:700;letter-spacing:.5px;font-size:30px}.links{display:flex;gap:12px;list-style:none;padding:0;margin:0}.links a{color:#fff;text-decoration:none;padding:6px 10px;border-radius:999px;opacity:.85;transition:all .2s}.links a:hover{opacity:1;background:#ffffff1f}.links a.active{background:#fff;color:var(--main)}.user{display:flex;align-items:center;gap:8px}.user-chip{background:#ffffff2e;padding:6px 10px;border-radius:999px}.btn{border:1px solid #fff;background:var(--main);color:#fff;border-radius:12px;padding:8px 12px;cursor:pointer;transition:transform .05s ease,box-shadow .2s}.btn:active{transform:translateY(1px)}.btn.subtle{border:1px solid #fff;box-shadow:none}.btn.wide{width:100%}.btn.active{background:var(--sub2);color:#111}.btn.admin{background-color:#d2d2d2;color:#000;border:1px solid #aaa;box-shadow:0 6px 16px #c8c8c840}button.normalBtn{background-color:unset;color:#000;border:1px solid #000}button.excelBtn{background-color:unset}.btn-svg{background-color:unset;border:none;display:inline-flex;align-items:center;justify-content:center;line-height:0;cursor:pointer}.btn-svg svg{display:block}.btn-svg path{stroke:#6d69698c}.month-bar{display:inline-flex;gap:20px;justify-content:end}.month-bar div{display:flex;align-items:center}.text-center{text-align:center}.d-flex{display:flex}.content{width:80%;margin:0 auto 24px;padding:24px 16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:12px;color:var(--muted)}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none}.modal-backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-backdrop .modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000040;max-width:320px;width:100%;padding:20px;animation:modal-fade-in .25s ease}.modal-backdrop .modal .text-center span{text-decoration:underline;font-weight:700}.modal-backdrop .modal-large{max-width:480px}.modal-backdrop .d-flex{gap:30px}.modal-backdrop .muted{text-align:right}.modal-backdrop .cancel{background:var(--muted);color:#fff}.modal-backdrop .modal-actions{display:flex;justify-content:space-between}input{appearance:none;-webkit-appearance:none;-moz-appearance:none;display:block;width:100%;padding:.6rem .8rem;font-size:1rem;font-family:inherit;line-height:1.4;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:.5rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d}input::placeholder{color:#aaa}:root{--tbl-border: #e2e8f0;--tbl-header-bg: #f8fafc;--tbl-row-hover: #f1f5f9;--tbl-text: #0f172a;--tbl-muted: #64748b;--tbl-radius: 8px;--tbl-shadow: 0 1px 2px rgba(15, 23, 42, .06);--tbl-font-size: 14px}table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--tbl-font-size);color:var(--tbl-text);background-color:#fff}table{border-radius:var(--tbl-radius);box-shadow:var(--tbl-shadow);overflow:hidden}table caption{caption-side:top;text-align:left;font-weight:600;font-size:.9rem;color:var(--tbl-muted);padding:0 0 .75rem}th,td{padding:.75rem 1rem;border-bottom:1px solid var(--tbl-border);text-align:left;vertical-align:middle;line-height:1.4}td.num,th.num{text-align:right}.table-scroll{overflow-y:auto;overflow-x:hidden;border-radius:16px;scroll-behavior:smooth}.vh50{max-height:50vh}thead th{font-weight:600;background-color:var(--tbl-header-bg);color:var(--tbl-muted);border-bottom:1px solid var(--tbl-border);white-space:nowrap}tbody tr:hover{background-color:var(--tbl-row-hover)}tbody tr.is-disabled{opacity:.6}.table-responsive{width:100%;overflow-x:auto}@media (max-width: 640px){th,td{padding:.5rem .75rem;font-size:13px}}@media (max-width: 1499px){.content{width:90%}}.loading-overlay{position:absolute;inset:0;background:#ffffff8c;display:flex;align-items:center;justify-content:center;gap:10px;z-index:10}.spinner{width:44px;height:44px;border:10px solid rgba(0,0,0,.2);border-top-color:#04f;border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.modal-actions[data-v-22691b84]{margin-top:20px}.modal-fields .d-flex[data-v-22691b84]{align-items:center;margin:10px 0}.modal-fields .d-flex input[data-v-22691b84]{width:60px;height:40px}.modal[data-v-22691b84]{max-width:620px}.modal .modal-fields .d-flex-date input[data-v-22691b84]{width:150px}.setupModalEdit[data-v-22691b84]{font-size:.8em;color:red;margin-left:10px}.modal-title h3[data-v-22691b84]{margin:20px auto;text-align:center;border:#9b9b9b 1px solid;background-color:#9b9b9b;color:#fff;border-radius:10px}.btn.danger[data-v-22691b84]{background-color:#e74c3c;color:#fff}.env-banner[data-v-cef07e82]{position:sticky;top:0;z-index:9999;padding:8px 12px;font-weight:600;text-align:center;background:#f3291a;border-bottom:1px solid #cfe2ff;color:#fff;font-size:18px}.setting[data-v-cef07e82]{padding:3px 5px 0;border:none;background:transparent;color:#9b9b9b}.setting[data-v-cef07e82]:hover{background:var(--hover)}.adj-status-wrap[data-v-ddebf74c]{display:inline-block;padding-top:3px;padding-left:3px}.adj-icon[data-v-ddebf74c]{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;color:#fff;background:var(--adj-bg)}.adj-svg[data-v-ddebf74c]{width:14px;height:14px;display:block}.adj-icon.is-requested[data-v-ddebf74c]{--adj-bg: #f39c12}.adj-icon.is-approved[data-v-ddebf74c]{--adj-bg: #2ecc71}.adj-icon.is-rejected[data-v-ddebf74c]{--adj-bg: #e74c3c}.adj-icon.is-default[data-v-ddebf74c]{--adj-bg: #95a5a6}.adj-modal-overlay[data-v-ddebf74c]{position:fixed;inset:0;background:#0000008c;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}.adj-modal[data-v-ddebf74c]{width:100%;max-width:520px;background:#fff;border-radius:14px;box-shadow:0 10px 30px #00000040;outline:none}.adj-modal-header[data-v-ddebf74c]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}.adj-modal-title[data-v-ddebf74c]{font-size:16px;font-weight:700}.adj-modal-close[data-v-ddebf74c]{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;padding:6px 8px}.adj-modal-body[data-v-ddebf74c]{padding:14px 16px}.adj-row[data-v-ddebf74c]{display:flex;gap:10px;padding:6px 0}.adj-label[data-v-ddebf74c]{width:110px;color:#555;font-weight:600;flex:0 0 auto}.adj-value[data-v-ddebf74c]{color:#111;white-space:pre-wrap;flex:1 1 auto}.adj-modal-footer[data-v-ddebf74c]{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #eee}.adj-btn[data-v-ddebf74c]{border:1px solid #ddd;background:#fff;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}.adj-btn[data-v-ddebf74c]:disabled{opacity:.6;cursor:not-allowed}.adj-btn-danger[data-v-ddebf74c]{border-color:#e74c3c;color:#e74c3c}.timesheet thead th[data-v-9d283c60]{position:sticky;top:0;background:linear-gradient(180deg,#fff,#f8faff);z-index:1;text-align:left;padding:12px;vertical-align:middle}.timesheet tbody td[data-v-9d283c60]{border-top:1px solid var(--border);padding:8px 12px;vertical-align:middle}.timesheet tbody .edit-cell[data-v-9d283c60]{display:flex;align-items:center;gap:4px;position:relative}.timesheet input[type=time][data-v-9d283c60],.timesheet select[data-v-9d283c60]{width:100%;padding:8px;border:1px solid var(--border);border-radius:10px}.dayOff .workType[data-v-9d283c60]{color:var(--sub4)!important}.table-monthbar[data-v-9d283c60]{display:flex;align-items:center;justify-content:end;padding-top:10px;margin-bottom:30px}.table-monthbar .selMemberName[data-v-9d283c60]{font-size:20px;text-align:center}.date[data-v-9d283c60]{font-weight:600}.sundayText[data-v-9d283c60]{color:#0000008c}tr.sunday[data-v-9d283c60]{background:linear-gradient(90deg,#00000012)}tr.sunday .workType[data-v-9d283c60]{color:#0000008c;font-weight:700}tr.sunday .worked[data-v-9d283c60],tr.sunday .req[data-v-9d283c60]{color:#0000008c;font-weight:400}tr.today[data-v-9d283c60]{position:relative}tr.today[data-v-9d283c60]:after{content:"today";position:absolute;top:-5px;left:0;font-size:16px;color:var(--sub1);font-weight:700;transform:rotate(-15deg)}.worked[data-v-9d283c60]{font-weight:700}.worked.under[data-v-9d283c60]{color:var(--sub4)}.req[data-v-9d283c60]{color:var(--main);font-weight:700}.monthly-total[data-v-9d283c60]{font-weight:600}.editBtn[data-v-9d283c60]{cursor:pointer;display:flex}.editBtn svg[data-v-9d283c60]{width:18px;height:18px}.editBtn path[data-v-9d283c60]{stroke:#3b82f6}.calendar[data-v-9d283c60]{padding:8px}.calendar-head[data-v-9d283c60]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-grid[data-v-9d283c60]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-cell[data-v-9d283c60]{background:#fff;border:1px solid var(--border);border-radius:12px;min-height:84px;padding:8px;display:flex;flex-direction:column}.cal-cell.empty[data-v-9d283c60]{background:transparent;border:1px dashed rgba(0,0,0,.05)}.cal-head[data-v-9d283c60]{background:transparent;border:none;font-weight:700;color:#111;justify-content:center;align-items:center}.cal-date[data-v-9d283c60]{font-weight:700;margin-bottom:6px}.cal-badges[data-v-9d283c60]{margin-top:auto;display:flex;gap:6px;align-items:center}.badge[data-v-9d283c60]{border-radius:999px;padding:4px 8px;border:1px solid var(--border);font-size:12px}.badge.danger[data-v-9d283c60]{background:var(--sub3);border-color:var(--sub4)}.badge.ghost[data-v-9d283c60]{background:#2a5eec0f;border-color:#2a5eec33;color:var(--main)}.today-track[data-v-9d283c60]{position:fixed;left:15%;top:calc(var(--header-h) + 12px);z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;min-width:320px;color:#2a5eecf2;transform:translateZ(0);transition:box-shadow .2s ease,transform .12s ease}.today-track[data-v-9d283c60]:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.05),rgba(255,255,255,.05) 1px,transparent 1px,transparent 3px)}.today-left[data-v-9d283c60]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;letter-spacing:.4px;font-weight:700;font-size:16px}th.lunch-time[data-v-9d283c60]{text-align:center!important}.lunch-time[data-v-9d283c60],.over-time[data-v-9d283c60]{width:120px}.work-time-td[data-v-9d283c60]{min-width:80px;max-width:80px}.work-time-end[data-v-9d283c60]{max-width:120px}div.lunch-time[data-v-9d283c60],div.over-time[data-v-9d283c60]{display:flex;gap:5px}tr.requiredWorkTime[data-v-9d283c60]{position:relative}.workType-cell[data-v-9d283c60]{display:flex;align-items:center;gap:8px}.warn[data-v-9d283c60]{display:inline-flex;align-items:center;gap:6px;max-width:100px;position:absolute}.warn-icon[data-v-9d283c60]{width:36px;height:16px;fill:#b45309;animation:pulse-9d283c60 4s ease-in-out infinite}@keyframes pulse-9d283c60{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:1}}.marquee[data-v-9d283c60]{position:relative;overflow:hidden;display:inline-block;vertical-align:middle;pointer-events:none}.marquee__inner[data-v-9d283c60]{display:inline-block;padding-left:100%;white-space:nowrap;will-change:transform;animation:slide-left-9d283c60 var(--marquee-duration, 5s) linear infinite;color:#3faade;font-weight:600;background:#def3fe}@keyframes slide-left-9d283c60{0%{transform:translate(0)}to{transform:translate(-120%)}}.field[data-v-9d283c60]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label[data-v-9d283c60]{font-size:12px;color:var(--muted)}.field input[data-v-9d283c60],.field select[data-v-9d283c60]{border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none}.toolbar[data-v-9d283c60]{position:relative;display:flex;justify-content:flex-end;align-items:center;margin-bottom:30px;margin-top:12px;gap:8px}.toolbar .month-picker[data-v-9d283c60]{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.toolbar .view-toggle[data-v-9d283c60]{display:flex;gap:8px}.modal-backdrop[data-v-9d283c60]{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-backdrop .modal[data-v-9d283c60]{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000040;max-width:420px;width:100%;padding:20px;animation:modal-fade-in-9d283c60 .25s ease}.modal-backdrop .modal h3[data-v-9d283c60]{background-color:var(--main);color:var(--bg)}.modal-backdrop .d-flex[data-v-9d283c60]{gap:30px}.modal-backdrop .muted[data-v-9d283c60]{text-align:right}.week-summary[data-v-9d283c60]{background:#d8e5ff;font-weight:600;border-top:2px solid #ddd}.week-summary .week-summary-label[data-v-9d283c60]{text-align:center;color:#333}.week-summary .week-summary-total[data-v-9d283c60]{text-align:left}.adj-badge[data-v-9d283c60]{width:10px}.adj-wrap[data-v-9d283c60]{position:absolute;display:inline-block;top:-10px;left:-10px}.adj-badge[data-v-9d283c60]{display:inline-block;position:relative;width:12px;height:12px;cursor:pointer}.adj-badge[data-v-9d283c60]:before{content:"";position:absolute;top:0;left:0;width:0;height:0;border-top:12px solid #e74c3c;border-right:12px solid transparent}.adj-tooltip[data-v-9d283c60]{position:absolute;left:0;bottom:calc(100% + 5px);min-width:260px;max-width:520px;padding:10px 12px;border-radius:10px;background:#111;color:#fff;font-size:14px;line-height:1.4;white-space:pre-wrap;box-shadow:0 5px 15px #0006;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.adj-wrap:hover .adj-tooltip[data-v-9d283c60]{opacity:1;visibility:visible}@keyframes modal-fade-in-9d283c60{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1499px){.today-track[data-v-9d283c60]{left:10%}}@media (max-width: 720px){.links[data-v-9d283c60]{display:none}.timesheet thead th[data-v-9d283c60]:nth-child(2),.timesheet tbody td[data-v-9d283c60]:nth-child(2){display:none}.today-track[data-v-9d283c60]{right:8px;top:calc(var(--header-h) + 8px);padding:8px 10px;min-width:0}.today-track .today-left[data-v-9d283c60]{font-size:12px}.today-track .today-right .btn[data-v-9d283c60]{height:30px;line-height:30px;padding:0 10px;font-size:12px}}.excel-btn-wrap[data-v-9d283c60]{text-align:right}.memoBtn[data-v-9d283c60]{cursor:pointer;display:flex;align-items:center;gap:4px}.memoBtn svg[data-v-9d283c60]{width:18px;height:18px}.memo-cell-wrap[data-v-9d283c60]{display:flex;align-items:center;gap:6px}.memo-cell-wrap .adminMoreBtn[data-v-9d283c60]{cursor:pointer;color:#414141;font-size:12px;font-weight:600;border:1px solid #ccc;padding:2px 6px;border-radius:15px}.memo-cell-wrap .memo-content[data-v-9d283c60]{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin .table-scroll[data-v-9d283c60]{height:calc(100dvh - 420px)}.table-scroll[data-v-9d283c60]{position:relative;overflow:auto;height:calc(100dvh - 320px);min-height:0}.loading-overlay[data-v-9d283c60]{position:fixed;inset:0;z-index:999999;background:#ffffff8c;display:flex;align-items:center;justify-content:center}.loading-center[data-v-9d283c60]{position:sticky;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;pointer-events:none}.timesheet[data-v-9d283c60]{width:100%;border-collapse:separate;border-spacing:0}.timesheet thead th[data-v-9d283c60]{position:sticky;top:0;z-index:20;background:#fff}.timesheet thead th[data-v-9d283c60]{border-bottom:5px solid var(--border)}.table-card[data-v-9d283c60]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.timesheet[data-v-9d283c60]{width:100%;min-width:760px}.timesheet thead th[data-v-9d283c60]{box-shadow:0 1px #0000000f}.toolbar[data-v-9d283c60]{flex-wrap:wrap}.table-monthbar[data-v-9d283c60]{gap:10px;flex-wrap:wrap}.calendar[data-v-9d283c60]{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.today-track[data-v-9d283c60]{max-width:calc(100vw - 16px)}.adj-tooltip[data-v-9d283c60]{max-width:min(520px,92vw)}@media (max-width: 1499px){body[data-v-9d283c60]{font-size:13px}.nav[data-v-9d283c60]{flex-direction:column}.today-track[data-v-9d283c60]{left:10%}}@media (max-width: 1024px){.timesheet thead th[data-v-9d283c60]{padding:10px;font-size:13px}.timesheet tbody td[data-v-9d283c60]{padding:8px 10px;font-size:13px}.timesheet input[type=time][data-v-9d283c60],.timesheet select[data-v-9d283c60]{padding:8px 10px;border-radius:10px}.work-time-td[data-v-9d283c60]{min-width:72px;max-width:72px}.lunch-time[data-v-9d283c60],.over-time[data-v-9d283c60]{width:110px}.toolbar[data-v-9d283c60]{justify-content:space-between}.toolbar .month-picker[data-v-9d283c60]{position:static;transform:none;order:1;width:100%;justify-content:center;margin-bottom:8px}.toolbar .view-toggle[data-v-9d283c60]{order:2;margin-left:auto}}@media (max-width: 720px){.links[data-v-9d283c60]{display:none}.timesheet[data-v-9d283c60]{min-width:720px}.timesheet thead th[data-v-9d283c60]{padding:8px;font-size:12px}.timesheet tbody td[data-v-9d283c60]{padding:6px 8px;font-size:12px}.timesheet input[type=time][data-v-9d283c60],.timesheet select[data-v-9d283c60]{padding:7px 8px;border-radius:10px;font-size:12px}.timesheet thead th[data-v-9d283c60]:nth-child(2),.timesheet tbody td[data-v-9d283c60]:nth-child(2){display:none}.table-monthbar[data-v-9d283c60]{justify-content:center}.table-monthbar .selMemberName[data-v-9d283c60]{font-size:16px;width:100%;text-align:center}.today-track[data-v-9d283c60]{left:8px;right:8px;top:calc(var(--header-h) + 8px);min-width:0;width:auto;gap:10px;padding:8px 10px}.today-left[data-v-9d283c60]{font-size:12px}.today-right .btn[data-v-9d283c60]{height:30px;line-height:30px;padding:0 10px;font-size:12px}.warn[data-v-9d283c60]{max-width:84px}.calendar[data-v-9d283c60]{padding:6px}.calendar-head[data-v-9d283c60],.calendar-grid[data-v-9d283c60]{gap:6px}.cal-cell[data-v-9d283c60]{min-height:72px;padding:6px}.badge[data-v-9d283c60]{font-size:11px;padding:3px 7px}.modal-backdrop[data-v-9d283c60]{padding:12px}.modal-backdrop .modal[data-v-9d283c60]{max-width:100%;padding:16px;border-radius:14px}.modal-backdrop .d-flex[data-v-9d283c60]{gap:16px;flex-wrap:wrap}.adj-tooltip[data-v-9d283c60]{left:50%;transform:translate(-50%);min-width:min(260px,88vw);max-width:92vw;font-size:13px}}@media (max-width: 480px){.timesheet[data-v-9d283c60]{min-width:680px}.timesheet thead th[data-v-9d283c60],.timesheet tbody td[data-v-9d283c60],.timesheet input[type=time][data-v-9d283c60],.timesheet select[data-v-9d283c60]{font-size:11px}div.lunch-time[data-v-9d283c60],div.over-time[data-v-9d283c60]{gap:4px;flex-wrap:wrap}.today-left[data-v-9d283c60]{font-size:11px}.cal-cell[data-v-9d283c60]{min-height:64px}}.time-select[data-v-57566628]{display:inline-flex;align-items:center;gap:6px}.time-select select[data-v-57566628]{padding:6px 8px}.modal-backdrop[data-v-4f3e3d66]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal[data-v-4f3e3d66]{width:520px;max-width:92vw;background:#fff;border-radius:12px;overflow:hidden}.modal-header[data-v-4f3e3d66],.modal-footer[data-v-4f3e3d66]{padding:12px 16px;display:flex;align-items:right;justify-content:space-between}.modal-footer[data-v-4f3e3d66]{justify-content:center}.modal-body[data-v-4f3e3d66]{padding:12px 16px;max-height:70vh;overflow:auto}.row[data-v-4f3e3d66]{display:flex;gap:10px;margin:4px 0}.label[data-v-4f3e3d66]{width:72px;color:#666}.val[data-v-4f3e3d66]{flex:1;word-break:break-word}.btn-close[data-v-4f3e3d66]{background:transparent;border:0;font-size:18px;cursor:pointer}.btn[data-v-4f3e3d66]{padding:8px 12px}.rej-item hr[data-v-4f3e3d66]{margin:12px 0;border:0;border-top:1px solid #eee}.ptw-panel[data-v-0994515c]{position:fixed;right:16px;bottom:16px;width:360px;max-height:70vh;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 12px 32px #0000002e;z-index:9999;overflow:hidden}.ptw-header[data-v-0994515c]{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(0,0,0,.08)}.ptw-title[data-v-0994515c]{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}.ptw-badge[data-v-0994515c]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#dc26261f;color:#b91c1c;font-size:12px;font-weight:700}.ptw-actions[data-v-0994515c]{display:flex;align-items:center;gap:8px}.ptw-btn[data-v-0994515c]{border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:10px;padding:6px 10px;font-size:12px;cursor:pointer}.ptw-btn-ghost[data-v-0994515c]{border-color:transparent}.ptw-btn-primary[data-v-0994515c]{border-color:#2563eb40;background:#2563eb1f}.ptw-body[data-v-0994515c]{padding:12px}.ptw-desc[data-v-0994515c]{font-size:12px;color:#000000b3;margin-bottom:10px}.ptw-list[data-v-0994515c]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:42vh;overflow:auto}.ptw-item[data-v-0994515c]{width:100%;text-align:left;border:1px solid rgba(0,0,0,.1);background:#00000005;border-radius:10px;padding:10px;cursor:pointer}.ptw-date[data-v-0994515c]{font-weight:700;font-size:13px;margin-bottom:4px}.ptw-meta[data-v-0994515c]{font-size:12px;color:#000000b3}.ptw-footer[data-v-0994515c]{display:flex;justify-content:flex-end;margin-top:10px}.card[data-v-dd7042dc]{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px #1412120a;padding:16px;text-align:center}.login-card[data-v-dd7042dc]{max-width:440px;margin:132px auto}.toast-host[data-v-10592117]{position:fixed;inset:auto 0 16px;display:grid;place-items:center;pointer-events:none;z-index:9999}.toast-stack[data-v-10592117]{width:min(96vw,30%);display:grid;gap:10px}.toast[data-v-10592117]{pointer-events:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;box-shadow:0 6px 20px #00000040,0 12px 40px #00000026;color:#0b0d12;background:#fff;font-size:18px;font-weight:500}.toast__icon[data-v-10592117]{font-size:18px;line-height:1}.toast--success[data-v-10592117]{border-left:6px solid #16a34a;background:#ecfdf5}.toast--error[data-v-10592117]{border-left:6px solid #dc2626;background:#fef2f2}.toast--warning[data-v-10592117]{border-left:6px solid #f59e0b;background:#fffbeb}.toast--info[data-v-10592117]{border-left:6px solid #2563eb;background:#eff6ff}.toast-slide-enter-from[data-v-10592117],.toast-slide-leave-to[data-v-10592117]{transform:translateY(18px);opacity:0}.toast-slide-enter-active[data-v-10592117],.toast-slide-leave-active[data-v-10592117]{transition:all .28s ease}@media (prefers-reduced-motion: reduce){.toast-slide-enter-active[data-v-10592117],.toast-slide-leave-active[data-v-10592117]{transition:none}}
