.notification-popup-container{display:flex;flex-direction:column;gap:1rem;max-width:400px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.notification-popup{animation:slideIn .3s ease-out;background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-left:4px solid var(--green-500);border-radius:8px;box-shadow:0 20px 60px rgba(37,74,52,.18);max-width:400px;min-width:300px;padding:1rem;pointer-events:auto}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification-popup.priority-urgent{background-color:#fff3f1;border-left-color:#e74c3c}.notification-popup.priority-high{background-color:#fff9dc;border-left-color:#f39c12}.notification-popup.priority-normal{background-color:var(--surface);border-left-color:var(--green-500)}.notification-popup.priority-low{background-color:var(--surface-soft);border-left-color:#a6d48f}.notification-popup-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.notification-channel-icon{font-size:1.25rem}.notification-popup-title{color:var(--green-900);flex:1;font-size:1rem;font-weight:800;margin:0}.notification-popup-close{align-items:center;background:none;border:none;color:var(--muted);cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:24px}.notification-popup-close:hover{color:var(--green-900)}.notification-popup-message{color:var(--green-800);font-size:.9rem;line-height:1.4;margin:.5rem 0}.notification-popup-footer{align-items:center;border-top:1px solid hsla(98,30%,83%,.75);display:flex;font-size:.75rem;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.notification-popup-type{background-color:#e8f8df;border-radius:999px;color:var(--green-800);font-weight:700;padding:.25rem .5rem}.notification-popup-priority{color:var(--muted);font-weight:700;text-transform:capitalize}.notification-popup-mark-read{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--green-800);cursor:pointer;font-size:.75rem;margin-left:auto;padding:.25rem .5rem;transition:background .2s}.notification-popup-mark-read:hover{background:var(--surface-soft);border-color:var(--green-500)}.layout{display:flex;flex-direction:column;min-height:100vh}.navbar{background:var(--app-bg);box-shadow:none;padding:1.25rem 0 1.75rem;position:sticky;top:0;z-index:100}.nav-container{align-items:center;display:grid;gap:1.5rem;grid-template-columns:220px minmax(0,1fr);margin:0 auto;padding:0 1rem;width:min(100%,1400px)}.nav-logo{align-items:center;color:var(--green-900);display:inline-flex;font-size:.9rem;font-weight:800;gap:.55rem;line-height:1.05;text-decoration:none}.nav-logo strong{display:block}.brand-mark{align-items:center;background:var(--green-900);border-radius:50%;color:var(--green-500);display:inline-flex;font-size:1.45rem;font-weight:900;height:40px;justify-content:center;width:40px}.nav-menu{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:flex-end}.nav-link{color:#59625d;font-weight:500;padding:.35rem 0;position:relative;text-decoration:none;transition:color .3s}.nav-link:focus-visible,.nav-link:hover{color:var(--green-500)}.nav-user{color:var(--muted);font-size:.9rem}.nav-button{background:var(--green-500);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .3s}.nav-button:hover{background:#58b92a}.main-content{flex:1;margin:0 auto;max-width:none;padding:2.25rem 1rem 2rem;width:100%}@media (max-width:768px){.nav-container{gap:1rem;grid-template-columns:1fr}.nav-menu{flex-wrap:wrap;justify-content:flex-start}}.auth-container{align-items:flex-start;display:flex;justify-content:center;min-height:calc(100vh - 160px);padding:2.25rem 1rem 2rem}.auth-card{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);max-width:440px;padding:2rem;width:100%}.auth-card h2{color:var(--green-900);font-size:1.65rem;font-weight:800;margin:0 0 1.5rem;text-align:left}.auth-card .form-group{margin-bottom:1rem}.auth-card .form-group input{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-size:1rem;padding:.75rem .85rem;transition:border-color .3s;width:100%}.auth-card .form-group input:focus{border-color:var(--green-500);outline:2px solid rgba(104,200,51,.2)}.auth-card .btn-primary{background:var(--green-500);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1rem;padding:.75rem;transition:background .3s;width:100%}.auth-card .btn-primary:hover:not(:disabled){background:#58b92a}.auth-card .btn-primary:disabled{cursor:not-allowed;opacity:.6}.auth-card .btn-secondary{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-800);cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:.75rem;transition:background .3s;width:100%}.auth-card .btn-secondary:hover{background:var(--surface-soft);border-color:var(--green-500)}.auth-card .error{background:#fff3f1;border:1px solid #f2c6bf;border-radius:5px;color:var(--danger);font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.auth-divider{margin:1.5rem 0;position:relative;text-align:center}.auth-divider:after,.auth-divider:before{background:#ddd;content:"";height:1px;position:absolute;top:50%;width:45%}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:var(--surface);color:var(--muted);font-size:.85rem;font-weight:700;padding:0 1rem}.oauth-buttons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.btn-oauth{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-800);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:all .3s;width:100%}.btn-oauth.google:hover{background:#4285f4;border-color:#4285f4;color:#fff}.btn-oauth.github:hover{background:var(--green-900);border-color:var(--green-900);color:#fff}.btn-oauth.facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff}.btn-oauth.microsoft:hover{background:#00a4ef;border-color:#00a4ef;color:#fff}.btn-oauth.apple:hover{background:#000;border-color:#000;color:#fff}.auth-links{margin-top:1rem;text-align:center}.auth-links a{color:var(--green-800);display:block;font-size:.9rem;font-weight:700;margin:.5rem 0;text-decoration:none}.auth-links a:hover{color:var(--green-500);text-decoration:none}.auth-card .success{background:#daf1d0;border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.profile-container{margin:0 auto;padding:0;width:min(100%,1400px)}.profile-card{background:transparent;border-radius:0;box-shadow:none;padding:0;width:100%}.profile-card h2{color:var(--green-900);font-size:1.65rem;font-weight:800;margin:0 0 1rem}.profile-info{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.info-row{align-items:start;background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:1rem;grid-template-columns:116px minmax(0,1fr);min-height:84px;padding:1rem}.label{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.value{color:var(--green-900);flex:1;min-width:0;overflow-wrap:anywhere}.badge.enabled,.badge.verified{background:#d4edda;color:#155724}.message{background:#daf1d0;border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-weight:700;margin-top:1rem;padding:.85rem 1rem}.loading{color:var(--muted);font-size:1.2rem;padding:2rem;text-align:center}.roles-list{gap:.5rem;margin-top:.25rem}.role-badge{background-color:#e8f8df;border-radius:999px;color:var(--green-800);font-size:.75rem;font-weight:700;padding:.25rem .5rem}.admin-section{border-top:none;margin-top:1.5rem;padding-top:0}.admin-section h3{color:var(--green-900);font-size:1.2rem;font-weight:800;margin:0 0 1rem}.admin-links{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-link{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-800);display:inline-flex;font-weight:700;justify-content:center;min-height:48px;padding:.75rem 1rem;text-align:center;text-decoration:none;transition:background-color .2s}.admin-link:hover{background-color:var(--surface-soft);border-color:var(--green-500)}.phone-display{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.5rem;min-width:0}.phone-display .value{flex:0 1 auto}.phone-display .btn-link{margin-left:0;white-space:nowrap}.auth-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.auth-action-row .btn-link{align-items:center;display:inline-flex;gap:.25rem;margin-left:0;text-decoration:none;white-space:nowrap}.phone-edit{display:flex;flex:1;flex-direction:column;gap:.5rem}.phone-input{border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-size:1rem;padding:.65rem .75rem;width:100%}.phone-actions{display:flex;gap:.5rem}.btn-small{padding:.4rem .8rem}.btn-link{background:none;border:none;color:var(--green-800);cursor:pointer;font-size:.875rem;font-weight:700;margin-left:.5rem;padding:0;text-decoration:none}.btn-link:hover{color:var(--green-500)}.error{background-color:#f8d7da;border-radius:4px;color:#721c24;font-size:.875rem;padding:.5rem}@media (max-width:1180px){.profile-info{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.info-row,.profile-info{grid-template-columns:1fr}.info-row{min-height:0}}.two-factor-container{margin:0 auto;padding:2.25rem 1rem 2rem;width:min(100%,1400px)}.two-factor-card{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);padding:1.5rem;width:min(100%,760px)}.two-factor-card h2{color:var(--green-900);font-size:1.65rem;font-weight:800;margin:0 0 1.5rem}.two-factor-card h3{color:var(--green-900);font-size:1.15rem;font-weight:800;margin:0 0 .75rem}.two-factor-card p{color:var(--green-800);line-height:1.5}.status-enabled{text-align:left}.status-text{align-items:center;background:#daf1d0;border-radius:999px;color:var(--green-900);display:inline-flex;font-weight:800;gap:.5rem;margin:0 0 1.5rem;padding:.35rem .8rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.btn-danger,.two-factor-card .btn-primary,.two-factor-card .btn-secondary{align-items:center;border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;padding:.65rem 1rem;transition:all .2s;width:auto}.two-factor-card .btn-primary{background:var(--green-500);border:1px solid var(--green-500);color:#fff}.two-factor-card .btn-primary:hover:not(:disabled){background:#58b92a}.two-factor-card .btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--green-800)}.two-factor-card .btn-secondary:hover:not(:disabled){background:var(--surface-soft);border-color:var(--green-500)}.btn-danger{background:#fff3f1;border:1px solid #f2c6bf;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ffe8e4}.qr-code-container{background:var(--surface-soft);border:1px solid hsla(98,30%,83%,.75);border-radius:8px;display:flex;justify-content:center;margin:1.5rem 0;padding:1rem}.qr-code-container img{background:var(--surface);border:1px solid var(--border);border-radius:5px;max-width:250px;padding:1rem}.secret-container{background:var(--surface-soft);border:1px solid hsla(98,30%,83%,.75);border-radius:8px;margin:1rem 0;padding:1rem}.secret-container code{color:var(--green-800);display:block;font-size:1rem;font-weight:800;margin-top:.5rem;word-break:break-all}.backup-codes{background:#fff9dc;border:1px solid #eadf9d;border-radius:8px;margin:1rem 0;padding:1rem}.backup-codes ul{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:.75rem 0 0;padding:0}.backup-codes li{background:var(--surface);border-radius:4px;color:var(--green-900);font-family:monospace;font-size:.9rem;padding:.4rem .5rem}.backup-warning{color:#856404;font-size:.9rem;font-weight:700;margin:.5rem 0}.two-factor-card .form-group{margin-bottom:1rem}.two-factor-card .form-group input{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-size:1rem;padding:.75rem .85rem;width:100%}.two-factor-card .form-group input:focus{border-color:var(--green-500);outline:2px solid rgba(104,200,51,.2)}.two-factor-card .error{background:#fff3f1;border:1px solid #f2c6bf;border-radius:5px;color:var(--danger);font-weight:700;margin:1rem 0;padding:.85rem 1rem}.btn-small{font-size:.875rem;padding:.5rem 1rem}@media (max-width:768px){.two-factor-card{padding:1rem}.backup-codes ul{grid-template-columns:1fr}}.notifications-page{margin:0 auto;padding:2.25rem 1rem 2rem;width:min(100%,1400px)}.notifications-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.notifications-header h1{color:var(--green-900);font-size:1.65rem;font-weight:800;margin:0}.notifications-actions{display:flex;gap:.75rem}.notifications-filters{background:var(--surface);border:1px solid hsla(98,30%,83%,.75);border-radius:8px;display:inline-flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem}.filter-btn{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--green-800);cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:var(--surface-soft)}.filter-btn.active{background-color:#daf1d0;border-color:var(--border);color:var(--green-900)}.notifications-list{display:flex;flex-direction:column;gap:.75rem}.notification-item{background-color:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-left-width:4px;border-radius:8px;box-shadow:var(--shadow-soft);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.notification-item.unread{background-color:var(--surface);border-left-color:var(--green-500)}.notification-item.read{opacity:.82}.notification-content{flex:1;min-width:0}.notification-header{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.notification-title{color:var(--green-900);font-size:1rem;font-weight:800;margin:0}.notification-time{color:var(--muted);font-size:.85rem;font-weight:700;white-space:nowrap}.notification-message{color:var(--green-800);line-height:1.5;margin:.5rem 0}.notification-metadata{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.metadata-item{background-color:#e8f8df;border-radius:999px;color:var(--green-800);font-size:.8rem;font-weight:700;padding:.25rem .75rem}.notification-actions{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:.5rem;min-width:-moz-max-content;min-width:max-content}.btn-delete,.btn-mark-all-read,.btn-mark-read{align-items:center;border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;padding:.5rem .85rem;transition:all .2s ease}.btn-mark-all-read,.btn-mark-read{background-color:var(--surface);border:1px solid var(--border);color:var(--green-800)}.btn-mark-all-read:hover,.btn-mark-read:hover{background-color:var(--surface-soft);border-color:var(--green-500)}.btn-delete{background-color:#fff3f1;border:1px solid #f2c6bf}.btn-delete:hover{background-color:#ffe8e4}.btn-delete:disabled,.btn-mark-all-read:disabled,.btn-mark-read:disabled{cursor:not-allowed;opacity:.7}.priority-urgent{border-left-color:#b91c1c}.priority-high{border-left-color:#f97316}.priority-normal{border-left-color:var(--green-500)}.priority-low{border-left-color:#a6d48f}.error-message{background-color:#fff3f1;border:1px solid #f2c6bf;border-radius:5px;color:var(--danger);font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.empty-state,.loading{color:var(--muted);padding:2rem 0;text-align:center}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.pagination,.pagination button{color:var(--green-800);font-weight:700}.pagination button{background-color:var(--surface);border:1px solid var(--border);border-radius:5px;cursor:pointer;padding:.5rem 1rem}.pagination button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.notification-header,.notification-item,.notifications-header{align-items:stretch;flex-direction:column}.notifications-filters{display:flex;width:100%}.filter-btn{flex:1}.notification-actions{min-width:0}}.admin-container{margin:0 auto;padding:2.25rem 1rem 2rem;width:min(100%,1400px)}.admin-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.admin-header h2{color:var(--green-900);font-size:1.65rem;font-weight:800;margin:0}.admin-kicker{color:var(--muted);font-size:.9rem;font-weight:700;margin:.35rem 0 0}.admin-form-panel{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);max-width:640px;padding:1.5rem}.table-container{background:transparent;border-radius:0;box-shadow:none;overflow-x:auto;padding:0}.admin-table{border-collapse:separate;border-spacing:0 8px;min-width:860px;width:100%}.admin-table thead{background:transparent}.admin-table th{font-size:.75rem;font-weight:800;letter-spacing:0;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:none;color:var(--green-900)}.admin-table td{background:var(--surface);padding:1rem;vertical-align:middle}.admin-table tbody tr:hover{background:transparent}.admin-table tbody tr td:first-child{border-radius:8px 0 0 8px}.admin-table tbody tr td:last-child{border-radius:0 8px 8px 0}.truncate-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-container code{background:var(--surface-soft);border-radius:4px;max-width:100%;overflow:hidden;padding:.2rem .45rem;text-overflow:ellipsis}.admin-container code,.badge{align-items:center;color:var(--green-800);display:inline-flex}.badge{background-color:#e8f8df;border-radius:999px;font-size:.75rem;font-weight:700;margin:0;padding:.25rem .75rem}.badge.enabled,.badge.verified{background:#daf1d0;color:var(--green-900)}.badge.disabled,.badge.unverified{background:#f8d7da;color:#721c24}.roles-list{display:flex;flex-wrap:wrap;gap:8px}.table-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.chip{align-items:center;display:inline-flex}.chip,.status-pill{width:-moz-fit-content;width:fit-content}.btn-delete,.btn-edit{align-items:center;border:1px solid var(--border);border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;margin-right:.5rem;padding:.5rem .85rem;transition:all .2s}.btn-edit{background:var(--surface);color:var(--green-800)}.btn-edit:hover{background:var(--surface-soft);border-color:var(--green-500)}.btn-delete{background:#fff3f1;border-color:#f2c6bf;color:var(--danger)}.btn-delete:hover{background:#ffe8e4}.modal-overlay{align-items:center;background:rgba(18,33,25,.45);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--surface);border-radius:8px;box-shadow:0 20px 60px rgba(37,74,52,.18);max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.modal-content.large{max-width:900px}.modal-content.credentials-modal{max-height:auto;overflow-y:visible}.modal-content h3{color:var(--green-900);font-size:1.25rem;font-weight:800;margin-top:0}.form-group,.modal-content h3{margin-bottom:1.5rem}.form-group label{color:var(--green-900);display:block;font-size:.8rem;font-weight:800;margin-bottom:.35rem;text-transform:uppercase}.form-group input,.form-group textarea{padding:.65rem .75rem;transition:border-color .3s}.form-group input,.form-group select,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-900);font-size:1rem;width:100%}.form-group select{padding:.65rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--green-500);outline:2px solid rgba(104,200,51,.2)}.permissions-list{background:var(--surface-soft);border:1px solid var(--border);border-radius:5px;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:200px;overflow-y:auto;padding:.5rem}.checkbox-label{align-items:center;color:var(--green-900);cursor:pointer;display:flex;font-weight:700;gap:.5rem;padding:.25rem;text-transform:none}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.admin-container .btn-primary,.admin-container .btn-secondary{align-items:center;border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;padding:.65rem 1rem;text-decoration:none;transition:all .2s;width:auto}.admin-container .btn-primary{background-color:var(--green-500);border:1px solid var(--green-500);color:#fff}.admin-container .btn-primary:hover:not(:disabled){background-color:#58b92a}.admin-container .btn-secondary{background-color:var(--surface);border:1px solid var(--border);color:var(--green-800)}.admin-container .btn-secondary:hover:not(:disabled){background-color:var(--surface-soft);border-color:var(--green-500)}.admin-container .btn-primary:disabled,.admin-container .btn-secondary:disabled{cursor:not-allowed;opacity:.65}.admin-container .error,.admin-container .success{border-radius:5px;font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.admin-container .error{background-color:#fff3f1;border:1px solid #f2c6bf;color:var(--danger)}.admin-container .success{background-color:#daf1d0;border:1px solid var(--border);color:var(--green-900)}.error-container{align-items:center;display:flex;justify-content:center;min-height:400px}.error-message{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);padding:2rem;text-align:center}.error-message h2{color:var(--danger);margin-bottom:1rem}.error-message p{color:var(--muted)}.help-text{color:#555;font-size:.95rem;margin:.5rem 0 0}.inline-note{color:#6b7280;font-size:.85rem;margin-top:.25rem}.actions-row{gap:.5rem}.actions-row,.form-grid{display:flex;flex-wrap:wrap}.form-grid{gap:1rem}.form-grid.two-column .form-group{flex:1 1 45%}.form-group.full-width{flex:1 1 100%}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.metadata-card{background:#f7f9fc;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;padding:1rem}.metadata-card h4{margin:0 0 1rem}.metadata-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.auth-admin{padding:2.25rem 1rem 2rem;width:min(100%,1400px)}.auth-admin-header{margin-bottom:1rem}.auth-admin-header h2{color:var(--green-900);font-size:1.65rem;font-weight:800}.auth-admin-kicker{color:var(--muted);font-size:.9rem;font-weight:700;margin:.35rem 0 0}.auth-stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:1.5rem}.auth-stat-card{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);padding:1.5rem}.auth-stat-card h3{color:var(--green-900);font-size:.8rem;font-weight:800;letter-spacing:0;margin:0 0 1rem;text-transform:uppercase}.auth-stat-value{color:#10a01d;font-size:2.35rem;font-weight:700;line-height:1;margin:0 0 1rem}.auth-stat-note{color:var(--green-800);font-size:.9rem;font-weight:700}.auth-admin .table-container{background:transparent;border-radius:0;box-shadow:none;overflow-x:auto;padding:0}.auth-admin .admin-table{border-collapse:separate;border-spacing:0 8px;width:100%}.auth-admin .admin-table thead{background:transparent}.auth-admin .admin-table th{border-bottom:none;color:var(--green-900);font-size:.75rem;font-weight:600;padding:.75rem 1rem;text-transform:uppercase}.auth-admin .admin-table td{background:var(--surface);border-bottom:none;color:var(--green-900);padding:1.05rem 1rem;vertical-align:middle}.auth-admin .admin-table tbody tr:hover{background:transparent}.auth-admin .admin-table tbody tr td:first-child{border-radius:8px 0 0 8px}.auth-admin .admin-table tbody tr td:last-child{border-radius:0 8px 8px 0;min-width:260px}.auth-admin code{background:var(--surface-soft);border-radius:4px;color:var(--green-800);display:inline-block;font-size:.85rem;padding:.2rem .45rem}.config-name{display:flex;flex-direction:column}.config-subtitle{color:var(--muted);font-size:.8rem;margin-top:.2rem}.challenge-meta{color:var(--muted);font-size:.78rem;letter-spacing:0;margin-top:.25rem;text-transform:uppercase}.auth-admin .badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin:0;padding:.25rem .75rem;text-transform:uppercase}.auth-admin .badge-success{background-color:#daf1d0;color:var(--green-900)}.auth-admin .badge-danger{background-color:#f8d7da;color:#721c24}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{background-color:#e8f8df;color:var(--green-800)}.chip,.status-pill{border-radius:16px;font-size:12px;font-weight:700;padding:4px 10px}.status-pill{align-items:center;display:inline-flex;gap:6px}.status-pill.enabled{background-color:#e8f5e9;color:#1b5e20}.status-pill.disabled{background-color:#ffebee;color:#b71c1c}.status-dot{border-radius:50%;height:8px;width:8px}.status-pill.enabled .status-dot{background-color:#1b5e20}.status-pill.disabled .status-dot{background-color:#b71c1c}.auth-admin .table-actions{display:flex;flex-wrap:nowrap;gap:8px}.auth-admin .btn-delete,.auth-admin .btn-edit,.auth-admin .btn-primary,.auth-admin .btn-secondary{align-items:center;border:1px solid var(--border);border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;padding:.5rem .85rem;text-decoration:none;transition:all .2s;width:auto}.auth-admin .btn-primary{background-color:var(--green-500);border-color:var(--green-500);color:#fff}.auth-admin .btn-primary:hover{background-color:#58b92a}.auth-admin .btn-edit,.auth-admin .btn-secondary{background-color:var(--surface);color:var(--green-800);margin-right:0}.auth-admin .btn-edit:hover,.auth-admin .btn-secondary:hover{background-color:var(--surface-soft);border-color:var(--green-500)}.auth-admin .btn-delete{background-color:#fff3f1;border-color:#f2c6bf;color:var(--danger);margin-right:0}.auth-admin .btn-delete:hover{background-color:#ffe8e4}.auth-admin .empty-state{color:var(--muted);text-align:center}.auth-admin .error,.auth-admin .success{border-radius:5px;font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.auth-admin .error{background-color:#fff3f1;border:1px solid #f2c6bf;color:var(--danger)}.auth-admin .success{background-color:#daf1d0;border:1px solid var(--border);color:var(--green-900)}.auth-admin .modal-content{border-radius:8px;box-shadow:0 20px 60px rgba(37,74,52,.18)}.auth-admin .modal-content.large{max-width:960px}.auth-admin .modal-content h3{color:var(--green-900);font-size:1.25rem;font-weight:800}.auth-admin .form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-admin .form-grid.two-column .form-group,.auth-admin .form-group.full-width{margin-bottom:0}.auth-admin .form-group.full-width{grid-column:1/-1}.auth-admin .form-group label{color:var(--green-900);font-size:.8rem;font-weight:800;margin-bottom:.35rem;text-transform:uppercase}.auth-admin .form-group input,.auth-admin .form-group select,.auth-admin .form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--green-900);font:inherit;padding:.65rem .75rem;width:100%}.auth-admin .form-group select{min-height:120px}.auth-admin .form-group input:focus,.auth-admin .form-group select:focus,.auth-admin .form-group textarea:focus{border-color:var(--green-500);outline:2px solid rgba(104,200,51,.2)}.auth-admin .inline-note{color:var(--muted);display:block;font-size:.8rem;line-height:1.4}.auth-admin .checkbox-group{gap:.75rem;justify-content:end}.auth-admin .checkbox-label{color:var(--green-900);font-size:.9rem;font-weight:700;margin:0;text-transform:none}.auth-admin .checkbox-label input[type=checkbox]{width:auto}.auth-admin .metadata-card{background:var(--surface);border:1px solid hsla(98,30%,83%,.75);border-radius:8px;margin-top:1.25rem;padding:1rem}.auth-admin .metadata-card h4{color:var(--green-900);font-size:1rem;font-weight:800}.oauth-reference-panel{background:var(--surface-soft);border:1px solid hsla(98,30%,83%,.75);border-radius:8px;margin-bottom:1rem;padding:1rem}.oauth-reference-panel strong{color:var(--green-900);display:block;margin-bottom:.75rem}.oauth-reference-grid{align-items:center;color:var(--muted);display:grid;font-size:.85rem;gap:.5rem .75rem;grid-template-columns:120px minmax(0,1fr)}.oauth-reference-grid code{overflow:hidden;text-overflow:ellipsis}.users-admin{padding:2.25rem 1rem 2rem;width:min(100%,1400px)}.users-admin-header{margin-bottom:1rem}.users-admin-header h2{color:var(--green-900);font-size:1.65rem;font-weight:800}.users-admin-kicker{color:var(--muted);font-size:.9rem;font-weight:700;margin:.35rem 0 0}.users-stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1.5rem}.users-stat-card{background:var(--surface);border:1px solid hsla(98,30%,83%,.4);border-radius:8px;box-shadow:var(--shadow-soft);padding:1.5rem}.users-stat-card h3{color:var(--green-900);font-size:.8rem;font-weight:800;letter-spacing:0;margin:0 0 1rem;text-transform:uppercase}.users-stat-value{color:#10a01d;font-size:2.35rem;font-weight:700;line-height:1;margin:0 0 1rem}.users-stat-note{color:var(--green-800);font-size:.9rem;font-weight:700}.users-admin .table-container{background:transparent;border-radius:0;box-shadow:none;overflow-x:auto;padding:0}.users-admin .admin-table{border-collapse:separate;border-spacing:0 8px;min-width:980px;width:100%}.users-admin .admin-table thead{background:transparent}.users-admin .admin-table th{border-bottom:none;color:var(--green-900);font-size:.75rem;font-weight:800;letter-spacing:0;padding:.75rem 1rem;text-transform:uppercase}.users-admin .admin-table td{background:var(--surface);border-bottom:none;color:var(--green-900);padding:1rem;vertical-align:middle}.users-admin .admin-table tbody tr:hover{background:transparent}.users-admin .admin-table tbody tr td:first-child{border-radius:8px 0 0 8px}.users-admin .admin-table tbody tr td:last-child{border-radius:0 8px 8px 0}.users-table td:first-child,.users-table th:first-child{width:18%}.users-table td:nth-child(2),.users-table th:nth-child(2){width:26%}.users-table td:nth-child(3),.users-table th:nth-child(3){width:18%}.users-table td:nth-child(6),.users-table th:nth-child(6){width:180px}.contact-cell,.user-identity-cell{display:flex;flex-direction:column;gap:.35rem;min-width:0}.contact-cell>span:first-child,.user-identity-cell strong{color:var(--green-900);font-weight:700;overflow-wrap:anywhere}.user-identity-cell span{color:var(--muted);font-size:.85rem;font-weight:700}.users-admin .badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;margin:0;padding:.25rem .75rem;width:-moz-fit-content;width:fit-content}.users-admin .badge-success{background-color:#daf1d0;color:var(--green-900)}.users-admin .badge-danger{background-color:#f8d7da;color:#721c24}.users-admin .table-actions{display:flex;flex-wrap:nowrap;gap:8px}.users-admin .btn-delete,.users-admin .btn-edit{align-items:center;border:1px solid var(--border);border-radius:5px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;line-height:1;margin-right:0;padding:.5rem .85rem;transition:all .2s;width:auto}.users-admin .btn-edit{background-color:var(--surface);color:var(--green-800)}.users-admin .btn-edit:hover{background-color:var(--surface-soft);border-color:var(--green-500)}.users-admin .btn-delete{background-color:#fff3f1;border-color:#f2c6bf;color:var(--danger)}.users-admin .btn-delete:hover{background-color:#ffe8e4}.users-admin .empty-state{color:var(--muted);text-align:center}.users-admin .error,.users-admin .success{border-radius:5px;font-weight:700;margin-bottom:1rem;padding:.85rem 1rem}.users-admin .error{background-color:#fff3f1;border:1px solid #f2c6bf;color:var(--danger)}.users-admin .success{background-color:#daf1d0;border:1px solid var(--border);color:var(--green-900)}.users-admin .modal-content{border-radius:8px;box-shadow:0 20px 60px rgba(37,74,52,.18)}.users-admin .user-modal{overflow:hidden;padding:0;width:min(92vw,760px)}.users-admin .modal-title-row{background:var(--surface);border-bottom:1px solid hsla(98,30%,83%,.8);display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 1.75rem 1.25rem}.users-admin .modal-title-row h3{color:var(--green-900);font-size:1.35rem;font-weight:800;margin:0}.users-admin .modal-title-row p{color:var(--muted);font-size:.95rem;line-height:1.4;margin:.35rem 0 0}.users-admin .user-modal-form{background:#fff;display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.5rem 1.75rem 1.75rem}.users-admin .user-modal-form .form-group{margin:0}.users-admin .user-modal-form .form-group.full-width{grid-column:1/-1}.users-admin .user-modal-form .form-group label:not(.checkbox-label):not(.toggle-row){color:var(--green-900);font-size:.76rem;font-weight:800;letter-spacing:0;margin-bottom:.45rem}.users-admin .user-modal-form input[type=email],.users-admin .user-modal-form input[type=tel],.users-admin .user-modal-form input[type=text]{background:var(--surface);border-color:hsla(98,30%,83%,.95);box-shadow:inset 0 1px 0 rgba(37,74,52,.02);min-height:44px;padding:.65rem .75rem}.users-admin .user-modal-form input[type=email]:focus,.users-admin .user-modal-form input[type=tel]:focus,.users-admin .user-modal-form input[type=text]:focus{border-color:var(--green-500);outline:3px solid rgba(104,200,51,.16)}.users-admin .field-hint{color:var(--muted);display:block;font-size:.85rem;line-height:1.35;margin-top:.4rem}.users-admin .toggle-row{align-items:flex-start;background:var(--surface-soft);border:1px solid hsla(98,30%,83%,.95);border-radius:8px;color:var(--green-900);cursor:pointer;display:flex;gap:.75rem;margin:0;padding:.9rem 1rem;text-transform:none}.users-admin .toggle-row input{flex:0 0 auto;height:16px;margin-top:.15rem;width:16px}.users-admin .toggle-row span{display:grid;gap:.2rem}.users-admin .toggle-row strong{font-size:.95rem;font-weight:800}.users-admin .toggle-row small{color:var(--muted);font-size:.86rem;font-weight:600;line-height:1.35}.users-admin .user-role-list{background:transparent;border:none;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;overflow:visible;padding:0}.users-admin .role-choice{align-items:center;background:var(--surface);border:1px solid hsla(98,30%,83%,.95);border-radius:8px;color:var(--green-900);display:flex;font-size:.86rem;font-weight:800;margin:0;min-height:44px;padding:.7rem .8rem;text-transform:uppercase}.users-admin .role-choice:has(input:checked){background:#e8f8df;border-color:rgba(104,200,51,.75);box-shadow:inset 0 0 0 1px rgba(104,200,51,.25)}.users-admin .role-choice input{flex:0 0 auto;height:16px;width:16px}.users-admin .user-modal .modal-actions{background:var(--surface-soft);border-top:1px solid hsla(98,30%,83%,.8);grid-column:1/-1;margin:.5rem -1.75rem -1.75rem;padding:1rem 1.75rem}@media (max-width:768px){.admin-container{padding:1rem}.admin-header{align-items:flex-start;flex-direction:column;gap:1rem}.table-container{padding:.5rem}.admin-table{font-size:.9rem}.admin-table td,.admin-table th{padding:.5rem}.auth-admin .form-grid,.auth-stats-grid,.oauth-reference-grid,.users-stats-grid{grid-template-columns:1fr}.auth-admin .modal-actions,.auth-admin-header,.users-admin-header{align-items:flex-start;flex-direction:column}}@media (max-width:560px){.users-admin .user-modal-form{grid-template-columns:1fr;padding:1.25rem}.users-admin .modal-title-row{padding:1.25rem}.users-admin .user-role-list{grid-template-columns:1fr}.users-admin .user-modal .modal-actions{align-items:stretch;flex-direction:column;margin:.25rem -1.25rem -1.25rem;padding:1rem 1.25rem}.users-admin .user-modal .modal-actions button{width:100%}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--app-bg:#f2f3f1;--surface:#fff;--surface-soft:#f8faf6;--green-900:#254a34;--green-800:#31583d;--green-700:#3f6b48;--green-500:#68c833;--border:#cfe0c5;--muted:#8a928c;--danger:#c84b44;--shadow-soft:0 1px 0 rgba(37,74,52,.04)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg);color:var(--green-900)}#root,body{min-height:100vh}