.field-error{color:var(--danger);font-size:var(--text-base);margin-top:4px;display:block}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.button.danger:hover:not(:disabled){filter:brightness(.92)}.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);width:min(440px,100vw - 32px);padding:var(--space-6);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xl)}.confirm-dialog::backdrop{background:var(--overlay)}.confirm-dialog h2{margin:0 0 8px;font-size:1.2rem}.confirm-dialog .field{margin-top:16px}.confirm-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.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}.site-header .brand-logo-img,.public-header .brand-logo-img{max-width:240px;height:46px}.mobile-brand .brand-logo-img{max-width:170px;height:34px}.badge:has(>.badge-dot){align-items:center;gap:6px}.badge-dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:6px;height:6px}.tab-nav{gap:var(--space-1);scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:var(--space-5);align-items:center;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-nav-item{padding:var(--space-3) var(--space-4);color:var(--muted);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;border-bottom:2px solid #0000;flex:none;text-decoration:none;transition:color .15s,border-color .15s}.tab-nav-item:hover{color:var(--text)}.tab-nav-item.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--weight-semibold)}.tab-nav-item:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm) var(--radius-sm) 0 0;outline:none}.segmented{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.segmented-item{color:var(--muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;background:0 0;border:0}.segmented-sm .segmented-item{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.segmented-item:hover{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:var(--focus-ring);outline:none}.toolbar-bar{gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.toolbar-search{flex:260px;min-width:0}.toolbar-filters{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.stat-cards{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.stat-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;display:flex}.stat-card-icon{border-radius:var(--radius-md);flex:none;place-items:center;width:40px;height:40px;display:grid}.stat-card-body{flex-direction:column;min-width:0;display:flex}.stat-card-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text)}.stat-card-label{font-size:var(--text-md);color:var(--muted)}.stat-card-hint{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}.avatar{border-radius:var(--radius-full);background:var(--tint);color:var(--primary);font-weight:var(--weight-semibold);object-fit:cover;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar-sm{width:28px;height:28px;font-size:var(--text-sm)}.avatar-md{width:36px;height:36px;font-size:var(--text-base)}.avatar-lg{width:48px;height:48px;font-size:var(--text-lg)}.avatar-xl{width:72px;height:72px;font-size:var(--text-2xl)}.modal{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(560px,100vw - 32px);color:var(--text);box-shadow:var(--shadow-xl);padding:0}.modal-sm{width:min(420px,100vw - 32px)}.modal-lg{width:min(840px,100vw - 32px)}.modal::backdrop{background:var(--overlay)}.modal-body{flex-direction:column;max-height:min(80vh,720px);display:flex}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);display:flex}.modal-header h2{font-size:var(--text-xl);margin:0}.modal-content{padding:var(--space-6);overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);display:flex}.table-skeleton{gap:var(--space-2);flex-direction:column;display:flex}.table-skeleton-row{gap:var(--space-3);display:flex}.table-skeleton-row>span,.card-skeleton>span{background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite skeleton-sweep;display:block}.table-skeleton-row>span{flex:1;height:18px}.card-skeleton{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.card-skeleton>span{border-radius:var(--radius-lg);height:120px}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.table-skeleton-row>span,.card-skeleton>span{animation:none}}.toast-action{font-weight:var(--weight-semibold);white-space:nowrap}.skeleton-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);background-size:400% 100%;width:100%;height:14px;animation:1.4s infinite skeleton-sweep;display:block}@media (prefers-reduced-motion:reduce){.skeleton-bar{animation:none}}.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}.button.button-sm,.button.sm,.button.small{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);gap:6px}.button.button-lg{min-height:52px;padding:15px var(--space-7);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.danger:hover:where(:not(:disabled)){background:var(--danger)}.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(--muted);opacity:1;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.button.ghost:disabled:not(.is-loading){background:0 0;border-color:#0000}.button.is-loading{cursor:progress;opacity:1;position:relative;color:#0000!important}.button.is-loading>:not(.button-spinner){visibility:hidden}.button-spinner{--spinner:var(--on-primary);border-radius:var(--radius-full);border:2px solid color-mix(in srgb, var(--spinner) 30%, transparent);border-top-color:var(--spinner);width:1.15em;height:1.15em;margin:auto;animation:.7s linear infinite button-spin;position:absolute;inset:0}.button.secondary .button-spinner,.button.ghost .button-spinner{--spinner:var(--text)}.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}}.form-field .field-label{align-items:baseline;gap:2px;display:inline-flex}.field-required{color:var(--danger);font-weight:var(--weight-bold)}.field-meta{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-top:-2px;display:flex}.field-hint{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.field-count{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.field-count.is-over{color:var(--danger);font-weight:var(--weight-semibold)}.form-field>.field-error,.checkbox-field>.field-error{font-size:var(--text-sm);font-weight:var(--weight-medium);margin-top:0}.control{border-radius:var(--radius-control)}.control-textarea{min-height:100px}.control[aria-invalid=true]{border-color:var(--danger)}.control[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 30%, transparent)}.checkbox-field{gap:var(--space-1);flex-direction:column;margin:14px 0;display:flex}.checkbox-field .checkbox{margin:0}.checkbox-field>.field-hint,.checkbox-field>.field-error{padding-left:30px}.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-size:var(--text-base);font-weight:var(--weight-semibold);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{padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center}.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:color-mix(in srgb, var(--raised) 60%, transparent)}.data-table tbody tr.is-selected>td{background:var(--tint)}.toast{border-inline-start-width:4px}.toast-icon{flex:none}.toast-message{overflow-wrap:anywhere;flex:1;min-width:0}.toast-success{border-inline-start-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-info{border-inline-start-color:var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-warning{border-inline-start-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-danger .toast-icon{color:var(--danger)}.modal-heading{min-width:0}.modal-description{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-normal)}.detail-sheet[open]{flex-direction:column;display:flex}.detail-sheet-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.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:640px){.modal,.modal-sm,.modal-lg{border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.modal-body{height:100%;max-height:none}.modal-header{padding:var(--space-4)}.modal-content{min-height:0;padding:var(--space-4);overscroll-behavior:contain;flex:1}.modal-footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));flex-wrap:wrap}.modal-footer>.button{flex:auto}.confirm-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));max-height:90dvh;margin:auto 0 0;overflow-y:auto}.confirm-actions{flex-wrap:wrap-reverse}.confirm-actions>.button{flex:140px}.detail-sheet-body{padding:var(--space-4)}.detail-sheet-footer{padding-inline:var(--space-4)}}.confirm-error{margin:var(--space-4) 0 0}
