:root{--app-error:#b3261e;--app-error-soft:#fdecea;--app-ok-soft:#e3f3ec;--app-warn:#7a4a00;--app-warn-soft:#fff1dc;--app-blue-soft:#e6eef7}.app [hidden],.app-dialog [hidden]{display:none!important}.app{padding-bottom:var(--space-16)}@media (width<=599px){.member-crumbs:not(:has(li:nth-child(3))),.member-crumbs li:not(:nth-last-child(2)){display:none}.breadcrumbs.member-crumbs li:nth-last-child(2):after{content:none}.member-crumbs li:nth-last-child(2) a:before{content:"← ";content:"← " / "";white-space:pre}.member-crumbs ol{margin-bottom:var(--space-2)}}.app-narrow{max-width:46rem}.app-mid{max-width:var(--container-sm)}.app-head{gap:var(--space-4) var(--space-8);margin-bottom:var(--space-6);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.app-head>div{flex:28rem;min-width:0}.app-head h1{margin-bottom:var(--space-2)}.app-head .lead{margin:0}.app-title{font-size:clamp(2.2rem,3vw + 1rem,3.4rem)}.app-section{margin-top:var(--space-12)}.app-section>h2:first-child{margin-bottom:var(--space-4)}.form{gap:var(--space-4);display:grid}.field{gap:var(--space-1);min-width:0;display:grid}.field>label,.label{font-size:.95rem;font-weight:600}.req{color:var(--app-error)}.hint{color:var(--vcil-muted);margin:0;font-size:.875rem}.field-error{color:var(--app-error);margin:0;font-size:.875rem;font-weight:600}.input,.select,.textarea{font:inherit;border-radius:var(--radius-lg);background:var(--vcil-white);width:100%;min-height:46px;color:var(--vcil-ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border:1.5px solid #0303032e;padding:.65rem .9rem}.input:hover,.select:hover,.textarea:hover{border-color:#03030352}.input:focus,.select:focus,.textarea:focus{border-color:var(--vcil-blue);outline:none;box-shadow:0 0 0 4px #26589224}.textarea{resize:vertical;min-height:6rem}.input::placeholder,.textarea::placeholder{color:#6b6b6b}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--app-error);box-shadow:0 0 0 1px var(--app-error)}input[type=checkbox][aria-invalid=true]{outline:2px solid var(--app-error);outline-offset:2px}.fieldset{border:1px solid var(--vcil-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4) var(--space-4);min-width:0;margin:0}.fieldset>legend{padding:0 var(--space-1);font-weight:600}.check{gap:var(--space-2);cursor:pointer;align-items:center;min-height:44px;font-weight:400;display:flex}.check input{width:1.2rem;height:1.2rem;accent-color:var(--vcil-blue);flex:none}.checks{gap:0 var(--space-6);flex-wrap:wrap;display:flex}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.form-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--space-1);border-radius:var(--radius-round);border:1.5px solid var(--vcil-border);background:var(--vcil-white);min-height:44px;color:var(--ink-2);font:500 .9rem/1.2 var(--font-body);cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);padding:0 1rem;text-decoration:none;display:inline-flex}.chip:hover{background:var(--vcil-blue-tint);color:var(--vcil-blue-strong);border-color:#26589259}.chip[aria-pressed=true],.chip[aria-current=page],.chip[aria-current=true]{background:var(--vcil-blue-tint);border-color:var(--vcil-blue);color:var(--vcil-blue-strong);font-weight:600}.chip[aria-pressed=true]:before,.chip[aria-current=page]:before,.chip[aria-current=true]:before{content:"✓";content:"✓" / "";font-weight:700}.chip-count{opacity:.8;font-variant-numeric:tabular-nums;margin-inline-start:.35em;font-weight:400}.toolbar{gap:var(--space-3) var(--space-4);margin:var(--space-4) 0;flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.toolbar .search{flex:0 22rem}.search-field{flex:0 22rem;min-width:min(100%,16rem);position:relative}.notice{margin:0 0 var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);border-radius:var(--radius-md);border:1px solid #2658922e;border-left:4px solid var(--vcil-blue);background:var(--app-blue-soft);color:var(--vcil-ink)}.notice-ok{border-color:var(--vcil-green-text);background:var(--app-ok-soft)}.notice-error{border-color:var(--app-error);background:var(--app-error-soft)}.notice-warn{border-color:var(--app-warn);background:var(--app-warn-soft)}.notice>:last-child{margin-bottom:0}.status-line{min-height:1.6em;margin:0 0 var(--space-3);color:var(--vcil-muted)}.toast{z-index:60;left:50%;bottom:var(--space-6);max-width:calc(100vw - 2rem);padding:var(--space-3) var(--space-6);border-radius:var(--radius-round);background:var(--vcil-ink);color:var(--vcil-white);font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #03030333}.empty{padding:var(--space-12) var(--space-6);text-align:center;border-radius:var(--radius-xl);background:var(--surface-2);color:var(--ink-2);border:1.5px dashed #26589240}.loading{color:var(--vcil-muted)}.tag{border-radius:var(--radius-round);background:var(--vcil-white);border:1px solid var(--vcil-border);color:var(--vcil-ink);white-space:nowrap;align-items:center;gap:.3rem;padding:.25rem .7rem;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.tag-green{background:var(--app-ok-soft);color:#00593e;border-color:#0000}.tag-blue{background:var(--app-blue-soft);color:var(--vcil-blue);border-color:#0000}.tag-amber{background:var(--app-warn-soft);color:var(--app-warn);border-color:#0000}.tag-red{background:var(--app-error-soft);color:#8c1d15;border-color:#0000}.tag-solid{background:var(--vcil-blue);border-color:var(--vcil-blue);color:var(--vcil-white)}.tag-solid-green{background:var(--vcil-green-text);border-color:var(--vcil-green-text);color:var(--vcil-white)}.tag-caps{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);font-weight:700}.tags{flex-wrap:wrap;gap:.35rem;display:flex}.app-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));margin:0;padding:0;list-style:none;display:grid}.app-card :is(h2,h3,h4),.hub-card-title{text-wrap:pretty}.app-card{gap:var(--space-3);min-width:0;padding:var(--space-6);border-radius:var(--radius-md);background:var(--vcil-white);border:1px solid var(--vcil-border);box-shadow:var(--shadow-sm);color:var(--vcil-ink);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;display:flex;position:relative}.app-card:has(.stretched):hover,.app-card.is-link:hover{box-shadow:var(--shadow-md);border-color:#26589259;transform:translateY(-2px)}.stretched:after{content:"";border-radius:inherit;position:absolute;inset:0}.app-card-soft{background:var(--surface-2);box-shadow:none}@media (prefers-reduced-motion:reduce){.app-card{transition:none}.app-card:has(.stretched):hover,.app-card.is-link:hover{transform:none}}.app-card h2,.app-card h3{color:var(--vcil-ink);overflow-wrap:anywhere;margin:0;font-size:1.3rem}.app-card p{margin:0}.app-card .card-actions{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.card-line{background:var(--vcil-white);border:1px solid var(--vcil-border)}.meta-list{grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0;display:grid}.meta-list dt{font-weight:600}.meta-list dd{overflow-wrap:anywhere;margin:0}.pre-line{white-space:pre-line;overflow-wrap:anywhere}.stats{gap:var(--space-3);margin:0 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));display:grid}.icon-well{border-radius:var(--radius-sm);background:var(--vcil-blue-tint);width:44px;height:44px;color:var(--vcil-blue);flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-well-green{background:var(--vcil-green-tint);color:var(--vcil-green-text)}.icon-well-amber{background:var(--app-warn-soft);color:var(--app-warn)}.icon-well-sm{width:36px;height:36px}.stat{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background:var(--vcil-white);border:1px solid var(--vcil-border);box-shadow:var(--shadow-sm)}.stat-n{font-family:var(--font-heading);color:var(--vcil-blue);font-size:2rem;line-height:1.15;display:block}.stat-l{font-weight:600;display:block}.stat-s{color:var(--vcil-muted);font-size:.875rem;display:block}.kv{margin:0}.kv>div{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--vcil-border);display:flex}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--vcil-muted);overflow-wrap:anywhere;min-width:0}.kv dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.table-wrap{border:1px solid var(--vcil-border);border-radius:var(--radius-md);background:var(--vcil-white);box-shadow:var(--shadow-sm);position:relative;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.95rem}.data-table caption{text-align:left;padding:var(--space-3) var(--space-3) 0;font-weight:600}.data-table th,.data-table td{text-align:left;vertical-align:top;padding:var(--space-3);border-bottom:1px solid var(--vcil-border)}.data-table thead th{letter-spacing:.02em;color:var(--vcil-muted);background:var(--surface-2);white-space:nowrap;font-size:.8rem;font-weight:600}.data-table tbody tr:hover>*{background:#26589208}.data-table tbody tr:last-child>*{border-bottom:0}.num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.in{color:var(--vcil-green-text)}.app-dialog{border-radius:var(--radius-xl);width:min(40rem,100vw - 2rem);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-lg);color:var(--vcil-ink);border:0;padding:0}.app-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182880}.dialog-body{padding:var(--space-6)}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.dialog-head h2{margin:0}.drawer{border-radius:0;width:min(34rem,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.app-confirm{width:min(28rem,100vw - 2rem)}.app-confirm .dialog-head{margin-bottom:var(--space-3)}.app-confirm .dialog-head h2{font-size:var(--h4)}.app-confirm p{color:var(--ink-2);margin:0}.app-confirm .form-actions{margin-top:var(--space-6)}.btn-sm{padding:.5em .95em;font-size:.9rem}.btn-danger{background:var(--vcil-white);color:var(--app-error);border-color:var(--app-error)}.btn-danger:hover{background:var(--app-error-soft);color:var(--app-error)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--vcil-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:inline-grid}.icon-btn:hover{background:var(--vcil-soft)}.link-btn{min-height:44px;font:inherit;color:var(--vcil-link);text-underline-offset:.18em;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;display:inline-flex}.link-btn:hover{color:var(--vcil-blue-strong)}.back-link{align-items:center;min-height:44px;font-size:.95rem;display:inline-flex}.progress{border-radius:var(--radius-round);background:var(--surface-3);height:8px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--grad-green);height:100%;display:block}.hero-card{padding:var(--space-6) var(--space-8);border-radius:var(--radius-xl);background:var(--grad-blue);color:var(--vcil-white);position:relative;overflow:hidden;box-shadow:0 18px 40px -18px #265892b3}.hero-card:after{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffffff1a,#0000 65%);border-radius:50%;width:70%;position:absolute;top:-60%;right:-20%}.hero-card-green{background:var(--grad-green);box-shadow:0 18px 40px -18px #007a5599}.hero-card a{color:var(--vcil-white)}.hero-card :focus-visible,.on-dark :focus-visible{outline-color:var(--vcil-white)}.hero-label{color:#ffffffd9;margin:0;font-size:.95rem}.hero-figure{margin:var(--space-2) 0;font-family:var(--font-heading);letter-spacing:-.03em;font-size:clamp(3rem,6vw + 1rem,4.5rem);line-height:1}.hero-figure small{letter-spacing:0;font-size:.4em;font-weight:600;font-family:var(--font-body);margin-left:.35rem}.hero-sub{color:#ffffffe6;margin:0;font-size:.95rem}.pill{border-radius:var(--radius-round);color:var(--vcil-white);background:#0003;align-items:center;gap:.45rem;padding:.35rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #fff3}.pill:before{content:"";background:#7cffcb;border-radius:50%;width:.5rem;height:.5rem}.pill-off:before{background:#ffc6a8}.tabs{gap:var(--space-1);margin:0 0 var(--space-6);border-bottom:1px solid var(--vcil-border);scrollbar-width:none;padding:0;list-style:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:48px;color:var(--ink-2);font:500 .95rem/1.2 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0 1rem;text-decoration:none;display:inline-flex;position:relative}.tab:hover{color:var(--vcil-blue)}.tab[aria-current=page],.tab[aria-current=true],.tab[aria-selected=true],.tab[aria-pressed=true]{color:var(--vcil-blue);font-weight:700}.tab[aria-current=page]:after,.tab[aria-current=true]:after,.tab[aria-selected=true]:after,.tab[aria-pressed=true]:after{content:"";background:var(--vcil-blue);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.tab-count{border-radius:var(--radius-round);background:var(--surface-3);min-width:1.4rem;color:var(--ink-2);text-align:center;padding:0 .4rem;font-size:.75rem;font-weight:600;line-height:1.4rem}.panel{padding:var(--space-6);border-radius:var(--radius-md);background:var(--vcil-white);border:1px solid var(--vcil-border);box-shadow:var(--shadow-sm)}.panel>h2:first-child,.panel>h3:first-child,.panel-title{margin:0 0 var(--space-4);font-family:var(--font-body);letter-spacing:0;color:var(--vcil-ink);font-size:1.15rem;font-weight:700}.rows{margin:0;padding:0;list-style:none}.row{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--vcil-border);display:flex}.rows>.row:first-child{border-top:0}.row-ico{background:var(--vcil-blue-tint);width:2.5rem;height:2.5rem;color:var(--vcil-blue);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.row-main{flex:1;min-width:0}.row-title{overflow-wrap:anywhere;margin:0;font-weight:600}.row-sub{color:var(--vcil-muted);overflow-wrap:anywhere;margin:.1rem 0 0;font-size:.85rem}.row-end{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.row-end.in{color:var(--vcil-green-text)}.meta-lines{color:var(--ink-2);gap:.4rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.meta-lines li{overflow-wrap:anywhere;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.meta-lines svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem;color:var(--vcil-muted);flex:none;margin-top:.15rem}.cover{aspect-ratio:16/9;padding:var(--space-4);background:var(--grad-dusk);color:var(--vcil-white);place-items:end center;display:grid;position:relative}.cover-badge{border-radius:var(--radius-round);color:var(--vcil-ink);background:#ffffffeb;padding:.3rem .8rem;font-size:.85rem;font-weight:600}@media (width<=599px){.hero-card{padding:var(--space-6)}.panel,.app-card,.dialog-body{padding:var(--space-4)}}.person{vertical-align:middle;align-items:center;gap:.55rem;min-width:0;display:inline-flex}.person-avatar,[data-person-key]{position:relative;overflow:hidden}.person-avatar{background:var(--vcil-blue-tint);width:2.5rem;height:2.5rem;color:var(--vcil-blue-strong);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;line-height:1;display:inline-grid}.person-sm .person-avatar{width:1.75rem;height:1.75rem;font-size:.72rem}.person-lg .person-avatar{width:3.5rem;height:3.5rem;font-size:1.15rem}.person-name{overflow-wrap:anywhere;min-width:0}.person-photo{border-radius:inherit;object-fit:cover;background:var(--surface-3);width:100%;height:100%;position:absolute;inset:0}.person-link{z-index:1;color:inherit;text-underline-offset:.18em;-webkit-text-decoration:underline #26589259;text-decoration:underline #26589259;position:relative}.person-link:hover{color:var(--vcil-blue-strong);text-decoration-color:currentColor}
