:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--shell-width:78rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--color-background);min-height:100vh;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}::selection{background:var(--color-accent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a{color:var(--color-accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}h1,h2,h3{line-height:1.15}code{font-family:var(--font-mono);background:var(--color-surface-raised);border-radius:var(--radius-sm);padding:0 var(--space-xs);font-size:.92em}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--color-background) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar-inner{align-items:center;gap:var(--space-lg);width:100%;max-width:var(--shell-width);padding:var(--space-sm) var(--space-md);margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-sm);color:var(--color-text);flex:none;text-decoration:none;display:inline-flex}.brand-mark{border-radius:var(--radius-md)}.brand-name{color:var(--color-accent);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.nav{align-items:center;gap:var(--space-xs);scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav-link{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;text-decoration:none;transition:color .12s,background-color .12s}.nav-link:hover{color:var(--color-text);background:var(--color-surface)}.nav-link-active{color:var(--color-text);background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-border)}.session{align-items:center;gap:var(--space-sm);flex:none;display:flex}.session-email{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;color:var(--color-text-muted);font-size:var(--font-size-sm);overflow:hidden}.shell-main{width:100%;max-width:var(--shell-width);padding:var(--space-xl) var(--space-md) var(--space-xxl);flex:1;margin:0 auto}.shell-footer{width:100%;max-width:var(--shell-width);padding:var(--space-lg) var(--space-md) var(--space-xl);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0 auto}.shell-footer p{margin:0}.stack{gap:var(--space-lg);flex-direction:column;display:flex}.stack-tight{gap:var(--space-xs);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.row-tight{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.narrow{max-width:44rem}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.mono{font-family:var(--font-mono);font-size:.92em}.eyebrow{margin:0 0 var(--space-xs);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase}.hero{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.hero-text{gap:var(--space-xs);flex-direction:column;display:flex}.logo{border-radius:var(--radius-lg)}.wordmark{color:var(--color-accent);font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:0;line-height:1}.tagline{max-width:44ch;color:var(--color-text-muted);font-size:var(--font-size-lg);margin:0}.page-header{gap:var(--space-sm);flex-direction:column;display:flex}.page-header-row{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.page-header-text{min-width:0}.page-title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:0}.page-subtitle{margin:var(--space-xs) 0 0;max-width:62ch;color:var(--color-text-muted);font-size:var(--font-size-lg)}.page-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.back-link{color:var(--color-text-muted);font-size:var(--font-size-sm);align-self:flex-start;text-decoration:none}.back-link:hover{color:var(--color-accent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-row{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:.01em;margin:0}.section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.section-head p{margin:var(--space-xs) 0 0}.confirm{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:inline-flex}.button{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;border:1px solid #0000;padding:.55rem 1rem;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--color-accent-strong);color:var(--color-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent);color:var(--color-ink)}.button-secondary{background:var(--color-surface-raised);border-color:var(--color-border);color:var(--color-text)}.button-secondary:hover:not(:disabled){border-color:var(--color-accent)}.button-ghost{color:var(--color-text-muted);background:0 0}.button-ghost:hover:not(:disabled){background:var(--color-surface-raised);color:var(--color-text)}.link-button{color:var(--color-accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.session .link-button{color:var(--color-text-muted);font-size:var(--font-size-sm)}.session .link-button:hover{color:var(--color-accent)}.badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;border:1px solid #0000;line-height:1.7;display:inline-flex}.badge-neutral{background:var(--color-surface-raised);border-color:var(--color-border);color:var(--color-text)}.badge-accent{border-color:var(--color-accent);color:var(--color-accent)}.badge-muted{border-color:var(--color-border);color:var(--color-text-muted);border-style:dashed}.badge-strong{background:var(--color-paper);color:var(--color-ink)}.chips{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.form{gap:var(--space-lg);flex-direction:column;display:flex}.form-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.form-section{gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.form-section:first-child{border-top:0;padding-top:0}.form-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.field{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.field-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field-required{color:var(--color-accent)}.field-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0;line-height:1.4}.availability-hint{margin-top:var(--space-sm)}.input{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font:inherit;font-size:var(--font-size-md);padding:.55rem .7rem}.input:hover{border-color:color-mix(in srgb, var(--color-border) 60%, var(--color-accent))}.input:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:1px}.input::placeholder{color:var(--color-text-muted);opacity:.7}select.input{cursor:pointer}.checkbox{align-items:center;gap:var(--space-sm);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;display:inline-flex}.checkbox input{width:1rem;height:1rem;accent-color:var(--color-accent)}.checkbox-row{gap:var(--space-lg);flex-wrap:wrap;display:flex}.field-editor{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.field-editor-item{gap:var(--space-sm);padding:var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.field-editor-head{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);display:flex}.notice{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left-width:4px;flex-direction:column;display:flex}.notice-info{border-left-color:var(--color-accent)}.notice-success{background:color-mix(in srgb, var(--color-success) 16%, var(--color-surface));border-left-color:var(--color-success)}.notice-danger{background:color-mix(in srgb, var(--color-danger) 20%, var(--color-surface));border-left-color:var(--color-danger)}.notice-text{margin:0}.loading{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);margin:0;display:flex}.loading-dot{background:var(--color-accent);border-radius:50%;width:.6rem;height:.6rem;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.empty-state{padding:var(--space-lg);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.empty-title{margin:0 0 var(--space-xs);font-weight:var(--font-weight-medium)}.empty-state p:last-child{margin-bottom:0}.facts{gap:var(--space-sm) var(--space-lg);grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);margin:0;display:grid}.fact{display:contents}.fact dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.fact dd{overflow-wrap:anywhere;min-width:0;margin:0}.facts-compact{gap:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.breadcrumb{gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{margin-right:var(--space-xs);color:var(--color-border);content:"/"}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);display:flex}.list-row:first-child{padding-top:0}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-link{min-width:0;color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.list-name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}a.list-link:hover .list-name,button.list-link:hover .list-name{color:var(--color-accent)}.list-meta{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.item-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));margin:0;padding:0;list-style:none;display:grid}.item-card{gap:var(--space-sm);height:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);flex-direction:column;text-decoration:none;transition:background-color .12s,border-color .12s,transform .12s;display:flex}.item-card:hover{background:var(--color-surface-raised);border-color:var(--color-accent);transform:translateY(-2px)}.item-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.item-card-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);overflow-wrap:anywhere;margin:0}.item-card-reference{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.item-card-foot{align-items:flex-start;gap:var(--space-xs);flex-direction:column;margin-top:auto;display:flex}.type-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));margin:0;padding:0;list-style:none;display:grid}.pager{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-sm);display:flex}.code-display{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-xl);letter-spacing:.08em;overflow-wrap:anywhere;margin:0}.filters{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.filters .field-wide{grid-column:span 2}.filter-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree ul{margin-left:var(--space-lg);padding-left:var(--space-xs);border-left:1px solid var(--color-border)}.tree-row{align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);display:flex}.tree-toggle{border-radius:var(--radius-sm);width:1.6rem;height:1.6rem;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.tree-toggle:hover{background:var(--color-surface-raised);color:var(--color-text)}.tree-select{align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.tree-select:hover{background:var(--color-surface-raised)}.tree-select-active{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));box-shadow:inset 2px 0 0 var(--color-accent)}.tree-name{overflow-wrap:anywhere}.tree-count{color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;margin-left:auto}.split{gap:var(--space-lg);grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start;display:grid}.detail-grid{gap:var(--space-lg);grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);align-items:start;display:grid}.dashboard{gap:var(--space-lg);grid-template-columns:minmax(0,3fr) minmax(16rem,2fr);align-items:start;display:grid}@media (width<=1000px){.split,.detail-grid,.dashboard{grid-template-columns:minmax(0,1fr)}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.topbar-inner{gap:var(--space-md)}.session-email{display:none}.page-title{font-size:var(--font-size-xl)}.page-subtitle{font-size:var(--font-size-md)}.filters{grid-template-columns:minmax(0,1fr)}.filters .field-wide{grid-column:auto}.facts{gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.fact dt{margin-top:var(--space-sm)}.shell-main{padding-top:var(--space-lg)}}.loan-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.loan-row{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.loan-row-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.loan-item{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);overflow-wrap:anywhere;margin:0}.loan-item a{color:inherit;text-decoration:none}.loan-item a:hover{color:var(--color-accent)}.loan-facts{font-size:var(--font-size-sm);overflow-wrap:anywhere;margin:0}.loan-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.extend-form{align-items:center;gap:var(--space-xs);display:flex}.input-compact{width:auto;font-size:var(--font-size-sm);padding:.4rem .6rem}.loan-mini-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.loan-mini-row{justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plan-scroll{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.plan-table{border-collapse:collapse;width:100%;min-width:56rem;font-size:var(--font-size-sm)}.plan-table th,.plan-table td{padding:var(--space-sm);border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);text-align:left;vertical-align:top}.plan-table thead th{background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.plan-table tbody tr:last-child th,.plan-table tbody tr:last-child td{border-bottom:0}.plan-table th:first-child,.plan-table td:first-child{border-left:0}.plan-resource{min-width:12rem}.plan-resource>span{display:block}.plan-resource-name{font-weight:var(--font-weight-medium)}.plan-cell{min-width:9rem}.plan-half{padding-bottom:var(--space-xs)}.plan-half+.plan-half{padding-top:var(--space-xs);border-top:1px dashed var(--color-border)}.plan-half-head{align-items:center;gap:var(--space-xs);display:flex}.plan-half-name{min-width:2rem;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.04em;text-transform:uppercase}.plan-book{color:var(--color-accent);font:inherit;font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:underline}.plan-bookers{margin:var(--space-xs) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.plan-booker{align-items:center;gap:var(--space-xs);display:flex}.plan-cancel{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .15rem;line-height:1}.plan-cancel:hover{color:var(--color-text)}@media (prefers-reduced-motion:reduce){.nav-link,.button,.item-card{transition:none}.loading-dot{animation:none}}
