.app-icon[data-v-8d3b1cfd]{vertical-align:middle;flex:none;display:inline-block}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2)format("woff2-variations");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-ext-wght-normal-DH1q_yQ5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-wght-normal-Bi3VDbYN.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#ece8df;--page-3:#f1ede4;--page-hover:#e6e0d0;--surface:#fffdf79e;--surface-strong:#fffdf7c7;--surface-inset:#fffdf76b;--surface-solid:#fffdf7;--sticky-bg:#f9f5ec;--sticky-bg-hover:#fefaf4;--sticky-edge:#3c32231a;--input-bg:#f3efe5;--input-bg-focus:#ece8db;--text:#26221b;--text2:#736d62;--text3:#9c9588;--line:#3c322317;--accent:#534ab7;--accent-2:#3c3489;--accent-soft:#eeedfe;--danger-text:#a32d2d;--danger-soft:#fbeded;--danger-border:#e8b4b4;--danger-ring:#a32d2d29;--checkbox-border:#d8d2c4;--checkbox-ring:#3a322829;--radius-lg:18px;--radius-xl:22px;--shadow-sm:0 1px 0 #ffffff8c inset, 0 1px 2px #3c32230a;--shadow:0 1px 0 #ffffff8c inset, 0 8px 24px -12px #3c32232e;--shadow-lg:0 1px 0 #fff9 inset, 0 24px 60px -20px #3c322347}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#1c1916;--page-3:#23201c;--page-hover:#3a342c;--surface:#302a238c;--surface-strong:#363028b8;--surface-inset:#28231d8c;--surface-solid:#2a2620;--sticky-bg:#27221c;--sticky-bg-hover:#322c25;--sticky-edge:#00000047;--input-bg:#23201c;--input-bg-focus:#2a2620;--text:#f0ece2;--text2:#a89f8e;--text3:#736b5c;--line:#fff5e112;--danger-text:#f0a6a6;--danger-soft:#a32d2d24;--danger-border:#f0a6a647;--danger-ring:#f0a6a638;--accent:#a79bff;--accent-2:#c4bbff;--accent-soft:#a79bff29;--checkbox-border:#fff5e129;--checkbox-ring:#f0ece238;--shadow-sm:0 1px 0 #fffaeb0a inset, 0 1px 2px #0000004d;--shadow:0 1px 0 #fffaeb0a inset, 0 8px 24px -12px #00000080;--shadow-lg:0 1px 0 #fffaeb0d inset, 0 24px 60px -20px #000000b3}html,body{min-height:100%}body{background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;padding:2.25rem 1rem 3rem;font-family:Noto Sans Thai Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow-x:hidden}button,input,select,textarea{font-family:inherit}html:lang(th) *{letter-spacing:normal!important}body.modal-open{overflow:hidden}:focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 3px #534ab773}.dd-search input:focus-visible,.search-wrap input:focus-visible,.fg input:focus-visible,.fg textarea:focus-visible,.num-input:focus-within,.dd-toggle:focus-visible,.date-toggle:focus-visible,.cell-edit:focus-visible{box-shadow:0 0 0 3px #534ab773}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.btn-add:hover,.btn-primary:hover{transform:none}}*{scrollbar-width:thin;scrollbar-color:#3c322338 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3c322333 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#3c322357 padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}:root[data-theme=dark] *{scrollbar-color:#fff5e12e transparent}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#fff5e129 padding-box padding-box}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#fff5e14d padding-box padding-box}@media (width<=640px){body{padding:1.25rem .75rem 2rem}}.container{z-index:1;max-width:1440px;margin:0 auto;position:relative}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:1.5rem;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-title{color:var(--text);letter-spacing:-.02em;font-size:22px;font-weight:600;line-height:1.2}.brand-icon{background:var(--text);width:40px;height:40px;color:var(--page);box-shadow:var(--shadow-sm);border-radius:12px;justify-content:center;align-items:center;font-size:19px;display:inline-flex}.brand-sub{color:var(--text2);letter-spacing:.02em;margin-top:2px;font-size:12px}.topbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:1.5rem;display:grid}.stat{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 18px 16px;position:relative}.stat-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stat-label{color:var(--text2);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500}.stat-dot{border-radius:50%;width:8px;height:8px}.stat-val{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1}.stat-sub{color:var(--text3);margin-top:6px;font-size:11.5px}.toolbar{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:30;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex;position:relative}.search-wrap{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.search-wrap .app-icon{color:var(--text2);pointer-events:none;position:absolute;left:14px}.search-wrap input{background:var(--surface-inset);width:100%;color:var(--text);border:none;border-radius:999px;outline:none;padding:11px 14px 11px 40px;font-size:13px;transition:box-shadow .18s,background .18s}.search-wrap input::placeholder{color:var(--text3)}.search-wrap input:focus{background:var(--surface-strong);box-shadow:0 0 0 3px #534ab729}.sel-wrap{z-index:1;align-items:center;display:flex;position:relative}:is(.sel-wrap:has(.dd.open),.fg:has(.dd.open)){z-index:60}.sel-wrap .sel-leading{color:var(--text2);pointer-events:none;z-index:2;position:absolute;left:14px}.tbl-card{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1340px;font-size:13px}thead th{text-align:left;color:var(--text2);letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-transform:uppercase;background:0 0;padding:14px 18px;font-size:10.5px;font-weight:500;transition:color .12s;position:relative}thead th:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:0;right:0}thead th:hover{color:var(--text)}thead th[data-sort]:focus-visible{color:var(--text);box-shadow:inset 0 0 0 2px var(--accent);border-radius:8px;outline:none}tbody td{color:var(--text);vertical-align:middle;padding:14px 18px;position:relative}tbody tr{transition:background .18s}tbody tr[data-id]{animation:.32s cubic-bezier(.4,0,.2,1) both rowIn;animation-delay:calc(var(--row,0) * 28ms)}@keyframes rowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}tbody td:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:18px;right:18px}tbody tr:last-child td:after{display:none}tbody tr:hover{background:var(--surface-strong)}thead th:nth-child(-n+3),tbody td:nth-child(-n+3){background:var(--sticky-bg);z-index:2;position:sticky}thead th:nth-child(-n+3){z-index:3}thead th:first-child,tbody td:first-child{left:0}thead th:nth-child(2),tbody td:nth-child(2){left:var(--sticky-col-1,0px)}thead th:nth-child(3),tbody td:nth-child(3){left:var(--sticky-col-2,0px)}tbody tr:hover td:nth-child(-n+3){background:var(--sticky-bg-hover)}thead th:nth-child(3):before,tbody td:nth-child(3):before{content:"";pointer-events:none;background:linear-gradient(to right, var(--sticky-edge), transparent);opacity:0;width:14px;transition:opacity .2s;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.is-scrolled thead th:nth-child(3):before,.is-scrolled tbody td:nth-child(3):before{opacity:1}.th-center,.td-center{text-align:center}.tbl-legend{color:var(--text3);margin:0 auto 0 0;font-size:11.5px;line-height:1.5}.tbl-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;padding:14px 20px;display:flex}.tbl-count{color:var(--text2);margin-left:auto;font-size:12px;font-weight:500}.pagination{align-items:center;gap:4px;display:flex}.pagination[hidden]{display:none}.pg-nums{align-items:center;gap:2px;display:flex}.pg-btn,.pg-num{min-width:30px;height:30px;color:var(--text2);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .15s,color .15s,transform .12s;display:inline-flex}.pg-btn{font-size:15px}.pg-btn:hover:not(:disabled),.pg-num:hover:not(.is-current){background:var(--surface-inset);color:var(--text)}.pg-btn:active:not(:disabled),.pg-num:active:not(.is-current){transform:scale(.9)}.pg-btn:disabled{opacity:.4;cursor:not-allowed}.pg-num.is-current{background:var(--accent);color:#fff;cursor:default;transition:background .15s,color .15s}.pg-gap{text-align:center;min-width:22px;color:var(--text3);-webkit-user-select:none;user-select:none;font-size:12.5px}.empty-state{text-align:center;color:var(--text2);padding:3.5rem}.empty-state .app-icon{opacity:.4;margin:0 auto 12px;display:block}.empty-state .empty-title{color:var(--text);font-size:15px;font-weight:600}.empty-state .empty-text{max-width:360px;margin:6px auto 18px;font-size:13px}.empty-state--error .app-icon{color:var(--danger-text);opacity:.8}.sk{background:linear-gradient(100deg, var(--surface-inset) 30%, var(--surface-strong) 50%, var(--surface-inset) 70%);background-size:200% 100%;border-radius:6px;animation:1.3s ease-in-out infinite sk-shimmer;display:inline-block}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-stat-val{width:56px;height:30px;display:block}.sk-stat-sub{width:88px;height:13px;margin-top:6px;display:block}.sk-line{border-radius:999px;height:13px}.sk-badge{border-radius:999px;width:78px;height:22px}.sk-chk{border-radius:6px;width:20px;height:20px}tbody tr.sk-row td{padding:16px 18px}@media (prefers-reduced-motion:reduce){.sk{animation:none}}@media (width<=640px){.stat-val{font-size:24px}thead th,tbody td,tbody tr.sk-row td{padding:12px 14px}tbody td:after{left:14px;right:14px}}.btn-add{letter-spacing:.01em;cursor:pointer;background:var(--text);color:var(--page);box-shadow:var(--shadow-sm);border:none;border-radius:999px;align-items:center;gap:7px;padding:11px 20px;font-size:13px;font-weight:600;transition:transform .15s,background .15s,opacity .15s;display:inline-flex}.btn-add:hover{opacity:.92;transform:translateY(-1px)}.btn-add:active{transform:translateY(0)}.btn-ghost{cursor:pointer;background:var(--surface-inset);color:var(--text);border:none;border-radius:999px;padding:11px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s}.btn-ghost:hover{background:var(--surface)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-primary{cursor:pointer;background:var(--text);color:var(--page);box-shadow:var(--shadow-sm);border:none;border-radius:999px;padding:11px 22px;font-family:inherit;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s}.btn-primary:hover{opacity:.92;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary.is-loading{cursor:wait;pointer-events:none;opacity:.65}.btn-danger{cursor:pointer;color:#fff;box-shadow:var(--shadow-sm);background:#c0392b;border:none;border-radius:999px;padding:11px 22px;font-family:inherit;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s,background .15s}.btn-danger:hover{background:#a93226;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.btn-danger.is-loading{cursor:wait;pointer-events:none;opacity:.65}.dd{font-family:inherit;position:relative}.dd-toggle{background:var(--surface-inset);color:var(--text);cursor:pointer;white-space:nowrap;text-align:left;border:none;border-radius:999px;outline:none;align-items:center;gap:8px;min-width:140px;padding:11px 34px 11px 36px;font-family:inherit;font-size:12.5px;font-weight:500;transition:background .18s,box-shadow .18s;display:inline-flex}.dd-toggle:hover{background:var(--surface)}.dd.open .dd-toggle{background:var(--surface-strong);box-shadow:0 0 0 3px #534ab729}.dd-toggle:after{content:"";border-right:1.5px solid var(--text2);border-bottom:1.5px solid var(--text2);pointer-events:none;width:7px;height:7px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-75%)rotate(45deg)}.dd.open .dd-toggle:after{transform:translateY(-25%)rotate(-135deg)}.dd-menu{background:var(--surface-solid);min-width:100%;box-shadow:var(--shadow-lg);z-index:50;opacity:0;pointer-events:none;transform-origin:0 0;border-radius:14px;max-height:280px;padding:6px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;transform:translateY(-6px)scale(.98)}.dd.open .dd-menu{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.dd-option{color:var(--text);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:13px;transition:background .12s;display:flex}.dd-option:hover{background:var(--page-3)}.dd-option:focus-visible{background:var(--page-3);box-shadow:inset 0 0 0 2px var(--accent);outline:none}.dd-menu:focus-visible,.picker-pop:focus-visible{box-shadow:var(--shadow-lg);outline:none}.dd-option.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.dd-option .dd-check{opacity:0;margin-left:auto;font-size:14px}.dd-option.selected .dd-check{opacity:1}.dd-search{z-index:1;background:var(--surface-solid);border-bottom:1px solid var(--line);align-items:center;gap:9px;margin:-6px -6px 6px;padding:12px 14px;display:flex;position:sticky;top:-6px}.dd-search .app-icon{color:var(--text3);flex:none;font-size:15px}.dd-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:13px}.dd-search input:focus-visible{box-shadow:none}.dd-search:focus-within .app-icon{color:var(--accent)}.dd-search input::placeholder{color:var(--text3)}.dd-empty{color:var(--text3);text-align:center;margin:0;padding:18px 12px;font-size:12.5px}.picker-pop{z-index:200;opacity:1;pointer-events:auto;min-width:180px;position:absolute;transform:none}.company-name{letter-spacing:-.005em;font-size:13.5px;font-weight:600}.role-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:260px;font-size:12.5px;display:inline-block;overflow:hidden}.worktype-cell{white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:0;margin:-5px -9px;padding:5px 9px;transition:background .15s;display:inline-flex}.day-split{color:var(--text3);font-variant-numeric:tabular-nums;cursor:pointer;vertical-align:middle;background:0 0;border:none;align-items:center;margin-left:4px;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .15s;display:inline-flex}.day-split:hover{color:var(--accent)}.day-split.is-unset{color:var(--text3);font-style:italic}.day-split:focus-visible{color:var(--accent);box-shadow:0 0 0 2px var(--accent);border-radius:4px;outline:none}.field-hint{color:var(--text3);font-size:11.5px}.link-cell{justify-content:center;align-items:center;gap:2px;display:flex}.url-btn{width:26px;height:26px;color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:14px;text-decoration:none;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.url-btn.has-url{color:var(--accent)}.url-edit-btn{opacity:0}tr:hover .url-edit-btn,.url-edit-btn:focus-visible{opacity:1}.url-btn:hover{background:var(--surface-inset);color:var(--text)}.url-btn:focus-visible{opacity:1;box-shadow:0 0 0 2px var(--accent);outline:none}.url-edit{z-index:5;position:relative}.url-edit input{background:var(--surface-solid);width:260px;color:var(--text);border:none;border-radius:8px;outline:none;padding:6px 9px;font-family:inherit;font-size:12.5px;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 0 0 3px #534ab72e}.loc-text{color:var(--text);font-size:12.5px;font-weight:500}.source-chip{color:var(--text2);white-space:nowrap;align-items:center;gap:8px;font-size:11.5px;font-weight:500;display:inline-flex}.source-chip .app-icon{font-size:14px}.sal-val{font-variant-numeric:tabular-nums;letter-spacing:-.005em;font-size:13px;font-weight:600}.sal-none{color:var(--text3);font-size:13px}.cell-applydate{color:var(--text2);white-space:nowrap;font-size:12.5px}.status-badge{white-space:nowrap;letter-spacing:.01em;border-radius:999px;align-items:center;gap:8px;padding:5px 14px;font-size:11px;font-weight:600;display:inline-flex}.s-accepted{color:#3b6d11;background:#dbebc0}.s-rejected{color:#a32d2d;background:#f8d7d7}.s-interview{color:#854f0b;background:#f6e0bd}.s-viewed{color:#5f5e5a;background:#e4e0d2}.s-pending{color:#993556;background:#f7d9e5}.cell-edit{cursor:text;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:8px;min-width:60px;max-width:280px;margin:-6px -10px;padding:6px 10px;transition:background .15s,box-shadow .15s;display:inline-block;overflow:hidden}.cell-edit:hover{background:var(--input-bg)}.cell-edit:focus{background:var(--surface-solid);white-space:normal;outline:none;max-width:none;overflow:visible;box-shadow:0 0 0 3px #534ab72e}.cell-edit[data-empty="1"]:not(:focus):before{content:attr(data-placeholder);color:var(--text3)}.cell-pick{cursor:pointer;border-radius:8px;margin:-6px -10px;padding:6px 10px;transition:background .15s,box-shadow .15s;display:inline-block}.cell-pick:not(.status-badge):hover{background:var(--input-bg)}.status-badge.cell-pick{align-items:center;gap:2px;margin:0;transition:filter .15s,box-shadow .15s;display:inline-flex}.status-badge.cell-pick:hover{filter:brightness(.95);box-shadow:0 0 0 2px #00000012}.source-chip.cell-pick{align-items:center;gap:8px;margin:-6px -10px;padding:6px 10px;display:inline-flex}.worktype-cell:hover{background:var(--input-bg)}.worktype-cell .source-chip.cell-pick{background:0 0;border-radius:0;margin:0;padding:0}.cell-date{cursor:pointer;border-radius:8px;margin:-6px -10px;padding:6px 10px;transition:background .15s;display:inline-block;position:relative}.cell-date:hover{background:var(--input-bg)}.cell-date input{opacity:0;cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:none;position:absolute;inset:0}.act-cell{justify-content:center;gap:2px;display:flex}.act-btn{cursor:pointer;color:var(--text2);background:0 0;border:none;border-radius:8px;align-items:center;padding:7px;font-size:15px;transition:background .15s,color .15s,transform .12s;display:flex}.act-btn:active{transform:scale(.88)}.act-btn.del:hover{color:#a32d2d;background:#f8d7d7}.cal-pop{z-index:200;background:var(--surface-solid);box-shadow:var(--shadow-lg);border-radius:14px;width:280px;padding:14px;font-family:inherit;position:absolute}.cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-title{color:var(--text);letter-spacing:-.01em;font-size:13.5px;font-weight:600}.cal-nav{gap:2px;display:flex}.cal-btn{cursor:pointer;width:28px;height:28px;color:var(--text2);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:14px;transition:background .12s,color .12s;display:inline-flex}.cal-btn:hover{background:var(--page-3);color:var(--text)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{text-align:center;color:var(--text3);letter-spacing:.06em;text-transform:uppercase;padding:6px 0;font-size:10px;font-weight:600}.cal-day{appearance:none;cursor:pointer;height:32px;color:var(--text);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:12.5px;transition:background .12s,color .12s;display:flex}.cal-day:hover{background:var(--page-3)}.cal-day.muted{color:var(--text3)}.cal-day.today{color:var(--accent);font-weight:700}.cal-day.selected{background:var(--accent);color:#fff}.cal-day.selected:hover{background:var(--accent-2)}.cal-foot{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.cal-foot button{cursor:pointer;background:var(--page-3);color:var(--text);border:none;border-radius:9px;flex:1;padding:8px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s}.cal-foot button:hover{background:var(--page-hover)}.num-input{background:var(--input-bg);border-radius:12px;align-items:center;width:100%;transition:background .18s,box-shadow .18s;display:flex;position:relative}.num-input input{color:var(--text);font-variant-numeric:tabular-nums;text-align:left;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:11px 13px;font-family:inherit;font-size:13.5px}.num-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-input input[type=number]{appearance:textfield}.num-input:focus-within{background:var(--input-bg-focus)}.chk{appearance:none;background:var(--input-bg);cursor:pointer;vertical-align:middle;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;transition:background .15s,transform .1s;display:inline-flex;position:relative}.chk:hover{background:var(--input-bg-focus)}.chk:checked{background:var(--accent)}.chk:checked:after{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:6px;height:10px;transform:rotate(45deg)translate(-1px,-1px)}.chk:disabled{opacity:.5;cursor:wait}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#281e0f52;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal-overlay.open{animation:.2s fadeIn;display:flex}.modal-overlay.closing{animation:.18s forwards fadeOut;display:flex}.modal-overlay.closing .modal{animation:.18s cubic-bezier(.4,0,1,1) forwards popOut}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes popOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.98)}}.modal{background:var(--surface-solid);border-radius:var(--radius-xl);width:560px;max-width:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s cubic-bezier(.4,0,.2,1) popIn;display:flex}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{flex:none;justify-content:space-between;align-items:center;padding:1.4rem 1.6rem 1.1rem;display:flex}.modal-header h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.modal-close{background:var(--surface-inset);cursor:pointer;color:var(--text2);border:none;border-radius:50%;padding:7px;font-size:16px;transition:background .15s,color .15s;display:flex}.modal-close:hover{background:var(--surface);color:var(--text)}.modal-body{flex:none;padding:.5rem 1.6rem 1.25rem;overflow:visible}.modal-footer{flex:none;justify-content:flex-end;gap:10px;padding:1rem 1.6rem 1.4rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fg-full{grid-column:1/-1}.fg{flex-direction:column;gap:6px;display:flex}.fg label{color:var(--text2);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:600}.fg input,.fg textarea{background:var(--input-bg);color:var(--text);appearance:none;border:none;border-radius:12px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:13.5px;transition:background .18s,box-shadow .18s}.fg input:focus,.fg textarea:focus{background:var(--input-bg-focus);box-shadow:0 0 0 3px #534ab72e}.fg textarea{resize:vertical;min-height:84px;line-height:1.55}.fg .dd{width:100%}.fg .dd-toggle,.date-toggle{background:var(--input-bg);width:100%;min-width:0;color:var(--text);border-radius:12px;align-items:center;padding:11px 34px 11px 13px;font-size:13.5px;font-weight:500;display:flex}.date-toggle{position:relative}.date-toggle:after{content:"";border-right:1.5px solid var(--text2);border-bottom:1.5px solid var(--text2);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:14px;transform:translateY(-75%)rotate(45deg)}.fg .dd-toggle:hover,.date-toggle:hover{background:var(--input-bg-focus)}.fg .dd.open .dd-toggle{background:var(--input-bg-focus);box-shadow:0 0 0 3px #534ab72e}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.login-overlay{z-index:500;background:var(--page);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.login-card{z-index:1;background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);border-radius:var(--radius-xl);width:420px;max-width:100%;box-shadow:var(--shadow);text-align:center;padding:48px 40px 40px;position:relative}.login-icon{background:var(--text);width:56px;height:56px;color:var(--page);border-radius:16px;justify-content:center;align-items:center;margin-bottom:20px;font-size:24px;display:inline-flex}.login-title{color:var(--text);letter-spacing:-.01em;margin:0 0 8px;font-size:22px;font-weight:600}.login-sub{color:var(--text2);margin:0 0 28px;font-size:13px;line-height:1.6}.login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.login-form .fg{gap:6px}.pw-input{align-items:center;display:flex;position:relative}.pw-input input{padding-right:44px}.pw-toggle{width:32px;height:32px;color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:absolute;right:6px}.pw-toggle:hover{color:var(--text);background:var(--surface-strong)}.field-error{color:var(--danger-text);margin:0;font-size:12px;line-height:1.45}.fg input.is-invalid{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-border)}.fg input.is-invalid:focus{background:var(--danger-soft);box-shadow:0 0 0 3px var(--danger-ring)}.checkbox{appearance:none;background:var(--input-bg);width:18px;height:18px;box-shadow:inset 0 0 0 1.25px var(--checkbox-border);cursor:pointer;border-radius:5px;flex:none;margin:0;transition:background .18s,box-shadow .18s;position:relative}.checkbox:not(:checked):hover:not(:disabled){box-shadow:inset 0 0 0 1.25px var(--text3)}.checkbox:checked{background:var(--text);box-shadow:none}.checkbox:checked:after{content:"";border-right:1.75px solid var(--page);border-bottom:1.75px solid var(--page);width:4.5px;height:8.5px;position:absolute;top:2.75px;left:6.25px;transform:rotate(45deg)}.checkbox:focus-visible{box-shadow:inset 0 0 0 1.25px var(--text3), 0 0 0 3px var(--checkbox-ring);outline:none}.checkbox:checked:focus-visible{box-shadow:0 0 0 3px var(--checkbox-ring)}.checkbox:disabled{opacity:.5;cursor:not-allowed}.login-remember{align-items:center;gap:9px;margin-top:-2px;display:flex}.login-remember-text{color:var(--text2);-webkit-user-select:none;user-select:none;font-size:12.5px}.mock-accounts{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.mock-accounts-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text3);margin-bottom:9px;font-size:10.5px;font-weight:600;display:block}.mock-accounts-list{flex-wrap:wrap;gap:6px;display:flex}.mock-account{background:var(--surface-inset);color:var(--text2);cursor:pointer;border:none;border-radius:999px;align-items:baseline;gap:6px;padding:6px 11px;font-family:inherit;font-size:11.5px;transition:background .15s,color .15s;display:inline-flex}.mock-account:hover:not(:disabled){background:var(--page-hover);color:var(--text)}.mock-account:disabled{opacity:.5;cursor:not-allowed}.mock-account-user{font-weight:600}.mock-account-pw{color:var(--text3);font-variant-numeric:tabular-nums;font-size:10.5px}.login-submit{justify-content:center;align-items:center;gap:9px;width:100%;margin-top:4px;padding:13px 22px;font-size:13.5px;display:inline-flex}.login-submit:disabled{cursor:wait;opacity:.65;transform:none}.login-spinner{opacity:.75;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-spinner{animation-duration:1.2s}}.user-badge{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);box-shadow:var(--shadow-sm);color:var(--text);border-radius:999px;align-items:center;gap:10px;min-width:0;padding:6px 6px 6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.user-avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}@media (width<=640px){.user-name{max-width:110px}}@media (width<=420px){.user-name{display:none}}.user-badge button{cursor:pointer;width:28px;height:28px;color:var(--text2);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background .15s,color .15s;display:flex}.user-badge button:hover{background:var(--surface-strong);color:var(--text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.offline-banner{z-index:600;color:#fff;background:#a32d2d;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner[hidden]{display:none}.offline-banner .app-icon{font-size:16px}.toast-host{z-index:9999;pointer-events:none;flex-direction:column-reverse;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-lg);max-width:360px;box-shadow:var(--shadow-lg);pointer-events:none;align-items:center;gap:10px;padding:13px 18px;font-size:13px;font-weight:500;animation:.2s toastIn,.25s 3.75s forwards toastOut;display:flex}.toast--error{color:#a32d2d;background:#f8d7d7}.toast--success{color:#3b6d11;background:#dbebc0}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(4px)}}.icon-btn{cursor:pointer;background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);width:40px;height:40px;color:var(--text2);box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;transition:background .15s,color .15s,transform .12s;display:inline-flex}.icon-btn:hover{background:var(--surface-strong);color:var(--text)}.icon-btn:active{transform:scale(.92)}.icon-btn[hidden]{display:none}.action-menu{flex:none;position:relative}.action-menu.open .icon-btn{background:var(--surface-strong);color:var(--text)}.action-pop{background:var(--surface-solid);min-width:190px;box-shadow:var(--shadow-lg);z-index:60;opacity:0;transform-origin:100% 0;pointer-events:none;border-radius:14px;padding:6px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)scale(.98)}.action-menu.open .action-pop{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.action-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:13px;transition:background .12s,color .12s;display:flex}.action-item .app-icon{color:var(--text2);font-size:16px;transition:color .12s}.action-item:hover{background:var(--page-3)}.action-item:focus-visible{background:var(--page-3);box-shadow:inset 0 0 0 2px var(--text3);outline:none}.action-item--danger:hover,.action-item--danger:focus-visible{background:var(--danger-soft);color:var(--danger-text)}.action-item--danger:hover .app-icon,.action-item--danger:focus-visible .app-icon{color:var(--danger-text)}.action-sep{background:var(--line);height:1px;margin:5px 8px}.modal-sm{width:440px}.modal-confirm .modal-body{padding:0 1.6rem .35rem}.confirm-head{align-items:center;gap:13px;min-width:0;display:flex}.modal-confirm .modal-header{align-items:flex-start;padding-bottom:.9rem}.confirm-icon{background:var(--danger-soft);width:40px;height:40px;color:var(--danger-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.confirm-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:16.5px;font-weight:600}.confirm-body{color:var(--text2);margin:0;font-size:13px;line-height:1.6}.confirm-phrase{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:22px;padding-top:20px;display:flex}.confirm-phrase-label{color:var(--text2);font-size:12px}.confirm-phrase-label code{background:var(--danger-soft);color:var(--danger-text);letter-spacing:.04em;border-radius:5px;margin:0 3px;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;font-weight:700}.confirm-phrase input{background:var(--input-bg);width:100%;color:var(--text);letter-spacing:.06em;border:none;border-radius:12px;outline:none;padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;transition:background .18s,box-shadow .18s}.confirm-phrase input:focus{background:var(--input-bg-focus);box-shadow:0 0 0 3px var(--danger-ring)}.confirm-phrase input.is-invalid{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-border)}.modal-confirm .modal-footer{padding-top:.35rem}.btn-danger:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-danger:disabled:hover{background:#c0392b;transform:none}.setting-row{justify-content:space-between;align-items:center;gap:16px;padding:11px 0;display:flex}.setting-label{color:var(--text);font-size:13px;font-weight:600}.setting-text{flex-direction:column;gap:3px;min-width:0;display:flex}.setting-num{width:140px}.seg{background:var(--surface-inset);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.seg-btn{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.seg-btn .app-icon{font-size:15px}.seg-btn:hover{color:var(--text)}.seg-btn[aria-checked=true]{background:var(--text);color:var(--page);box-shadow:var(--shadow-sm)}.seg-btn[aria-checked=true]:hover{color:var(--page)}:root[data-theme=dark] .cell-date input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .toast--error{color:#f5a5a5;background:#a32d2d33}:root[data-theme=dark] .toast--success{color:#9dd160;background:#63992233}:root[data-theme=dark] .act-btn.del:hover{color:#f5a5a5;background:#a32d2d40}
