.button.button-sm,.button.sm,.button.small{min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--text-md);gap:6px}.button.button-lg{min-height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-base)}.button.ghost{color:var(--text);background:0 0;border:1px solid #0000}.button.ghost:hover:where(:not(:disabled)){background:var(--raised)}.button.outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.button.outline:hover:where(:not(:disabled)){background:var(--tint)}.button.danger{background:var(--danger);border:1px solid var(--danger);color:var(--on-danger)}.button.danger:hover:where(:not(:disabled)){background:color-mix(in srgb, var(--danger) 86%, var(--text));border-color:color-mix(in srgb, var(--danger) 86%, var(--text))}.button.link{min-height:auto;color:var(--primary);border-radius:var(--radius-xs);background:0 0;border:0;padding:2px 0}.button.link:hover:where(:not(:disabled)){text-underline-offset:3px;background:0 0;text-decoration:underline}.button.link:active:where(:not(:disabled)){transform:none}.button.button-icon-only{width:var(--control-md);min-width:var(--control-md);padding:0}.button.button-icon-only svg{width:var(--icon-md);height:var(--icon-md)}.button.button-icon-only.button-sm{width:var(--control-sm);min-width:var(--control-sm)}.button.button-icon-only.button-sm svg{width:var(--icon-sm);height:var(--icon-sm)}.button.button-icon-only.button-lg{width:var(--control-lg);min-width:var(--control-lg)}.button-icon{align-items:center;line-height:0;display:inline-flex}.button:disabled:not(.is-loading),.button[aria-disabled=true]{background:var(--raised);border-color:var(--border);color:var(--subtle);opacity:1;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.button.ghost:disabled:not(.is-loading),.button.link:disabled:not(.is-loading){background:0 0;border-color:#0000}.button.is-loading{cursor:progress;opacity:1;position:relative}.button.is-loading:not(.is-loading-inline){color:#0000!important}.button.is-loading:not(.is-loading-inline)>:not(.button-spinner){visibility:hidden}.button-spinner{--spinner:var(--on-primary);width:var(--icon-sm);height:var(--icon-sm);border-radius:var(--radius-full);border:2px solid color-mix(in srgb, var(--spinner) 30%, transparent);border-top-color:var(--spinner);flex:none;animation:.7s linear infinite button-spin}.button.is-loading:not(.is-loading-inline)>.button-spinner{margin:auto;position:absolute;inset:0}.button.secondary .button-spinner,.button.ghost .button-spinner,.button.outline .button-spinner,.button.link .button-spinner{--spinner:currentColor}.button.secondary.is-loading:not(.is-loading-inline) .button-spinner,.button.ghost.is-loading:not(.is-loading-inline) .button-spinner{--spinner:var(--text)}.button.outline.is-loading:not(.is-loading-inline) .button-spinner,.button.link.is-loading:not(.is-loading-inline) .button-spinner{--spinner:var(--primary)}.button.danger .button-spinner{--spinner:var(--on-danger)}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button-spinner{animation-duration:2s!important;animation-iteration-count:infinite!important}}@media (max-width:767px),(pointer:coarse){.button.button-sm,.button.sm,.button.small{min-height:var(--touch)}.button.button-icon-only,.button.button-icon-only.button-sm{width:var(--touch);min-width:var(--touch)}.button.button-lg,.button.button-icon-only.button-lg{min-height:var(--control-lg)}.button.link{min-height:var(--touch)}}.badge-dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:6px;height:6px}.form-field .field-label{align-items:baseline;gap:2px;display:inline-flex}.field-required{color:var(--danger);font-weight:var(--weight-semibold)}.field-meta{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.field-hint{color:var(--muted);font:var(--type-secondary)}.field-count{color:var(--muted);font:var(--type-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.field-count.is-over{color:var(--danger);font-weight:var(--weight-semibold)}.field-error,.field-success{font:var(--type-secondary);font-weight:var(--weight-medium);align-items:flex-start;gap:6px;margin:0;display:flex}.field-error{color:var(--danger)}.field-success{color:var(--success)}.field-error>svg,.field-success>svg{flex:none;width:14px;height:14px;margin-top:3px}.control{border-radius:var(--radius-control)}.control-textarea{min-height:96px}.checkbox-field{gap:var(--space-1);margin:var(--space-3) 0;flex-direction:column;display:flex}.checkbox-field .checkbox{margin:0}.checkbox-field>.field-hint,.checkbox-field>.field-error{padding-left:30px}@media (max-width:767px),(pointer:coarse){.checkbox-field .checkbox,.switch-field{min-height:var(--touch);align-items:center}.checkbox-field .checkbox>input{align-self:center;margin-top:0}}.switch-field{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;font:var(--type-body);display:flex;position:relative}.switch-input{opacity:0;cursor:pointer;width:36px;height:20px;margin:0;position:absolute}.switch-track{border-radius:var(--radius-full);background:var(--border-strong);width:36px;height:20px;transition:background-color var(--duration-fast) var(--ease-out);flex:none;position:relative}.switch-track:after{content:"";border-radius:var(--radius-full);background:var(--surface);width:16px;height:16px;box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-out);position:absolute;top:2px;left:2px}.switch-input:checked+.switch-track{background:var(--primary)}.switch-input:checked+.switch-track:after{transform:translate(16px)}.switch-input:focus-visible+.switch-track{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.switch-input:disabled+.switch-track{opacity:.5}.switch-field:has(.switch-input:disabled){color:var(--muted);cursor:not-allowed}.switch-text{flex-direction:column;display:flex}.switch-text>label{cursor:pointer}.switch-text .field-hint{font:var(--type-secondary)}.tabs,.tab-nav{align-items:stretch;gap:var(--space-1);scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:var(--space-6);display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-nav::-webkit-scrollbar{display:none}.tabs>button,.tab-nav-item{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--muted);font:var(--type-button);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;text-decoration:none;display:inline-flex;position:relative}.tabs>button:after,.tab-nav-item:after{content:"";inset:auto var(--space-3) -1px;height:2px;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border-radius:2px 2px 0 0;position:absolute}.tabs>button:hover:where(:not([aria-selected=true],:disabled)),.tab-nav-item:hover:where(:not(.is-active)){color:var(--text)}.tabs>button:hover:where(:not([aria-selected=true],:disabled)):after,.tab-nav-item:hover:where(:not(.is-active)):after{background:var(--border-strong)}.tabs>button[aria-selected=true],.tab-nav-item.is-active{color:var(--text);font-weight:var(--weight-semibold)}.tabs>button[aria-selected=true]:after,.tab-nav-item.is-active:after{background:var(--primary)}.tabs>button:focus-visible,.tab-nav-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.tabs>button:disabled{color:var(--subtle);cursor:not-allowed}@media (max-width:767px),(pointer:coarse){.tabs>button,.tab-nav-item{min-height:var(--touch)}}.segmented{scrollbar-width:none;background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-md);gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented-item{min-height:34px;color:var(--muted);padding:0 var(--space-3);border-radius:var(--radius-sm);font:var(--type-label);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1 0 auto;justify-content:center;align-items:center;gap:6px;display:inline-flex}.segmented-item svg{width:var(--icon-sm);height:var(--icon-sm)}.segmented-sm .segmented-item{min-height:26px;padding:0 var(--space-2);font-size:var(--text-xs)}.segmented-item:hover:where(:not([aria-pressed=true],:disabled)){color:var(--text)}.segmented-item[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs)}.segmented-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.segmented-item:disabled{color:var(--subtle);cursor:not-allowed}@media (max-width:767px),(pointer:coarse){.segmented-item,.segmented-sm .segmented-item{min-height:var(--touch)}}.toolbar-bar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.toolbar-search{flex:280px;min-width:0;max-width:420px}.toolbar-filters{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.toolbar-filters>select,.toolbar-filters>.field{width:auto;min-width:160px;margin:0}.toolbar-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.toolbar-toggle{display:none}@media (max-width:767px){.toolbar-bar{align-items:stretch}.toolbar-search{flex-basis:100%;max-width:none}.toolbar-filters{flex:100%;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.toolbar-filters>select,.toolbar-filters>.field,.toolbar-filters>.segmented{width:100%;min-width:0}.toolbar-filters>.segmented{grid-column:1/-1}.toolbar-actions{flex:100%;margin-left:0}.toolbar-actions>.button{flex:auto}.toolbar-bar.is-collapsible .toolbar-search{flex:1 1 0}.toolbar-bar.is-collapsible .toolbar-toggle{display:inline-flex}.toolbar-bar.is-collapsible:not(.is-open) .toolbar-filters{display:none}}.card{min-width:0;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card.card-flush{padding:0;overflow:hidden}.card.card-compact{padding:var(--space-4)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);display:flex}.card.card-flush>.card-header{padding:var(--space-5) var(--space-6) var(--space-4);margin:0}.card-heading{min-width:0}.card-title{font:var(--type-card-title);margin:0}.card-description{color:var(--muted);font:var(--type-secondary);margin:2px 0 0}.card-action{align-items:center;gap:var(--space-2);flex:none;display:flex}.card-action>.text-button{min-height:24px}.card-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}@media (max-width:767px){.card{padding:var(--space-5)}.card.card-flush>.card-header{padding:var(--space-4) var(--space-5) var(--space-3)}}.stat-cards{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.stat-card{align-items:center;gap:var(--space-2) var(--space-3);min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label icon""value value""foot foot";display:grid}.stat-card-label{grid-area:label;min-height:20px}.stat-card-value{grid-area:value}.stat-card-foot{grid-area:foot}.stat-card-icon{border-radius:var(--radius-md);background:var(--raised);width:32px;height:32px;color:var(--muted);flex:none;grid-area:icon;place-items:center;display:grid}.stat-card-icon svg{width:var(--icon-sm);height:var(--icon-sm)}.stat-card-value{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);overflow-wrap:anywhere;line-height:1.15}.stat-card-label{font:var(--type-secondary);color:var(--muted)}.stat-card-foot{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.stat-card-hint{font:var(--type-secondary);color:var(--muted)}.stat-card-delta{font:var(--type-label);font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:2px;display:inline-flex}.stat-card-delta svg{width:14px;height:14px}.stat-card-delta.is-up{color:var(--success)}.stat-card-delta.is-down{color:var(--danger)}@media (max-width:767px){.stat-cards{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:var(--space-4)}.stat-card-value{font-size:1.75rem}}@media (max-width:359px){.stat-cards{grid-template-columns:minmax(0,1fr)}}.avatar.avatar-xs{width:24px;height:24px;font-size:var(--text-xs)}.avatar.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar.avatar-md{width:40px;height:40px;font-size:var(--text-base)}.avatar.avatar-lg{width:48px;height:48px;font-size:var(--text-lg)}.avatar.avatar-xl{width:72px;height:72px;font-size:var(--text-2xl)}.modal,.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(560px,100vw - 32px);max-width:none;max-height:min(85dvh,760px);color:var(--text);box-shadow:var(--shadow-xl);margin:auto;padding:0;overflow:hidden}.modal[open],.confirm-dialog[open]{animation:dialog-in var(--duration-slow) var(--ease-out);flex-direction:column;display:flex}.modal-sm,.confirm-dialog{width:min(440px,100vw - 32px)}.modal-lg{width:min(840px,100vw - 32px)}.modal::backdrop{background:var(--overlay);animation:backdrop-in var(--duration-base) var(--ease-out)}.confirm-dialog::backdrop{background:var(--overlay);animation:backdrop-in var(--duration-base) var(--ease-out)}.detail-sheet::backdrop{background:var(--overlay);animation:backdrop-in var(--duration-base) var(--ease-out)}.modal-body{flex-direction:column;flex:1;min-height:0;display:flex}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-6) var(--space-4);display:flex}.modal-heading{min-width:0;padding-top:6px}.modal-header h2,.confirm-dialog h2{font:var(--type-section-title);margin:0}.modal-description{margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-body)}.modal-header>.button{margin:0 calc(var(--space-2) * -1) 0 0}.modal-content{min-height:0;padding:0 var(--space-6) var(--space-6);overscroll-behavior:contain;flex:1;overflow-y:auto}.modal-content>:last-child{margin-bottom:0}.modal-footer,.confirm-actions{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.confirm-dialog>form{flex-direction:column;min-height:0;display:flex}.confirm-dialog h2{padding:var(--space-6) var(--space-6) 0}.confirm-body{padding:var(--space-2) var(--space-6) var(--space-6);overflow-y:auto}.confirm-body>.muted{font:var(--type-body);color:var(--muted)}.confirm-body .field,.confirm-error{margin:var(--space-4) 0 0}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-in-right{0%{transform:translate(100%)}}.detail-sheet{border:0;border-left:1px solid var(--border);border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:var(--surface);width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--text);box-shadow:var(--shadow-xl);margin:0 0 0 auto;padding:0}.detail-sheet[open]{animation:sheet-in-right var(--duration-slow) var(--ease-out);flex-direction:column;display:flex}.detail-sheet-body{min-height:0;padding:0 var(--space-6) var(--space-6);overscroll-behavior:contain;flex:1;overflow-y:auto}.detail-sheet-body>header{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 calc(var(--space-6) * -1) var(--space-4);padding:var(--space-5) var(--space-4) var(--space-3) var(--space-6);background:var(--surface);display:flex;position:sticky;top:0}.detail-sheet-body>header h2{font:var(--type-section-title);min-width:0;margin:0}.detail-sheet-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}@media (max-width:767px){.modal,.modal-sm,.modal-lg,.confirm-dialog,.detail-sheet{width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;max-height:calc(100dvh - env(safe-area-inset-top) - var(--space-4));border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:0;margin:auto 0 0}.modal[open],.confirm-dialog[open],.detail-sheet[open]{animation:sheet-up var(--duration-slow) var(--ease-out)}.detail-sheet{height:calc(100dvh - env(safe-area-inset-top) - var(--space-4))}.modal:before,.confirm-dialog:before,.detail-sheet:before{content:"";width:36px;height:4px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--border-strong);flex:none;align-self:center}.modal-header{padding:var(--space-3) var(--space-4) var(--space-3)}.modal-content{padding:0 var(--space-4) var(--space-5)}.modal-footer,.confirm-actions{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.modal-footer>.button,.confirm-actions>.button{flex:140px}.confirm-dialog h2{padding:var(--space-4) var(--space-4) 0}.confirm-body{padding:var(--space-2) var(--space-4) var(--space-5)}.detail-sheet-body{padding:0 var(--space-4) var(--space-5)}.detail-sheet-body>header{margin:0 calc(var(--space-4) * -1) var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4)}.detail-sheet-footer{padding-inline:var(--space-4)}.detail-sheet-footer>.button{flex:140px}}.skeleton-bar,.table-skeleton-row>span,.card-skeleton>span,.skeleton-block{border-radius:var(--radius-sm);--skeleton:color-mix(in srgb, var(--text) 8%, transparent);--skeleton-sheen:color-mix(in srgb, var(--text) 3%, transparent);background:linear-gradient(90deg, var(--skeleton) 0%, var(--skeleton-sheen) 40%, var(--skeleton) 80%);animation:skeleton-sweep 1.6s var(--ease-in-out) infinite;background-size:300% 100%;display:block}.skeleton-bar{width:100%;height:14px}.table-skeleton{flex-direction:column;display:flex}.table-skeleton-row{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);height:48px;display:flex}.table-skeleton-row>span{flex:1;height:14px}.table-skeleton-row>span:first-child{flex:1.6}.card-skeleton{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.card-skeleton>span{border-radius:var(--radius-lg);height:132px}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-bar,.table-skeleton-row>span,.card-skeleton>span,.skeleton-block{animation:none}}.data-table{min-width:0}.data-table caption{padding:0 0 var(--space-3);caption-side:top;text-align:left;font:var(--type-body);font-weight:var(--weight-semibold);color:var(--text)}.table-scroll{overscroll-behavior-x:contain;max-width:100%;overflow:auto}.table-scroll:focus-visible{outline-offset:0}.data-table table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.data-table td{height:48px}.data-table th{height:40px;padding-block:var(--space-2);color:var(--muted);font:var(--type-caption);font-size:var(--text-xs);white-space:nowrap}.data-table.has-sticky-header th{z-index:1;background:var(--surface);position:sticky;top:0}.data-table td.data-table-select>input,.data-table th.data-table-select>input{display:block}.data-table th:first-child,.data-table td:first-child{padding-left:var(--space-4)}.data-table th:last-child,.data-table td:last-child{padding-right:var(--space-4)}.data-table tbody tr:last-child>td{border-bottom:0}.data-table th button{border-radius:var(--radius-xs);min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:0 -6px;padding:0 6px;display:inline-flex}.data-table th button:hover{color:var(--text);background:var(--raised)}.data-table th[aria-sort=ascending] button,.data-table th[aria-sort=descending] button{color:var(--text)}.data-table-sort-icon{opacity:.7;width:14px;height:14px}.data-table th[aria-sort=none] .data-table-sort-icon{opacity:.35}.data-table-bulk{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--tint);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.data-table-bulk-count{font:var(--type-label);margin-right:auto}.data-table th.data-table-select,.data-table td.data-table-select{width:44px;padding-right:0}.data-table td.data-table-empty{height:auto;padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center}.data-table td.data-table-empty:has(>.empty){padding:var(--space-2) var(--space-4)}.data-table-empty .empty{padding:var(--space-6) 0}.data-table-empty .empty-title{color:var(--text)}.data-table-skeleton .skeleton-bar{width:100%}.data-table tbody tr:hover>td:not(.data-table-empty){background:var(--surface-hover)}.data-table tbody tr.is-selected>td{background:var(--tint)}.card-flush .data-table caption,.card-flush .data-cards-toolbar{padding-inline:var(--space-4)}.card-flush .table-pagination,.card-flush>.data-table-pagination{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.card-flush .data-cards{gap:0}.card-flush .data-card{border:0;border-top:1px solid var(--border);border-radius:0}.card-flush .data-table-cards>.checkbox{padding:var(--space-2) var(--space-4);margin:0}.table-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);color:var(--muted);font:var(--type-secondary);font-variant-numeric:tabular-nums;display:flex}.data-cards{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.data-cards-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.data-cards-caption{font:var(--type-body);font-weight:var(--weight-semibold);margin:0}.data-cards-sort{width:auto;max-width:60%}.data-card{gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex}.data-card.is-selected{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:var(--tint)}.data-card-select{padding-top:2px}.data-card-main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.data-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.data-card-title{min-width:0;font:var(--type-body);font-weight:var(--weight-semibold);color:var(--text);overflow-wrap:anywhere}.data-card-subtitle{color:var(--muted);font:var(--type-secondary);overflow-wrap:anywhere}.data-card-details{gap:var(--space-1) var(--space-4);margin:var(--space-2) 0 0;font:var(--type-secondary);grid-template-columns:minmax(0,auto) minmax(0,1fr);display:grid}.data-card-details dt{color:var(--muted)}.data-card-details dd{min-width:0;color:var(--text);text-align:right;overflow-wrap:anywhere;margin:0}.data-card-skeleton{gap:var(--space-2);display:grid}.data-card-skeleton .skeleton-bar:first-child{width:55%;height:16px}.data-cards-empty{padding:var(--space-6) var(--space-4);color:var(--muted);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.data-table-pagination{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) 0;color:var(--muted);font:var(--type-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.data-table-pagination strong{color:var(--text);font-weight:var(--weight-medium)}.pagination-summary,.pagination-size,.pagination-controls{align-items:center;gap:var(--space-2);display:flex}.pagination-summary{gap:var(--space-2) var(--space-4);flex-wrap:wrap}.pagination-size label{white-space:nowrap;margin:0}.pagination-size select{width:auto;min-height:var(--control-sm);font-size:var(--text-md);padding-block:0}.pagination-controls{gap:var(--space-1)}.pagination-page{margin:0 var(--space-2);white-space:nowrap}@media (max-width:767px){.data-table-pagination{align-items:stretch;gap:var(--space-2);flex-direction:column}.pagination-summary,.pagination-controls{justify-content:space-between}.pagination-controls .pagination-edge{display:none}.pagination-size select{min-height:var(--control-md)}.table-pagination>.button{flex:none}}.toast-stack{z-index:var(--z-toast);right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom));gap:var(--space-2);width:min(400px,100vw - 32px);display:grid;position:fixed}.toast{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font:var(--type-body);animation:toast-in var(--duration-slow) var(--ease-out);display:flex}.toast-icon{width:var(--icon-md);height:var(--icon-md);flex:none}.toast-message{min-width:0;padding-block:var(--space-1);overflow-wrap:anywhere;flex:1}.toast-action{min-height:var(--control-sm);padding:0 var(--space-2);font-weight:var(--weight-semibold);white-space:nowrap;flex:none}.toast>.button{flex:none}.toast-success .toast-icon{color:var(--success)}.toast-info .toast-icon{color:var(--info)}.toast-warning .toast-icon{color:var(--warning)}.toast-danger{border-color:var(--danger-border)}.toast-danger .toast-icon{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:767px){.toast-stack{left:var(--space-4);right:var(--space-4);width:auto;bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}:root:has(.bottom-nav) .toast-stack{bottom:calc(var(--tabbar-h) + var(--space-3) + env(safe-area-inset-bottom))}}.brand-logo-link{align-items:center;text-decoration:none;display:inline-flex}.brand-logo-img{object-fit:contain;width:auto;max-width:220px;height:40px;display:block}:root[data-theme=dark] .brand-logo-link{border-radius:var(--radius-md);background:#fff;padding:5px 9px}.sidebar .brand-logo-img{max-width:200px;height:44px}.legal-footer{padding:var(--space-6) var(--space-8);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-base);color:var(--muted);flex-wrap:wrap;display:flex}.legal-footer nav{gap:var(--space-5);flex-wrap:wrap;display:flex}.legal-footer a{color:inherit;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.legal-footer a:hover{color:var(--text);text-decoration:underline}.auth-legal{margin-top:var(--space-4);padding:var(--space-4) 0 0;text-align:center;font-size:var(--text-sm);justify-content:center;gap:var(--space-2);flex-direction:column}.auth-legal nav{gap:var(--space-4);justify-content:center;row-gap:var(--space-1)}.auth-legal a{min-height:32px}.route-error-icon{border-radius:var(--radius-full);background:var(--danger-bg);width:56px;height:56px;color:var(--danger);place-items:center;display:grid}.modal:focus,.confirm-dialog:focus,.detail-sheet:focus{outline:none}
