@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:JetBrains Mono,Consolas,Monaco,Courier New,monospace}.dark{color-scheme:dark}.dark ::-webkit-scrollbar{width:8px}.dark ::-webkit-scrollbar-track{background:#1e293b}.dark ::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:#64748b}.layout{background:#0f172a;display:flex;height:100vh}.sidebar{background:#1e293b;border-right:1px solid #475569;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:256px;z-index:50}.sidebar.open{transform:translateX(0)}.sidebar-overlay{background:#00000080;inset:0;position:fixed;z-index:40}.main-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.header{background:#1e293b;border-bottom:1px solid #475569;padding:1rem 1.5rem}.header-content{align-items:center;display:flex;justify-content:space-between}.main{flex:1 1;overflow:auto;padding:1.5rem}.nav-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.nav-item{align-items:center;border-radius:.5rem;color:#cbd5e1;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.nav-item:hover{background:#334155;color:#f8fafc}.nav-item.active{background:#3b82f6;color:#fff}.btn{padding:.5rem 1rem}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#334155;color:#cbd5e1}.card{background:#1e293b;border:1px solid #475569;border-radius:.5rem;padding:1.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#1e293b;border:1px solid #475569;border-radius:.5rem;padding:1.5rem;transition:border-color .2s}.stat-card:hover{border-color:#64748b}.stat-card-header{align-items:center;display:flex;justify-content:space-between}.stat-card-content{flex:1 1}.stat-title{color:#cbd5e1;font-size:.875rem;font-weight:500}.stat-value{color:#f8fafc;font-size:1.5rem;font-weight:700;margin-top:.5rem}.stat-icon{border:1px solid;border-radius:.5rem;padding:.75rem}.stat-icon.primary{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.stat-icon.success{background:#10b9811a;border-color:#10b98133;color:#10b981}.stat-icon.warning{background:#f59e0b1a;border-color:#f59e0b33;color:#f59e0b}.stat-icon.error{background:#ef44441a;border-color:#ef444433;color:#ef4444}@media (min-width:1024px){.sidebar{position:static;transform:translateX(0)}.main-content{margin-left:0}}.modal-container-sm{max-width:24rem}.modal-container-md{max-width:32rem}.modal-container-lg{max-width:48rem}.modal-container-xl{max-width:64rem}.modal-title{margin:0}.modal-close{align-items:center;display:flex;justify-content:center}.modal-close:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}.modal-body{color:#f8fafc}@media (max-width:640px){.modal-overlay{padding:.5rem}.modal-container{margin:.5rem;max-width:calc(100vw - 1rem);padding:1rem}}.modal-actions{border-top:1px solid #475569;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.btn{text-decoration:none}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-secondary:hover:not(:disabled){background:#334155;color:#f8fafc;transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.btn-success{background:#22c55e;color:#fff}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.btn-success:disabled{cursor:not-allowed;opacity:.5}.toast-container{display:flex;flex-direction:column;gap:.5rem;pointer-events:none;position:fixed;right:1rem;top:1rem;z-index:9999}.toast{align-items:center;background:#1e293b;border:1px solid #475569;border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;gap:.75rem;max-width:480px;min-width:320px;opacity:0;padding:1rem 1.25rem;pointer-events:auto;transform:translateX(100%);transition:all .3s ease}.toast-visible{opacity:1;transform:translateX(0)}.toast-closing{opacity:0;transform:translateX(100%)}.toast-success{border-left:4px solid #22c55e}.toast-success .toast-icon{color:#22c55e}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.toast-message{color:#f8fafc;flex:1 1;font-size:.875rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.25rem;transition:all .2s}.toast-close:hover{background:#334155;color:#e2e8f0}.toast-close:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}@media (max-width:480px){.toast-container{left:1rem;right:1rem;top:1rem}.toast{max-width:none;min-width:auto}}*,:after,:before{box-sizing:border-box}.modal-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:1rem;position:fixed;z-index:999999}.modal-container{background:#1e293b;border:1px solid #475569;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;box-sizing:border-box;margin:auto;max-height:90vh;max-width:48rem;overflow-y:auto;padding:1.5rem;position:relative;width:100%}.modal-header{align-items:center;border-bottom:1px solid #475569;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.modal-title{color:#f8fafc;font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;border-radius:.375rem;color:#94a3b8;cursor:pointer;padding:.25rem;transition:all .2s}.modal-close:hover{background:#334155;color:#e2e8f0}.form-section{background:#334155;border:1px solid #475569;border-radius:.5rem;margin-bottom:1.5rem;min-width:0;overflow:hidden;padding:1.25rem}.section-header{align-items:center;color:#f8fafc;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.section-description{color:#cbd5e1;font-size:.875rem;margin-bottom:1rem}.form-label{color:#e2e8f0;font-weight:500;margin-bottom:.5rem}.form-input,.form-label{display:block;font-size:.875rem}.form-input{background:#0f172a;border:1px solid #475569;border-radius:.5rem;box-sizing:border-box;color:#f8fafc;max-width:100%;min-width:0;padding:.75rem 1rem;transition:all .2s;width:100%}.form-input::placeholder{color:#64748b}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.form-textarea{min-height:5rem;resize:none}.form-select{background:#0f172a;border:1px solid #475569;border-radius:.5rem;box-sizing:border-box;color:#f8fafc;display:block;font-size:.875rem;max-width:100%;min-width:0;padding:.75rem 1rem;transition:all .2s;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;min-width:0}@media (min-width:640px){.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:640px){.modal-container{margin:1rem;max-width:calc(100vw - 2rem);padding:1rem}.form-section{padding:1rem}}.form-grid>div{min-width:0;overflow:hidden}.preset-section{background:#3b82f61a;border:1px solid #3b82f64d}.permissions-section{background:#334155;border:1px solid #475569}.permissions-grid{background:#0f172a;border:1px solid #475569;border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;max-height:18rem;overflow-y:auto;padding:1rem}.permission-item{align-items:flex-start;border:1px solid #334155;border-radius:.5rem;cursor:pointer;display:flex;padding:.75rem;transition:all .2s}.permission-checkbox,.permission-item:hover{background:#1e293b;border-color:#64748b}.permission-checkbox{border-radius:.25rem;color:#3b82f6;flex-shrink:0;height:1rem;margin-top:.25rem;width:1rem}.permission-checkbox:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}.permission-label{cursor:pointer;display:block;flex:1 1;margin-left:.75rem}.permission-name{color:#f8fafc;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.permission-description{color:#94a3b8;font-size:.875rem}.selected-count{background:#3b82f633;border:1px solid #3b82f666;border-radius:9999px;color:#60a5fa;font-size:.875rem;padding:.25rem .75rem}.error-message{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:.5rem;color:#f87171;display:flex;font-size:.875rem;margin-top:.75rem;padding:.75rem}.error-icon{flex-shrink:0;height:1rem;margin-right:.5rem;width:1rem}.form-actions{border-top:1px solid #475569;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}.btn-secondary{background:#1e293b;border:1px solid #475569;color:#e2e8f0}.btn-secondary:hover{background:#334155;color:#f8fafc}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.loading-spinner{animation:spin 1s linear infinite;height:1rem;width:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon{height:1.25rem;width:1.25rem}.icon-sm{height:1rem;width:1rem}.text-blue{color:#60a5fa}.text-green{color:#34d399}.text-yellow{color:#fbbf24}.text-purple{color:#a78bfa}.text-orange{color:#fb923c}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}