@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wIaZfrc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wsaZfrc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wMaZfrc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wwaZfrc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wAaZfrc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wEaZfrc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wIaZfrc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wsaZfrc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wMaZfrc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wwaZfrc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wAaZfrc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wEaZfrc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wIaZfrc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wsaZfrc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wMaZfrc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wwaZfrc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wAaZfrc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wEaZfrc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wIaZfrc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wsaZfrc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wMaZfrc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wwaZfrc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wAaZfrc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3wEaZfrc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sidebar: #0f1720;--sidebar-text: #d7dde5;--sidebar-active: #fff;--bg: #f3f3f3;--surface: #fff;--text: #1a1a1a;--muted: #667;--border: #ddd;--link: #447e9b;--primary: #417690;--danger: #ba2121;--ok: #0a7a3d;--warn: #c47b00}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:"Source Sans 3",Segoe UI,sans-serif;background:var(--bg);color:var(--text)}h1,h2{font-weight:600}h1{margin:0 0 16px;font-size:1.6rem}h2{margin:0 0 12px;font-size:1.1rem}a,.link,.addlink{color:var(--link);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none}a:hover,.link:hover{text-decoration:underline}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:var(--sidebar);color:var(--sidebar-text);padding:20px 16px;display:flex;flex-direction:column;gap:16px}.brand{color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none}aside nav{display:flex;flex-direction:column;gap:4px}aside nav a{color:var(--sidebar-text);padding:7px 10px;border-radius:6px}aside nav a.active,aside nav a:hover{color:var(--sidebar-active);background:#ffffff14;text-decoration:none}.nav-label{margin:14px 10px 4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8b97a5}main{min-width:0;padding:28px 32px 48px}.module{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:18px 20px;margin-bottom:20px;overflow-x:auto}fieldset.module,section.module:has(>h2){padding:0 20px 18px;min-inline-size:0}fieldset.module>h2,section.module>h2{margin:0 -20px 16px;padding:8px 16px;background:#79aec8;color:#fff;border-radius:5px 5px 0 0;font-size:.95rem;font-weight:600}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.lede,.quiet,.hint{color:var(--muted)}.quiet{font-size:.85em}.ok{color:var(--ok);font-weight:600}.warn{color:var(--warn);font-weight:600}.bad{color:var(--danger);font-weight:600}.mono{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}table{width:max-content;min-width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap}thead th{color:var(--muted);font-size:.82rem}.thumb,.preview{width:48px;height:48px;object-fit:cover;border-radius:4px;background:#eee}.with-thumb{display:flex;align-items:center;gap:8px}.preview{width:96px;height:96px}.filters,.grid,.row{display:grid;gap:12px}.filters,.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.row{grid-template-columns:1fr 1fr auto;align-items:end}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.field{display:block;font-size:.86rem;font-weight:600;color:#444}.field input,.field textarea,.field select{display:block;width:100%;margin-top:6px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font:inherit}.check{display:flex;align-items:center;gap:8px;margin:10px 0}input[type=checkbox]{width:auto}button,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:0;border-radius:4px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(1.05);text-decoration:none}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:#205067}button.danger{background:var(--danger)}button.ghost{background:transparent;color:var(--sidebar-text);border:1px solid #334;margin-top:auto}.submit-row,.actions{display:flex;gap:10px;margin-top:16px}.error{color:var(--danger);background:#fde8e8;padding:10px 12px;border-radius:4px}.error-list{margin:12px 0 0;padding-left:18px}.error-list li{margin:6px 0}.error-list .mono{margin:0 6px}.details{display:grid;grid-template-columns:180px 1fr;gap:8px 16px}.details dt{color:var(--muted)}.details dd{margin:0}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}.image-grid figure{margin:0;background:#fafafa;border:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:8px}.image-grid figure.is-thumb{border-color:var(--primary)}.image-grid figcaption{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.image-grid figure.is-thumb figcaption{color:var(--primary)}.image-grid .image-actions{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.image-grid .image-actions .danger{padding:4px 8px;font-size:.78rem}.image-grid img{width:100%;height:110px;object-fit:cover}pre{background:#f7f7f7;border:1px solid var(--border);padding:12px;overflow:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;background:#e8e8e8}.login-card{width:min(420px,100% - 32px);background:#fff;padding:28px;border:1px solid var(--border)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--primary)}@media(max-width:900px){.admin-shell,.filters,.grid,.row,.pair,.changelist{grid-template-columns:1fr}aside{flex-direction:column}aside nav{width:100%}}.changelist{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;align-items:start;width:100%;min-width:0}.changelist__main{min-width:0;overflow-x:auto}.filter-panel{background:var(--surface);color:var(--text);border:1px solid var(--border);display:block;padding:0;min-width:200px}.filter-panel button.link{display:block;width:100%;margin:0;padding:2px 0;background:none;color:var(--link);border:0;border-radius:0;font-weight:400;text-align:left;text-transform:none;letter-spacing:0}.filter-panel button.link.is-selected{color:var(--text);font-weight:700}.changelist__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;color:var(--muted)}.changelist__bar .go{background:#888;padding:4px 10px}.changelist table{background:var(--surface);border:1px solid var(--border)}.changelist th a{display:inline-flex;align-items:center;gap:8px}.changelist thead th{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;background:#f6f6f6}.changelist tbody tr.is-selected{background:#fff3bf}.changelist tfoot td{color:var(--muted);border-bottom:0}button.add-item,.button.add-item{background:#888;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.filter-panel{background:var(--surface);border:1px solid var(--border)}.filter-panel h2{margin:0;padding:8px 12px;background:var(--primary);color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.filter-panel .filter-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.filter-panel .field{width:100%}.filter-panel h3{margin:4px 0 0;font-size:.95rem}.filter-panel ul{list-style:none;margin:8px 0 0;padding:0}.filter-panel li+li{margin-top:6px}.filter-panel button.is-selected{color:var(--text);font-weight:700;text-decoration:none}.delete-confirm h1{font-weight:400;color:#666}.delete-confirm h2{margin:18px 0 8px;font-size:1rem}.delete-confirm ul{margin:0 0 8px 18px;padding:0}.delete-confirm li+li{margin-top:4px}.delete-confirm__actions{display:flex;gap:8px;margin-top:18px}.delete-confirm button.cancel{background:#888}.change-form h2{font-size:1rem}.change-form .submit-row{background:#f6f6f6;border:1px solid var(--border);padding:12px}@media(max-width:900px){.changelist{grid-template-columns:1fr}}
