.app{--sidebar-w:248px;--topbar-h:52px;--page-max:1200px;--gutter:16px;--nav-hover:color-mix(in srgb, var(--text) 5%, transparent);--nav-active:color-mix(in srgb, var(--text) 8%, transparent);background:var(--surface);min-height:100vh;color:var(--text-body);font-size:var(--text-base);grid-template-columns:minmax(0,1fr);display:grid}.app .input,.app .input-group{height:36px}.app .input{padding:1px 12px}.app .input-group .btn{height:32px;padding:1px 10px}.sidebar{z-index:50;width:min(var(--sidebar-w), 85vw);border-right:1px solid var(--line);background:var(--canvas);color:var(--text);flex-direction:column;transition:transform .25s cubic-bezier(.3,1,.35,1);display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.is-nav-open .sidebar{transform:none;box-shadow:0 0 0 100vmax #00000040}.sidebar__top{height:var(--topbar-h);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:4px;padding:0 8px 0 10px;display:flex}.sidebar__logo{width:34px;height:34px;color:var(--accent);flex-shrink:0}.sidebar__title{font-size:var(--text-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:5px 8px;font-weight:600;overflow:hidden}.sidebar__body{flex:1;min-height:0;padding:12px 12px 16px;overflow-y:auto}.nav-group{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.nav-label{font-size:var(--text-xs);color:var(--text-subtle);margin:18px 10px 6px;font-weight:500;line-height:16px}.nav-item{height:32px;color:var(--text);font-size:var(--text-sm);white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.nav-item span{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-item svg{width:16px;height:16px;color:var(--text-subtle);flex-shrink:0}.nav-item:hover{background:var(--nav-hover)}.nav-item[aria-current=page]{background:var(--nav-active)}.nav-item[aria-current=page] svg{color:var(--text)}.sidebar__bottom{border-top:1px solid var(--line);flex-shrink:0;align-items:center;height:48px;padding:0 12px;display:flex}.icon-btn{width:32px;height:32px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.icon-btn:hover{background:var(--tint);color:var(--text)}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.icon-btn svg{width:18px;height:18px}.icon-btn:focus-visible,.nav-item:focus-visible{box-shadow:0 0 0 2px var(--brand);outline:none}.main{background:var(--surface);flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(10px);backdrop-filter:saturate(1.6)blur(10px);align-items:center;gap:6px;padding:0 12px 0 8px;display:flex;position:sticky;top:0}.topbar__actions{align-items:center;gap:4px;margin-left:auto;display:flex}.crumbs{min-width:0}.crumbs ol{font-size:var(--text-sm);color:var(--text-subtle);align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.crumbs li+li:before{content:"/";color:var(--interact);margin-right:6px}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs [aria-current=page]{color:var(--text);font-weight:500}.avatar{color:#9f2d00;cursor:pointer;background:#ffedd4;border:0;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:4px;font-size:11px;font-weight:600;display:grid}.avatar:focus-visible{box-shadow:0 0 0 2px var(--brand);outline:none}.user-menu{position:relative}.user-menu__panel{min-width:220px;left:auto;right:0}.user-menu__who{border-bottom:1px solid var(--neutral-200);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.user-menu__who strong{font-size:var(--text-sm);color:var(--text)}.user-menu__who span{font-size:var(--text-xs);color:var(--text-subtle)}.menu__heading{letter-spacing:.04em;color:var(--text-subtle);text-transform:uppercase;margin:0;padding:6px 10px 2px;font-size:11px;font-weight:500}.menu__divider{background:var(--neutral-200);height:1px;margin:4px 0}.menu__icon{align-items:center;gap:8px;display:inline-flex}.content{grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [page-start] minmax(0, var(--page-max)) [page-end] minmax(var(--gutter), 1fr) [full-end];align-content:start;row-gap:20px;padding-bottom:56px;display:grid}.content>*{grid-column:page;min-width:0}.content>:first-child:not(.page-band){margin-top:24px}.content>.page-band{grid-column:full;grid-template-columns:subgrid;border-bottom:1px solid var(--line);margin-bottom:4px;padding:20px 0 18px;display:grid}.page-band>*{grid-column:page;min-width:0}.content>.page-band.has-tabs{padding-bottom:0}.page-band .back-link{font-size:var(--text-sm);color:var(--text-subtle);justify-self:start;align-items:center;gap:4px;margin:0 0 8px -2px;font-weight:500;text-decoration:none;display:inline-flex}.page-band .back-link:hover{color:var(--text)}.page-band .back-link svg{width:16px;height:16px}.page-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.page-title__text{min-width:0}.page-title h1{letter-spacing:-.015em;color:var(--text);overflow-wrap:anywhere;font-size:20px;font-weight:600;line-height:28px}.page-title__text>p{font-size:var(--text-base);margin-top:2px;line-height:20px}.page-title .link{font-size:var(--text-sm)}.page-title__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-section{flex-direction:column;gap:10px;display:flex}.search{background:var(--control);max-width:480px;height:36px;box-shadow:0 0 0 1px var(--line);cursor:text;border-radius:8px;align-items:center;display:flex}.search:focus-within{box-shadow:0 0 0 1.5px var(--focus)}.search svg{width:16px;height:16px;color:var(--text-subtle);flex-shrink:0;margin-left:12px}.search input{min-width:0;height:100%;color:var(--text);font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1;padding:1px 12px 1px 8px}.search input::placeholder{color:var(--placeholder)}.workspace-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.workspace-card{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:10px;align-items:center;gap:14px;padding:12px 16px;display:flex}.workspace-card__mark{background:var(--tint);width:38px;height:38px;color:var(--text);font-size:var(--text-sm);border-radius:9px;flex-shrink:0;place-items:center;font-weight:600;display:grid}.workspace-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.workspace-card__body strong{font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere;font-weight:600}.workspace-card__body>span{color:var(--text-subtle);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-card__tags{flex-wrap:wrap;gap:6px;display:flex}.workspace-card .btn{flex-shrink:0}@media (max-width:479px){.workspace-card{flex-wrap:wrap}.workspace-card .btn{width:100%}}@media (max-width:1023px){.sidebar__bottom{display:none}}@media (max-width:639px){.crumbs li:not(:last-child){display:none}.crumbs li+li:before{content:none}.page-title__actions{width:100%}}@media (min-width:640px){.app{--gutter:24px}.content>.page-band{padding:24px 0 20px}.page-title h1{font-size:22px;line-height:30px}}@media (min-width:1024px){.app{--gutter:32px;grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.sidebar{width:var(--sidebar-w);height:100vh;transition:none;position:sticky;top:0;transform:none}.app.is-nav-open .sidebar{box-shadow:none}.menu-btn{display:none}.topbar{padding:0 16px 0 var(--gutter)}.content{row-gap:24px;padding-bottom:72px}.content>:first-child:not(.page-band){margin-top:32px}.content>.page-band{padding:28px 0 24px}.app.is-collapsed{--sidebar-w:60px}.app.is-collapsed .sidebar__title,.app.is-collapsed .nav-item span{display:none}.app.is-collapsed .nav-label{background:var(--line);height:1px;margin:10px 6px;font-size:0;overflow:hidden}.app.is-collapsed .sidebar__top{justify-content:center;padding:0}.app.is-collapsed .sidebar__body{padding:12px 10px 16px}.app.is-collapsed .nav-item,.app.is-collapsed .sidebar__bottom{justify-content:center;padding:0}.app.is-collapsed [data-collapse] svg{transform:scaleX(-1)}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
.title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn--danger{color:var(--danger);background:var(--surface);box-shadow:0 0 0 1px var(--line), var(--shadow-xs)}.btn--danger:hover:not(:disabled){background:var(--danger-tint)}.btn svg{width:14px;height:14px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.toolbar .search{flex:280px;max-width:none}.toolbar__actions{flex-wrap:wrap;gap:8px;display:flex}.alert--warn{color:var(--text);background:color-mix(in srgb, var(--warning) 14%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--warning) 55%, transparent);align-items:flex-start;gap:10px;margin:0;display:flex}.alert--warn svg{width:16px;height:16px;color:var(--warning);flex-shrink:0;margin-top:2px}.alert--warn .link{font-weight:500}.card{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:10px}.form-card{padding:20px}.card__head{border-bottom:1px solid var(--neutral-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 20px;display:flex}.card__head h2{font-size:var(--text-base);color:var(--text);font-weight:600}.card__body{padding:20px}.form-grid{gap:18px 20px;display:grid}.form-field{align-content:start;gap:8px;min-width:0;display:grid}.form-field--check{align-content:center}.help{font-size:var(--text-xs);color:var(--text-subtle);line-height:16px}:root{--select-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9 4-4 4 4M8 15l4 4 4-4'/%3E%3C/svg%3E")}.select{border-radius:var(--radius);appearance:none;background:var(--control) right 10px center / 14px 14px no-repeat var(--select-caret);width:100%;height:36px;box-shadow:0 0 0 1px var(--line);color:var(--text);font-size:var(--text-base);cursor:pointer;border:0;padding:1px 32px 1px 12px}.select:focus{box-shadow:0 0 0 1.5px var(--focus);outline:none}.select:disabled{cursor:not-allowed;opacity:.6}.inline-select{width:auto;max-width:100%;height:32px;font-size:var(--text-sm);padding-right:28px}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;display:flex}.inline-form{border-top:1px solid var(--neutral-200);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:16px;display:flex}.inline-form .form-field{flex:200px}.kv{font-size:var(--text-sm);grid-template-columns:max-content minmax(0,1fr);gap:10px 24px;margin:0;display:grid}.kv dt{color:var(--text-subtle)}.kv dd{color:var(--text);overflow-wrap:anywhere;margin:0}.detail-grid{align-items:start;gap:16px;display:grid}.move-form{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.move-form .select{flex:220px;width:auto;height:36px}.table-wrap{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:10px;overflow-x:auto}.card .table-wrap{box-shadow:none;border-radius:0}.card>.table-wrap:first-child{border-radius:10px 10px 0 0}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.data-table th{border-bottom:1px solid var(--line);height:40px;font-size:var(--text-sm);color:var(--text-subtle);text-align:left;white-space:nowrap;padding:0 16px;font-weight:500}.data-table td{border-bottom:1px solid var(--neutral-200);color:var(--text);vertical-align:top;padding:10px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table tbody tr:hover td{background:var(--neutral-50)}.data-table .middle td{vertical-align:middle}.row-link{color:var(--text);font-weight:500;text-decoration:none}.is-clickable{position:relative}.is-clickable .row-link:after{content:"";position:absolute;inset:0}.row-link:focus-visible{outline:none}.is-clickable:focus-within td{background:var(--neutral-50)}.is-clickable .above{z-index:1;position:relative}.col-del{text-align:center;width:44px}.break{overflow-wrap:anywhere}.status{box-shadow:inset 0 0 0 1px var(--neutral-200);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text);white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;font-weight:500;line-height:16px;display:inline-flex}.status:before{content:"";background:var(--status,var(--text-subtle));border-radius:50%;width:6px;height:6px}.status--ok{--status:var(--success)}.status--warn{--status:var(--warning)}.status--bad{--status:var(--danger)}.switch{appearance:none;background:var(--neutral-200);width:36px;height:20px;box-shadow:inset 0 0 0 1px var(--interact);cursor:pointer;border-radius:10px;flex-shrink:0;margin:0;transition:background-color .15s;position:relative}.switch:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--brand);box-shadow:inset 0 0 0 1px var(--brand-ring)}.switch:checked:before{transform:translate(16px)}.switch:focus{outline:none}.switch:focus-visible{box-shadow:0 0 0 2px var(--brand)}.switch:disabled{cursor:not-allowed;opacity:.5}.switch-label{font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.pager{font-size:var(--text-sm);justify-content:center;align-items:center;gap:12px;display:flex}.section{flex-direction:column;gap:10px;display:flex}.section__title{color:var(--text);font-size:15px;font-weight:600;line-height:22px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.stat-card{background:var(--surface);min-width:0;box-shadow:0 0 0 1px var(--line);border-radius:10px;padding:12px 16px 14px}.stat-card dt{font-size:var(--text-sm);color:var(--text-subtle);line-height:18px}.stat-card dd{letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:22px;font-weight:600;line-height:28px}.stat-card small{font-size:var(--text-xs);color:var(--text-subtle);margin-top:4px;display:block}@media (max-width:639px){.col-hide-sm{display:none}.data-table th,.data-table td{padding-left:12px;padding-right:12px}.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dd+dt{margin-top:10px}}@media (min-width:640px){.form-card{padding:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field--wide{grid-column:span 2}}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1200px){.detail-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}@media (max-width:639px){.stack-sm,.stack-sm tbody{display:block}.stack-sm thead{display:none}.stack-sm tr{border-top:1px solid var(--neutral-200);grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:dense;align-items:baseline;gap:2px 16px;padding:12px;display:grid;position:relative}.stack-sm tbody tr:first-child{border-top:0}.stack-sm td{grid-column:1;min-width:0;display:block;background:0 0!important;border:0!important;padding:0!important}.stack-sm td.s-side{text-align:right;grid-column:2}.stack-sm td.col-hide-sm{display:none}.stack-sm td.num:not(.s-side){text-align:left}.stack-sm .s-muted{color:var(--text-subtle);font-size:var(--text-sm)}.stack-sm td[data-label]:before{content:attr(data-label) " ";color:var(--text-subtle);font-size:var(--text-xs);font-weight:400}}
