.tile-actions{position:relative;z-index:1;display:flex;align-items:center;gap:var(--sp-2)}.meta-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-1)}.section-head-wrap{flex-wrap:wrap}.cards.cards-orgs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.section+.section{margin-top:var(--sp-6)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-width:0}.row+.row{border-top:1px solid var(--c-border)}.row-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.row-actions{display:flex;align-items:center;gap:var(--sp-2);flex:none}.role-text{font-size:var(--fs-sm);color:var(--c-text-muted);cursor:help;text-decoration:underline dotted;text-underline-offset:3px}.role-select{width:auto;min-width:128px}.add-member{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:var(--sp-3);align-items:end;margin-bottom:var(--sp-4)}.add-member-error{grid-column:1 / -1}.confirm-note{color:var(--c-text-muted);font-size:var(--fs-sm);margin:0}.confirm-name{font-weight:var(--fw-semibold);color:var(--c-text)}@media(max-width:760px){.row{flex-wrap:wrap}.row-actions{width:100%;justify-content:flex-end}.add-member{grid-template-columns:1fr}}.admin-tabs{border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-4);flex:none;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.toolbar .field{min-width:160px}.pager{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-4)}.stack-row{list-style:none}.stack-row+.stack-row{border-top:1px solid var(--c-border)}.detail{padding:0 var(--sp-4) var(--sp-4)}.rows.nested{box-shadow:none}:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--c-canvas: #f5f7fb;--c-table: #fbfcfe;--c-surface: #ffffff;--c-surface-2: #eef1f6;--c-border: #dde2eb;--c-text: #162033;--c-text-muted: #566074;--c-text-disabled: #a3abba;--c-accent: #1f57d6;--c-accent-strong: #1747b4;--c-accent-soft: #eaf0ff;--c-on-accent: #ffffff;--c-success: #1b6e3c;--c-success-soft: #e1f3e8;--c-danger: #b3261e;--c-danger-soft: #fdecea;--c-warning: #8a5a00;--c-warning-soft: #fff1d6;--c-focus: #1f57d6;--c-scrim: rgb(15 23 42 / .4);--c-tone-1-bg: #dfe8ff;--c-tone-1-fg: #1d3fa0;--c-tone-2-bg: #e9defa;--c-tone-2-fg: #52309a;--c-tone-3-bg: #d9f0e2;--c-tone-3-fg: #1b6e3c;--c-tone-4-bg: #fde5cf;--c-tone-4-fg: #8a4400;--c-tone-5-bg: #fbdbe8;--c-tone-5-fg: #912a5b;--c-tone-6-bg: #d8eef2;--c-tone-6-fg: #14606e;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-island: 0 1px 2px rgb(15 23 42 / .06), 0 8px 24px rgb(15 23 42 / .1);--shadow-card: 0 1px 2px rgb(15 23 42 / .05);--shadow-modal: 0 2px 6px rgb(15 23 42 / .1), 0 24px 64px rgb(15 23 42 / .22);--island-h: 48px;--btn-h: 32px;--btn-h-sm: 28px;--btn-h-lg: 40px;--icon: 20px;--menu-item-h: 28px;--menu-w: 188px;--tile-w: 96px;--av-overlap: -4px;--av-gap: 4px;--edge: 16px;--panel-w: 340px;--sidebar-w: 60px;--topbar-h: 56px;--page-w: 1080px;--z-island: 10;--z-selections: 9000;--z-cursors: 10000;--z-panel: 20;--z-menu: 50;--z-modal: 100;--z-toast: 110;--dur: .15s;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root[data-theme=dark]{--c-canvas: #12151a;--c-surface: #1b1f26;--c-surface-2: #262b34;--c-border: #333a46;--c-text: #e8ecf3;--c-text-muted: #9aa4b5;--c-text-disabled: #596273;--c-accent: #7ea2ff;--c-accent-strong: #a3bcff;--c-accent-soft: #1f2a46;--c-on-accent: #0b1220;--c-success: #7fd9a0;--c-success-soft: #16301f;--c-danger: #ffb4ab;--c-danger-soft: #3a1d1b;--c-warning: #f2c46b;--c-warning-soft: #33280f;--c-focus: #9db7ff;--c-scrim: rgb(0 0 0 / .55);--c-tone-1-bg: #223360;--c-tone-1-fg: #b9ccff;--c-tone-2-bg: #38285e;--c-tone-2-fg: #d6c6fb;--c-tone-3-bg: #1c3a29;--c-tone-3-fg: #a9e6bf;--c-tone-4-bg: #4a2f16;--c-tone-4-fg: #fbd2a8;--c-tone-5-bg: #4d2236;--c-tone-5-fg: #f9c3da;--c-tone-6-bg: #1b3b42;--c-tone-6-fg: #aee0ea;--shadow-island: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .45);--shadow-card: 0 1px 2px rgb(0 0 0 / .3);--shadow-modal: 0 2px 6px rgb(0 0 0 / .5), 0 24px 64px rgb(0 0 0 / .6);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--c-canvas: #12151a;--c-surface: #1b1f26;--c-surface-2: #262b34;--c-border: #333a46;--c-text: #e8ecf3;--c-text-muted: #9aa4b5;--c-text-disabled: #596273;--c-accent: #7ea2ff;--c-accent-strong: #a3bcff;--c-accent-soft: #1f2a46;--c-on-accent: #0b1220;--c-success: #7fd9a0;--c-success-soft: #16301f;--c-danger: #ffb4ab;--c-danger-soft: #3a1d1b;--c-warning: #f2c46b;--c-warning-soft: #33280f;--c-focus: #9db7ff;--c-scrim: rgb(0 0 0 / .55);--c-tone-1-bg: #223360;--c-tone-1-fg: #b9ccff;--c-tone-2-bg: #38285e;--c-tone-2-fg: #d6c6fb;--c-tone-3-bg: #1c3a29;--c-tone-3-fg: #a9e6bf;--c-tone-4-bg: #4a2f16;--c-tone-4-fg: #fbd2a8;--c-tone-5-bg: #4d2236;--c-tone-5-fg: #f9c3da;--c-tone-6-bg: #1b3b42;--c-tone-6-fg: #aee0ea;--shadow-island: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .45);--shadow-card: 0 1px 2px rgb(0 0 0 / .3);--shadow-modal: 0 2px 6px rgb(0 0 0 / .5), 0 24px 64px rgb(0 0 0 / .6);color-scheme:dark}}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--c-canvas);color:var(--c-text);font:var(--fw-regular) var(--fs-md) / 1.5 var(--font-sans);-webkit-font-smoothing:antialiased}#app{min-height:100%}h1,h2,h3{margin:0;font-weight:var(--fw-semibold);line-height:1.25}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0}a{color:var(--c-accent);text-underline-offset:2px}a:hover{color:var(--c-accent-strong)}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--c-text-muted)}.mono{font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--btn-h);padding:0 var(--sp-3);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-sm{height:var(--btn-h-sm);padding:0 var(--sp-2)}.btn-lg{height:var(--btn-h-lg);padding:0 var(--sp-4);font-size:var(--fs-md)}.btn-primary{background:var(--c-accent);color:var(--c-on-accent)}.btn-primary:hover:not(:disabled){background:var(--c-accent-strong)}.btn-secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border)}.btn-secondary:hover:not(:disabled){background:var(--c-surface-2)}.btn-ghost{background:transparent;color:var(--c-text)}.btn-ghost:hover:not(:disabled){background:var(--c-surface-2)}.btn-danger{background:var(--c-danger-soft);color:var(--c-danger)}.btn:disabled{color:var(--c-text-disabled);cursor:not-allowed}.btn-primary:disabled{background:var(--c-surface-2)}.btn[aria-busy=true]{cursor:progress}.btn[aria-pressed=true]{background:var(--c-accent-soft);color:var(--c-accent)}.iconbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--btn-h);height:var(--btn-h);padding:0;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--c-text);cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.iconbtn:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.iconbtn:disabled{color:var(--c-text-disabled);cursor:not-allowed}.iconbtn[aria-pressed=true]{background:var(--c-accent-soft);color:var(--c-accent)}.iconbtn-outlined{border-color:var(--c-border)}.iconbtn-filled{background:var(--c-accent);color:var(--c-on-accent)}.iconbtn-filled:hover:not(:disabled){background:var(--c-accent-strong);color:var(--c-on-accent)}.avatar-trigger{display:inline-flex;padding:2px;border:0;border-radius:var(--r-full);background:transparent;cursor:pointer}.avatar-trigger:hover{background:var(--c-surface-2)}.field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.field-hint,.field-error{font-size:var(--fs-xs);color:var(--c-text-muted)}.field-error{color:var(--c-danger)}.input{width:100%;height:var(--btn-h-lg);padding:0 var(--sp-3);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease)}.input:hover{border-color:var(--c-text-disabled)}.input:focus-visible{outline-offset:0;border-color:var(--c-focus)}.input[readonly]{background:var(--c-surface-2)}.input[aria-invalid=true]{border-color:var(--c-danger)}.input::placeholder{color:var(--c-text-muted);opacity:.8}.select{appearance:auto}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);height:22px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;background:var(--c-surface-2);color:var(--c-text-muted);border:0}.chip-accent{background:var(--c-accent-soft);color:var(--c-accent)}.chip-success{background:var(--c-success-soft);color:var(--c-success)}.chip-danger{background:var(--c-danger-soft);color:var(--c-danger)}.chip-warning{background:var(--c-warning-soft);color:var(--c-warning)}.chip-toggle{height:28px;padding:0 var(--sp-3);font-size:var(--fs-sm);cursor:pointer;background:transparent;color:var(--c-text);flex:none}.chip-toggle:hover{background:var(--c-surface-2)}.chip-toggle[aria-pressed=true]{background:var(--c-accent-soft);color:var(--c-accent)}.spinner{display:inline-block;width:20px;height:20px;flex:none;border:2px solid var(--c-border);border-top-color:var(--c-accent);border-radius:var(--r-full);animation:spin .7s linear infinite}.spinner-sm{width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.loading{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) 0;justify-content:center}.banner{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm)}.banner-error{background:var(--c-danger-soft);color:var(--c-danger)}.banner-ok{background:var(--c-success-soft);color:var(--c-success)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);max-width:360px;margin:var(--sp-6) auto;padding:var(--sp-5);text-align:center}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-lg);background:var(--c-surface-2);color:var(--c-text-muted)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--av, 28px);height:var(--av, 28px);border-radius:var(--r-full);font-size:calc(var(--av, 28px) * .38);font-weight:var(--fw-semibold);line-height:1;background:var(--tone-bg);color:var(--tone-fg);user-select:none}.avatar[data-ring]{box-shadow:0 0 0 2px var(--c-surface),0 0 0 4px var(--ring)}.avatar-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:var(--r-full);background:var(--c-success);box-shadow:0 0 0 2px var(--c-surface)}.tone-1{--tone-bg: var(--c-tone-1-bg);--tone-fg: var(--c-tone-1-fg)}.tone-2{--tone-bg: var(--c-tone-2-bg);--tone-fg: var(--c-tone-2-fg)}.tone-3{--tone-bg: var(--c-tone-3-bg);--tone-fg: var(--c-tone-3-fg)}.tone-4{--tone-bg: var(--c-tone-4-bg);--tone-fg: var(--c-tone-4-fg)}.tone-5{--tone-bg: var(--c-tone-5-bg);--tone-fg: var(--c-tone-5-fg)}.tone-6{--tone-bg: var(--c-tone-6-bg);--tone-fg: var(--c-tone-6-fg)}.avatar-stack{display:flex;align-items:center;margin:0;padding:0 var(--sp-2);list-style:none}.avatar-stack li{transition:margin var(--dur) var(--ease)}.avatar-stack li+li{margin-left:var(--av-overlap)}.avatar-stack:hover li+li,.avatar-stack:focus-within li+li{margin-left:var(--av-gap)}.avatar-more{display:inline-flex;align-items:center;font-size:var(--fs-xs);color:var(--c-text-muted)}.sep{display:inline-block;flex:none;width:1px;height:20px;margin:0 var(--sp-1);background:var(--c-border)}.island{display:flex;align-items:center;gap:2px;min-height:var(--island-h);padding:0 var(--sp-2);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-island);pointer-events:auto;max-width:100%}.sync{display:inline-flex;align-items:center;padding:0 var(--sp-1);color:var(--c-text-disabled)}.sync-ok{color:var(--c-success)}.sync-wait{color:var(--c-warning)}.sync-bad{color:var(--c-danger)}.role-hint{cursor:default}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;z-index:var(--z-menu);min-width:var(--menu-w);padding:var(--sp-1);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-island)}.menu-down{top:calc(100% + 6px)}.menu-up{bottom:calc(100% + 10px)}.menu-end{right:0}.menu-start{left:0}.menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;height:var(--menu-item-h);padding:0 var(--sp-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--c-surface-2)}.menu-item:focus-visible{outline-offset:-2px}.menu-item:disabled{color:var(--c-text-disabled);cursor:not-allowed}.menu-danger{color:var(--c-danger)}.menu-pad{width:var(--icon);flex:none}.menu-context{position:fixed;min-width:var(--menu-w);pointer-events:auto}.menu-icons{display:flex;gap:2px;padding:2px 0}.menu-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--menu-item-h);height:var(--menu-item-h);border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text);cursor:pointer}.menu-icon:hover:not(:disabled),.menu-icon:focus-visible{background:var(--c-surface-2)}.menu-icon:disabled{color:var(--c-text-disabled);cursor:not-allowed}.menu-hint{margin-left:var(--sp-3);color:var(--c-text-muted);font-size:var(--fs-xs)}.menu-rule{height:1px;margin:var(--sp-1) 0;background:var(--c-border)}.detail-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.scrim{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-4);background:var(--c-scrim)}.modal{width:100%;max-height:calc(100dvh - 2 * var(--sp-4));display:flex;flex-direction:column;background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--shadow-modal)}.modal-sm{max-width:400px}.modal-md{max-width:480px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-4) var(--sp-2) var(--sp-5)}.modal-body{padding:var(--sp-2) var(--sp-5) var(--sp-5);overflow:auto}.modal:focus{outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2)}.toasts{position:fixed;z-index:var(--z-toast);right:var(--edge);bottom:var(--edge);display:flex;flex-direction:column;gap:var(--sp-2);width:min(380px,calc(100vw - 2 * var(--edge)));pointer-events:none}.toasts>div{display:flex;flex-direction:column;gap:var(--sp-2)}.toast{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-island);font-size:var(--fs-sm);pointer-events:auto}.toast-success>.icon{color:var(--c-success)}.toast-error>.icon{color:var(--c-danger)}.toast-info>.icon{color:var(--c-accent)}.toast-action{border:0;background:transparent;color:var(--c-accent);font-weight:var(--fw-semibold);font-size:var(--fs-sm);cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm)}.toast-action:hover{background:var(--c-accent-soft)}.panel{display:flex;flex-direction:column;min-height:0;width:var(--panel-w);background:var(--c-surface);border-left:1px solid var(--c-border);z-index:var(--z-panel)}.panel-closed{display:none}.panel-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) 0 var(--sp-3);border-bottom:1px solid var(--c-border)}.tabs{display:flex;flex:1;gap:var(--sp-1)}.tab{display:inline-flex;align-items:center;gap:var(--sp-1);height:36px;padding:0 var(--sp-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;margin-bottom:-1px}.tab:hover{color:var(--c-text)}.tab[aria-selected=true]{color:var(--c-text);border-bottom-color:var(--c-accent)}.tab-badge{font-size:var(--fs-xs);padding:0 6px;border-radius:var(--r-full);background:var(--c-surface-2);color:var(--c-text-muted)}.panel-body{flex:1;min-height:0;overflow:auto;padding:var(--sp-4)}.panel-body:focus-visible{outline-offset:-2px}.asset-list,.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.asset-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:36px;padding:0 var(--sp-2);border:0;border-radius:var(--r-md);background:transparent;color:var(--c-text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.asset-row:hover{background:var(--c-surface-2)}.asset-row[aria-pressed=true]{background:var(--c-accent-soft);color:var(--c-accent)}.row-with-action{display:flex;align-items:center;gap:var(--sp-1)}.member-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0}.member-info{display:flex;flex-direction:column;min-width:0;flex:1;font-size:var(--fs-sm)}.detail{padding-top:var(--sp-4);border-top:1px solid var(--c-border)}.meta{margin:var(--sp-2) 0 0;display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-sm)}.meta div{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-2)}.meta dt{color:var(--c-text-muted)}.meta dd{margin:0;overflow-wrap:anywhere}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-5);border:1px dashed var(--c-border);border-radius:var(--r-lg);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text);cursor:pointer;text-align:center}.dropzone:hover,.dropzone:focus-within{background:var(--c-accent-soft);border-color:var(--c-accent)}.dropzone .muted{font-weight:var(--fw-regular);font-size:var(--fs-xs)}.picker{max-height:220px;overflow:auto;margin:0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-md)}.picker legend{padding:0 var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.check{display:flex;align-items:center;gap:var(--sp-2);min-height:28px;font-size:var(--fs-sm)}.copy{display:flex;align-items:flex-end;gap:var(--sp-2)}.chips{display:flex;align-items:center;gap:var(--sp-1);flex:1 1 auto;min-width:0;max-width:320px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.zoom-readout{min-width:44px;text-align:center;font-size:var(--fs-sm);color:var(--c-text-muted)}.asset-tools{display:flex;align-items:center;gap:2px}.asset-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(var(--tile-w),1fr))}.asset-tile{position:relative;display:flex;flex-direction:column;gap:var(--sp-1);width:100%;padding:var(--sp-1);border:1px solid var(--c-border);border-radius:var(--r-md);background:transparent;color:var(--c-text);font-size:var(--fs-xs);text-align:left;cursor:pointer}.asset-tile:hover{background:var(--c-surface-2)}.asset-tile[aria-pressed=true]{background:var(--c-accent-soft);border-color:var(--c-accent)}.asset-tile img,.tile-ph{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-sm);background:var(--c-surface-2);display:grid;place-items:center;color:var(--c-text-muted)}.tile-name{display:block}.asset-tile .chip{position:absolute;top:var(--sp-2);left:var(--sp-2)}.asset-on{display:inline-flex;color:var(--c-success)}.asset-tile .asset-on{position:absolute;top:var(--sp-2);right:var(--sp-2);background:var(--c-surface);border-radius:var(--r-full)}.asset-row[draggable=true],.asset-tile[draggable=true]{cursor:grab}.menu-item .icon,.menu-icon .icon{width:18px;height:18px}.avatar-stack .avatar[data-ring]{box-shadow:0 0 0 2px var(--ring)}.role-tag{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;line-height:22px}.fullpage{min-height:100dvh;display:grid;place-items:center}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5) var(--sp-4);position:relative}.auth-tools{position:absolute;top:var(--sp-3);right:var(--sp-3)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--shadow-island)}.auth-brand{display:flex;align-items:center;gap:var(--sp-2);color:var(--c-accent);font-weight:var(--fw-semibold);letter-spacing:.08em}.auth-card h1{font-size:var(--fs-xl)}.auth-foot{font-size:var(--fs-sm)}.invite-line{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1)}.dash{display:grid;min-height:100dvh;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-areas:"top top" "side main"}.topbar{grid-area:top;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text);text-decoration:none;font-weight:var(--fw-semibold);letter-spacing:.08em}.brand:hover{color:var(--c-text)}.logo-mark{flex:none}.crumbs{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-sm);color:var(--c-text-muted)}.crumbs a{color:var(--c-text-muted);text-decoration:none}.crumbs a:hover{color:var(--c-text)}.crumbs>span:last-child{color:var(--c-text)}.topbar-name{font-size:var(--fs-sm)}.sidebar{grid-area:side;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-3) 0;background:var(--c-surface);border-right:1px solid var(--c-border)}.side-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-md);color:var(--c-text-muted);text-decoration:none}.side-link:hover{background:var(--c-surface-2);color:var(--c-text)}.side-link[aria-current=page]{background:var(--c-accent-soft);color:var(--c-accent)}.side-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dash-main{grid-area:main;width:100%;max-width:var(--page-w);margin:0 auto;padding:var(--sp-6) var(--sp-5) var(--sp-7)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-head h1{display:flex;align-items:center;gap:var(--sp-3)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-tile,.project-card,.member-card{position:relative;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);border:1px solid var(--c-border)}.card-tile{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4)}.card-tile:hover,.project-card:hover{border-color:var(--c-text-disabled)}.tile-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);background:var(--c-accent-soft);color:var(--c-accent);flex:none}.tile-link{font-weight:var(--fw-semibold);color:var(--c-text);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-tile .tile-link:after{content:"";position:absolute;inset:0}.tile-link:hover{color:var(--c-accent)}.cards-projects{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-card{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3)}.project-thumb{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-1);padding:var(--sp-3);grid-template-rows:repeat(2,1fr);height:120px;border-radius:var(--r-md);background:var(--c-canvas)}.thumb-block{border-radius:var(--r-sm);background:var(--tone-bg)}.thumb-block:nth-child(1){grid-row:span 2}.thumb-block:nth-child(5){grid-column:span 2}.thumb-block:nth-child(6){display:none}.project-meta{display:flex;align-items:center;gap:var(--sp-2)}.cards-members{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.member-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4)}.member-card .member-info{gap:2px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) auto;height:100dvh;background:var(--c-canvas)}.stage{position:relative;min-width:0;min-height:0;overflow:hidden;container-type:inline-size}.canvas-host{position:absolute;inset:0;isolation:isolate;background:var(--c-table)}.canvas-host canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;z-index:var(--z-island);pointer-events:none}.island-top-left{position:absolute;top:var(--edge);left:var(--edge);max-width:min(420px,calc(100% - 2 * var(--edge)));gap:var(--sp-2);padding-right:var(--sp-3)}.island-top-right{position:absolute;top:var(--edge);right:var(--edge)}.dock{position:absolute;left:var(--edge);right:var(--edge);bottom:var(--edge);display:flex;justify-content:center;pointer-events:none}.island-main{min-width:0;max-width:100%}.island-selection{flex-wrap:wrap;justify-content:center;width:max-content;padding-block:var(--sp-1);position:absolute;left:50%;bottom:calc(100% + var(--sp-2));transform:translate(-50%);max-width:100%}.panel-handle{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:auto}.panel-handle .iconbtn{background:var(--c-surface);border-radius:var(--r-md) 0 0 var(--r-md);border-right:0;height:var(--island-h);width:var(--btn-h-sm);box-shadow:var(--shadow-island)}.project-title{font-size:var(--fs-md)}.island-top-left .crumbs{flex:1}.overlay-banner{position:absolute;top:calc(var(--edge) + var(--island-h) + var(--sp-2));left:50%;transform:translate(-50%);width:min(520px,calc(100% - 2 * var(--edge)));pointer-events:auto}.stage-empty{position:absolute;inset:0;display:grid;place-items:center}.stage-fallback{position:absolute;inset:0;padding:calc(var(--edge) + var(--island-h) + var(--sp-4)) var(--edge) calc(var(--edge) * 5);overflow:auto;pointer-events:auto}.thumbs{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.thumbs img{width:100%;height:6rem;object-fit:cover;border-radius:var(--r-md);background:var(--c-surface-2)}.thumbs span{display:block;font-size:var(--fs-xs);color:var(--c-text-muted)}.stage-drop .canvas-host{outline:2px dashed var(--c-accent);outline-offset:-8px}.drop-hint{position:absolute;inset:0;display:grid;place-items:center;font-weight:var(--fw-medium);color:var(--c-accent);background:var(--c-accent-soft);opacity:.85}.remote-cursors{position:absolute;inset:0;z-index:var(--z-cursors);pointer-events:none;overflow:hidden}.remote-selections{position:absolute;inset:0;z-index:var(--z-selections);pointer-events:none;overflow:hidden}.remote-selection{position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--peer);background:color-mix(in srgb,var(--peer) 6%,transparent);border-radius:var(--r-sm);will-change:transform}.remote-selection-tag{position:absolute;left:-2px;bottom:100%;display:flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2) 2px var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.2;color:var(--peer-ink, #fff);background:var(--peer);border-radius:var(--r-sm) var(--r-sm) var(--r-sm) 0;white-space:nowrap;max-width:14rem;overflow:hidden;text-overflow:ellipsis}.remote-selection-tag.inside{bottom:auto;top:0;border-radius:0 0 var(--r-sm) 0}.remote-selection-tag svg{flex:none}.size-labels{position:absolute;inset:0;z-index:var(--z-selections);pointer-events:none;overflow:hidden}.size-label{position:absolute;left:0;top:0;padding:1px var(--sp-2);font-size:11px;line-height:1.4;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;will-change:transform;color:var(--chip-ink, #fff);background:var(--chip);border-radius:var(--r-sm)}.remote-cursor{position:absolute;left:0;top:0;display:flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2) 2px var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-text);background:var(--c-surface);border-radius:var(--r-full);box-shadow:var(--shadow-island);white-space:nowrap;will-change:transform}.remote-cursor:before{content:"";width:10px;height:10px;border-radius:var(--r-full);background:var(--peer, var(--c-accent))}@media(max-width:760px){.dash{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) auto minmax(0,1fr);grid-template-areas:"top" "side" "main"}.sidebar{flex-direction:row;justify-content:flex-start;padding:var(--sp-2) var(--sp-3);border-right:0;border-bottom:1px solid var(--c-border)}.dash-main{padding:var(--sp-4)}.topbar-name{display:none}.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.panel{width:100%;max-height:45dvh;border-left:0;border-top:1px solid var(--c-border)}.island-top-right .avatar-stack,.island-top-right .sync,.island-top-right .sep{display:none}.island-top-left{max-width:calc(100% - 2 * var(--edge) - 3 * var(--btn-h) - var(--sp-4))}.auth-card{padding:var(--sp-5)}}
