:root{--vl-font-heading: "Bricolage Grotesque", system-ui, sans-serif;--vl-font-body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--vl-bg: #f1f5f6;--vl-surface: #ffffff;--vl-border: #dce4e7;--vl-divider: #e8eef0;--vl-border-dashed: #c5d1d5;--vl-placeholder: #d6e4e7;--vl-ink: #0e2a3b;--vl-muted: #4b5f6b;--vl-navy: #0e2a3b;--vl-heading: #0e2a3b;--vl-muted-on-navy: #c9d6db;--vl-accent: #0f7c86;--vl-accent-strong: #0b6a73;--vl-accent-soft: #e0f0f1;--vl-accent-soft-ink: #0b5e66;--vl-tertiary: #f2a33a;--vl-success-soft: #e3f4ea;--vl-success-ink: #0b4f2b;--vl-valid: #1e7a4a;--vl-warning-soft: #fdf0e8;--vl-warning-ink: #9a3409;--vl-warning-border: #f3c9ae;--vl-warning-icon: #b9410c;--vl-danger: #b42318;--vl-danger-strong: #96190f;--vl-danger-soft: #fbeae8;--vl-danger-border: #f1c2bd;--vl-emergency: #8f1d0e;--vl-radius-card: 14px;--vl-radius-permit: 18px;--vl-radius-button: 12px;--vl-radius-button-sm: 8px;--vl-radius-input: 10px;--vl-radius-badge: 6px;--vl-button-height: 50px;--vl-button-height-md: 44px;--vl-button-height-sm: 36px;--vl-touch-target: 44px;--vl-shell-max-width: 560px;--vl-admin-max-width: 1280px;--vl-wide-max-width: 1200px;--vl-reading-width: 760px;--vl-focus-color: var(--vl-accent);--vl-focus-width: 3px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--vl-bg);color:var(--vl-ink);font-family:var(--vl-font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--vl-font-heading);line-height:1.2}h1{color:var(--vl-heading);font-size:26px;font-weight:700;letter-spacing:-.5px}h2{color:var(--vl-heading);font-size:19px;font-weight:600}h3{font-size:16px;font-weight:600;font-family:var(--vl-font-body)}p{margin:0}a{color:var(--vl-accent);font-weight:600;text-decoration:none}a:hover{color:var(--vl-accent-strong);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:var(--vl-focus-width) solid var(--vl-focus-color);outline-offset:2px}.vl-input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--vl-border);border-radius:var(--vl-radius-input);background:var(--vl-surface);color:var(--vl-ink);font-size:16px}.vl-input::placeholder{color:var(--vl-muted);opacity:.8}.vl-input:focus-visible{border-color:var(--vl-accent);outline-offset:0}.vl-input[aria-invalid=true]{border-color:var(--vl-danger)}.vl-input:disabled{background:var(--vl-bg);color:var(--vl-muted)}textarea.vl-input{min-height:104px;padding:12px 14px;resize:vertical}input[type=file].vl-input{padding:10px 12px;font-size:14px}select.vl-input{padding-right:36px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234B5F6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}input[type=color].vl-input{flex:none;width:48px;padding:4px;cursor:pointer}input[type=color].vl-input::-webkit-color-swatch-wrapper{padding:0}input[type=color].vl-input::-webkit-color-swatch{border:0;border-radius:6px}input[type=color].vl-input::-moz-color-swatch{border:0;border-radius:6px}input[type=checkbox].vl-input{width:22px;min-height:0;height:22px;margin:1px 0 0;padding:0;flex-shrink:0;accent-color:var(--vl-accent)}.vl-switch{position:relative;flex-shrink:0;width:46px;height:28px;margin:0;border-radius:999px;background:var(--vl-border-dashed);appearance:none;cursor:pointer;transition:background-color .12s ease}.vl-switch:before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0e2a3b40;transition:transform .12s ease}.vl-switch:checked{background:var(--vl-accent)}.vl-switch:checked:before{transform:translate(18px)}.vl-switch:focus-visible{outline:var(--vl-focus-width) solid var(--vl-focus-color);outline-offset:2px}.vl-switch:disabled{cursor:not-allowed;opacity:.5}.vl-switch[aria-invalid=true]{box-shadow:0 0 0 2px var(--vl-danger)}.vl-segmented{display:inline-flex;padding:3px;border:1px solid var(--vl-border);border-radius:var(--vl-radius-input);background:var(--vl-bg)}.vl-segmented label{position:relative}.vl-segmented input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.vl-segmented span{display:flex;align-items:center;min-height:38px;padding:0 16px;border-radius:8px;color:var(--vl-muted);font-size:14px;font-weight:600}.vl-segmented input:checked+span{background:var(--vl-surface);color:var(--vl-ink);box-shadow:0 1px 2px #0e2a3b26}.vl-segmented input:focus-visible+span{outline:var(--vl-focus-width) solid var(--vl-focus-color)}.vl-icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--vl-touch-target);height:var(--vl-touch-target);padding:0;border:1px solid var(--vl-border);border-radius:var(--vl-radius-button-sm);background:var(--vl-surface);color:var(--vl-ink);cursor:pointer}.vl-icon-button:hover:not(:disabled){border-color:var(--vl-accent);color:var(--vl-accent)}.vl-icon-button:disabled{cursor:not-allowed;opacity:.4}.vl-icon-button--danger:hover:not(:disabled){border-color:var(--vl-danger);color:var(--vl-danger)}.vl-link-button{align-self:flex-start;min-height:32px;padding:0;border:0;background:none;color:var(--vl-accent);font-size:14px;font-weight:600;cursor:pointer}.vl-link-button:hover{text-decoration:underline}.vl-brand-stripe{height:4px;background:linear-gradient(to right,var(--vl-tertiary) 0 24%,var(--vl-accent) 24% 100%)}.vl-stack{display:flex;flex-direction:column;gap:16px}.vl-stack-sm{display:flex;flex-direction:column;gap:8px}.vl-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.vl-row--between{justify-content:space-between}.vl-page{display:flex;flex-direction:column;gap:16px;padding:16px 20px 32px}.vl-form{display:flex;flex-direction:column;gap:16px}.vl-muted{color:var(--vl-muted)}.vl-small{font-size:13px;line-height:1.45;color:var(--vl-muted)}.vl-prose{white-space:pre-line;overflow-wrap:anywhere}.vl-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.vl-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.vl-skip-link{position:absolute;top:8px;left:8px;z-index:100;padding:10px 14px;border-radius:var(--vl-radius-button-sm);background:var(--vl-surface);transform:translateY(-200%)}.vl-skip-link:focus{transform:none}.vl-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0}.vl-details dt{font-size:12px;color:var(--vl-muted)}.vl-details dd{margin:2px 0 0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.vl-table-wrap{position:relative;background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:var(--vl-radius-card);overflow-x:auto}.vl-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}.vl-table th{padding:14px 16px;border-bottom:1px solid var(--vl-divider);color:var(--vl-muted);font-size:13px;font-weight:600;text-align:left;white-space:nowrap}.vl-table td{padding:14px 16px;border-bottom:1px solid var(--vl-divider);vertical-align:top}.vl-table tbody tr:last-child td{border-bottom:0}.vl-table .vl-table__actions{text-align:right}.vl-table .vl-table__primary{font-weight:600}.vl-table .vl-table__secondary{display:block;margin-top:2px;font-size:13px;color:var(--vl-muted)}.vl-table-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:640px){.vl-table{min-width:0}.vl-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vl-table tbody,.vl-table tr,.vl-table td{display:block}.vl-table tr{padding:12px 16px;border-bottom:1px solid var(--vl-divider)}.vl-table tbody tr:last-child{border-bottom:0}.vl-table td{position:relative;padding:3px 0;border-bottom:0;overflow-wrap:anywhere}.vl-table td[data-label]:empty{display:none}.vl-table td[data-label]{padding-left:112px}.vl-table td[data-label]:before{content:attr(data-label);position:absolute;top:4px;left:0;width:100px;font-size:13px;color:var(--vl-muted)}.vl-table .vl-table__actions{padding-top:10px;text-align:left}.vl-table-actions{flex-wrap:wrap;justify-content:stretch}.vl-table-actions>*{flex:1}}.vl-table-empty{margin:0;padding:28px 16px;text-align:center;font-size:14px;color:var(--vl-muted)}.vl-filter{display:flex;flex-wrap:wrap;gap:8px}.vl-filter button{height:var(--vl-button-height-sm);padding:0 14px;border-radius:18px;border:1px solid var(--vl-border);background:var(--vl-surface);color:var(--vl-ink);font-size:14px}.vl-filter button[aria-pressed=true]{border-color:var(--vl-accent);background:var(--vl-accent);color:#fff;font-weight:600}.vl-splash{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.vl-splash__text{font-size:14px;color:var(--vl-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.vl-admin-heading{display:flex;flex-direction:column;gap:6px}.vl-admin-heading h1{font-size:28px}.vl-admin-heading p{font-size:15px;color:var(--vl-muted)}.vl-admin-back{display:inline-flex;align-self:flex-start;align-items:center;gap:2px;min-height:var(--vl-touch-target);font-size:14px;font-weight:600}.vl-admin-section{display:flex;flex-direction:column;gap:14px}.vl-admin-page{display:flex;flex-direction:column;gap:24px}.vl-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--vl-muted)}
