.dash{display:grid;grid-template-columns:1fr;min-height:100dvh;background:var(--color-bg-canvas)}@media(min-width:1024px){.dash{grid-template-columns:240px 1fr}}.dash-sidebar{display:flex;flex-direction:column;background:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle)}@media(min-width:1024px){.dash-sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto}}.dash-sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.dash-sidebar__brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;min-width:0}.dash-sidebar__brand:hover{text-decoration:none}.dash-sidebar__close{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.dash-sidebar__close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.dash-sidebar__role{margin-left:auto;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-bg-subtle)}.dash-sidebar__nav{flex:1;padding:var(--space-4) var(--space-3)}.dash-sidebar__group{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 0}.dash-sidebar__group+.dash-sidebar__group{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.dash-sidebar__group-label{display:block;padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary)}.dash-sidebar__link{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-decoration:none;transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.dash-sidebar__link:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.dash-sidebar__link[aria-current=page]{background:var(--color-brand-muted);color:var(--color-brand-hover)}.dash-sidebar__link[aria-current=page]:hover{color:var(--color-brand-hover)}.dash-sidebar__link svg{flex-shrink:0;width:16px;height:16px;color:currentColor}.dash-sidebar__link-badge{margin-left:auto;padding:1px 7px;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-pill);background:var(--color-bg-subtle);color:var(--color-text-secondary)}.dash-sidebar__link[aria-current=page] .dash-sidebar__link-badge{background:color-mix(in srgb,var(--color-brand) 18%,transparent);color:var(--color-brand-hover)}.dash-sidebar__footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--color-border-subtle)}.dash-sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.dash-sidebar__user-avatar{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--color-brand-muted);color:var(--color-brand-hover);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase}.dash-sidebar__user-info{flex:1;min-width:0}.dash-sidebar__user-name{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-sidebar__user-email{display:block;font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-sidebar__logout{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background:transparent;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.dash-sidebar__logout:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.dash-topbar,.dash-backdrop,.dash-sidebar__menu-toggle{display:none}@media(max-width:1023.98px){.dash{display:block}.dash-topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:56px;padding:0 var(--space-4);background:color-mix(in srgb,var(--color-bg-surface) 92%,transparent);backdrop-filter:saturate(160%) blur(8px);-webkit-backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--color-border-subtle)}.dash-topbar__brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;min-width:0}.dash-topbar__role{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-bg-subtle)}.dash-topbar__toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.dash-topbar__toggle:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.dash-backdrop{display:block;position:fixed;inset:0;background:#0f172a80;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-default)}.dash-backdrop[data-show=true]{opacity:1;pointer-events:auto}.dash-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);background:var(--color-bg-surface);transform:translate(-100%);transition:transform .28s var(--ease-default),box-shadow .28s var(--ease-default);z-index:var(--z-modal);border-right:1px solid var(--color-border-subtle);box-shadow:4px 0 24px #0000;overflow-y:auto;overscroll-behavior:contain}.dash-sidebar[data-mobile-open=true]{transform:translate(0);box-shadow:4px 0 32px #0f172a2e}.dash-sidebar__close{display:inline-flex}.dash-sidebar__head{padding:var(--space-4)}}body.dash-drawer-locked{overflow:hidden}@media(prefers-reduced-motion:reduce){.dash-sidebar,.dash-backdrop{transition:none}}.dash-content{padding:var(--space-6) var(--space-5) var(--space-12);max-width:1200px;margin:0 auto;width:100%}@media(min-width:768px){.dash-content{padding:var(--space-8) var(--space-8) var(--space-16)}}.dash-pagehead{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border-subtle)}@media(min-width:768px){.dash-pagehead{flex-direction:row;align-items:flex-end;justify-content:space-between}}.dash-pagehead__intro{flex:1;min-width:0}.dash-pagehead__breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.dash-pagehead__breadcrumbs a{color:var(--color-text-secondary);text-decoration:none}.dash-pagehead__breadcrumbs a:hover{color:var(--color-text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.dash-pagehead__breadcrumb-sep{color:var(--color-text-tertiary)}.dash-pagehead__title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}@media(min-width:768px){.dash-pagehead__title{font-size:var(--text-3xl)}}.dash-pagehead__lede{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-md);max-width:60ch;text-wrap:pretty}.dash-pagehead__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dash-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:-.01em;cursor:pointer;text-decoration:none;transition:background var(--motion-fast) var(--ease-default),border-color var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default);white-space:nowrap}.dash-btn--primary{background:var(--color-brand);color:var(--color-text-on-brand);box-shadow:inset 0 -1px #0000001f,0 1px 2px #0f172a14}.dash-btn--primary:hover{background:var(--color-brand-hover);color:var(--color-text-on-brand);text-decoration:none}.dash-btn--secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-default)}.dash-btn--secondary:hover{background:var(--color-bg-subtle);text-decoration:none}.dash-btn--ghost{background:transparent;color:var(--color-text-secondary)}.dash-btn--ghost:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.dash-btn--danger{background:var(--color-error);color:#fff}.dash-btn--danger:hover{background:var(--red-700);color:#fff;text-decoration:none}.dash-btn--sm{height:30px;padding:0 var(--space-3);font-size:var(--text-xs)}.dash-btn--danger-ghost{color:var(--color-error)}.dash-btn--danger-ghost:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error)}.row-actions{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.stat-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media(min-width:640px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat-grid--4{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.stat-card__label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.stat-card__value{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);line-height:var(--leading-tight)}@media(min-width:768px){.stat-card__value{font-size:var(--text-3xl)}}.stat-card__delta{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary)}.stat-card__delta--up{color:var(--color-success)}.stat-card__delta--down{color:var(--color-error)}.dash-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.dash-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.dash-card__title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight)}.dash-card__lede{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.dash-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.dash-table thead th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-subtle)}.dash-table tbody td{padding:var(--space-4);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);vertical-align:top}.dash-table tbody tr:last-child td{border-bottom:0}.dash-table tbody tr{transition:background var(--motion-fast) var(--ease-default)}.dash-table tbody tr:hover{background:var(--color-bg-subtle)}.dash-table__primary{font-weight:var(--font-semibold);color:var(--color-text-primary)}.dash-table__sub{display:block;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.dash-table__num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right}.dash-table__actions{display:flex;gap:var(--space-2);justify-content:flex-end}.filter-strip{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);padding:4px;background:var(--color-bg-subtle);border-radius:var(--radius-lg);width:fit-content;flex-wrap:wrap}.filter-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-decoration:none;transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.filter-pill:hover{color:var(--color-text-primary);text-decoration:none}.filter-pill[aria-current=page]{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.filter-pill__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:var(--font-semibold);border-radius:var(--radius-pill);background:var(--color-bg-canvas);color:var(--color-text-tertiary)}.filter-pill[aria-current=page] .filter-pill__count{background:var(--color-brand-muted);color:var(--color-brand-hover)}.detail-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr}@media(min-width:900px){.detail-grid{grid-template-columns:1fr 1fr}}.detail-list{display:flex;flex-direction:column;gap:var(--space-3)}.detail-list__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm)}.detail-list__row:last-child{border-bottom:0;padding-bottom:0}.detail-list__row dt{color:var(--color-text-secondary);font-weight:var(--font-medium);flex-shrink:0}.detail-list__row dd{margin:0;text-align:right;color:var(--color-text-primary);word-break:break-word;min-width:0}.detail-list__row dd code{font-size:var(--text-xs);overflow-wrap:anywhere;word-break:break-all;white-space:normal}.dash-card code:not(.license-key__value),.dash-table code:not(.license-key__value),.dash-callout code:not(.license-key__value),.callout code:not(.license-key__value){overflow-wrap:anywhere;word-break:break-all;white-space:normal}.action-stack{display:flex;flex-direction:column;gap:var(--space-2)}.action-stack form{margin:0;display:contents}.action-stack .dash-btn{width:100%;justify-content:flex-start}.action-stack .dash-btn:disabled{opacity:.5;cursor:not-allowed}.profile-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:480px}.profile-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.profile-form__label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.profile-form__hint-inline{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-tertiary)}.profile-form__input{height:40px;padding:0 var(--space-3);background:var(--color-bg-canvas);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--motion-fast) var(--ease-default),box-shadow var(--motion-fast) var(--ease-default)}.profile-form__input:focus{outline:0;border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 20%,transparent)}select.profile-form__input{padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;appearance:none;-webkit-appearance:none}.profile-form__hint{font-size:var(--text-xs);color:var(--color-text-tertiary);display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.profile-form__actions{margin-top:var(--space-2);display:flex;gap:var(--space-3);flex-wrap:wrap}.md-helper{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:var(--color-bg-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:0;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.md-helper__hints{flex:1;margin:0;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.md-helper__hints strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.md-helper__hints span:not(.md-helper__sep){color:var(--color-text-secondary)}.md-helper__sep{color:var(--color-text-tertiary);user-select:none}.md-helper__hints a{color:var(--color-text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;font-weight:var(--font-medium)}.md-helper__creds{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.md-helper+.EasyMDEContainer .editor-toolbar{border-top-left-radius:0;border-top-right-radius:0;border-top:1px solid var(--color-border-subtle)}.EasyMDEContainer{font-family:var(--font-sans)}.EasyMDEContainer .editor-toolbar{background:var(--color-bg-canvas);border-color:var(--color-border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--space-2)}.EasyMDEContainer .editor-toolbar button{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.EasyMDEContainer .editor-toolbar button:hover,.EasyMDEContainer .editor-toolbar button.active{background:var(--color-bg-subtle);color:var(--color-text-primary);border-color:transparent}.EasyMDEContainer .editor-toolbar i.separator{border-left:1px solid var(--color-border-subtle)}.EasyMDEContainer .CodeMirror{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-subtle);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.EasyMDEContainer .CodeMirror-cursor{border-color:var(--color-text-primary)}.EasyMDEContainer .CodeMirror-selected{background:color-mix(in srgb,var(--color-brand) 20%,transparent)!important}.EasyMDEContainer .CodeMirror-focused{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 20%,transparent)}.EasyMDEContainer .editor-preview,.EasyMDEContainer .editor-preview-side{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-subtle);font-family:var(--font-sans);line-height:var(--leading-relaxed)}.EasyMDEContainer .editor-preview pre,.EasyMDEContainer .editor-preview code{background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle)}[data-theme=dark] .EasyMDEContainer .CodeMirror{background:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .EasyMDEContainer .editor-toolbar{background:var(--color-bg-canvas)}[data-theme=dark] .EasyMDEContainer .editor-toolbar button.active,[data-theme=dark] .EasyMDEContainer .editor-toolbar button:hover{background:var(--color-bg-subtle)}.license-key{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-canvas);border:1px solid var(--color-border-default);border-radius:var(--radius-md);flex-wrap:wrap}.license-key__value{flex:1;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);background:transparent;border:0;padding:0;white-space:nowrap;overflow-x:auto;letter-spacing:.5px;min-width:0}.link-list{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.link-list a{font-weight:var(--font-medium)}.callout{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid;border-left-width:3px;font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.callout strong{color:inherit;font-weight:var(--font-semibold)}.callout p{margin:0}.callout p+p{margin-top:var(--space-2)}.callout--info{background:var(--color-info-bg);border-color:var(--color-info-border);border-left-color:var(--color-info);color:var(--color-info)}.callout--info a{color:var(--color-info);text-decoration:underline;font-weight:var(--font-medium)}.callout--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);border-left-color:var(--color-warning);color:var(--color-warning)}.callout--success{background:var(--color-success-bg);border-color:var(--color-success-border);border-left-color:var(--color-success);color:var(--color-success)}.callout--error{background:var(--color-error-bg);border-color:var(--color-error-border);border-left-color:var(--color-error);color:var(--color-error)}.callout--error a{color:var(--color-error);text-decoration:underline;font-weight:var(--font-medium)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);text-transform:capitalize;background:var(--color-bg-subtle);color:var(--color-text-secondary)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill--success{background:var(--color-success-bg);color:var(--color-success)}.pill--warning{background:var(--color-warning-bg);color:var(--color-warning)}.pill--error{background:var(--color-error-bg);color:var(--color-error)}.pill--info{background:var(--color-info-bg);color:var(--color-info)}.pill--neutral{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.dash-empty{text-align:center;padding:var(--space-12) var(--space-6);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.dash-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-bg-subtle);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.dash-empty__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold)}.dash-empty__lede{color:var(--color-text-secondary);font-size:var(--text-sm);max-width:40ch;margin:0 auto var(--space-4)}.auth-page{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:var(--color-bg-canvas)}.auth-page__top{padding:var(--space-6)}.auth-page__brand{text-decoration:none;color:inherit}.auth-page__brand:hover{text-decoration:none}.auth-page__main{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6)}.auth-card{width:100%;max-width:420px;padding:var(--space-8);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.auth-card__title{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.auth-card__lede{margin:0 0 var(--space-6);color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-card__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-card__field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-card__field-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.auth-card__field-help{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-tertiary)}.auth-card__input{height:40px;padding:0 var(--space-3);background:var(--color-bg-canvas);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--motion-fast) var(--ease-default),box-shadow var(--motion-fast) var(--ease-default)}.auth-card__input:focus{outline:0;border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 20%,transparent)}.auth-card__captcha{display:flex;justify-content:center;margin-top:var(--space-2)}.auth-card__captcha .h-captcha{display:inline-block}.auth-card__submit{margin-top:var(--space-2);width:100%;height:42px;background:var(--color-brand);color:var(--color-text-on-brand);border:0;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:-.01em;cursor:pointer;box-shadow:inset 0 -1px #0000001f,0 1px 2px #0f172a14;transition:background var(--motion-fast) var(--ease-default),box-shadow var(--motion-fast) var(--ease-default)}.auth-card__submit:hover{background:var(--color-brand-hover);box-shadow:inset 0 -1px #00000029,0 4px 12px #22c55e2e}.auth-card__submit:active{transform:translateY(1px);box-shadow:inset 0 1px 2px #0000001f}.auth-card__submit:disabled,.auth-card__submit.is-loading{cursor:progress;opacity:.85}.form-loading-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:form-loading-spin .6s linear infinite;vertical-align:-2px;opacity:.7}@keyframes form-loading-spin{to{transform:rotate(360deg)}}.dash-btn.is-loading,button.is-loading{cursor:progress;opacity:.85}.auth-card__alt{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle);font-size:var(--text-sm);text-align:center;color:var(--color-text-secondary)}.auth-card__alt a{color:var(--color-text-primary);font-weight:var(--font-medium)}.auth-card__error{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-error)}.auth-card__success{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-success)}.auth-card__devnote{margin-top:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-info);line-height:var(--leading-relaxed)}.auth-card__devnote code{background:#0000000f;border:0;padding:1px 6px;border-radius:var(--radius-xs);font-size:.95em}.auth-page__bottom{padding:var(--space-6);text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary)}.auth-page__back{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--motion-fast) var(--ease-default),color var(--motion-fast) var(--ease-default)}.auth-page__back:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.dash-table tr:target,.dash-card[id^=lic-]:target,.dash-card[id^=sub-]:target,.ticket-msg[id^=msg-]:target{animation:dash-row-pulse 2.5s var(--ease-default) 1}@keyframes dash-row-pulse{0%{background:var(--color-brand-muted);box-shadow:0 0 0 3px var(--color-brand-muted)}60%{background:var(--color-brand-muted);box-shadow:0 0 0 3px var(--color-brand-muted)}to{background:transparent;box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.dash-table tr:target,.dash-card[id^=lic-]:target,.dash-card[id^=sub-]:target,.ticket-msg[id^=msg-]:target{animation:none;background:var(--color-brand-muted)}}.diag-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-canvas)}.diag-section__summary{display:flex;flex-direction:column;gap:4px;padding:var(--space-3) var(--space-4);cursor:pointer;list-style:none;user-select:none}.diag-section__summary::-webkit-details-marker{display:none}.diag-section__summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--color-text-muted);transition:transform .12s}.diag-section[open] .diag-section__summary:before{transform:rotate(90deg)}.diag-section__title{font-weight:var(--font-semibold);color:var(--color-text-primary)}.diag-section__optional{margin-left:6px;font-weight:var(--font-normal);font-size:var(--text-xs);color:var(--color-brand-deep, #15803d)}.diag-section__hint{margin-left:22px;font-size:var(--text-xs);color:var(--color-text-muted)}.diag-section__body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle)}.diag-section__row-3{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media(min-width:720px){.diag-section__row-3{grid-template-columns:1fr 1fr 1fr}}.diag-section__check,.ticket-policy__check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.diag-section__check input,.ticket-policy__check input{margin-top:4px}.ticket-policy{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.ticket-policy__check span{line-height:var(--leading-relaxed)}.ticket-policy a{color:var(--color-text-primary);text-decoration:underline;font-weight:var(--font-medium)}.ticket-policy a:hover{color:var(--color-brand)}.diag-section__body textarea,.diag-section__body input[type=url],.diag-section__body input[type=text]{width:100%}.diag-section__body textarea{padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-primary);resize:vertical}.diag-section__body textarea:focus{outline:0;border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 20%,transparent)}
