:root{--blue:#4880ff;--blue-dark:#3a6fe0;--blue-press:#3260cc;--blue-soft:#e8f0ff;--ring:#4880ff38;--bg:#f5f6fa;--card:#fff;--row-hover:#f8f9fc;--text:#202224;--muted:#2022249e;--faint:#2022246b;--border:#e4e7ee;--border-strong:#d3d8e3;--field:#f6f8fb;--field-border:#dde2ea;--green:#00997f;--green-soft:#00b69b24;--red:#ef3826;--red-dark:#d92e1e;--red-press:#bd2718;--red-soft:#ef38261a;--yellow-soft:#fcbe2d2e;--yellow-dark:#a97a00;--radius:14px;--radius-md:8px;--radius-sm:6px;--radius-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:40px;--font:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:28px;--control-h:40px;--control-h-sm:32px;--icon:18px;--icon-sm:16px;--icon-lg:22px;--icon-xl:48px;--avatar:36px;--sidebar-w:240px;--topbar-h:64px;--shadow:0 1px 2px #1018280a, 0 6px 20px #1018280d;--shadow-lg:0 12px 40px #1018282e;--ease:.18s ease}*{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:var(--blue);text-decoration:none}h1,h2,h3{letter-spacing:-.02em;margin:0;line-height:1.3}p{margin:0}input[type=checkbox]{accent-color:var(--blue)}:where(a,button,input,select,textarea,label.role-row,.calendar-cell):focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--ring);outline:none}.nav-item svg,.btn svg,.search-wrap svg,.icon-btn svg,.empty>svg{width:var(--icon);height:var(--icon);flex:none}.btn-sm svg,.icon-action svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.field{margin-bottom:var(--sp-4)}.check-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;cursor:pointer;display:flex}.field label,.field-title{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--text);font-weight:700;display:block}.field label .optional,.field-title .optional{margin-left:var(--sp-1);color:var(--faint);font-weight:600}.input{width:100%;height:var(--control-h);padding:0 var(--sp-3);background:var(--field);border:1px solid var(--field-border);border-radius:var(--radius-md);font:inherit;color:var(--text);transition:border-color var(--ease), background var(--ease), box-shadow var(--ease)}.input.textarea{height:auto;padding:var(--sp-2) var(--sp-3);resize:vertical}.input::placeholder{color:var(--faint)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px var(--ring);outline:none}.input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}.input:user-invalid{border-color:var(--red)}.check-list{max-height:calc(var(--control-h) * 4);gap:var(--sp-2);padding:var(--sp-3);background:var(--field);border:1px solid var(--field-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow-y:auto}.check-list:focus-within{border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px var(--ring)}.check-list .check{font-size:var(--fs-base);margin-bottom:0;font-weight:400;display:flex}.input[type=file]{padding:calc((var(--control-h) - var(--control-h-sm) - 2px) / 2) var(--sp-2);line-height:var(--control-h-sm);overflow:hidden}.input[type=file]::file-selector-button{height:var(--control-h-sm);margin:0 var(--sp-3) 0 0;line-height:inherit;padding:0 var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);font:inherit;color:var(--text);cursor:pointer;font-weight:600}select.input{appearance:none;padding-right:var(--sp-6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23202224' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center}.input-wrap{position:relative}.input-wrap .input{padding-right:var(--sp-7)}.icon-btn{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:color var(--ease);background:0 0;border:none;place-items:center;padding:0;display:grid}.icon-btn:hover{color:var(--text)}.input-wrap .icon-btn{top:0;right:var(--sp-3);height:var(--control-h);position:absolute}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--radius-md);background:var(--blue);color:#fff;font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);border:1px solid #0000;font-weight:700;display:inline-flex}.btn:hover:not(:disabled){background:var(--blue-dark)}.btn:active:not(:disabled){background:var(--blue-press)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-danger{background:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-dark)}.btn-danger:active:not(:disabled){background:var(--red-press)}.btn-ghost{background:var(--card);color:var(--text);border-color:var(--border-strong);font-weight:600}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-ghost:active:not(:disabled){background:var(--field)}.btn-sm{height:var(--control-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.icon-action{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);cursor:pointer;transition:background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);place-items:center;padding:0;display:inline-grid}.icon-action:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong);color:var(--text)}.icon-action:active:not(:disabled){background:var(--field)}.icon-action:disabled{opacity:.45;cursor:not-allowed}.icon-action.danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red);color:var(--red)}.row-actions{gap:var(--sp-2);display:flex}.spinner{width:var(--icon-sm);height:var(--icon-sm);border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.alert{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);padding:10px var(--sp-3);border:1px solid var(--red);border-radius:var(--radius-md);background:var(--red-soft);color:var(--red);font-weight:600;display:none}.alert.show{display:flex}.dialog-actions+.alert{margin-top:var(--sp-4)}.alert svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.login-page{min-height:100vh;padding:var(--sp-5);place-items:center;display:grid}.login-wrap{width:100%;max-width:440px}.brand{justify-content:center;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5);font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:800;display:flex}.brand span{color:var(--blue)}.brand .sub{color:var(--faint);font-size:var(--fs-xs);letter-spacing:0;font-weight:600;display:block}.brand-sub{margin:calc(-1 * var(--sp-4)) 0 var(--sp-5);text-align:center;color:var(--faint);font-size:var(--fs-xs);font-weight:600}.brand svg{width:var(--icon-lg);height:var(--icon-lg);color:var(--blue);flex:none}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-6)}.login-card h1{font-size:var(--fs-2xl);text-align:center;font-weight:700}.login-card .sub{margin:var(--sp-2) 0 var(--sp-6);text-align:center;color:var(--muted)}.row-between{margin-bottom:var(--sp-5);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.check{align-items:center;gap:var(--sp-2);cursor:pointer;display:flex}.check input{width:var(--sp-4);height:var(--sp-4)}.login-foot{margin-top:var(--sp-5);text-align:center;color:var(--muted);font-size:var(--fs-sm)}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.main{min-width:0}.shell.solo{grid-template-columns:1fr}.topbar .brand{font-size:var(--fs-lg);margin:0}@media (width>=861px){.content:has(>.viewer,>.project-split,>.canva-frame){height:calc(100dvh - var(--topbar-h));flex-direction:column;display:flex}.content:has(>.viewer,>.project-split,>.canva-frame)>:is(.viewer,.project-split,.canva-frame){flex:1 1 0}.content:has(>.viewer){padding:var(--sp-3)}.content>.project-split{align-items:stretch;min-height:0}.content>.project-split>*{overflow-y:auto}.content>.canva-frame{aspect-ratio:auto;min-height:320px}}.viewer{gap:var(--sp-2);flex-direction:column;min-height:460px;display:flex}.rail-filter{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;font-weight:600;display:flex}.rail-filter .input{width:auto;height:var(--control-h-sm)}.viewer-head>.rail-filter:first-child>.icon-action{margin-left:auto}.time-filter{flex-shrink:0}.time-filter .btn{height:var(--control-h-sm)}.rail{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-shrink:0;display:flex;overflow-x:auto}.rail>.empty{padding-block:var(--sp-4);flex:1}.file-card{min-width:200px;padding:var(--sp-2) var(--sp-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--ease), box-shadow var(--ease);flex:none}.file-card:hover{border-color:var(--blue)}.file-card.open{border-color:var(--blue);box-shadow:var(--shadow)}.file-card-head{align-items:center;gap:var(--sp-2);display:flex}.file-card-icon{width:var(--icon);height:var(--icon);color:var(--green);flex:none}.file-card-name{white-space:nowrap}.file-card-meta{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-sm);font-weight:600;display:flex}.workspace{gap:var(--sp-4);flex:auto;grid-template-columns:260px 1fr;min-height:0;display:grid}.file-row{align-items:stretch;gap:var(--sp-2);flex-shrink:0;display:flex}.file-row>.rail{flex:7 1 0;min-width:0}.sheet-tabs{flex-shrink:0;margin-bottom:0;overflow-x:auto}.sheet-tabs button{white-space:nowrap}.sheet-list{flex-direction:column;flex:3 1 0;min-width:0;display:flex;position:relative}.sheet-list>.sheet-tabs{height:calc(2 * var(--control-h-sm) + var(--sp-1) + 2 * var(--sp-2) + 2px);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:var(--control-h-sm);align-content:start;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex:1 0 auto;margin:0;display:grid;overflow:hidden auto}.sheet-list>.sheet-tabs button{min-width:0;padding:0 var(--sp-2);text-overflow:ellipsis;overflow:hidden}.viewer.collapsed .file-card{min-width:0;padding:var(--sp-1) var(--sp-3)}.viewer.collapsed .file-card-meta{display:none}.viewer-head{display:contents}@media (width>=861px){.viewer.collapsed .viewer-head{align-items:center;gap:var(--sp-2) var(--sp-3);grid-template-columns:fit-content(50%) minmax(0,1fr) auto;grid-template-areas:"files sheets toggle""time sheets toggle";min-width:0;display:grid}.viewer.collapsed .viewer-head>.rail-filter:first-child{grid-area:toggle;align-self:start}.viewer.collapsed .viewer-head>.rail-filter:first-child>:not(.icon-action),.viewer.collapsed .time-filter>span{display:none}.viewer.collapsed .file-row{display:contents}.viewer.collapsed .rail{grid-area:files}.viewer.collapsed .file-card.open{box-shadow:none}.viewer.collapsed .sheet-list{grid-area:sheets;align-self:stretch}.viewer.collapsed .sheet-tabs{align-content:flex-start;gap:var(--sp-1);flex-wrap:wrap;height:auto;display:flex;position:absolute;inset:0}.viewer.collapsed .sheet-tabs button{max-width:100%;height:var(--control-h-sm);flex:none}.viewer.collapsed .time-filter{flex-wrap:nowrap;grid-area:time}.viewer.collapsed .workspace{grid-template-columns:56px 1fr}.viewer.collapsed aside.pane{padding:var(--sp-2)}.viewer.collapsed aside .search-wrap,.viewer.collapsed aside .pane-title,.viewer.collapsed aside .hint,.viewer.collapsed aside .visual-item span,.viewer.collapsed aside .pane-foot .btn span{display:none}.viewer.collapsed aside .visual-item,.viewer.collapsed aside .pane-foot .btn{justify-content:center;padding-inline:0}}.session-row{gap:var(--sp-3);flex-direction:column;display:flex}.session-row .pane-title{margin:0}.session-strip{gap:var(--sp-3);flex-direction:column;display:flex}.session-strip .project-card{grid-template-columns:auto 1fr auto;grid-template-areas:"icon name go""meta meta go"}.session-strip .project-card-name,.session-strip .project-card-go{align-self:center}.pane{min-height:0;padding:var(--sp-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow-y:auto}.pane-title{margin:0 0 var(--sp-3);font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.viewer .workspace{gap:var(--sp-2)}.viewer .pane{padding:var(--sp-3)}.viewer .pane-title{margin-bottom:var(--sp-2)}.pane>.search-wrap{max-width:none;margin-bottom:var(--sp-2);flex:none}.pane>.search-wrap .search,.pane>.search-wrap .search-clear{height:var(--control-h-sm)}.pane-foot{gap:var(--sp-1);padding-top:var(--sp-1);margin-top:auto;display:grid}.pane-foot .btn{width:100%}.chart-pane{justify-content:center;align-items:center}.viewer [data-label]:before{content:attr(data-label);top:0;left:var(--sp-3);z-index:1;padding:0 var(--sp-1);background:linear-gradient(var(--bg) 50%, var(--frame-bg,var(--bg)) 50%);color:var(--muted);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;font-weight:700;line-height:1;position:absolute;transform:translateY(-50%)}.file-row,.viewer.collapsed .viewer-head{position:relative}.frame{--frame-bg:var(--card);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.frame>.pane{flex:auto}.rail-filter .crumbs{margin-right:var(--sp-3);font-size:var(--fs-base);flex:0 auto}.gallery{gap:var(--sp-4);flex-direction:column;display:flex}.gallery-head{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.gallery-head .pane-title{margin:0}.gallery-head .search-wrap{flex:0 280px}.project-card{align-items:start;gap:var(--sp-2);padding:var(--sp-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:background var(--ease), border-color var(--ease), box-shadow var(--ease);grid-template-columns:auto 1fr;grid-template-areas:"icon go""name name""meta meta";display:grid}.project-card:hover{border-color:var(--blue)}.project-card:active{background:var(--row-hover)}.project-card-icon{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-md);background:var(--blue-soft);color:var(--blue);grid-area:icon;place-items:center;display:grid}.project-card-icon.loose{background:var(--green-soft);color:var(--green)}.project-card-icon svg{width:var(--icon);height:var(--icon)}.project-card-go{width:var(--icon);height:var(--icon);color:var(--faint);transition:color var(--ease);grid-area:go;justify-self:end}.project-card:hover .project-card-go{color:var(--blue)}.project-card-name{-line-clamp:2;overflow-wrap:anywhere;font-size:var(--fs-lg);-webkit-box-orient:vertical;grid-area:name;display:-webkit-box;overflow:hidden}.project-card-meta{gap:var(--sp-3);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;grid-area:meta;font-weight:600;display:flex}.project-card-meta span{align-items:center;gap:var(--sp-1);display:inline-flex}.project-card-meta svg{width:var(--icon-sm);height:var(--icon-sm)}.project-split{align-items:start;gap:var(--sp-5);grid-template-columns:280px 1fr;display:grid}.project-split>*{min-width:0}.project-split .gallery-head .search-wrap{flex:100%}.project-list{gap:var(--sp-2);flex-direction:column;display:flex}.project-list .project-card{align-items:center;gap:var(--sp-1) var(--sp-3);padding:var(--sp-3);box-shadow:none;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name go""icon meta go"}.project-list .project-card-name{-webkit-line-clamp:1;font-size:var(--fs-base)}.project-list .project-card[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.project-list .project-card[aria-pressed=true] .project-card-go{color:var(--blue)}.project-groups{animation:.24s ease-out drop-down}@keyframes drop-down{0%{opacity:0;clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@media (width<=640px){.gallery-head .search-wrap{flex:100%}}@media (width<=860px){.viewer{height:auto}.workspace{grid-template-columns:1fr}.file-row{flex-direction:column;align-items:stretch}.file-row>.rail,.sheet-list{flex:none}.project-split{grid-template-columns:1fr}.project-list{padding-bottom:var(--sp-2);flex-direction:row;overflow-x:auto}.project-list .project-card{flex:none;width:220px}}.sidebar{background:var(--card);border-right:1px solid var(--border);height:100vh;padding:var(--sp-5) var(--sp-3);flex-direction:column;align-self:start;display:flex;position:sticky;top:0}.sidebar .brand,.topbar .brand{align-items:center;column-gap:var(--sp-2);grid-template-columns:auto 1fr;grid-template-areas:"logo name""logo sub";display:grid}.shell .brand img{width:var(--icon-xl);height:var(--icon-xl);grid-area:logo}.shell .brand .label{grid-area:name;line-height:1.2}.shell .brand .sub{grid-area:sub;line-height:1.2}.sidebar .brand{padding:0 var(--sp-2);font-size:var(--fs-lg);justify-content:flex-start;margin-bottom:0}.version{padding:0 var(--sp-2) 0 calc(var(--sp-4) + var(--icon-xl));margin:var(--sp-1) 0 var(--sp-6);color:var(--faint);font-size:var(--fs-xs);font-weight:600;display:flex}.nav-item{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);margin-bottom:var(--sp-1);border-radius:var(--radius-sm);color:var(--muted);transition:background var(--ease), color var(--ease);font-weight:600;display:flex}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--blue);color:#fff}.sidebar .spacer{flex:1}.sidebar-toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-weight:600}.topbar{z-index:10;height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);display:flex;position:sticky;top:0}.content-head{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.content-head:not(:has(.search-wrap,.page-actions>*)){display:none}.search-wrap{flex:1;max-width:360px;position:relative}.search-wrap>svg{left:var(--sp-3);color:var(--faint);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search{width:100%;height:var(--control-h);padding:0 var(--sp-7);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);font:inherit;color:var(--text);transition:border-color var(--ease), background var(--ease), box-shadow var(--ease)}.search::placeholder{color:var(--faint)}.search:focus{border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px var(--ring);outline:none}.search::-webkit-search-cancel-button{appearance:none}.search-clear{top:0;right:var(--sp-3);height:var(--control-h);position:absolute}.search-wrap[data-empty] .search-clear{display:none}.me{align-items:center;gap:var(--sp-2);min-width:0;margin-left:auto;display:flex}.me b{white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:block;overflow:hidden}.me small{color:var(--muted);font-size:var(--fs-xs);font-weight:600;display:block}.content{padding:var(--sp-5) var(--sp-5) var(--sp-6)}.topbar-head{flex:1;min-width:0}.page-title{font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.page-actions{gap:var(--sp-2);flex:none;margin-left:auto;display:flex}.page-actions:empty{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4)}.form-card{max-width:440px}.markdown-body{max-width:1100px;padding:var(--sp-6);overflow-wrap:anywhere;margin-inline:auto}.markdown-body :is(h1,h2,h3,h4,h5,h6){margin-block:var(--sp-6) var(--sp-3);scroll-margin-top:calc(var(--topbar-h) + var(--sp-4))}.markdown-body h1:first-child{margin-top:0}.markdown-body :is(p,ul,ol,pre,table){margin-block:0 var(--sp-4)}.markdown-body img{max-width:100%;height:auto;margin:var(--sp-4) auto;border-radius:var(--radius-md);display:block}.markdown-body table{min-width:0;display:block;overflow-x:auto}.markdown-body code{padding:2px var(--sp-1);border-radius:var(--radius-sm);background:var(--bg)}.markdown-body pre{padding:var(--sp-4);border-radius:var(--radius-md);background:var(--bg);overflow-x:auto}.markdown-body pre code{padding:0}.present-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}.present-toc{top:calc(var(--topbar-h) + var(--sp-4));max-height:calc(100vh - var(--topbar-h) - var(--sp-6));flex-direction:column;gap:2px;display:flex;position:sticky;overflow-y:auto}.present-toc a{padding:var(--sp-1) var(--sp-3);border-left:2px solid var(--border);color:var(--muted);font-size:var(--fs-sm);text-decoration:none}.present-toc a[data-depth="2"]{margin-top:var(--sp-2);color:var(--text);font-weight:600}.present-toc a[data-depth="3"]{padding-left:var(--sp-5)}.present-toc a:hover{background:var(--row-hover)}.present-toc a[aria-current]{border-left-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}@media (width<=1100px){.present-layout{grid-template-columns:minmax(0,1fr)}.present-toc{display:none}}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{padding:10px var(--sp-3);background:var(--bg);border-block:1px solid var(--border);text-align:left;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:700}th:first-child{border-left:1px solid var(--border);border-radius:var(--radius-md) 0 0 var(--radius-md)}th:last-child{border-right:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) 0}td{padding:var(--sp-3);border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--ease)}tbody tr:hover{background:var(--row-hover)}.hint{margin-bottom:var(--sp-3);color:var(--muted);font-size:var(--fs-sm)}.field .hint{margin:var(--sp-1) 0 0}.show-sm{display:none}.num{text-align:right;font-variant-numeric:tabular-nums}.col-actions{white-space:nowrap;width:1%}.empty{align-items:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-4);text-align:center;color:var(--muted);flex-direction:column;display:flex}.empty>svg{width:28px;height:28px;color:var(--faint)}.empty .spinner{width:24px;height:24px;color:var(--blue);border-width:3px}.empty-title{color:var(--text);font-weight:700}.empty-hint{max-width:44ch;font-size:var(--fs-sm)}.empty .btn{margin-top:var(--sp-2)}.user-cell{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.avatar{width:var(--avatar);height:var(--avatar);background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;display:grid}.muted{color:var(--muted)}.chip{margin:2px var(--sp-1) 2px 0;padding:2px var(--sp-2);border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--blue);font-size:var(--fs-xs);font-weight:700;display:inline-block}.chip.super{background:var(--yellow-soft);color:var(--yellow-dark)}.pill{align-items:center;gap:var(--sp-1);border-radius:var(--radius-pill);font-size:var(--fs-xs);padding:2px 10px;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill.on{background:var(--green-soft);color:var(--green)}.pill.off{background:var(--red-soft);color:var(--red)}.pager{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-sm);display:flex}.pager div{gap:var(--sp-2);display:flex}dialog{width:min(480px, calc(100vw - var(--sp-6)));max-height:min(86vh,760px);padding:0 var(--sp-5) var(--sp-5);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:var(--text);overscroll-behavior:contain;border:none;overflow-y:auto}dialog[open]{animation:.18s ease-out dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}dialog::backdrop{background:#20222459}dialog h2{z-index:1;align-items:center;gap:var(--sp-2);padding:var(--sp-5) 0 var(--sp-4);background:var(--card);font-size:var(--fs-lg);display:flex;position:sticky;top:0}dialog h2 svg{width:var(--icon);height:var(--icon);color:var(--blue);flex:none}.dialog-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5);display:flex}.dialog-form{flex-direction:column;min-height:0;display:flex}dialog:has(>.dialog-form)[open]{flex-direction:column;min-height:0;display:flex}.dialog-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.role-row{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--sp-2);cursor:pointer;transition:background var(--ease), border-color var(--ease);display:flex}.role-row:hover{background:var(--bg)}.role-row:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.role-row:has(input:disabled){opacity:.6;cursor:progress}.role-row input{flex:none;width:18px;height:18px}.role-row b{display:block}.role-row .muted{font-size:var(--fs-sm)}.toasts{right:var(--sp-5);bottom:var(--sp-5);z-index:100;gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--sp-2);max-width:380px;padding:10px var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-lg);font-weight:600;animation:.18s ease-out toast-in;display:flex}.toast svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--green);flex:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1100px){:root{--sidebar-w:216px}}@media (width>=861px){.shell.collapsed{--sidebar-w:72px}.shell.collapsed .label,.shell.collapsed .brand .sub{display:none}.shell.collapsed .nav-item,.shell.collapsed .brand,.shell.collapsed .version{justify-content:center;padding-inline:0}}@media (width<=860px){.shell{grid-template-columns:1fr;align-content:start}.sidebar{align-items:center;gap:var(--sp-1);min-width:0;height:auto;padding:var(--sp-2) var(--sp-3);border-right:none;border-bottom:1px solid var(--border);flex-direction:row;position:static;overflow-x:auto}.sidebar .brand{margin:0 var(--sp-3) 0 0;flex:none}.version{display:none}.nav-item{flex:none;margin:0}.sidebar-toggle{display:none}.topbar{height:auto;padding:var(--sp-3) var(--sp-4)}.search-wrap{max-width:none}.content{padding:var(--sp-4) var(--sp-4) var(--sp-5)}}@media (width<=640px){.content-head{flex-direction:column;align-items:stretch}.page-actions{flex-wrap:wrap;margin-left:0}.page-actions .btn{flex:auto}.hide-sm{display:none}.show-sm{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;margin-top:2px;display:flex}.show-sm>*{white-space:nowrap}.me-name,.sidebar .brand span{display:none}table{min-width:0}.card{padding:var(--sp-3)}.me b{max-width:30vw}.toasts{right:var(--sp-3);left:var(--sp-3);bottom:var(--sp-3)}dialog{padding-inline:var(--sp-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visual-list{gap:var(--sp-1);min-height:0;padding:var(--sp-1);margin:calc(-1 * var(--sp-1));flex-direction:column;flex:auto;display:flex;overflow-y:auto}.visual-item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.visual-item:hover{background:var(--row-hover)}.visual-item.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.visual-item-drag,.sheet-tabs [draggable=true]{cursor:grab}.visual-item-drag.dragging,.sheet-tabs .dragging{border-style:dashed;border-color:var(--blue);opacity:.6}.layout-workspace>aside.pane{top:var(--sp-4);max-height:calc(100vh - 2 * var(--sp-4));align-self:start;position:sticky}.visual-item svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.visual-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visual-item:hover span,.visual-item:focus-within span,.visual-list .visual-item span{white-space:normal;overflow-wrap:anywhere}.visual-name{align-items:center;gap:var(--sp-2);min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;display:flex}.chart-card{gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.chart-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.chart-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-subtitle{color:var(--muted);font-size:var(--fs-sm);white-space:pre-line}.chart-title{align-items:center;gap:var(--sp-2);display:flex}.chart{width:100%}.chart-frame{gap:var(--sp-3);flex-direction:column;display:flex}.chart-frame.insight-bottom{flex-direction:column-reverse}.chart-frame.insight-left{flex-direction:row}.chart-frame.insight-right{flex-direction:row-reverse}.chart-frame>.chart{flex:1;align-self:stretch;min-width:0;min-height:0}.chart-insight{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;overscroll-behavior:contain;min-height:0;margin:0;overflow-y:auto}.chart-insight.bordered{padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.chart-frame.insight-top>.chart-insight,.chart-frame.insight-bottom>.chart-insight{flex-shrink:0;max-height:40%}.chart-frame.insight-left>.chart-insight,.chart-frame.insight-right>.chart-insight{flex:0 0 30%;max-height:100%}.chart-frame:has(.insight-splitter){gap:var(--sp-1)}.insight-splitter{flex:0 0 var(--sp-2);cursor:row-resize;touch-action:none;border-radius:var(--radius-sm);background:linear-gradient(var(--border-strong), var(--border-strong)) center / 100% 1px no-repeat;align-self:stretch}.insight-left>.insight-splitter,.insight-right>.insight-splitter{cursor:col-resize;background-size:1px 100%}.insight-splitter:hover,.insight-splitter:focus-visible{background-color:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue);outline:none}.insight-options{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}@media (width<=640px){.chart-frame.insight-left,.chart-frame.insight-right{flex-direction:column}.chart-frame.insight-left>.chart-insight,.chart-frame.insight-right>.chart-insight{flex:none!important;align-self:stretch!important;max-height:40%!important}.insight-left>.insight-splitter,.insight-right>.insight-splitter{display:none}}.quick-filters{justify-content:flex-end;gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.quick-filters .input{width:auto;max-width:100%;height:var(--control-h-sm);font-size:var(--fs-sm)}.base-picker{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:inline-flex}.base-picker label{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--muted);display:inline-flex}.segmented{max-width:100%;display:inline-flex;overflow-x:auto}.segmented-item{height:var(--control-h-sm);padding:0 var(--sp-3);border:1px solid var(--border-strong);background:var(--card);color:var(--muted);font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);font-weight:600}.segmented-item+.segmented-item{margin-left:-1px}.segmented-item:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.segmented-item:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.segmented-item[data-hovered]{background:var(--bg);color:var(--text)}.segmented-item[data-pressed]{background:var(--field)}.segmented-item[data-selected]{z-index:1;border-color:var(--blue);background:var(--blue-soft);color:var(--blue);position:relative}.segmented-item:focus-visible{z-index:2;position:relative}.segmented-item[data-disabled]{opacity:.5;cursor:not-allowed}.chart-grid .chart-card{background:var(--card);height:100%;margin-bottom:0;overflow:hidden}.chart-grid .chart-head{cursor:grab}.chart-grid .react-draggable-dragging .chart-head{cursor:grabbing}.chart-grid .chart-body{flex-direction:column;flex:1;min-height:0;display:flex}.chart-grid .chart-body>.chart-frame{flex:1;min-height:0}.chart-grid .react-grid-item.react-grid-placeholder{background:var(--blue-soft);border:1px dashed var(--blue);border-radius:var(--radius-md);opacity:1}.builder{gap:var(--sp-4);grid-template-columns:280px 1fr;align-items:start;display:grid}.field-row{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.filter-row{margin-bottom:var(--sp-3);grid-template-columns:1fr 100px 1fr auto;align-items:center}@media (width<=860px){.builder,.field-row,.filter-row{grid-template-columns:1fr}}.chip.ok{background:var(--green-soft);color:var(--green)}.chip.pending,.chip.running{background:var(--field);color:var(--muted)}.chip.schema_mismatch{background:var(--yellow-soft);color:var(--yellow-dark)}.chip.failed{background:var(--red-soft);color:var(--red)}.log{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.log div{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);display:flex}.log dt{color:var(--muted);flex:none}.log dd{text-align:right;overflow-wrap:anywhere;margin:0}.log-diff{padding-left:var(--sp-4);color:var(--yellow-dark);font-size:var(--fs-sm);margin:0}.panel{z-index:40;width:min(700px, calc(100vw - var(--sp-6)));background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);max-height:70vh;box-shadow:var(--shadow-lg);resize:both;flex-direction:column;display:flex;position:fixed;overflow:hidden}.panel-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg);border-bottom:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:flex}.panel-head b{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.panel-grip{width:var(--icon-sm);height:var(--icon-sm);color:var(--faint);flex:none}.panel-body{padding:var(--sp-3);overflow:auto}.source-table{min-width:0;font-size:var(--fs-sm)}.source-table th,.source-table td{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);white-space:nowrap;border-radius:0}.source-table thead th{z-index:1;text-align:center;position:sticky;top:0}.source-table .stub{background:var(--card);color:var(--text);text-align:left;font-weight:600}.source-table .missing{background:var(--field)}.date-picker{align-items:center;gap:var(--sp-2);display:flex}.date-group{align-items:center;gap:var(--sp-2);display:inline-flex}.date-group:focus-within{border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px var(--ring)}.date-group[data-invalid]{border-color:var(--red)}.date-input{font-variant-numeric:tabular-nums;display:flex}.date-segment:not([data-type=literal]){padding-inline:var(--sp-1);border-radius:var(--radius-sm)}.date-segment[data-placeholder]{color:var(--faint)}.date-segment:focus{background:var(--blue-soft);color:var(--blue);outline:none}.popover{padding:var(--sp-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.popover-dialog{outline:none}.calendar-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.calendar-head h2{font-size:var(--fs-base)}.calendar-head h2:first-letter{text-transform:uppercase}.calendar table{width:auto;min-width:0}.calendar th,.calendar td{background:0 0;border:none;border-radius:0;padding:0}.calendar th{height:var(--control-h-sm);font-size:var(--fs-xs);text-align:center}.calendar tbody tr:hover{background:0 0}.calendar-cell{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--ease), color var(--ease);place-items:center;display:grid}.calendar-cell:hover{background:var(--bg)}.calendar-cell[data-outside-month]{display:none}.calendar-cell[data-today]{color:var(--blue);font-weight:700}.calendar-cell[data-selected]{background:var(--blue);color:#fff}.calendar-cell[data-disabled]{color:var(--faint);cursor:not-allowed;background:0 0}.builder-stack{gap:var(--sp-3);flex-direction:column;display:flex}.builder-stack h3{margin:0}.workspace-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.workspace-toolbar:has(+.workspace-toolbar){margin-bottom:var(--sp-3)}.workspace-toolbar select{width:auto;max-width:320px}.workspace-toolbar-code{align-items:center;gap:var(--sp-2);display:flex}.workspace-toolbar-code .input{width:12ch}.template-workspace{gap:var(--sp-4);grid-template-columns:minmax(180px,220px) minmax(280px,1fr) minmax(260px,320px);align-items:start;display:grid}.template-workspace>*{min-width:0}.builder-data,.builder-properties{padding:var(--sp-3);max-height:calc(100vh - 210px);overflow:auto}.builder-canvas .chart-card{padding:var(--sp-4)}.builder-tabs{gap:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);display:flex}.builder-tabs button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);padding:var(--sp-2) var(--sp-4);cursor:pointer;font:inherit}.builder-tabs button:hover{border-color:var(--border-strong);color:var(--text)}.builder-tabs .active,.builder-tabs .active:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.setup-steps button{color:var(--muted);padding:var(--sp-3);cursor:pointer;font:inherit;background:0 0;border:0}.setup-steps .active{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.field-well{border:1px dashed var(--border);border-radius:var(--radius);padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.field-well legend{padding:0 var(--sp-2);font-weight:600}.field-well.invalid{border-color:var(--red)}.well-item{padding:var(--sp-1);background:var(--blue-soft);border-radius:var(--radius);flex-wrap:wrap;align-items:center;display:flex}.well-item span{overflow-wrap:anywhere;flex:1;min-width:0}.well-item button{flex-shrink:0}.well-item-extra{margin-top:var(--sp-1);flex-basis:100%}.well-item-extra .input{height:var(--control-h-sm);font-size:var(--fs-sm)}.kind-gallery{gap:var(--sp-2);display:grid}.kind-card{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:var(--text);display:grid}.kind-card>span{color:var(--muted);font-size:12px}.kind-card.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.kind-card.active>span{color:var(--text)}.kind-card .chart-body{pointer-events:none}.color-field{align-items:center;gap:var(--sp-2);display:flex}.gradient-strip{width:100%;height:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;padding:0}.gradient-strip[data-focus-visible]{outline:2px solid var(--blue);outline-offset:2px}.color-list{align-items:center;gap:var(--sp-2);max-width:calc(var(--control-h-sm) * 10);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.color-chip{align-items:center;gap:var(--sp-1);display:inline-flex}.color-swatch{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--field);cursor:pointer;flex-shrink:0;padding:0}.color-swatch[data-focus-visible]{outline:2px solid var(--blue);outline-offset:2px}.color-sketch{--sketch-background:var(--card);--sketch-box-shadow:none;--sketch-swatch-border-top:1px solid var(--border)}.builder-errors{background:var(--blue-soft);padding:var(--sp-3);border-radius:var(--radius)}.builder-errors ul{padding-left:var(--sp-4);margin:0}.builder-properties details>summary{cursor:pointer;padding-bottom:var(--sp-2);font-weight:600}.setup-steps{margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.setup-dialog{width:min(960px, calc(100vw - var(--sp-6)))}.sample-files{gap:var(--sp-3);overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);height:320px;padding:var(--sp-3);flex-direction:column;display:flex;overflow-y:auto}.structure-fingerprint{overflow-wrap:anywhere;color:var(--muted)}.source-status{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.source-status pre{white-space:pre-wrap;overflow-wrap:anywhere}.structure-table{overflow:auto}@media (width<=1100px){.template-workspace{grid-template-columns:180px minmax(240px,1fr)}.builder-properties{grid-column:1/-1;max-height:none}}@media (width<=860px){.template-workspace{grid-template-columns:minmax(0,1fr)}.builder-data{max-height:300px}.builder-properties{grid-column:auto}}@media (width<=640px){.setup-steps button{flex:50%}.workspace-toolbar>*{flex:auto}.builder-canvas .chart-card{padding:var(--sp-2)}}.builder-data>*{flex-shrink:0}.folder-layout{gap:var(--sp-4);grid-template-columns:260px minmax(0,1fr);align-items:start;display:grid}.folder-layout>.pane{max-height:calc(100vh - 180px)}.folder-row{align-items:center;gap:var(--sp-1);display:flex}.folder-row .visual-item{flex:1;min-width:0}.visual-item small{color:var(--muted);margin-left:auto;font-weight:600}.person-list{gap:var(--sp-1);flex-wrap:wrap;display:flex}.explorer{gap:var(--sp-3) var(--sp-4);min-height:calc(100vh - var(--topbar-h) - var(--sp-5) - var(--sp-6));padding:var(--sp-3) var(--sp-4);grid-template-rows:auto 1fr;grid-template-columns:220px minmax(0,1fr);align-items:stretch;display:grid}.explorer-side{gap:var(--sp-1);padding-right:var(--sp-3);border-right:1px solid var(--border);flex-direction:column;display:flex}.explorer-side .visual-item{padding-block:var(--sp-1)}.explorer-side .pane-title{margin:var(--sp-2) 0 var(--sp-1);padding:0 var(--sp-3)}.explorer-side .pane-title:first-child{margin-top:0}.explorer-side .search-wrap{max-width:none;margin-bottom:var(--sp-2);flex:none}.explorer-add{color:var(--blue)}.explorer-main{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.explorer-head{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.explorer-head .search-wrap{flex:0 260px}.crumbs{align-items:center;gap:var(--sp-1);min-width:0;color:var(--muted);margin-right:auto;display:flex}.crumbs svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.crumbs b{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.crumb{align-items:center;gap:var(--sp-1);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.crumb:hover{color:var(--blue)}.folder-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.folder-tile{align-items:center;gap:var(--sp-1);padding:var(--sp-2);border-radius:var(--radius-md);font:inherit;color:var(--text);text-align:center;overflow-wrap:anywhere;cursor:pointer;transition:background var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.file-tile>span{font-size:var(--fs-sm);line-height:1.25}.folder-tile:hover{background:var(--row-hover)}.folder-tile:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--ring);outline:none}.folder-tile svg{width:var(--icon-xl);height:var(--icon-xl);color:var(--blue);stroke-width:1.5px}.folder-tile:disabled{cursor:default;opacity:.6}.template-tile{position:relative}.template-tile>.folder-tile{width:100%;height:100%}.template-tile .folder-tile svg{color:var(--green)}.explorer>.builder-tabs{padding-bottom:var(--sp-2);grid-column:1/-1;margin-bottom:0}.explorer>.access-mode{grid-column:1/-1;justify-self:start}.access-list{gap:var(--sp-2);flex-direction:column;display:flex}.access-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);grid-template-columns:minmax(0,2fr) auto minmax(0,2fr) auto;display:grid}.access-row:hover{background:var(--row-hover)}.access-row-main{flex-direction:column;min-width:0;display:flex}.access-row-main b,.access-row-main .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-row-meta{align-items:center;gap:var(--sp-2);display:flex}.access-row-people{align-items:center;gap:var(--sp-1);flex-wrap:wrap;min-width:0;display:flex}.access-row-actions{align-items:center;gap:var(--sp-2);justify-content:flex-end;display:flex}.folder-tile .chip{max-width:100%}.context-anchor{pointer-events:none;width:0;height:0;position:fixed}.menu-popover{padding:var(--sp-1)}.menu{outline:none;flex-direction:column;min-width:200px;display:flex}.menu-item{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);color:var(--text);cursor:pointer;outline:none;display:flex}.menu-item svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.menu-item[data-focused]{background:var(--row-hover)}.menu-item[data-disabled]{color:var(--faint);cursor:not-allowed}.menu-item.danger{color:var(--red)}.menu-item.danger[data-focused]{background:var(--red-soft)}@media (width<=860px){.explorer{min-height:0;padding:var(--sp-3);grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.explorer-side{min-height:0;padding:0 0 var(--sp-4);border-right:0;border-bottom:1px solid var(--border)}.explorer-head .search-wrap{flex:100%;order:1;max-width:none}.access-row{gap:var(--sp-2);grid-template-columns:minmax(0,1fr)}.access-row-actions{flex-wrap:wrap;justify-content:flex-start}.folder-layout{grid-template-columns:minmax(0,1fr)}.folder-layout>.pane{max-height:320px}}.brand img{object-fit:contain;width:48px;height:48px}.canva-frame{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--card);max-width:100%;overflow:hidden}.canva-frame iframe{border:0;width:100%;height:100%}
