@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";:root{--color-primary:oklch(55% .12 250);--color-primary-light:oklch(75% .08 250);--color-primary-lighter:oklch(88% .04 250);--color-primary-dark:oklch(40% .1 250);--color-primary-darker:oklch(30% .08 250);--color-red:oklch(55% .12 15);--color-red-light:oklch(75% .08 15);--color-red-dark:oklch(40% .1 15);--color-yellow:oklch(75% .1 85);--color-yellow-light:oklch(88% .06 85);--color-yellow-dark:oklch(60% .12 85);--color-success:oklch(55% .14 145);--color-success-light:oklch(75% .08 145);--color-success-dark:oklch(40% .12 145);--color-error:oklch(55% .12 15);--color-error-light:oklch(92% .04 15);--color-error-dark:oklch(40% .1 15);--color-warning:oklch(70% .12 75);--color-warning-light:oklch(85% .08 75);--color-warning-dark:oklch(55% .14 75);--color-info:oklch(60% .12 240);--color-info-light:oklch(80% .08 240);--color-info-dark:oklch(45% .1 240);--color-gray-50:oklch(98% .005 250);--color-gray-100:oklch(95% .008 250);--color-gray-200:oklch(90% .01 250);--color-gray-300:oklch(82% .012 250);--color-gray-400:oklch(65% .015 250);--color-gray-500:oklch(50% .015 250);--color-gray-600:oklch(40% .012 250);--color-gray-700:oklch(30% .01 250);--color-gray-800:oklch(20% .008 250);--color-gray-900:oklch(15% .005 250);--color-surface:oklch(100% 0 0);--color-surface-elevated:oklch(99% .003 250);--color-surface-overlay:oklch(98% .005 250);--color-text-primary:oklch(20% .008 250);--color-text-secondary:oklch(40% .012 250);--color-text-tertiary:oklch(55% .015 250);--color-text-inverse:oklch(98% .005 250);--color-border:oklch(85% .01 250);--color-border-strong:oklch(70% .012 250);--color-bg-primary:oklch(98% .003 250);--color-bg-secondary:oklch(95% .005 250);--font-family-base:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-heading:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-mono:"SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.563rem;--font-size-2xl:1.953rem;--font-size-3xl:2.441rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-wide:.02em;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--border-width:1px;--border-width-thick:2px;--border-radius-sm:.25rem;--border-radius:.375rem;--border-radius-md:.5rem;--border-radius-lg:.75rem;--border-radius-full:9999px;--shadow-sm:0 1px 2px 0 oklch(0% 0 0/.05);--shadow:0 1px 3px 0 oklch(0% 0 0/.1), 0 1px 2px -1px oklch(0% 0 0/.1);--shadow-md:0 4px 6px -1px oklch(0% 0 0/.1), 0 2px 4px -2px oklch(0% 0 0/.1);--shadow-lg:0 10px 15px -3px oklch(0% 0 0/.1), 0 4px 6px -4px oklch(0% 0 0/.1);--transition-fast:.15s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--transition-slow:0s}}:root{--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.my-8{margin-top:var(--spacing-8);margin-bottom:var(--spacing-8)}.mb-0{margin-bottom:var(--spacing-0)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mt-0{margin-top:var(--spacing-0)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.grid{display:grid}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-cols-auto-sm{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.w-full{width:100%}.w-fit{width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-clamp-2{-webkit-line-clamp:2;word-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3;word-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-clamp-4{-webkit-line-clamp:4;word-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-wrap{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.text-nowrap{white-space:nowrap}.table-cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.card-title-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=768px){.mobile\:flex-col{flex-direction:column}.mobile\:w-full{width:100%}.mobile\:px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.mobile\:py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.mobile\:gap-4{gap:var(--spacing-4)}.mobile\:mb-4{margin-bottom:var(--spacing-4)}}@media (width<=480px){.mobile-sm\:px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.mobile-sm\:py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.mobile-sm\:gap-3{gap:var(--spacing-3)}}.alert-bar{padding:var(--spacing-3) var(--spacing-6);box-shadow:var(--shadow-md);border-radius:var(--border-radius)}.alert-bar-content{align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2);display:flex}.alert-bar-items{gap:var(--spacing-4);flex-wrap:wrap;display:flex}.alert-bar-item{padding:var(--spacing-3);border-radius:var(--border-radius);flex:1;min-width:min(100%,250px);max-width:100%}.alert-bar-item-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.alert-bar-item-meta{font-size:var(--font-size-sm);margin-bottom:var(--spacing-2);opacity:.9}.alert-bar-item-actions{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.content-card{background:var(--color-surface-elevated);padding:var(--spacing-6);border-radius:var(--border-radius-md);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow);margin-bottom:var(--spacing-6)}.content-card-title{margin:0 0 var(--spacing-4) 0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.content-card-body{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6)}.flex-container{gap:var(--spacing-4);flex-wrap:wrap;align-items:flex-start;display:flex}.flex-container>*{flex:1;min-width:0}.flex-container-tight{gap:var(--spacing-2)}.flex-container-loose{gap:var(--spacing-6)}.flex-container-responsive{gap:var(--spacing-4);flex-wrap:wrap;display:flex}.flex-container-responsive>*{flex:auto;min-width:min(100%,250px);max-width:100%}@media (width<=768px){.flex-container-responsive>*{flex:100%;min-width:100%}}.form-row{gap:var(--spacing-4);margin-bottom:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));display:grid}@media (width<=768px){.form-row{grid-template-columns:1fr}}.page-header{margin-bottom:var(--spacing-8);justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.page-header h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.page-header-actions{gap:var(--spacing-3);flex-wrap:wrap;align-items:center;display:flex}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch}.page-header-actions{width:100%}.page-header-actions>*{flex:1;min-width:0}}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-4);color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:var(--spacing-4);opacity:.5;font-size:3rem}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.empty-state-message{font-size:var(--font-size-base);margin-bottom:var(--spacing-6);max-width:500px;margin-left:auto;margin-right:auto}.loading-state{padding:var(--spacing-8);color:var(--color-text-secondary);font-size:var(--font-size-base);justify-content:center;align-items:center;display:flex}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);width:1rem;height:1rem;animation:spin var(--transition-slow) linear infinite;margin-right:var(--spacing-2);border-radius:50%;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.success-message{background-color:var(--color-success-light);color:var(--color-success-dark);padding:var(--spacing-4);border-radius:var(--border-radius);border:var(--border-width) solid var(--color-success);margin-bottom:var(--spacing-6);font-size:var(--font-size-sm)}.success-message strong{margin-bottom:var(--spacing-1);display:block}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-wrapper table{min-width:600px}@media (width<=768px){.table-wrapper{margin-left:calc(-1 * var(--spacing-4));margin-right:calc(-1 * var(--spacing-4));padding-left:var(--spacing-4);padding-right:var(--spacing-4)}}:root{--btn-primary-bg:var(--color-primary);--btn-primary-bg-hover:var(--color-primary-dark);--btn-primary-color:var(--color-text-inverse);--btn-primary-padding:var(--spacing-3) var(--spacing-6);--btn-primary-font-size:var(--font-size-base);--btn-primary-border-radius:var(--border-radius);--btn-primary-font-weight:var(--font-weight-semibold);--btn-secondary-bg:var(--color-gray-500);--btn-secondary-bg-hover:var(--color-gray-600);--btn-secondary-color:var(--color-text-inverse);--btn-secondary-padding:var(--spacing-3) var(--spacing-6);--btn-secondary-font-size:var(--font-size-base);--btn-secondary-border-radius:var(--border-radius);--btn-secondary-font-weight:var(--font-weight-semibold);--btn-edit-bg:var(--color-primary);--btn-edit-bg-hover:var(--color-primary-dark);--btn-edit-color:var(--color-text-inverse);--btn-edit-padding:var(--spacing-2) var(--spacing-4);--btn-edit-font-size:var(--font-size-sm);--btn-edit-border-radius:var(--border-radius);--btn-edit-font-weight:var(--font-weight-medium);--btn-delete-bg:var(--color-error);--btn-delete-bg-hover:var(--color-error-dark);--btn-delete-color:var(--color-text-inverse);--btn-delete-padding:var(--spacing-2) var(--spacing-4);--btn-delete-font-size:var(--font-size-sm);--btn-delete-border-radius:var(--border-radius);--btn-delete-font-weight:var(--font-weight-medium);--btn-danger-bg:var(--color-error);--btn-danger-bg-hover:var(--color-error-dark);--btn-danger-color:var(--color-text-inverse);--btn-danger-padding:var(--spacing-3) var(--spacing-6);--btn-danger-font-size:var(--font-size-base);--btn-danger-border-radius:var(--border-radius);--btn-danger-font-weight:var(--font-weight-semibold);--btn-add-bg:var(--color-success);--btn-add-bg-hover:var(--color-success-dark);--btn-add-color:var(--color-text-inverse);--btn-add-padding:var(--spacing-2) var(--spacing-4);--btn-add-font-size:var(--font-size-sm);--btn-add-border-radius:var(--border-radius);--btn-add-font-weight:var(--font-weight-medium);--btn-warning-bg:var(--color-warning);--btn-warning-bg-hover:var(--color-warning-dark);--btn-warning-color:var(--color-text-inverse);--btn-warning-padding:var(--spacing-3) var(--spacing-6);--btn-warning-font-size:var(--font-size-base);--btn-warning-border-radius:var(--border-radius-md);--btn-warning-font-weight:var(--font-weight-semibold);--btn-logout-bg:oklch(100% 0 0/.15);--btn-logout-bg-hover:oklch(100% 0 0/.25);--btn-logout-color:var(--color-text-inverse);--btn-logout-padding:var(--spacing-2) var(--spacing-4);--btn-logout-font-size:var(--font-size-sm);--btn-logout-border-radius:var(--border-radius);--btn-logout-border:1px solid oklch(100% 0 0/.2);--btn-logout-font-weight:var(--font-weight-normal);--btn-list-bg:var(--color-primary);--btn-list-bg-hover:var(--color-primary-dark);--btn-list-color:var(--color-text-inverse);--btn-list-padding:var(--spacing-2) var(--spacing-4);--btn-list-font-size:var(--font-size-sm);--btn-list-border-radius:var(--border-radius);--btn-list-font-weight:var(--font-weight-medium);--btn-transition:background-color var(--transition-base), transform var(--transition-fast);--btn-cursor:pointer;--btn-cursor-disabled:not-allowed;--btn-opacity-disabled:.5;--btn-border:none;--btn-text-decoration:none;--btn-display:inline-flex;--btn-align-items:center;--btn-justify-content:center}button,.btn-primary,.btn-secondary,.btn-edit,.btn-delete,.btn-danger,.btn-add-user,.btn-list-admins,.btn-logout,.btn-warning,a.btn-primary,a.btn-secondary,a.btn-edit,a.btn-delete,a.btn-danger,a.btn-add-user,a.btn-list-admins{border:var(--btn-border);border-radius:var(--btn-primary-border-radius);cursor:var(--btn-cursor);-webkit-text-decoration:var(--btn-text-decoration);text-decoration:var(--btn-text-decoration);display:var(--btn-display);align-items:var(--btn-align-items);justify-content:var(--btn-justify-content);font-weight:var(--btn-primary-font-weight);transition:var(--btn-transition);gap:var(--spacing-2);font-family:inherit}button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-edit:focus-visible,.btn-delete:focus-visible,.btn-danger:focus-visible,.btn-add-user:focus-visible,.btn-list-admins:focus-visible,.btn-logout:focus-visible,.btn-warning:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:translateY(1px)}button:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-edit:disabled,.btn-delete:disabled,.btn-danger:disabled{opacity:var(--btn-opacity-disabled);cursor:var(--btn-cursor-disabled)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-color);padding:var(--btn-primary-padding);font-size:var(--btn-primary-font-size);border-radius:var(--btn-primary-border-radius);font-weight:var(--btn-primary-font-weight)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-bg-hover)}.btn-primary:focus-visible{outline-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-color);padding:var(--btn-secondary-padding);font-size:var(--btn-secondary-font-size);border-radius:var(--btn-secondary-border-radius);font-weight:var(--btn-secondary-font-weight)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-bg-hover)}.btn-secondary:focus-visible{outline-color:var(--color-gray-600)}.btn-edit{background-color:var(--btn-edit-bg);color:var(--btn-edit-color);padding:var(--btn-edit-padding);font-size:var(--btn-edit-font-size);border-radius:var(--btn-edit-border-radius);font-weight:var(--btn-edit-font-weight)}.btn-edit:hover:not(:disabled){background-color:var(--btn-edit-bg-hover)}.btn-delete{background-color:var(--btn-delete-bg);color:var(--btn-delete-color);padding:var(--btn-delete-padding);font-size:var(--btn-delete-font-size);border-radius:var(--btn-delete-border-radius);font-weight:var(--btn-delete-font-weight)}.btn-delete:hover:not(:disabled){background-color:var(--btn-delete-bg-hover)}.btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-color);padding:var(--btn-danger-padding);font-size:var(--btn-danger-font-size);border-radius:var(--btn-danger-border-radius);font-weight:var(--btn-danger-font-weight)}.btn-danger:hover:not(:disabled){background-color:var(--btn-danger-bg-hover)}.btn-add-user{background-color:var(--btn-add-bg);color:var(--btn-add-color);padding:var(--btn-add-padding);font-size:var(--btn-add-font-size);border-radius:var(--btn-add-border-radius);font-weight:var(--btn-add-font-weight)}.btn-add-user:hover:not(:disabled){background-color:var(--btn-add-bg-hover)}.btn-list-admins{background-color:var(--btn-list-bg);color:var(--btn-list-color);padding:var(--btn-list-padding);font-size:var(--btn-list-font-size);border-radius:var(--btn-list-border-radius);font-weight:var(--btn-list-font-weight)}.btn-list-admins:hover:not(:disabled){background-color:var(--btn-list-bg-hover)}.btn-warning{background-color:var(--btn-warning-bg);color:var(--btn-warning-color);padding:var(--btn-warning-padding);font-size:var(--btn-warning-font-size);border-radius:var(--btn-warning-border-radius);font-weight:var(--btn-warning-font-weight)}.btn-warning:hover:not(:disabled){background-color:var(--btn-warning-bg-hover)}.btn-logout{background:var(--btn-logout-bg);color:var(--btn-logout-color);padding:var(--btn-logout-padding);border:var(--btn-logout-border);border-radius:var(--btn-logout-border-radius);font-size:var(--btn-logout-font-size);font-weight:var(--btn-logout-font-weight);transition:background .2s}.btn-logout:hover{background:var(--btn-logout-bg-hover)}.actions .btn-edit,.actions .btn-add-user,.actions .btn-list-admins,.actions .btn-delete,.actions .btn-secondary{margin-top:0}a.btn-primary,a.btn-secondary,a.btn-edit,a.btn-delete,a.btn-danger,a.btn-add-user,a.btn-list-admins{text-align:center}@media (width<=768px){.btn-primary,.btn-secondary,.btn-danger,.btn-warning{padding:.6rem 1.2rem;font-size:.85rem}.btn-edit,.btn-delete,.btn-add-user,.btn-list-admins{padding:.4rem .8rem;font-size:.8rem}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-4);max-width:65ch}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}code{font-family:var(--font-family-mono);background-color:var(--color-gray-100);border-radius:var(--border-radius-sm);padding:.125rem .25rem;font-size:.9em}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px}}.error-boundary{min-height:400px;padding:var(--spacing-8);background:var(--color-surface);justify-content:center;align-items:center;display:flex}.error-boundary-content{text-align:center;max-width:600px;padding:var(--spacing-8);background:var(--color-surface-elevated);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-error-light);box-shadow:var(--shadow-md)}.error-boundary-icon{margin-bottom:var(--spacing-4);opacity:.7;font-size:4rem}.error-boundary-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-4) 0}.error-boundary-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-6) 0;line-height:var(--line-height-relaxed)}.error-boundary-details{text-align:left;margin:var(--spacing-6) 0;padding:var(--spacing-4);background:var(--color-gray-50);border-radius:var(--border-radius);border:var(--border-width) solid var(--color-border)}.error-boundary-details summary{cursor:pointer;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-2);-webkit-user-select:none;user-select:none}.error-boundary-details summary:hover{color:var(--color-primary)}.error-boundary-stack{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-error-dark);background:var(--color-surface);padding:var(--spacing-3);border-radius:var(--border-radius);white-space:pre-wrap;word-break:break-word;margin:var(--spacing-2) 0 0 0;overflow-x:auto}.error-boundary-actions{gap:var(--spacing-3);margin-top:var(--spacing-6);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=768px){.error-boundary{padding:var(--spacing-4);min-height:300px}.error-boundary-content{padding:var(--spacing-6)}.error-boundary-icon{font-size:3rem}.error-boundary-title{font-size:var(--font-size-xl)}.error-boundary-actions{flex-direction:column}.error-boundary-actions>*{width:100%}}.loading-state{padding:var(--spacing-8);color:var(--color-text-secondary);font-size:var(--font-size-base);justify-content:center;align-items:center;gap:var(--spacing-3);display:flex}.loading-state-fullscreen{flex-direction:column;min-height:60vh}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);width:1.5rem;height:1.5rem;animation:spin var(--transition-slow) linear infinite;border-radius:50%;flex-shrink:0;display:inline-block}.loading-message{color:var(--color-text-secondary);font-size:var(--font-size-base)}@media (prefers-reduced-motion:reduce){.loading-spinner{border-top-color:var(--color-primary);animation:1.5s ease-in-out infinite pulse}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){.loading-state{padding:var(--spacing-6)}.loading-spinner{border-width:2px;width:1.25rem;height:1.25rem}.loading-message{font-size:var(--font-size-sm)}}.account-choice-list{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.account-choice{text-align:left;cursor:pointer;width:100%;font:inherit;background:#fff;border:1px solid #d3d8de;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem .9rem;display:flex}.account-choice:hover{background:#f7fbfe;border-color:#3498db}.account-choice-role{font-weight:600}.account-choice-sub{color:#52606d;font-size:.85rem}.login-help{color:#52606d;font-size:.9rem}.site-footer{color:#fff;text-align:center;background-color:#111;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6}.site-footer__links{flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.site-footer__links a{color:#fff;text-underline-offset:2px;text-decoration:underline}.site-footer__links a:hover{color:#e0e0e0}.site-footer__meta{color:#ffffffd9;margin:0}.site-footer__meta a{color:#fff;text-underline-offset:2px;text-decoration:underline}.site-footer__meta a:hover{color:#e0e0e0}.site-footer__sep{color:#ffffff73;margin:0 .35rem}.login-page-with-footer{background-color:var(--color-bg-primary);flex-direction:column;min-height:100vh;display:flex}.login-page-with-footer__main{padding:var(--spacing-4);flex:1;justify-content:center;align-items:center;display:flex}.login-container{background-color:var(--color-bg-primary);min-height:100vh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex}.login-box{background:var(--color-surface);padding:var(--spacing-10);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:var(--border-width) solid var(--color-border);width:100%;max-width:420px}.login-box h1{text-align:center;color:var(--color-text-primary);margin-bottom:var(--spacing-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.login-box h2{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--spacing-8);font-weight:var(--font-weight-normal);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-6)}.form-group label{margin-bottom:var(--spacing-2);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;display:block}.form-group input:not([type=checkbox]):not([type=radio]){width:100%;padding:var(--spacing-3) var(--spacing-4);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-base);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-base), box-shadow var(--transition-base);font-family:inherit}.form-group input:not([type=checkbox]):not([type=radio]):focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px oklch(55% .12 250/.1)}.form-group input::placeholder{color:var(--color-text-tertiary)}.btn-primary{width:100%;margin-top:var(--spacing-6)}.error-message{background-color:var(--color-error-light);color:var(--color-error-dark);padding:var(--spacing-4);border-radius:var(--border-radius);margin-bottom:var(--spacing-6);border:var(--border-width) solid var(--color-error);font-size:var(--font-size-sm)}.login-box a{color:var(--color-primary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.login-box a:hover{color:var(--color-primary-dark);text-decoration:underline}.login-box a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}@media (width<=768px){.login-box{padding:var(--spacing-8)}.login-box h1{font-size:var(--font-size-xl)}}.reset-password-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.reset-password-box{background:#fff;border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 4px 6px #0000001a}.reset-password-box h2{text-align:center;color:#333;margin-bottom:1.5rem}.reset-password-box p{text-align:center;color:#666;margin-top:1rem}.legal-page{background-color:var(--color-bg-primary,#f5f7fa);min-height:100vh;color:var(--color-text-primary,#2c3e50);flex-direction:column;display:flex}.legal-page__header{background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#e0e6ed);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.legal-page__brand{color:var(--color-primary,#3498db);font-weight:600;text-decoration:none}.legal-page__brand:hover{text-decoration:underline}.legal-page__nav{gap:1.25rem;display:flex}.legal-page__nav a{color:var(--color-text-secondary,#5a6c7d);font-size:.9375rem;text-decoration:none}.legal-page__nav a:hover{color:var(--color-primary,#3498db);text-decoration:underline}.legal-page__main{flex:1;width:100%;max-width:42rem;margin:0 auto;padding:2rem 1.5rem 3rem}.legal-document h1{color:var(--color-text-primary,#2c3e50);margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.legal-document .legal-document__updated{color:var(--color-text-secondary,#5a6c7d);margin:0 0 2rem;font-size:.875rem}.legal-document h2{color:var(--color-text-primary,#2c3e50);margin:2rem 0 .75rem;font-size:1.125rem;font-weight:600}.legal-document h2:first-of-type{margin-top:1.5rem}.legal-document p,.legal-document li{color:var(--color-text-primary,#2c3e50);margin:0 0 1rem;font-size:1rem;line-height:1.6}.legal-document ul{margin:0 0 1rem;padding-left:1.25rem}.legal-document li{margin-bottom:.5rem}.legal-document a{color:var(--color-primary,#3498db)}
