.adm{--adm-sidebar:232px;--adm-thumb:48px;--adm-photo:200px;min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}.adm a{text-decoration:none}.adm-shell{display:grid;grid-template-columns:var(--adm-sidebar) 1fr;min-height:100vh}.adm-side{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl);position:-webkit-sticky;position:sticky;top:0;height:100vh}.adm-brand{font-family:var(--font-display);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);padding:0 var(--space-sm)}.adm-brand small{display:block;font-family:var(--font-body);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.adm-nav{display:flex;flex-direction:column;gap:var(--space-xs)}.adm-nav a{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body)}.adm-nav a:hover{background:var(--color-bg-primary);color:var(--color-text-primary)}.adm-nav a[aria-current=page]{background:var(--color-inverse-bg);color:var(--color-inverse-text)}.adm-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-md);font-size:var(--font-size-body);color:var(--color-text-secondary)}.adm-side-foot strong{display:block;color:var(--color-text-primary)}.adm-main{padding:var(--space-2xl);min-width:0}.adm-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.adm-page-head h1{font-size:var(--font-size-h2);margin:0}.adm-back,.adm-muted{color:var(--color-text-secondary);font-size:var(--font-size-body)}.adm-back{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md)}.adm-back:hover{color:var(--color-text-primary)}.adm-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg) var(--space-xl)}.adm-card h2{font-size:var(--font-size-h4);margin:0 0 var(--space-lg)}.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-xl)}.adm-stat{display:block;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg) var(--space-xl);color:inherit}.adm-stat:hover{border-color:var(--color-text-primary)}.adm-stat-label{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.adm-stat-value{font-family:var(--font-display);font-size:var(--font-size-h1);line-height:var(--line-height-tight);margin-top:var(--space-sm)}.adm-toolbar{align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.adm-tabs,.adm-toolbar{display:flex;flex-wrap:wrap}.adm-tabs{gap:var(--space-sm)}.adm-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.adm-tab:hover{color:var(--color-text-primary);border-color:var(--color-text-primary)}.adm-tab[aria-current=true]{background:var(--color-inverse-bg);border-color:var(--color-inverse-bg);color:var(--color-inverse-text)}.adm-search{display:flex;gap:var(--space-sm);flex-wrap:wrap}.adm-input,.adm-select,.adm-textarea{font:inherit;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.adm-input:focus,.adm-select:focus,.adm-textarea:focus{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.adm-textarea{width:100%;min-height:96px;resize:vertical}.adm-input[aria-invalid=true],.adm-textarea[aria-invalid=true]{border-color:var(--color-error)}.adm-phone-wrap{display:flex;align-items:center;gap:var(--space-xs)}.adm-phone-prefix{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-sunken);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);-webkit-user-select:none;-moz-user-select:none;user-select:none}.adm-phone-wrap .adm-input{flex:1 1}.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--color-inverse-bg);background:var(--color-inverse-bg);color:var(--color-inverse-text);cursor:pointer}.adm-btn:hover:not(:disabled){opacity:.88}.adm-btn:disabled{opacity:.5;cursor:not-allowed}.adm-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary)}.adm-btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary);padding-inline:var(--space-md)}.adm-btn-danger{background:var(--color-bg-secondary);border-color:var(--color-error);color:var(--color-error)}.adm-action,.adm-confirm{display:flex;flex-direction:column;gap:var(--space-md)}.adm-confirm{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary)}.adm-confirm-message{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-body)}.adm-confirm-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.adm-table-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}.adm-table th{text-align:left;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.adm-table td,.adm-table th{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.adm-table td{vertical-align:middle}.adm-table tr:last-child td{border-bottom:0}.adm-table tbody tr:hover{background:var(--color-bg-primary)}.adm-row-link{color:inherit;font-weight:var(--font-weight-semibold)}.adm-row-link:hover{text-decoration:underline}.adm-listing-cell{display:flex;align-items:center;gap:var(--space-md);min-width:260px}.adm-thumb{width:var(--adm-thumb);height:var(--adm-thumb);border-radius:var(--radius-md);object-fit:cover;background:var(--color-bg-sunken);flex:none}.adm-thumb-empty{display:grid;place-items:center;color:var(--color-text-tertiary)}.adm-empty{padding:var(--space-3xl) var(--space-xl);text-align:center;color:var(--color-text-secondary)}.adm-th-plain{display:inline-block;padding:var(--space-xs) 0}.adm-th-btn{display:inline-flex;align-items:center;gap:var(--space-xs);margin:calc(var(--space-xs) * -1) calc(var(--space-sm) * -1);padding:var(--space-xs) var(--space-sm);font:inherit;font-size:inherit;font-weight:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap;background:transparent;border:0;border-radius:var(--radius-pill);cursor:pointer}.adm-th-btn:hover{color:var(--color-text-primary);background:var(--color-bg-primary)}.adm-th-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.adm-th-btn[aria-expanded=true] .adm-th-chevron{transform:rotate(180deg)}.adm-th-chevron{flex:none;transition:transform .12s ease}.adm-th-btn[data-active=true]{background:var(--color-inverse-bg);color:var(--color-inverse-text)}.adm-th-btn[data-active=true]:hover{background:var(--color-inverse-bg);opacity:.88}.adm-menu{position:fixed;z-index:1000;min-width:224px;max-width:320px;max-height:60vh;overflow-y:auto;margin:0;padding:var(--space-xs);list-style:none;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-body);font-size:var(--font-size-body);text-transform:none;letter-spacing:0;font-weight:var(--font-weight-regular)}.adm-menu-note{color:var(--color-text-secondary);font-size:var(--font-size-caption);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xs)}.adm-menu-item,.adm-menu-note{padding:var(--space-sm) var(--space-md)}.adm-menu-item{display:flex;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.adm-menu-item:focus-visible,.adm-menu-item:hover{background:var(--color-bg-primary);outline:none}.adm-menu-item[aria-selected=true]{font-weight:var(--font-weight-semibold)}.adm-menu-check{width:var(--space-lg);flex:none;text-align:center}.adm-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}.adm-table th{vertical-align:middle}.adm-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-bg-primary);border:1px solid var(--color-border);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap}.adm-badge-strong{background:var(--color-inverse-bg);border-color:var(--color-inverse-bg);color:var(--color-inverse-text)}.adm-icon{flex:none}.adm-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-lg);font-size:var(--font-size-body);color:var(--color-text-secondary)}.adm-pager-links{display:flex;gap:var(--space-sm)}.adm-pager-disabled{opacity:.4;pointer-events:none}.adm-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:var(--space-xl);gap:var(--space-xl);align-items:start}.adm-stack{display:flex;flex-direction:column;gap:var(--space-xl)}.adm-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--adm-photo),1fr));grid-gap:var(--space-md);gap:var(--space-md)}.adm-photo{position:relative;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-sunken)}.adm-photo img{width:100%;height:100%;object-fit:cover}.adm-photo .adm-badge{position:absolute;left:var(--space-sm);bottom:var(--space-sm)}.adm-doc{display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-sunken)}.adm-doc img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.adm-dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-md) var(--space-xl);gap:var(--space-md) var(--space-xl);margin:0;font-size:var(--font-size-body)}.adm-dl dt{color:var(--color-text-secondary)}.adm-dl dd{margin:0;overflow-wrap:anywhere}.adm-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.adm-desc{white-space:pre-wrap;line-height:var(--line-height-body);margin:0}.adm-actions{display:flex;flex-direction:column;gap:var(--space-md)}.adm-note{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-bg-primary);border:1px solid var(--color-border)}.adm-error,.adm-note{display:flex;gap:var(--space-sm);align-items:flex-start;font-size:var(--font-size-body)}.adm-error{color:var(--color-error);font-weight:var(--font-weight-semibold)}.adm-ok{display:flex;gap:var(--space-sm);align-items:flex-start;color:var(--color-success)}.adm-label,.adm-ok{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.adm-label{display:block;margin-bottom:var(--space-xs)}.adm-btn-sm{padding:var(--space-sm) var(--space-lg)}.adm-icon-btn{--adm-icon-btn:40px;display:inline-grid;place-items:center;width:var(--adm-icon-btn);height:var(--adm-icon-btn);padding:0;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer}.adm-icon-btn:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-primary);border-color:var(--color-border)}.adm-icon-btn:disabled{opacity:.35;cursor:not-allowed}.adm-ph-add{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.adm-ph-add .adm-input{flex:1 1 280px}.adm-ph-hint{margin:var(--space-sm) 0 0}.adm-ph-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap}.adm-ph-head h2{margin-bottom:var(--space-sm)}.adm-ph-error{margin:0 0 var(--space-lg)}.adm-ph-list{list-style:none;margin:var(--space-lg) 0 0;padding:0}.adm-ph-item{display:grid;grid-template-columns:var(--space-xl) minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-md);gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.adm-ph-item:last-child{border-bottom:0}.adm-ph-num{text-align:center;color:var(--color-text-secondary)}.adm-ph-num,.adm-ph-text{font-weight:var(--font-weight-semibold)}.adm-ph-text{overflow-wrap:anywhere}.adm-ph-text[data-off=true]{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.adm-ph-meta{margin-top:var(--space-xs)}.adm-ph-edit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.adm-ph-edit .adm-input{flex:1 1 240px}.adm-ph-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.adm-cat-item{grid-template-columns:minmax(0,1fr) auto}.adm-cat-summary{gap:var(--space-md)}.adm-cat-meta,.adm-cat-summary{display:flex;align-items:center}.adm-cat-meta{flex-wrap:wrap;gap:var(--space-sm)}.adm-cat-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-caption)}.adm-cat-thumb{flex:none;display:grid;place-items:center;width:56px;height:48px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary)}.adm-cat-thumb img{width:100%;height:100%;object-fit:cover}.adm-cat-thumb-empty{color:var(--color-text-secondary)}.adm-cat-thumb-lg{width:96px;height:96px}.adm-cat-form{flex-wrap:wrap;gap:var(--space-lg)}.adm-cat-form,.adm-cat-form-pic{display:flex;align-items:flex-start}.adm-cat-form-pic{flex-direction:column;gap:var(--space-sm)}.adm-cat-pic-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.adm-cat-form-main{flex:1 1 260px;min-width:0}.adm-cat-form-buttons{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.adm-cat-form input[type=file]:focus-visible+label{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:720px){.adm-ph-item{grid-template-columns:var(--space-xl) minmax(0,1fr)}.adm-cat-item{grid-template-columns:minmax(0,1fr)}.adm-ph-actions{grid-column:1/-1;justify-content:flex-start}}.adm-login{min-height:100vh;display:grid;place-items:center;padding:var(--space-xl);background:var(--color-bg-primary)}.adm-login-card{width:100%;max-width:420px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-lg)}.adm-login-card h1{font-size:var(--font-size-h3);margin:0}.adm-login-card form{display:flex;flex-direction:column;gap:var(--space-lg)}.adm-login-card .adm-input{width:100%}@media (max-width:900px){.adm-shell{grid-template-columns:1fr}.adm-side{position:static;height:auto;align-items:center;padding:var(--space-lg)}.adm-nav,.adm-side{flex-direction:row;flex-wrap:wrap}.adm-side-foot{margin-top:0;margin-left:auto;flex-direction:row;align-items:center}.adm-main{padding:var(--space-lg)}.adm-detail{grid-template-columns:1fr}}.adm-nav-group-btn{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border:0;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font:inherit;font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);cursor:pointer;text-align:left}.adm-nav-group-btn:hover,.adm-nav-group[data-active=true]>.adm-nav-group-btn{background:var(--color-bg-primary);color:var(--color-text-primary)}.adm-nav-chevron{margin-left:auto;display:inline-flex;transition:transform .15s}.adm-nav-chevron[data-open=true]{transform:rotate(180deg)}.adm-nav-sub{display:flex;flex-direction:column;gap:var(--space-xs);margin:var(--space-xs) 0 var(--space-xs) var(--space-xl);padding-left:var(--space-sm);border-left:1px solid var(--color-border)}.adm-side{overflow-y:auto}.adm-web-form,.adm-web-items{gap:var(--space-lg);width:100%}.adm-field,.adm-web-form,.adm-web-items{display:flex;flex-direction:column}.adm-field .adm-input,.adm-field .adm-select{width:100%}.adm-web-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-lg);gap:var(--space-lg)}.adm-web-item{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.adm-web-image,.adm-web-item{display:flex;flex-direction:column;gap:var(--space-md)}.adm-web-image{align-items:flex-start}.adm-web-image-preview{width:100%;max-width:360px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}.adm-web-image-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-secondary);background:var(--color-bg-primary)}.adm-web-nav-kids{margin-left:var(--space-2xl)}.adm-web-nav-group>.adm-ph-item{width:100%}.adm-web-add{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg);align-items:end;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}@media (max-width:800px){.adm-web-row{grid-template-columns:1fr}}.adm-web-thumb{width:96px;height:56px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);flex:none}.adm-web-tabrow{grid-template-columns:1fr 1fr auto;align-items:center}.adm-ph-item--form{grid-template-columns:minmax(0,1fr);align-items:stretch}.adm-ph-item--thumb{grid-template-columns:var(--space-xl) 96px minmax(0,1fr) auto}.adm-web-form{max-width:760px}@media (max-width:800px){.adm-ph-item--thumb{grid-template-columns:var(--space-xl) 96px minmax(0,1fr)}}