:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;--color-base: #f7f8fa;--color-base-variant: #ffffff;--color-text: #0b1220;--color-primary: #0b6e4f;--color-primary-hover: #095a41;--color-secondary: #0f8a5f;--color-secondary-hover: #0c704e;--color-muted: #5b6472;--table-surface: #edf5f1;--table-header: #d6e8df;--table-cell: #f4faf7;--table-border: #b7cec2;--table-text: #0b1220;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{color-scheme:dark;--color-base: #0b0f14;--color-base-variant: #121a22;--color-text: #e6f0ea;--color-primary: #0f8a5f;--color-primary-hover: #12a170;--color-secondary: #0b6e4f;--color-secondary-hover: #095a41;--color-muted: #9aa6b2;--table-surface: #162119;--table-header: #1f2f25;--table-cell: #19271e;--table-border: #2d4436;--table-text: #e6f0ea}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-base);color:var(--color-text)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-base-variant);color:var(--color-text);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.custom-dropdown-container{position:relative;display:inline-flex;align-items:center}.custom-dropdown-trigger{appearance:none;background-color:var(--color-base);border:1px solid rgba(128,128,128,.3);color:var(--color-text);padding:.5rem 2.5rem .5rem 1rem;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;outline:none;min-width:150px;text-align:left;transition:border-color .2s,box-shadow .2s;display:flex;justify-content:space-between;align-items:center}.custom-dropdown-trigger:hover{border-color:var(--color-primary)}.custom-dropdown-trigger:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #0b6e4f33}.custom-dropdown-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown-icon{position:absolute;right:.75rem;width:1rem;height:1rem;pointer-events:none;color:var(--color-muted);transition:transform .2s ease}.custom-dropdown-icon.open{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;width:100%;min-width:180px;background-color:var(--color-base-variant);border:1px solid rgba(128,128,128,.2);border-radius:0;padding:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1010;display:flex;flex-direction:column}.custom-dropdown-item{padding:.5rem 1rem;cursor:pointer;color:var(--color-text);font-size:.95rem;text-align:left;background:transparent;border:none;width:100%;transition:background-color .2s ease,color .2s ease;border-radius:0}.custom-dropdown-item:hover{background-color:#0b6e4f1a;color:var(--color-primary)}.custom-dropdown-item.active{background-color:#0b6e4f26;color:var(--color-primary);font-weight:500}.navbar-container{position:sticky;top:0;z-index:1000;display:flex;align-items:center;padding:.75rem 1.5rem;background-color:var(--color-base-variant);color:var(--color-text);border-bottom:1px solid rgba(128,128,128,.2);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--color-primary);margin-right:1.5rem;letter-spacing:-.025em}.navbar-links{display:flex;gap:1.5rem;align-items:center}.navbar-link{color:var(--color-muted);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s ease}.navbar-link:hover{color:var(--color-primary)}.navbar-actions{margin-left:auto;display:flex;align-items:center;gap:1.5rem}.profile-menu-container{position:relative;display:flex;align-items:center}.profile-menu-btn{background:transparent;color:var(--color-text);border:none;padding:.25rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.profile-menu-btn:hover{background-color:#8080801a;color:var(--color-primary)}.profile-icon{width:2.25rem;height:2.25rem}.profile-dropdown-menu{right:0;left:auto;min-width:200px}.dropdown-divider{height:1px;background-color:#80808033;margin:.25rem 0}.text-danger{color:#ff4d4f!important}.text-danger:hover{color:#ff4d4f!important;background-color:#ff4d4f1a!important}.navbar-logout-btn{background:transparent;color:var(--color-text);border:1px solid rgba(128,128,128,.3);padding:.5rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.navbar-logout-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#0b6e4f0d}.users-page{padding:2rem;max-width:900px;margin:0 auto}.users-title{margin-bottom:1.5rem}.users-loading{padding:2rem}.users-info-box{border:1px solid var(--color-muted);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;background:var(--color-base)}.users-info-box h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.users-info-loading,.users-info-error,.users-muted,.users-table-message{margin:0}.users-info-error{color:#c00}.users-muted{color:var(--color-muted)}.users-info-dl{margin:0;display:grid;gap:.25rem 1rem;grid-template-columns:auto 1fr}.users-info-dl dt{margin:0;color:var(--color-muted)}.users-info-dl dd{margin:0}.users-section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.users-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-muted);margin-bottom:1rem}.users-tab{padding:.5rem 1rem;border:1px solid var(--color-muted);border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;margin-bottom:-1px;background:var(--color-base);cursor:pointer;font-weight:400}.users-tab--active{background:var(--color-base-variant);font-weight:600}.users-tab-role{margin-left:6px;color:var(--color-muted);font-weight:400}.users-toolbar{display:flex;gap:.5rem;margin-bottom:1rem}.users-btn{padding:.5rem 1rem;border:1px solid #ccc;border-radius:6px;background:var(--color-base);cursor:pointer;font-weight:500}.users-btn:hover{background:var(--color-base-variant)}.users-table-wrap{border:1px solid var(--color-base);border-radius:6px;padding:1rem;min-height:120px}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:.5rem .75rem;border-bottom:1px solid var(--color-muted);text-align:left}.users-table th.users-col-action{width:80px}.users-table td{padding:.5rem .75rem;border-bottom:1px solid #eee}.users-table tr:last-child td{border-bottom:none}.users-btn-edit{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;background:var(--color-base);cursor:pointer;font-size:.875rem}.users-btn-edit:hover{background:var(--color-base-variant)}.users-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.users-modal{background:var(--color-base);border-radius:8px;padding:1.5rem;min-width:320px;max-width:90vw;box-shadow:0 4px 20px #00000026}.users-modal h3{margin:0 0 1rem;font-size:1.125rem}.users-modal-subtitle{margin:0 0 1rem;color:var(--color-muted);font-size:.875rem}.users-modal .form-group{margin-bottom:1rem}.users-modal .form-group label{display:block;margin-bottom:.25rem;font-size:.875rem}.users-modal select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:6px}.users-modal-error{margin:0 0 1rem;color:#c00;font-size:.875rem}.users-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap}.users-btn-save{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--color-primary);color:var(--color-base);cursor:pointer}.users-btn-save:hover:not(:disabled){background:var(--color-base-variant)}.users-btn-save:disabled{cursor:not-allowed;opacity:.7}.users-btn-remove{padding:.5rem 1rem;border:1px solid #c00;border-radius:6px;background:var(--color-base);color:#c00;cursor:pointer}.users-btn-remove:hover:not(:disabled){background:var(--color-base-variant)}.users-btn-remove:disabled{cursor:not-allowed;opacity:.7}.users-btn-cancel{padding:.5rem 1rem;border:1px solid #ccc;border-radius:6px;background:var(--color-base);cursor:pointer}.users-btn-cancel:hover{background:var(--color-base-variant)}#root{margin:0 auto;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover,.logo.react:hover{filter:drop-shadow(0 0 2em var(--color-primary))}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:var(--color-muted)}.theme-toggle{position:fixed;top:1rem;right:1rem;padding:.5rem .75rem;font-size:1.25rem;border-radius:8px}.nav{display:flex;gap:12px;justify-content:center;margin:12px 0 24px}.nav a{text-decoration:underline}.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center}.auth-card{width:100%;max-width:420px;padding:2rem;border-radius:12px;border:1px solid rgba(128,128,128,.3)}.auth-title{margin-bottom:.5rem}.auth-subtitle{margin-bottom:1.5rem;opacity:.7}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group input{padding:.5rem;border-radius:8px;border:1px solid rgba(128,128,128,.4);background:transparent;color:inherit}.auth-button{padding:.75rem;border-radius:8px;border:none;cursor:pointer}.auth-footer{text-align:center;margin-top:1rem}.home-card{max-width:480px}.home-content{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.75rem}.home-feature{display:flex;align-items:flex-start;gap:.75rem;text-align:left}.home-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.home-feature p{margin:0;line-height:1.5;opacity:.85}.home-actions{display:flex;gap:12px}.home-button{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:1rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;border:1px solid rgba(128,128,128,.4);transition:opacity .2s}.home-button:hover{opacity:.85}.home-button-primary{background:var(--color-primary, #646cff);color:#fff;border-color:var(--color-primary, #646cff)}.home-button-secondary{background:transparent;color:inherit}.input-error{border-color:#ff4d4f!important}.error-message{color:#ff4d4f;font-size:.875rem;margin-top:.25rem;text-align:left}.authenticated-content-wrapper{width:100%;text-align:left}.form-group select{padding:.5rem;border-radius:8px;border:1px solid rgba(128,128,128,.4);background:transparent;color:inherit}
