.tooltip{z-index:45;max-width:min(280px,calc(100vw - 16px));padding:6px 10px;border-radius:var(--radius-sm);background:var(--c-text);color:var(--c-surface);font-size:.82rem;font-weight:500;line-height:1.35;box-shadow:0 4px 14px #0000002e;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.tooltip-arrow{fill:var(--c-text)}.tooltip[data-state=delayed-open],.tooltip[data-state=instant-open]{animation:tooltip-in .14s ease-out}.tooltip[data-side=top]{--tooltip-from: translateY(3px)}.tooltip[data-side=bottom]{--tooltip-from: translateY(-3px)}.tooltip[data-side=left]{--tooltip-from: translateX(3px)}.tooltip[data-side=right]{--tooltip-from: translateX(-3px)}@keyframes tooltip-in{0%{opacity:0;transform:var(--tooltip-from, none)}}@media(prefers-reduced-motion:reduce){.tooltip[data-state]{animation:none}}.crumbs[data-v-4079a9ca]{padding-bottom:0;flex-wrap:nowrap}.back[data-v-4079a9ca]{width:36px;min-height:36px;height:36px;border-radius:50%;corner-shape:round;flex-shrink:0}ol[data-v-4079a9ca]{list-style:none;margin:0;padding:0;gap:4px;min-width:0;font-size:.92rem}li[data-v-4079a9ca]{gap:4px;min-width:0}li a[data-v-4079a9ca]{color:var(--c-muted);text-decoration:none}li a[data-v-4079a9ca]:hover{color:var(--c-primary);text-decoration:underline}li span[data-v-4079a9ca]{font-weight:600;overflow-wrap:anywhere}.sep[data-v-4079a9ca]{color:var(--c-muted);flex-shrink:0}.dialog-overlay.confirm-overlay{z-index:41}.dialog.confirm-dialog{z-index:42}.confirm-dialog .dialog-title{margin-bottom:8px}.confirm-message{margin:0 0 20px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:599px){.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%;min-height:48px}}.sidebar[data-v-419983dd]{width:232px;flex-shrink:0;padding:16px 12px;border-right:1px solid var(--c-border);background:var(--c-surface);position:sticky;top:var(--header-height, 70px);height:calc(100vh - var(--header-height, 70px));overflow-y:auto}.client[data-v-419983dd]{padding:0 10px 10px;font-weight:600;overflow-wrap:anywhere}.items[data-v-419983dd]{display:flex;flex-direction:column;gap:2px}.item[data-v-419983dd]{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--c-muted);text-decoration:none;font-weight:500}.item[data-v-419983dd]:hover{background:var(--c-bg);color:var(--c-text)}.item.active[data-v-419983dd]{background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}.scrim[data-v-419983dd]{display:none}@media(max-width:899px){.sidebar[data-v-419983dd]{position:fixed;z-index:30;top:0;left:0;height:100vh;padding-top:calc(16px + env(safe-area-inset-top));transform:translate(-100%);transition:transform .2s ease;box-shadow:0 8px 24px #0000002e}.sidebar.open[data-v-419983dd]{transform:none}.scrim[data-v-419983dd]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#00000059}}.lock[data-v-6d0ae90a]{max-width:560px;padding-top:8vh}.icon[data-v-6d0ae90a]{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;corner-shape:round;background:var(--c-danger-soft);color:var(--c-danger)}a[data-v-c83171d0]{text-decoration:none}.sync-badge[data-v-c83171d0]{display:inline-flex;align-items:center;gap:5px}.sync-icon[data-v-c83171d0]{flex-shrink:0}.uploading[data-v-c83171d0]{animation:sync-pulse-c83171d0 1.4s ease-in-out infinite}@keyframes sync-pulse-c83171d0{50%{opacity:.45;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.uploading[data-v-c83171d0]{animation:none}}@media(max-width:599px){.sync-text[data-v-c83171d0]{display:none}.sync-badge[data-v-c83171d0]{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%;corner-shape:round}.sync-icon[data-v-c83171d0]{width:16px;height:16px}}.swatch[data-v-1e909349]{position:relative;width:22px;height:22px;flex-shrink:0;border-radius:50%;corner-shape:round;border:1px solid var(--c-border);overflow:hidden}.swatch[data-v-1e909349]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%)}.avatar[data-v-6dc8a087]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:50%;corner-shape:round;background:hsl(var(--avatar-hue) 45% 88%);color:hsl(var(--avatar-hue) 45% 28%);font-weight:700;-webkit-user-select:none;user-select:none}.avatar img[data-v-6dc8a087]{width:100%;height:100%;object-fit:cover;display:block}.initials[data-v-6dc8a087]{font-size:calc(var(--v043030e2) * .4);line-height:1}.user-trigger{gap:8px;min-height:36px;max-width:220px;padding:2px 2px 2px 12px;border-radius:999px;corner-shape:round;font-weight:600;font-size:.9rem}.user-trigger:hover,.user-trigger[data-state=open]{border-color:var(--c-primary);color:var(--c-primary)}.user-trigger-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:540px){.user-trigger{padding:2px}.user-trigger-name{display:none}}.user-menu{min-width:200px;max-height:calc(100dvh - var(--header-height, 72px) - 16px);overflow-y:auto}.user-menu .phone-only{display:none}@media(max-width:599px){.user-menu .phone-only{display:block}}.user-menu .menu-section{display:flex;align-items:center;gap:6px;padding:6px 10px 2px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--c-muted)}.theme-swatch{position:relative;width:20px;height:20px;flex-shrink:0;border-radius:50%;corner-shape:round;border:1px solid var(--c-border);overflow:hidden}.theme-swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%)}.user-name{font-weight:600;overflow-wrap:anywhere}.user-menu .danger{color:var(--c-danger)}.user-menu .danger[data-highlighted]{background:var(--c-danger-soft)}.app-header[data-v-1576f656]{background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:10}.header-inner[data-v-1576f656]{padding-top:16px;padding-bottom:16px}.layout.with-sidebar[data-v-1576f656]{display:flex;align-items:flex-start}.layout.with-sidebar main[data-v-1576f656]{flex:1;min-width:0}.menu-btn[data-v-1576f656]{display:none;width:40px;min-height:40px;height:40px}@media(max-width:899px){.menu-btn[data-v-1576f656]{display:inline-flex}}@media(max-width:599px){.wide-only[data-v-1576f656]{display:none}}.brand[data-v-1576f656]{font-weight:700;text-decoration:none;color:var(--c-text);margin-right:8px}nav a[data-v-1576f656]{text-decoration:none;color:var(--c-muted);padding:6px 8px;border-radius:var(--radius-sm)}nav a.router-link-exact-active[data-v-1576f656]{color:var(--c-primary);background:var(--c-primary-soft)}.toasts[data-v-1576f656]{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:50;width:min(420px,calc(100vw - 32px))}.toast[data-v-1576f656]{padding:12px 16px;border-radius:var(--radius);font-weight:600;box-shadow:0 4px 16px #0000002e}.toast-ok[data-v-1576f656]{background:var(--c-ok);color:var(--c-toast-ink)}.toast-info[data-v-1576f656]{background:var(--c-info);color:var(--c-toast-ink)}.toast-error[data-v-1576f656]{background:var(--c-danger);color:var(--c-toast-ink)}:root{color-scheme:light;--c-toast-ink: #ffffff;--c-bg: #faf7f8;--c-surface: #ffffff;--c-border: #e7dde2;--c-text: #2b2228;--c-muted: #76666f;--c-primary: #7a3b5c;--c-primary-ink: #ffffff;--c-primary-soft: #f3e4ec;--c-ok: #1f7a4d;--c-ok-soft: #e1f3e9;--c-warn: #9a6200;--c-warn-soft: #fdf0d8;--c-danger: #b42335;--c-danger-soft: #fbe3e6;--c-info: #2a5ea8;--c-info-soft: #e3ecfa;--radius: 18px;--radius-md: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 2px 8px rgb(0 0 0 / .04);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Noto Sans Khmer,sans-serif;color:var(--c-text);background:var(--c-bg);line-height:1.45;-webkit-text-size-adjust:100%}:root[data-theme=dark]{color-scheme:dark;--c-toast-ink: #16101a;--c-bg: #17131a;--c-surface: #211b24;--c-border: #3a2f3e;--c-text: #f1eaf0;--c-muted: #b2a3ad;--c-primary: #d987ad;--c-primary-ink: #1d0f17;--c-primary-soft: #3b2532;--c-ok: #6fd3a1;--c-ok-soft: #173326;--c-warn: #f0bf62;--c-warn-soft: #3a2c10;--c-danger: #f28a96;--c-danger-soft: #3d1a20;--c-info: #8fb5ef;--c-info-soft: #1b2a40;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 2px 8px rgb(0 0 0 / .25)}:root[data-theme=blue]{--c-bg: #f4f7fc;--c-surface: #ffffff;--c-border: #d8e1ee;--c-text: #16202f;--c-muted: #5a687d;--c-primary: #1d5fbf;--c-primary-ink: #ffffff;--c-primary-soft: #e2ecfa;--c-info: #0f6f8f;--c-info-soft: #def1f7}:root[data-theme=pink]{--c-bg: #fdf5f8;--c-surface: #ffffff;--c-border: #f0d7e2;--c-text: #33141f;--c-muted: #84606e;--c-primary: #c2185b;--c-primary-ink: #ffffff;--c-primary-soft: #fce3ed}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{margin:0;min-height:100vh;background:var(--c-bg);overflow-x:clip}a{color:var(--c-primary)}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}.container{max-width:2000px;margin:0 auto;padding:16px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--c-muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em}.right{text-align:right}.nowrap{white-space:nowrap}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.grid-2{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:860px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:500}input,select,textarea{font:inherit;font-size:max(1rem,16px);padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);min-height:44px;width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}.field-error{color:var(--c-danger);font-size:.85rem;font-weight:400}button,.btn{font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-ink)}.btn-danger{color:var(--c-danger);border-color:var(--c-danger)}.btn-small{min-height:34px;padding:4px 10px;font-size:.85rem}.btn-block{width:100%}.btn-icon{width:44px;padding:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}@supports (corner-shape: squircle){:root{--radius: 28px;--radius-md: 18px;--radius-sm: 12px}*,*:before,*:after{corner-shape:squircle}.badge{corner-shape:round}}.badge-pending{background:var(--c-warn-soft);color:var(--c-warn)}.badge-syncing{background:var(--c-info-soft);color:var(--c-info)}.badge-synced{background:var(--c-ok-soft);color:var(--c-ok)}.badge-failed{background:var(--c-danger-soft);color:var(--c-danger)}.badge-neutral{background:var(--c-primary-soft);color:var(--c-primary)}.banner{padding:10px 14px;border-radius:var(--radius-md);font-size:.92rem}.banner-warn{background:var(--c-warn-soft);color:var(--c-warn)}.banner-danger{background:var(--c-danger-soft);color:var(--c-danger)}.banner-info{background:var(--c-info-soft);color:var(--c-info)}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:8px 10px;border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--c-muted)}.table-wrap{overflow-x:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-border);overflow-x:auto}.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:none}.tabs button.active{border-bottom-color:var(--c-primary);color:var(--c-primary)}.list{list-style:none;margin:0;padding:0}.list>li{border-bottom:1px solid var(--c-border)}.list>li:last-child{border-bottom:none}.stat{display:flex;flex-direction:column}.stat strong{font-size:1.4rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.menu{z-index:40;min-width:180px;padding:4px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f}.menu-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;outline:none;-webkit-user-select:none;user-select:none}.menu-item[data-highlighted]{background:var(--c-primary-soft)}.menu-item[data-state=checked]{color:var(--c-primary);font-weight:600}.menu-item .indicator{display:inline-flex;margin-left:auto}.menu-label{display:flex;align-items:center;gap:10px;padding:8px 10px}.menu-sep{height:1px;margin:4px 0;background:var(--c-border)}.menu-tooltip-anchor{display:inline-flex}.menu-trigger{width:36px;min-height:36px;height:36px;padding:0;border-radius:50%;corner-shape:round;color:var(--c-muted)}.menu-trigger:hover,.menu-trigger[data-state=open]{color:var(--c-primary);border-color:var(--c-primary)}@media print{.no-print{display:none!important}body{background:#fff}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000073}.dialog{position:fixed;z-index:36;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;padding:20px;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:0 16px 48px #00000040}.dialog:focus{outline:none}.dialog-sm{max-width:440px}.dialog-md{max-width:620px}.dialog-lg{max-width:860px}.dialog-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dialog-title{margin:0;font-size:1.2rem;flex:1;min-width:0;overflow-wrap:anywhere}.dialog-close{width:36px;min-height:36px;height:36px;flex-shrink:0;border-radius:50%;corner-shape:round}.dialog-desc{margin:-4px 0 12px}.dialog-overlay[data-state=open]{animation:dialog-fade-in .2s ease-out}.dialog-overlay[data-state=closed]{animation:dialog-fade-out .16s ease-in forwards}.dialog[data-state=open]{animation:dialog-pop-in .22s cubic-bezier(.16,1,.3,1)}.dialog[data-state=closed]{animation:dialog-pop-out .16s ease-in forwards}@keyframes dialog-fade-in{0%{opacity:0}}@keyframes dialog-fade-out{to{opacity:0}}@keyframes dialog-pop-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}}@keyframes dialog-pop-out{to{opacity:0;transform:translate(-50%,-48%) scale(.97)}}@media(max-width:599px){.dialog{top:auto;bottom:0;transform:translate(-50%);width:100vw;max-width:none;max-height:92vh;border-radius:var(--radius) var(--radius) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.dialog[data-state=open]{animation:dialog-sheet-in .28s cubic-bezier(.16,1,.3,1)}.dialog[data-state=closed]{animation:dialog-sheet-out .2s ease-in forwards}}@keyframes dialog-sheet-in{0%{transform:translate(-50%,100%)}}@keyframes dialog-sheet-out{to{transform:translate(-50%,100%)}}@media(prefers-reduced-motion:reduce){.dialog-overlay[data-state],.dialog[data-state]{animation:none}}
