body{margin:0;padding:0;background:#f9fafb;color:#111827;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;transition:background .3s ease,color .3s ease}body.dark{background:#111827;color:#f9fafb}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;color:#374151;padding:20px 20px 0;box-shadow:2px 0 5px #0000000d;position:fixed;height:100vh;border-right:1px solid #e5e7eb;transition:background .3s ease,color .3s ease;z-index:1000;display:flex;flex-direction:column}body.dark .sidebar{background:#1f2937;color:#f9fafb;border-right:1px solid #374151}.sidebar-title{font-size:1.5rem;margin-bottom:20px;text-align:center;color:#4f46e5;font-weight:600}.sidebar-nav{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto}.nav-section{margin-top:20px;padding-top:15px;border-top:1px solid #e5e7eb}body.dark .nav-section{border-top:1px solid #374151}.nav-section-title{font-size:.9rem;color:#6b7280;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.nav-link{padding:12px 15px;border-radius:8px;transition:all .3s ease;background:transparent;border:none;color:#374151;text-align:left;cursor:pointer;font-size:1rem;font-weight:500}.nav-link:hover{background:#f3f4f6;transform:translate(5px)}.enterprise-toggle{width:100%;justify-content:space-between;display:flex;align-items:center}.enterprise-submenu{margin-left:15px;margin-top:10px;display:flex;flex-direction:column;gap:5px}.submenu-link{padding:8px 15px;font-size:.9rem;margin-left:10px}.submenu-link:hover{background:#f3f4f6;transform:translate(10px)}.main-content{flex:1;margin-left:250px;padding:60px;background:#f9fafb;min-height:100vh;transition:background .3s ease}body.dark .main-content{background:#111827}.page{max-width:1200px;margin:0 auto;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}h2{color:#111827;margin-bottom:20px;font-size:2rem;font-weight:600}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;margin-bottom:20px}.btn-primary:hover{background:#4338ca;transform:translateY(-2px);box-shadow:0 4px 8px #4f46e54d}.btn-delete{background:#dc2626;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;margin-left:10px;transition:all .3s ease}.btn-delete:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 4px #dc26264d}.list{list-style:none;padding:0}.list-item{background:#fff;padding:25px;margin-bottom:20px;border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;transition:all .3s ease}body.dark .list-item{background:#1f2937;border-color:#374151}.list-item:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}body.dark .list-item:hover{background:#374151}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;padding:30px;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 25px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin-top:0;color:#111827;font-weight:600}form{display:flex;flex-direction:column;gap:15px}input,select,textarea{padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .3s ease;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}textarea{resize:vertical;min-height:80px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;text-align:center;transition:all .3s ease}body.dark .card{background:#1f2937;border-color:#374151}.card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.card h3{margin:0 0 10px;color:#374151;font-size:1.2rem;font-weight:500}.card p{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.charts{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.chart{flex:1 1 300px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;min-height:300px}body.dark .chart{background:#1f2937;border-color:#374151}.chart h3{margin-top:0;color:#111827;font-weight:600}.bar{height:30px;background:linear-gradient(90deg,#4f46e5,#6366f1);margin-bottom:10px;border-radius:4px;display:flex;align-items:center;padding-left:10px;color:#fff;font-weight:700;transition:width .5s ease}.pie-chart{position:relative;width:300px;height:300px;border-radius:50%;margin:20px auto;overflow:hidden}.pie-legend{display:flex;flex-direction:column;gap:10px;margin-top:20px}.legend-item{display:flex;align-items:center;gap:10px}.legend-color{width:20px;height:20px;border-radius:50%}.loading{text-align:center;padding:50px;font-size:1.2rem;color:#6b7280}.error{background:#fef2f2;color:#dc2626;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #fecaca}.alert{background:#fef3c7;color:#d97706;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #fcd34d;font-weight:500}.alert.success{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filters input,.filters select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.filters button{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.calendar{background:#fff;padding:20px;border-radius:8px;margin-top:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb}body.dark .calendar{background:#1f2937;border-color:#374151}.calendar-grid{display:grid;grid-template-columns:repeat(31,1fr);gap:5px;margin-top:10px}.calendar-item{background:#f3f4f6;padding:5px;border-radius:4px;font-size:.8rem;text-align:center;border:1px solid #d1d5db}body.dark .calendar-item{background:#374151;border-color:#4b5563}.theme-toggle{background:#4f46e5;color:#fff;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;margin-top:20px}.theme-toggle:hover{background:#4338ca;transform:translateY(-2px);box-shadow:0 4px 8px #4f46e54d}.sidebar-footer{padding:20px;border-top:1px solid #e5e7eb;flex-shrink:0;margin-top:auto}body.dark .sidebar-footer{border-top:1px solid #374151}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f5f5f5}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#007bff}button[type=submit]{width:100%;padding:.75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-top:1rem}button[type=submit]:disabled{background-color:#ccc;cursor:not-allowed}.error{color:#dc3545;margin-top:.5rem;font-size:.9rem}.link-button{background:none;border:none;color:#007bff;cursor:pointer;text-decoration:underline}.link-button:hover{color:#0056b3}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem}.logout-btn{width:100%;padding:.5rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-top:.5rem}.logout-btn:hover{background-color:#c82333}.hamburger-menu{display:none;position:fixed;top:20px;left:20px;background:#4f46e5;color:#fff;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;font-size:1.2rem;z-index:1001;transition:all .3s ease}.hamburger-menu:hover{background:#4338ca;transform:translateY(-2px);box-shadow:0 4px 8px #4f46e54d}.close-sidebar{display:none;position:absolute;top:10px;right:10px;background:transparent;color:#374151;border:none;font-size:2rem;cursor:pointer;z-index:1001;transition:color .3s ease}body.dark .close-sidebar{color:#f9fafb}.close-sidebar:hover{color:#4f46e5}@media (max-width: 768px){.hamburger-menu{display:block}.sidebar{width:250px;height:100vh;position:fixed;top:0;left:-250px;transition:left .3s ease;z-index:1000}.sidebar.sidebar-open{left:0}.close-sidebar{display:block}.main-content{margin-left:0;padding:80px 20px 20px}.summary-cards{grid-template-columns:1fr}.modal-content{width:95%;padding:20px}.charts{flex-direction:column}.chart{flex:1 1 auto}.filters{flex-direction:column;align-items:stretch}.filters input,.filters select,.filters button{margin-bottom:10px}.calendar-grid{grid-template-columns:repeat(7,1fr);font-size:.7rem}.list-item{padding:15px}.card{padding:20px}}@media (max-width: 480px){.main-content{padding:80px 10px 10px}.page{max-width:100%;margin:0}.sidebar-title{font-size:1.2rem}.nav-link{font-size:.9rem;padding:10px 12px}.modal-content{width:98%;padding:15px}.btn-primary{padding:10px 20px;font-size:.9rem}.summary-cards{gap:15px}.card{padding:15px}.chart{padding:15px;min-height:250px}.pie-chart{width:250px;height:250px}.calendar{padding:15px}.calendar-grid{grid-template-columns:repeat(7,1fr);font-size:.6rem}.list-item{padding:10px}form{gap:10px}input,select,textarea{padding:10px;font-size:.9rem}}.page{max-width:1400px;margin:0 auto;padding:20px}.page h2{color:#111827;margin-bottom:30px;font-size:2.5rem;font-weight:700;text-align:center;border-bottom:3px solid #4f46e5;padding-bottom:15px}.preview-app{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 6px #0000001a}.preview-navbar{padding:1rem;color:#fff;display:flex;justify-content:space-between;align-items:center}.preview-logo{display:flex;align-items:center;gap:10px;font-weight:700}.preview-nav-links{display:flex;gap:20px}.preview-content{padding:2rem;min-height:200px}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px;margin-top:30px}.tenant-card{border:1px solid #e5e7eb;border-radius:12px;padding:25px;background:#fff;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.tenant-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.tenant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.status.active{background:#d1fae5;color:#065f46}.tenant-details p{margin:5px 0;color:#6b7280}.tenant-actions{margin-top:15px;display:flex;gap:10px}.rbac-sections{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.rbac-section h3{margin-bottom:20px;color:#374151;font-size:1.5rem;font-weight:600}.roles-list,.users-list{display:flex;flex-direction:column;gap:20px}.role-card,.user-card{border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#fff;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.role-card:hover,.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.permission-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.permission-tag{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-size:12px;color:#374151}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.permission-item{display:flex;align-items:center;gap:8px;font-size:14px}.user-info{margin-bottom:10px}.current-role{color:#6b7280;font-size:14px}.integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px;margin-top:30px}.integration-card{border:1px solid #e5e7eb;border-radius:12px;padding:25px;background:#fff;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.integration-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.integration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.integration-details p{margin:5px 0;color:#6b7280}.integration-actions{margin-top:15px;display:flex;gap:10px}.whitelabel-form{margin-top:30px}.form-section{margin-bottom:40px;padding:30px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;box-shadow:0 2px 4px #0000000d}.form-section h3{margin-bottom:25px;color:#374151;font-size:1.5rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.logo-preview{margin-top:15px;padding:15px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.preview-section{margin-top:30px;padding:30px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;box-shadow:0 2px 4px #0000000d}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:500}.btn-secondary{background:#6b7280;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer}.btn-edit{background:#f59e0b;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.btn-delete{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.btn-sync{background:#059669;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.btn-warning{background:#d97706;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer}.btn-primary:hover,.btn-secondary:hover,.btn-edit:hover,.btn-delete:hover,.btn-sync:hover,.btn-warning:hover{opacity:.9}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.empty-state{text-align:center;padding:40px;color:#6b7280}.empty-state h3{margin-bottom:10px;color:#374151}
