.toasts[data-v-4e232783]{position:fixed;right:calc(var(--space-4) + var(--safe-right));bottom:calc(var(--space-4) + var(--safe-bottom));z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(420px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast[data-v-4e232783]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);border-left:4px solid var(--color-info);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-2);pointer-events:auto}.toast--success[data-v-4e232783]{border-left-color:var(--color-success)}.toast--error[data-v-4e232783]{border-left-color:var(--color-error)}.toast__text[data-v-4e232783]{flex:1;overflow-wrap:anywhere}.toast__close[data-v-4e232783]{flex:none;width:28px;height:28px;margin:-4px -8px -4px 0;border:0;border-radius:var(--radius-s);background:transparent;color:var(--color-muted);font-size:20px;line-height:1;cursor:pointer}.toast__close[data-v-4e232783]:hover{background:var(--color-surface-2)}@media(max-width:768px){.toasts[data-v-4e232783]{left:var(--space-3);right:var(--space-3);bottom:calc(var(--tabbar-h) + var(--space-3) + var(--safe-bottom));width:auto}}:root{color-scheme:light dark;--color-accent: #b055c0;--color-accent-strong: #8f3f9e;--color-accent-soft: #f3e6f6;--color-on-accent: #ffffff;--color-bg: #f7f5f8;--color-surface: #ffffff;--color-surface-2: #f0ecf2;--color-text: #1f1a22;--color-muted: #6f6675;--color-border: #e2dce5;--color-success: #2e9e5b;--color-success-soft: #e4f5ea;--color-error: #d9403f;--color-error-soft: #fbe6e6;--color-warning: #d9931a;--color-warning-soft: #fdf1dc;--color-info: #3b82c4;--color-info-soft: #e5eff9;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-s: 13px;--text-m: 15px;--text-l: 18px;--text-xl: 22px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-s: 6px;--radius-m: 10px;--radius-l: 14px;--shadow-1: 0 1px 2px rgba(31, 26, 34, .06), 0 1px 6px rgba(31, 26, 34, .05);--shadow-2: 0 8px 28px rgba(31, 26, 34, .18);--sidebar-w: 224px;--sidebar-w-compact: 76px;--tabbar-h: 56px;--kanban-col-w: 300px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--z-sticky: 10;--z-dialog: 100;--z-toast: 200;--transition-fast: .12s ease}@media(prefers-color-scheme:dark){:root{--color-accent: #c47ad1;--color-accent-strong: #d9a1e3;--color-accent-soft: #3a2540;--color-on-accent: #1a1020;--color-bg: #17131a;--color-surface: #221c26;--color-surface-2: #2c2431;--color-text: #f1ecf3;--color-muted: #a79fad;--color-border: #3b3240;--color-success-soft: #1d3a29;--color-error-soft: #45201f;--color-warning-soft: #3f3116;--color-info-soft: #1c2c3f;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 6px rgba(0, 0, 0, .25);--shadow-2: 0 8px 28px rgba(0, 0, 0, .55)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-m);line-height:1.45;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--text-xl)}h2{font-size:var(--text-l)}h3{font-size:var(--text-m)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-strong);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--color-muted)}.mono{font-family:var(--font-mono);font-size:.92em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--color-surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.btn--danger:hover{background:#b93332;border-color:#b93332}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--color-surface-2)}.btn--small{min-height:32px;padding:0 var(--space-3);font-size:var(--text-s)}.btn--block{width:100%}.input,.select{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface);color:var(--color-text)}.input::placeholder{color:var(--color-muted)}.input:focus-visible,.select:focus-visible{outline:2px solid var(--color-accent);outline-offset:0;border-color:var(--color-accent)}.input:disabled,.select:disabled{opacity:.6}.field{display:grid;gap:var(--space-1)}.field__label{font-size:var(--text-s);color:var(--color-muted)}.check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;cursor:pointer}.check input{width:18px;height:18px;margin:0;accent-color:var(--color-accent)}.segmented{display:inline-flex;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface)}.segmented button{min-height:38px;padding:0 var(--space-3);border:0;background:transparent;color:var(--color-muted);cursor:pointer}.segmented button.is-active{background:var(--color-accent);color:var(--color-on-accent)}.segmented button:focus-visible{outline-offset:-2px}.card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-l);background:var(--color-surface);box-shadow:var(--shadow-1)}.card__title{margin-bottom:var(--space-3)}.alert{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid;border-radius:var(--radius-m)}.alert--error{background:var(--color-error-soft);border-color:var(--color-error)}.alert--warning{background:var(--color-warning-soft);border-color:var(--color-warning)}.alert--info{background:var(--color-info-soft);border-color:var(--color-info)}.badge,.chip{display:inline-flex;align-items:center;max-width:100%;padding:1px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:600;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip{background:var(--color-surface-2);color:var(--color-muted)}.badge--track{background:var(--color-info-soft);color:var(--color-info);font-family:var(--font-mono);font-weight:500}.badge--warn{background:var(--color-warning-soft);color:var(--color-warning)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-l);background:var(--color-surface)}.table{width:100%;min-width:640px;border-collapse:collapse;font-size:var(--text-s)}.table--wide{min-width:960px}.table th,.table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.table th{position:sticky;top:0;z-index:1;background:var(--color-surface-2);font-weight:600;white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--color-surface-2)}.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-1) var(--space-4);margin:0}.dl dt{color:var(--color-muted);font-size:var(--text-s);padding-top:1px}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.dl{grid-template-columns:minmax(0,1fr);gap:0}.dl dd{margin-bottom:var(--space-2)}}.tabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--color-border);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{flex:none;margin-bottom:-1px;padding:var(--space-2) var(--space-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-muted);white-space:nowrap;cursor:pointer}.tabs__tab[aria-selected=true]{color:var(--color-accent-strong);border-bottom-color:var(--color-accent);font-weight:600}.tabpanel{display:grid;gap:var(--space-4)}.pre{margin:0;padding:var(--space-3);max-height:360px;overflow:auto;border-radius:var(--radius-s);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere}.app{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-areas:"sidebar main"}.app__sidebar{grid-area:sidebar;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-4);padding:calc(var(--space-4) + var(--safe-top)) var(--space-3) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-3) + var(--safe-left));background:var(--color-surface);border-right:1px solid var(--color-border)}.app__main{grid-area:main;min-width:0;padding:calc(var(--space-5) + var(--safe-top)) calc(var(--space-6) + var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) var(--space-6)}.app__tabbar{display:none}.brand{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);min-height:40px}.brand__mark{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--color-accent);color:var(--color-on-accent);font-weight:800;font-size:18px}.brand__name{font-weight:700;white-space:nowrap}.nav{display:flex;flex-direction:column;gap:var(--space-1)}.nav__link{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-m);background:transparent;color:var(--color-text);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.nav__link:hover{background:var(--color-surface-2);text-decoration:none}.nav__link.is-active{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600}.nav__icon{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav__label{white-space:nowrap}.sidebar__user{margin-top:auto;display:grid;gap:var(--space-2);padding:0 var(--space-2)}.user__name{font-size:var(--text-s);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__logout{justify-content:flex-start}@media(max-width:1024px){.app{grid-template-columns:var(--sidebar-w-compact) minmax(0,1fr)}.app__sidebar{padding-inline:var(--space-2) var(--space-2);align-items:stretch}.brand{justify-content:center;padding:0}.brand__name,.user__name{display:none}.nav__link,.nav__logout{flex-direction:column;justify-content:center;gap:2px;padding:var(--space-1);font-size:var(--text-xs);text-align:center}.sidebar__user{padding:0}.app__main{padding-inline:var(--space-4) calc(var(--space-4) + var(--safe-right))}}@media(max-width:768px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"main"}.app__sidebar{display:none}.app__main{padding:calc(var(--space-3) + var(--safe-top)) calc(var(--space-3) + var(--safe-right)) calc(var(--tabbar-h) + var(--space-4) + var(--safe-bottom)) calc(var(--space-3) + var(--safe-left))}.app__tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--color-surface);border-top:1px solid var(--color-border)}.app__tabbar .nav__link{flex-direction:column;justify-content:center;gap:2px;min-height:var(--tabbar-h);padding:0;border-radius:0;font-size:var(--text-xs)}.app__tabbar .nav__link.is-active{background:transparent}}.page{display:flex;flex-direction:column;gap:var(--space-4);max-width:1600px}.page__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.page__title{margin-right:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}@media(max-width:768px){.page__header{gap:var(--space-2)}.toolbar{flex:1 1 100%}}.kanban{display:flex;align-items:flex-start;gap:var(--space-3);min-height:60vh;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-3)}.kanban__column{flex:0 0 var(--kanban-col-w);width:var(--kanban-col-w);display:flex;flex-direction:column;max-height:calc(100dvh - 190px);border:1px solid var(--color-border);border-top:4px solid var(--stage-color, var(--color-border));border-radius:var(--radius-l);background:var(--color-surface-2)}.kanban__column.is-collapsed{max-height:none;opacity:.85}.kanban__column.is-locked .kanban__body{background-image:repeating-linear-gradient(-45deg,transparent 0 8px,rgba(0,0,0,.025) 8px 16px)}.kanban__head{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1) 0}.kanban__toggle{flex:1;display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-m);background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.kanban__toggle:hover{background:#0000000a}.kanban__dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--stage-color, var(--color-border))}.kanban__title{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban__count{padding:0 8px;border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:var(--text-xs);font-weight:600}.kanban__chevron{color:var(--color-muted);font-size:var(--text-s)}.kanban__lock{font-size:var(--text-s);opacity:.6}.kanban__body{flex:1;min-height:80px;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);overflow-y:auto;overscroll-behavior-y:contain}.kanban__empty,.kanban__more{margin:0;padding:var(--space-3);text-align:center;color:var(--color-muted);font-size:var(--text-s)}.is-ghost{opacity:.35}.is-chosen .pcard{box-shadow:var(--shadow-2)}.is-dragging .pcard{cursor:grabbing;transform:rotate(1.5deg)}@media(max-width:768px){.kanban{margin-inline:calc(-1 * (var(--space-3) + var(--safe-left))) calc(-1 * (var(--space-3) + var(--safe-right)));padding-inline:calc(var(--space-3) + var(--safe-left)) calc(var(--space-3) + var(--safe-right));scroll-snap-type:x mandatory;scroll-padding-inline:calc(var(--space-3) + var(--safe-left))}.kanban__column{flex-basis:min(88vw,360px);width:min(88vw,360px);max-height:calc(100dvh - var(--tabbar-h) - 200px - var(--safe-bottom) - var(--safe-top));scroll-snap-align:start}}@media(min-width:769px)and (max-width:1024px){.kanban{scroll-snap-type:x proximity}.kanban__column{flex-basis:280px;width:280px;scroll-snap-align:start}}@media(min-width:1441px){.kanban__column{flex-basis:320px;width:320px}}.two-col{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}@media(min-width:1025px){.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
