:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#002019;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;width:100%;margin:0;padding:0;top:0}input{background-color:#fff}#root{width:100%;min-height:100vh}.login-container{width:400px;margin:0 auto;text-align:center}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;min-width:360px}.login-box{width:360px;padding:40px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;text-align:center}.login-icon{width:50px;height:var(--logo-height)}.login-box h2{margin-bottom:20px;font-size:24px;color:#333}.input-group{margin-bottom:15px;text-align:left}.input-group label{display:block;font-size:14px;color:#666;margin-bottom:5px}.input-group input{color:#000;width:100%;padding:10px;font-size:16px;border:1px solid #cccccc;border-radius:4px;background-color:#fff;box-sizing:border-box}.input-group input:focus{border-color:#4e73df;outline:none}.input-group select{color:#000;width:100%;padding:10px 40px 10px 10px;font-size:16px;border:1px solid #cccccc;border-radius:4px;background-color:#fff;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" fill="none"><path d="M1 1L6 6L11 1" stroke="%23666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;transition:all .2s ease-in-out}.input-group select:focus{border-color:#4e73df;outline:none;box-shadow:0 0 0 3px #4e73df1a}.input-group select:hover{border-color:#999}.input-group select option{padding:8px 12px;background-color:#fff;color:#000}.input-group select option:checked{background-color:#4e73df;color:#fff}.input-group select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e0e0e0}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-button{width:100%;padding:10px;font-size:16px;background-color:#000;color:#fff;border:none;border-radius:4px;cursor:pointer}.login-button:hover,.login-button:active{background-color:#181616}.login-button.loading{position:relative;cursor:not-allowed;color:transparent}.login-button.loading:after{content:"";position:absolute;left:48%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#000}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #cccccc}.divider:before{margin-right:.25em}.divider:after{margin-left:.25em}.provider-buttons{display:flex;flex-direction:column;gap:10px}.provider-buttons button{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;font-size:16px;border:1px solid #cccccc;border-radius:4px;cursor:pointer;background-color:#fff}.provider-buttons button img{margin-right:10px}.google-button{color:#000;border-color:#000}.google-button:before{content:"";background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2048%2048'%3e%3cdefs%3e%3cpath%20id='a'%20d='M44.5%2020H24v8.5h11.8C34.7%2033.9%2030.1%2037%2024%2037c-7.2%200-13-5.8-13-13s5.8-13%2013-13c3.1%200%205.9%201.1%208.1%202.9l6.4-6.4C34.6%204.1%2029.6%202%2024%202%2011.8%202%202%2011.8%202%2024s9.8%2022%2022%2022c11%200%2021-8%2021-22%200-1.3-.2-2.7-.5-4z'/%3e%3c/defs%3e%3cclipPath%20id='b'%3e%3cuse%20xlink:href='%23a'%20overflow='visible'/%3e%3c/clipPath%3e%3cpath%20clip-path='url(%23b)'%20fill='%23FBBC05'%20d='M0%2037V11l17%2013z'/%3e%3cpath%20clip-path='url(%23b)'%20fill='%23EA4335'%20d='M0%2011l17%2013%207-6.1L48%2014V0H0z'/%3e%3cpath%20clip-path='url(%23b)'%20fill='%2334A853'%20d='M0%2037l30-23%207.9%201L48%200v48H0z'/%3e%3cpath%20clip-path='url(%23b)'%20fill='%234285F4'%20d='M48%2048L17%2024l-4-3%2035-10z'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;width:20px;height:20px;padding-right:10px;display:inline-block}.google-button:hover{background-color:#f0f0f0}.apple-button{color:#000;border-color:#000}.apple-button:before{content:"";background-image:url(./assets/apple.svg);background-size:contain;background-repeat:no-repeat;width:20px;height:20px;padding-right:10px;display:inline-block}.apple-button:hover{background-color:#f0f0f0}.orange-bold-link{font-size:12px;color:#000;font-weight:700;text-decoration:none;transition:color .3s ease}.orange-bold-link:hover{color:#000;text-decoration:underline}.signup-block{text-align:left;margin-top:5px;color:#000;font-size:12px}.feedback-container{position:absolute;top:10px;right:10px;z-index:99999}.tooltip{position:relative;display:inline-block;padding:10px 15px;border-radius:4px;font-size:14px;font-weight:700;color:#fff;text-align:center;opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;z-index:1000}.tooltip-success{background-color:#28a745}.tooltip-error{background-color:#dc3545}.tooltip.show{opacity:1;transform:translateY(0)}.dashboard{display:flex;min-height:100vh}.sidebar{width:256px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.logo-section{padding:24px;border-bottom:1px solid #e5e7eb}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:32px;height:32px;background:#4f46e5;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.logo-text{font-size:20px;font-weight:600;color:#111827}.nav-section{flex:1;padding:24px}.nav-menu{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;border:none;background:none;color:#374151;font-weight:500;cursor:pointer;transition:all .2s;width:100%;text-align:left}.nav-item:hover{background:#f9fafb}.nav-item.active{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.user-profile{padding:24px;border-top:1px solid #e5e7eb}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;background:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6b7280}.user-details h4{margin:0;font-size:14px;font-weight:500;color:#111827}.user-details p{margin:0;font-size:12px;color:#6b7280}.main-content{flex:1;display:flex;flex-direction:column}.header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.header-title{font-size:18px;font-weight:600;color:#111827}.header-actions{display:flex;align-items:center;gap:16px}.search-box{position:relative}.search-input{padding:8px 12px 8px 40px;border:1px solid #d1d5db;border-radius:8px;width:256px;font-size:14px;background-color:#fff;color:#000}.search-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.notification-btn{position:relative;padding:8px;border:none;background:none;border-radius:8px;cursor:pointer;color:#6b7280}.notification-btn:hover{background:#f9fafb}.notification-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:#ef4444;border-radius:50%}.page-content{flex:1;padding:24px;background-color:#f5f5f5}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-title h2{font-size:24px;font-weight:600;color:#111827}.content-title p{color:#6b7280;margin-top:4px}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.btn-primary:hover{background:#4338ca}.btn-secondary{background:#f9fafb;color:#374151;border:1px solid #d1d5db;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.btn-secondary:hover{background:#f3f4f6}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a}.card-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;gap:16px}.card-content{padding:0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:500;color:#111827}.table th:last-child{text-align:right}.table td{padding:16px 24px;border-bottom:1px solid #f3f4f6}.table td:last-child{text-align:right}.table tr:hover{background:#f9fafb}.user-cell{display:flex;align-items:center;gap:12px;line-height:.3}.user-avatar-small{width:40px;height:40px;background:#eef2ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4f46e5}.user-info-small h4{font-weight:500;color:#111827}.user-info-small p{font-size:14px;color:#6b7280}.badge{padding:4px 8px;border-radius:9999px;font-size:12px;font-weight:500}.badge-owner{background:#fef2f2;color:#dc2626}.badge-admin{background:#eff6ff;color:#2563eb}.badge-group_admin{background:#eff6ff;color:#8525eb}.badge-user{background:#f3f4f6;color:#374151}.badge-active{background:#f0fdf4;color:#16a34a}.badge-inactive{background:#f3f4f6;color:#374151}.badge-invited{background:#f1dffd;color:#6f20a3}.action-buttons{display:flex;gap:8px;justify-content:flex-end}.action-btn{padding:8px;border:none;background:none;border-radius:8px;cursor:pointer;color:#6b7280;transition:background .2s}.action-btn:hover{background:#f3f4f6}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:24px}.stat-card{background:#fff;padding:24px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.stat-header{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:14px;font-weight:500;color:#6b7280}.stat-value{font-size:32px;font-weight:700;color:#111827}.stat-icon{color:#4f46e5}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.group-card{background:#fff;padding:24px;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.group-card:hover{box-shadow:0 4px 6px #0000001a}.group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.group-icon{width:48px;height:48px;background:#eef2ff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4f46e5}.group-title{font-size:18px;font-weight:600;color:#111827;margin-bottom:8px}.group-description{color:#6b7280;font-size:14px;margin-bottom:16px}.group-meta{display:flex;justify-content:space-between;font-size:14px;color:#6b7280;margin-bottom:16px}.group-actions{display:flex;gap:8px}.group-btn{flex:1;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.group-btn-secondary{background:#f9fafb;border:1px solid #e5e7eb;color:#374151}.group-btn-secondary:hover{background:#f3f4f6}.group-btn-primary{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.group-btn-primary:hover{background:#e0e7ff}.icon:before{content:attr(data-icon)}@media (max-width: 768px){.sidebar,.search-input{width:200px}.stats-grid,.groups-grid{grid-template-columns:1fr}}.group-members{color:#111827;margin-top:16px;padding:16px;background:#f9fafb;border-radius:6px}.group-members h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.members-list{list-style:none;padding:0;margin:0}.member-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.member-item:last-child{border-bottom:none}.member-name{font-weight:500;color:#111827;font-size:14px}.member-email{font-size:12px;color:#6b7280}.group-scopes{margin-bottom:16px}.group-scopes h5{margin:0 0 8px;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.scope-labels{display:flex;flex-wrap:wrap;gap:6px}.scope-label{display:inline-block;padding:4px 8px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#fff;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade-in .2s ease-out}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:calc(100vh - 40px);overflow:hidden;position:relative;animation:modal-slide-up .3s ease-out;outline:none}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:800px}.modal-full{width:calc(100vw - 40px);height:calc(100vh - 40px);max-width:none;max-height:none}.modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:#fafafa}.modal-title{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-close-btn{background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modal-close-btn:focus{outline:none;box-shadow:0 0 0 2px #4f46e5}.modal-body{padding:24px;overflow-y:auto;max-height:calc(100vh - 140px)}.modal-content:not(:has(.modal-header)) .modal-body{padding:32px 24px;max-height:calc(100vh - 80px)}.modal-body .form-group{margin-bottom:20px}.modal-body .form-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.modal-body .form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;color:#111827}.modal-body .form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-body .form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;resize:vertical;min-height:80px;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.modal-body .form-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-body .form-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;color:#111827}.modal-body .form-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-actions{padding:20px 24px;border-top:1px solid #e5e7eb;background:#fafafa;display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:8px}.modal-btn-primary{background:#4f46e5;color:#fff}.modal-btn-primary:hover{background:#4338ca}.modal-btn-primary:focus{outline:none;box-shadow:0 0 0 3px #4f46e54d}.modal-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.modal-btn-secondary:hover{background:#f9fafb}.modal-btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.modal-btn-danger{background:#dc2626;color:#fff}.modal-btn-danger:hover{background:#b91c1c}.modal-btn-danger:focus{outline:none;box-shadow:0 0 0 3px #dc26264d}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 640px){.modal-overlay{padding:10px}.modal-small,.modal-medium,.modal-large{width:calc(100vw - 20px)}.modal-full{width:calc(100vw - 20px);height:calc(100vh - 20px)}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-actions{padding:16px 20px;flex-direction:column-reverse}.modal-btn{width:100%;justify-content:center}}
