.login-bg{font-family:Inter,sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;background:#0e4272;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:9999}.bg-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none}.blob-1{width:520px;height:520px;background:#2d2e8f;top:-160px;left:-140px}.blob-2{width:400px;height:400px;background:#7b84c9;bottom:-120px;right:-100px}.blob-3{width:260px;height:260px;background:#9dc876;top:50%;left:60%;transform:translate(-50%,-50%)}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.login-wrap{position:relative;z-index:10;width:100%;max-width:440px;padding:16px}.login-card{background:#fff;border-radius:18px;box-shadow:0 24px 60px #00000038;overflow:hidden}.card-accent{height:4px;background:linear-gradient(90deg,#2d2e8f,#7b84c9,#9dc876)}.card-body-inner{padding:40px 40px 36px}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.login-logo img{height:44px;max-width:160px;object-fit:contain}.login-logo-placeholder{width:52px;height:52px;border-radius:14px;background:#e8f0f8;display:inline-flex;align-items:center;justify-content:center}.login-logo-placeholder i{font-size:24px;color:#0e4272}.login-badge{display:inline-flex;align-items:center;gap:6px;background:#e8f0f8;color:#0e4272;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:4px 10px;border-radius:20px;margin-bottom:14px}.login-badge i{font-size:10px}.login-title{font-size:22px;font-weight:700;color:#111827;line-height:1.25;margin-bottom:6px}.login-subtitle{font-size:13px;color:#6b7280}.form-group{margin-bottom:18px}.form-label-custom{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.input-wrap{position:relative}.input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:15px;pointer-events:none}.form-input{width:100%;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 12px 10px 38px;font-size:13px;font-family:Inter,sans-serif;color:#111827;outline:none;transition:border-color .18s,box-shadow .18s;background:#fff}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:#2d2e8f;box-shadow:0 0 0 3.5px #2d2e8f1a}.form-input.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.pwd-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:15px;padding:2px 4px;border-radius:4px;line-height:1;transition:color .15s}.pwd-toggle:hover{color:#374151}.pwd-input{padding-right:40px}.extras-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.remember-wrap{display:flex;align-items:center;gap:7px;cursor:pointer}.remember-wrap input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#2d2e8f}.remember-wrap span{font-size:12px;font-weight:500;color:#4b5563}.remember-wrap span a{color:#2d2e8f;font-weight:600;text-decoration:none}.remember-wrap span a:hover{color:#0e4272;text-decoration:underline}.forgot-link{font-size:12px;font-weight:600;color:#2d2e8f;text-decoration:none;transition:color .15s}.forgot-link:hover{color:#0e4272;text-decoration:underline}.btn-login{width:100%;background:#2d2e8f;color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .18s,box-shadow .18s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.01em}.btn-login:hover{background:#0e4272;box-shadow:0 6px 20px #2d2e8f4d}.btn-login:active{transform:scale(.985)}.btn-login:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-login .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;display:none;flex-shrink:0}.btn-login.loading .spinner{display:block}.btn-login.loading .btn-text{display:none}.btn-login .btn-text{display:flex;align-items:center;gap:7px}.error-banner{display:none;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;margin-bottom:18px;font-size:12px;color:#dc2626;align-items:center;gap:8px}.error-banner.show{display:flex}.error-banner i{font-size:14px;flex-shrink:0}.divider{display:flex;align-items:center;gap:12px;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.divider span{font-size:11px;color:#9ca3af;font-weight:500;white-space:nowrap}.card-footer-inner{background:#f9fafb;border-top:1px solid #f3f4f6;padding:16px 40px;display:flex;align-items:center;justify-content:center;gap:8px}.secure-text{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af}.secure-text i{font-size:12px;color:#9dc876}.bottom-brand{text-align:center;margin-top:20px;font-size:12px;color:#ffffff80}.bottom-brand a{color:#ffffffb3;text-decoration:none;margin-left:8px}.bottom-brand a:hover{color:#fff}.login-links{text-align:center;margin-top:18px;font-size:12px;color:#9ca3af}.login-links a{color:#2d2e8f;font-weight:500;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-links .sep{margin:0 8px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s ease}.otp-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#2d2e8f,#7b84c9);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;color:#fff}.otp-inputs{display:flex;gap:10px;justify-content:center;margin:24px 0}.otp-box{width:46px;height:54px;border:2px solid #e5e7eb;border-radius:10px;text-align:center;font-size:22px;font-weight:700;color:#111827;background:#f9fafb;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:Inter,sans-serif;caret-color:transparent}.otp-box:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1f;background:#fff}.otp-box.filled{border-color:#9dc876;background:#fff;color:#2d2e8f}.otp-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:13px;color:#6b7280}.otp-resend{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#2d2e8f;font-family:Inter,sans-serif;padding:0;text-decoration:underline;text-underline-offset:2px}.otp-resend:hover{color:#0e4272}.otp-resend:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.subdomain-wrap{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.subdomain-wrap .modal-input{border:none;border-radius:0;flex:1}.subdomain-wrap .modal-input:focus{box-shadow:none;outline:none}.subdomain-wrap:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.subdomain-suffix{background:#f3f4f6;color:#6b7280;font-size:13px;font-weight:500;padding:8px 12px;white-space:nowrap;border-left:1px solid #e5e7eb}.logo-upload-zone{border:2px dashed #e5e7eb;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;overflow:hidden;min-height:90px;display:flex;align-items:center;justify-content:center}.logo-upload-zone:hover,.logo-upload-zone.drag-over{border-color:#2d2e8f;background:#f5f6ff}.logo-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:18px;color:#6b7280;text-align:center;pointer-events:none}.logo-upload-placeholder i{font-size:26px;color:#9ca3af}.logo-upload-placeholder .upload-label{font-size:13px;font-weight:500;color:#374151}.logo-upload-placeholder .upload-hint{font-size:11px;color:#9ca3af}.logo-preview-wrap{position:relative;width:100%;display:flex;align-items:center;justify-content:center;padding:14px}.logo-preview-wrap img{max-height:64px;max-width:200px;object-fit:contain;border-radius:6px;border:1px solid #e5e7eb}.logo-remove-btn{position:absolute;top:6px;right:6px;background:#fff;border:1px solid #e5e7eb;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#6b7280;line-height:1;transition:background .12s,color .12s,border-color .12s}.logo-remove-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}.stat-card-top{display:flex;align-items:center;justify-content:space-between}.stat-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.stat-icon-blue{background:#e8f0f8;color:#0e4272}.stat-icon-green{background:#e0f0c8;color:#3a6614}.stat-icon-amber{background:#fef5e0;color:#7a4e0a}.stat-icon-red{background:#fee2e2;color:#991b1b}.stat-value{font-size:26px;font-weight:700;color:#111827;line-height:1}.stat-meta span{font-weight:600}.stat-meta .up{color:#3a6614}.stat-meta .down{color:#991b1b}.plan-tabs{display:flex;gap:6px;margin-bottom:0}.plan-tab{background:none;border:1px solid #e5e7eb;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.plan-tab:hover{border-color:#2d2e8f;color:#2d2e8f}.plan-tab.active{background:#2d2e8f;border-color:#2d2e8f;color:#fff}.amount-cell{font-weight:600;color:#111827}.cycle-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;margin-left:5px;background:#f3f4f6;color:#6b7280;vertical-align:middle}.btn-invoice{display:flex;align-items:center;gap:5px;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-invoice:hover{border-color:#2d2e8f;color:#2d2e8f}.audit-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.audit-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px}.audit-stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.asi-blue{background:#e8f0f8;color:#2d2e8f}.asi-green{background:#e0f0c8;color:#3a6614}.asi-amber{background:#fef5e0;color:#7a4e0a}.asi-red{background:#fee2e2;color:#dc2626}.audit-stat-value{font-size:22px;font-weight:700;color:#111827;line-height:1.1}.audit-stat-label{font-size:12px;color:#6b7280;margin-top:2px}.audit-stat-delta{font-size:11px;font-weight:600;margin-top:3px}.delta-up{color:#3a6614}.delta-down{color:#dc2626}.log-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.log-toolbar{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #f3f4f6;gap:10px;flex-wrap:wrap}.log-search-wrap{display:flex;align-items:center;gap:8px;background:#f8f7f7;border:1px solid #e5e7eb;border-radius:8px;padding:0 12px;height:36px;flex:1;min-width:180px;max-width:280px}.log-search-wrap i{color:#9ca3af;font-size:13px;flex-shrink:0}.log-search-wrap input{border:none;background:transparent;outline:none;font-size:13px;color:#374151;flex:1;width:100%}.log-search-wrap input::placeholder{color:#9ca3af}.log-filter-select{border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;height:36px;font-family:Inter,sans-serif}.log-filter-select:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.date-input{border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;font-size:13px;color:#374151;background:#fff;outline:none;height:36px;font-family:Inter,sans-serif;cursor:pointer}.date-input:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.toolbar-spacer{flex:1}.btn-export{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:border-color .13s,background .13s;white-space:nowrap;font-family:Inter,sans-serif}.btn-export:hover{border-color:#9ca3af;background:#f9fafb}.btn-clear-filters{display:inline-flex;align-items:center;gap:5px;background:none;border:none;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:600;color:#9ca3af;cursor:pointer;transition:color .13s;font-family:Inter,sans-serif}.btn-clear-filters:hover{color:#374151}.active-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 20px 0}.active-filters.hidden{display:none}.filter-pill{display:inline-flex;align-items:center;gap:5px;background:#e8f0f8;color:#0e4272;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.filter-pill button{background:none;border:none;cursor:pointer;color:#7b84c9;font-size:12px;line-height:1;padding:0;margin:0;display:flex;align-items:center}.filter-pill button:hover{color:#dc2626}.log-table-wrap{overflow-x:auto}.log-table{width:100%;border-collapse:collapse;font-size:13px}.log-table thead tr{border-bottom:1px solid #e5e7eb}.log-table th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.log-table th:first-child,.log-table td:first-child{padding-left:20px}.log-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s;cursor:pointer}.log-table tbody tr:last-child{border-bottom:none}.log-table tbody tr:hover{background:#fafafa}.log-table tbody tr.expanded{background:#f8f7ff}.log-table td{padding:12px 16px;color:#374151;vertical-align:middle}.event-category{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.cat-auth{background:#e8f0f8;color:#0e4272}.cat-tenant{background:#ede9fe;color:#5b21b6}.cat-billing{background:#fef5e0;color:#7a4e0a}.cat-settings{background:#f3f4f6;color:#374151}.cat-api{background:#e0f0c8;color:#3a6614}.cat-security{background:#fee2e2;color:#dc2626}.cat-user{background:#e0f2fe;color:#0369a1}.action-name{font-weight:600;color:#111827}.action-detail{font-size:11px;color:#6b7280;margin-top:2px}.actor-cell{display:flex;align-items:center;gap:8px}.actor-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}.actor-avatar.system{background:#f3f4f6;color:#9ca3af;border:1px solid #e5e7eb}.actor-name{font-weight:600;color:#111827;font-size:12px}.actor-role{font-size:11px;color:#9ca3af}.ip-cell{font-family:Courier New,monospace;font-size:12px;color:#6b7280}.ip-location{font-size:11px;color:#9ca3af;margin-top:1px;font-family:Inter,sans-serif}.expand-btn{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:14px;padding:2px 4px;border-radius:4px;transition:color .13s,background .13s;line-height:1}.expand-btn:hover{color:#2d2e8f;background:#e8f0f8}.expand-icon{transition:transform .2s;display:inline-block}.expand-icon.rotated{transform:rotate(90deg)}.detail-row td{padding:0!important;background:#f8f7ff}.detail-panel{padding:16px 20px 16px 52px;border-bottom:1px solid #e8e4ff;display:none}.detail-panel.visible{display:block}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;margin-bottom:12px}.detail-key{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.detail-value{font-size:12px;color:#111827;font-weight:500;word-break:break-all}.detail-meta-raw{background:#1e2433;border-radius:8px;padding:12px 16px;font-family:Courier New,monospace;font-size:11px;color:#a5f3a5;overflow-x:auto;margin-top:8px;line-height:1.7}.detail-meta-raw .key{color:#93c5fd}.detail-meta-raw .str{color:#fde68a}.detail-meta-raw .num{color:#f9a8d4}.detail-meta-raw .bool{color:#6ee7b7}.log-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #f3f4f6;flex-wrap:wrap;gap:8px;min-height:63px}.log-count{font-size:12px;color:#6b7280}#logDetailOverlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1040;opacity:0;transition:opacity .25s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#logDetailOverlay.open{opacity:1}#logDetailDrawer{position:fixed;top:0;right:0;bottom:0;width:440px;background:#fff;box-shadow:-4px 0 28px #0000001f;z-index:1050;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}#logDetailDrawer.open{transform:translate(0)}.log-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.log-drawer-title{display:flex;align-items:center;gap:10px}.log-drawer-title h5{font-size:15px;font-weight:700;color:#111827;margin:0}.log-drawer-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;border-radius:6px;transition:background .13s,color .13s;line-height:1}.log-drawer-close:hover{background:#f3f4f6;color:#111827}.log-drawer-body{flex:1;overflow-y:auto;padding:20px 22px}.log-drawer-body::-webkit-scrollbar{width:4px}.log-drawer-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.ld-section{margin-bottom:20px}.ld-section-title{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #f3f4f6}.ld-row{display:flex;align-items:flex-start;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f9fafb;gap:10px}.ld-row:last-child{border-bottom:none}.ld-label{font-size:12px;color:#6b7280;font-weight:500;flex-shrink:0;min-width:110px}.ld-val{font-size:12px;color:#111827;font-weight:600;text-align:right;word-break:break-all}.ld-code{background:#1e2433;border-radius:8px;padding:14px 16px;font-family:Courier New,monospace;font-size:11px;color:#a5f3a5;overflow-x:auto;line-height:1.8;white-space:pre}.ld-code .k{color:#93c5fd}.ld-code .s{color:#fde68a}.ld-code .n{color:#f9a8d4}.ld-code .b{color:#6ee7b7}.log-empty{text-align:center;padding:60px 20px;color:#9ca3af}.log-empty i{font-size:34px;margin-bottom:10px;display:block;color:#d1d5db}.log-empty p{font-size:13px;color:#9ca3af;margin:0}.log-ts-date{font-size:12px;font-weight:600;color:#111827}.log-ts-time{font-size:11px;color:#9ca3af;margin-top:1px}.email-body-editor .ql-container{border-bottom-left-radius:8px;border-bottom-right-radius:8px;font-size:13px;font-family:Inter,sans-serif}.email-body-editor .ql-toolbar{border-top-left-radius:8px;border-top-right-radius:8px;background:#f9fafb}.email-body-editor .ql-editor{min-height:180px}.settings-layout{display:flex;gap:0;height:100%;min-height:0}.settings-nav{width:210px;min-width:210px;display:flex;flex-direction:column;gap:2px;padding:20px 0 20px 20px;flex-shrink:0}.settings-nav-group{margin-bottom:6px}.settings-nav-group-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;padding:10px 12px 4px}.settings-nav-item{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#4b5563;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background .13s,color .13s}.settings-nav-item i{font-size:14px;color:#9ca3af;transition:color .13s}.settings-nav-item:hover{background:#f3f4f6;color:#111827}.settings-nav-item:hover i{color:#6b7280}.settings-nav-item.active{background:#e8f0f8;color:#2d2e8f;font-weight:600}.settings-nav-item.active i{color:#2d2e8f}.settings-content{flex:1;overflow-y:auto;padding:20px 20px 40px 28px;min-width:0}.settings-content::-webkit-scrollbar{width:5px}.settings-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}@media (max-width: 640px){.settings-layout{flex-direction:column}.settings-nav{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;padding:12px 16px 0;gap:6px}.settings-nav-item{width:auto}.settings-content{padding:16px}}.settings-panel{display:none}.settings-panel.active{display:block}.section-head{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.section-head h2{font-size:16px;font-weight:700;color:#111827;margin:0 0 3px}.section-head p{font-size:12px;color:#6b7280;margin:0}.setting-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;overflow:hidden}.setting-card-header{padding:16px 20px 12px;border-bottom:1px solid #f3f4f6;background:#f9fafb}.setting-card-header h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 2px}.setting-card-header p{display:none}.setting-card-body{padding:18px 20px}.setting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #f9fafb}.setting-row:first-child{padding-top:0}.setting-row:last-child{border-bottom:none;padding-bottom:0}.setting-row-label{flex:1;min-width:0}.setting-row-label strong{display:block;font-size:13px;font-weight:600;color:#111827;margin-bottom:2px}.setting-row-label span{font-size:12px;color:#6b7280;line-height:1.45}.setting-row-control{flex-shrink:0;width:383px}.setting-row-control.wide{min-width:260px}.setting-row-control.narrow{min-width:120px}@media (max-width: 640px){.setting-row{flex-direction:column;align-items:stretch;gap:8px}.setting-row-control,.setting-row-control.wide,.setting-row-control.narrow{width:100%;min-width:0}}.s-input,.s-select,.s-textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:13px;font-family:Inter,sans-serif;color:#111827;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff}.s-input:focus,.s-select:focus,.s-textarea:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.s-input::placeholder,.s-textarea::placeholder{color:#9ca3af}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle-label{font-size:12px;color:#6b7280}.toggle input:focus-visible+.toggle-slider{outline:2px solid #2d2e8f;outline-offset:2px}.color-pick-wrap{display:flex;align-items:center;gap:10px}.color-pick-wrap input[type=color]{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;padding:2px;cursor:pointer;background:#fff}.color-hex{flex:1}.logo-sidebar-preview{display:flex;align-items:center;width:240px;max-width:100%;flex-shrink:0;padding:14px 12px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.logo-size-row{margin-top:14px;max-width:320px}.logo-upload-row{display:flex;align-items:center;gap:16px}.logo-preview-box{width:64px;height:64px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.logo-preview-box img{width:100%;height:100%;object-fit:contain;border-radius:8px}.logo-preview-box .logo-placeholder-icon{font-size:22px;color:#d1d5db}.logo-upload-actions{display:flex;flex-direction:column;gap:6px}.btn-upload-logo{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;color:#374151;cursor:pointer;transition:border-color .15s,background .15s}.btn-upload-logo:hover{border-color:#9ca3af;background:#f9fafb}.btn-upload-logo-remove{color:#ef4444;border-color:#fca5a5}.btn-upload-logo-remove:hover{background:#fee2e2;border-color:#ef4444}.logo-upload-hint{font-size:11px;color:#9ca3af}.chip-list{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid #e5e7eb;border-radius:8px;min-height:38px;background:#fff;cursor:text;transition:border-color .15s,box-shadow .15s}.chip-list:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.chip{display:inline-flex;align-items:center;gap:5px;background:#e8f0f8;color:#0e4272;font-size:12px;font-weight:500;padding:3px 8px;border-radius:6px}.chip-remove{background:none;border:none;cursor:pointer;color:#7b84c9;font-size:13px;line-height:1;padding:0;margin:0;display:flex;align-items:center}.chip-remove:hover{color:#dc2626}.chip-input{border:none;outline:none;font-size:12px;font-family:Inter,sans-serif;color:#111827;min-width:100px;flex:1;background:transparent;padding:2px 4px}.api-key-wrap{display:flex;align-items:center;gap:8px}.api-key-field{flex:1;font-family:Courier New,monospace;font-size:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;color:#374151;letter-spacing:.05em}.btn-icon-sm{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#6b7280;transition:background .12s,border-color .12s,color .12s;flex-shrink:0}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-item{display:flex;align-items:center;gap:9px;cursor:pointer}.radio-item input[type=radio]{width:15px;height:15px;accent-color:#2d2e8f;cursor:pointer;flex-shrink:0}.radio-item span{font-size:13px;font-weight:500;color:#374151}.danger-card{background:#fff;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;overflow:hidden}.danger-card .setting-card-header{background:#fef2f2;border-bottom-color:#fecaca}.danger-card .setting-card-header h3{color:#dc2626}.btn-danger{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #fca5a5;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;color:#dc2626;cursor:pointer;transition:background .13s,border-color .13s}.settings-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 0 0;margin-top:4px;border-top:1px solid #e5e7eb}.btn-s-cancel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .13s}.btn-s-cancel:hover{background:#f3f4f6}.btn-s-save{display:inline-flex;align-items:center;gap:6px;background:#2d2e8f;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .13s}.btn-s-save:hover{background:#0e4272}#settingsToast{position:fixed;bottom:28px;right:28px;background:#111827;color:#fff;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0003;z-index:9999;transform:translateY(20px);opacity:0;transition:transform .25s,opacity .25s;pointer-events:none}#settingsToast.show{transform:translateY(0);opacity:1}#settingsToast i{font-size:15px;color:#9dc876}.badge-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-success{background:#e0f0c8;color:#3a6614}.badge-warning{background:#fef5e0;color:#7a4e0a}.badge-info{background:#e8f0f8;color:#0e4272}.btn-test{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;color:#374151;cursor:pointer;transition:border-color .13s,background .13s;white-space:nowrap}.btn-test:hover{border-color:#9ca3af;background:#f9fafb}.maintenance-banner{display:none;background:#fef5e0;border:1px solid #f5b95a;border-radius:10px;padding:10px 16px;font-size:12px;color:#7a4e0a;margin-bottom:14px;align-items:center;gap:8px}.maintenance-banner.show{display:flex}.plans-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.plans-count{font-size:12px;color:#6b7280}.btn-add-plan{display:inline-flex;align-items:center;gap:7px;background:#111;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;font-family:Inter,sans-serif}.btn-add-plan:hover{background:#333}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:8px}.plan-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s;position:relative}.plan-card:hover{box-shadow:0 4px 20px #00000014;border-color:#d1d5db}.plan-card.inactive{opacity:.65}.plan-card-accent{height:4px;width:100%}.plan-popular-badge{position:absolute;top:14px;right:14px;background:#f5b95a;color:#7a3f00;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:20px}.plan-card-body{padding:18px 20px 14px;flex:1;display:flex;flex-direction:column}.plan-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}.plan-card-name{font-size:15px;font-weight:700;color:#111827}.plan-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.plan-status-dot.active{background:#9dc876;box-shadow:0 0 0 3px #e0f0c8}.plan-status-dot.inactive{background:#d1d5db;box-shadow:0 0 0 3px #f3f4f6}.plan-card-desc{font-size:12px;color:#6b7280;margin-bottom:14px;line-height:1.5}.plan-pricing{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.plan-price-amount{font-size:26px;font-weight:700;color:#111827;line-height:1}.plan-price-currency{font-size:15px;font-weight:600;color:#6b7280;align-self:flex-start;margin-top:4px}.plan-price-period{font-size:12px;color:#9ca3af}.plan-annual-note{font-size:11px;color:#6b7280;margin-bottom:14px}.plan-annual-note .discount-pill{display:inline-flex;align-items:center;background:#e0f0c8;color:#3a6614;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;margin-left:4px}.plan-limits{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.plan-limit-chip{display:inline-flex;align-items:center;gap:5px;background:#f3f4f6;color:#374151;font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px}.plan-limit-chip i{font-size:10px;color:#9ca3af}.plan-limits-list{list-style:none;padding:0;margin:8px 0 14px;display:flex;flex-direction:column;gap:6px}.plan-limits-list li{display:flex;align-items:center;gap:7px;font-size:12px;color:#374151}.plan-limits-list li:before{content:"";width:4px;height:4px;border-radius:50%;background:#9ca3af;flex-shrink:0}.plan-limits-list li i{font-size:11px;color:#9ca3af}.plan-features{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;flex:1}.plan-feature-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#374151}.plan-feature-item i{font-size:13px;flex-shrink:0}.feat-yes{color:#9dc876}.feat-no{color:#d1d5db}.feat-no-text{color:#9ca3af;text-decoration:line-through}.plan-tenant-count{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#6b7280;margin-bottom:12px}.plan-tenant-count i{font-size:12px}.plan-card-footer{padding:12px 20px;border-top:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-action-btns{display:flex;gap:6px}.btn-plan-edit{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:border-color .13s,background .13s;font-family:Inter,sans-serif}.btn-plan-edit:hover{background:#f9fafb;border-color:#9ca3af}.btn-plan-delete{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:5px 10px;font-size:12px;color:#6b7280;cursor:pointer;transition:background .13s,border-color .13s,color .13s;font-family:Inter,sans-serif}.btn-plan-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.plan-card-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#9ca3af}.plans-empty{text-align:center;padding:60px 20px;color:#9ca3af}.plans-empty i{font-size:36px;margin-bottom:12px;display:block}.plans-empty p{font-size:13px;margin:0}#planDrawerOverlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1040;opacity:0;transition:opacity .25s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#planDrawerOverlay.open{opacity:1}#planDrawer{position:fixed;top:0;right:0;bottom:0;width:480px;background:#fff;box-shadow:-4px 0 28px #00000021;z-index:1050;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}#planDrawer.open{transform:translate(0)}.plan-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.plan-drawer-title{font-size:16px;font-weight:700;color:#111827;margin:0}.plan-drawer-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;border-radius:6px;transition:background .13s,color .13s;line-height:1}.plan-drawer-close:hover{background:#f3f4f6;color:#111827}.plan-drawer-body{flex:1;overflow-y:auto;padding:24px}.plan-drawer-body::-webkit-scrollbar{width:4px}.plan-drawer-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.plan-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f3f4f6;flex-shrink:0}.drawer-section{margin-bottom:22px}.drawer-section-title{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-swatches{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .13s,border-color .13s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#111827;transform:scale(1.15)}.limit-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.limit-label{flex:1;font-size:13px;font-weight:500;color:#374151;display:flex;align-items:center;gap:6px}.limit-label i{font-size:13px;color:#9ca3af}.limit-input-wrap{display:flex;align-items:center;gap:6px}.limit-input-wrap .s-input{width:90px;text-align:right}.limit-unit{font-size:12px;color:#6b7280;min-width:28px}.unlimited-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:#6b7280;cursor:pointer;white-space:nowrap}.unlimited-toggle input{accent-color:#2d2e8f;cursor:pointer}.feature-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f9fafb;gap:12px}.feature-toggle-row:last-child{border-bottom:none}.feature-toggle-label{font-size:13px;font-weight:500;color:#374151;display:flex;align-items:center;gap:7px}.feature-toggle-label i{font-size:14px;color:#9ca3af}.settings-nav-section{margin-bottom:8px}.settings-nav-section-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;padding:10px 12px 4px}.save-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;flex:1}.btn-discard{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .13s;font-family:Inter,sans-serif}.btn-discard:hover{background:#f3f4f6}.btn-save-settings{display:inline-flex;align-items:center;gap:6px;background:#2d2e8f;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .13s;font-family:Inter,sans-serif}.btn-save-settings:hover{background:#0e4272}.s-toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.s-toggle input{opacity:0;width:0;height:0}.s-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:22px;transition:background .2s}.s-toggle-track:before{content:"";display:none}.s-toggle-thumb{position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.s-toggle input:checked~.s-toggle-track{background:#2d2e8f}.s-toggle input:checked~.s-toggle-track .s-toggle-thumb{transform:translate(18px)}.settings-toast{position:fixed;bottom:28px;right:28px;background:#111827;color:#fff;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0003;z-index:9999;animation:toastIn .25s ease forwards}@keyframes toastIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-toast i{font-size:15px;color:#9dc876}.maintenance-banner{display:flex;background:#fef5e0;border:1px solid #f5b95a;border-radius:10px;padding:10px 16px;font-size:12px;color:#7a4e0a;margin-bottom:14px;align-items:center;gap:8px}.maintenance-banner i{font-size:14px;color:#f5b95a;flex-shrink:0}.s-input-sm{max-width:120px}.coming-soon-wrap{text-align:center;padding:80px 20px;color:#6b7280}.coming-soon-icon{width:72px;height:72px;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.coming-soon-icon i{font-size:30px;color:#9ca3af}.coming-soon-wrap h2{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.coming-soon-wrap p{font-size:13px;color:#6b7280;margin:0 0 18px}.coming-soon-badge{display:inline-flex;align-items:center;background:#e8f0f8;color:#2d2e8f;font-size:12px;font-weight:600;padding:5px 14px;border-radius:20px}.plan-card{padding:20px;display:flex;flex-direction:column;gap:14px}.plan-card-featured{border-color:#2d2e8f;background:linear-gradient(135deg,#f0f1ff,#fff)}.plan-badge-popular{position:absolute;top:14px;right:14px;background:#f5b95a;color:#7a3f00;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:20px}.plan-card-head{display:flex;align-items:center;justify-content:space-between}.plan-name{font-size:15px;font-weight:700;color:#111827}.plan-price{font-size:22px;font-weight:800;color:#2d2e8f}.plan-price small{font-size:12px;font-weight:500;color:#9ca3af}.plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.plan-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}.plan-features li i{color:#2d2e8f}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:#fff;border-radius:14px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #f3f4f6}.modal-header h3{font-size:15px;font-weight:700;color:#111827;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;border-radius:6px;transition:background .13s;line-height:1}.modal-close:hover{background:#f3f4f6}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.modal-field label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #f3f4f6}.settings-form-narrow{max-width:660px}.form-label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.s-input:disabled,.s-input[disabled]{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.btn-s-outline{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #2d2e8f;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;color:#2d2e8f;cursor:pointer;transition:background .13s;font-family:Inter,sans-serif}.btn-s-outline:hover{background:#f0f1ff}.btn-s-outline:disabled,.btn-s-save:disabled{opacity:.7;cursor:not-allowed}.setting-card-body-flush{padding:0}.invoices-table{width:100%;border-collapse:collapse;font-size:13px}.invoices-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.invoices-table thead th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.invoices-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.invoices-table tbody tr:last-child{border-bottom:none}.invoices-table tbody tr:hover{background:#f9fafb}.invoices-table tbody td{padding:12px 16px;color:#111827;font-size:13px}.invoice-badge-paid{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#d1fae5;color:#065f46}.security-2fa-section{margin-top:20px;padding-top:20px;border-top:1px solid #f3f4f6}.security-2fa-label{font-size:13px;font-weight:600;color:#111827;margin-bottom:12px}.security-2fa-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:8px}.security-2fa-status{font-size:13px;color:#111827}.security-2fa-status span{font-weight:600}.security-2fa-desc{font-size:12px;color:#6b7280;margin-top:4px}.adash-container{width:60%;max-width:60%;margin-left:auto;margin-right:auto}.adash-header{font-size:22px;font-weight:600;color:#111827;margin:8px 0 20px}.adash-card{background:#fff;border:1px solid #f3f4f6;border-radius:14px;padding:24px}.adash-top-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 900px){.adash-top-row{grid-template-columns:1fr}}.adash-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.adash-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:#fff;flex-shrink:0}.adash-profile-name{font-size:15px;font-weight:700;color:#111827}.adash-profile-role{font-size:12px;color:#9ca3af;margin-top:2px}.adash-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.adash-stat-box{border:1px solid #f3f4f6;border-radius:10px;padding:14px 16px}.adash-stat-label{font-size:12px;color:#9ca3af;margin-bottom:8px}.adash-stat-value{font-size:22px;font-weight:600;color:#111827;line-height:1}.adash-attention-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.adash-attention-item{display:flex;align-items:center;gap:10px;background:#f9fafb;border-radius:10px;border:1px solid #f5f5f5;padding:8px 14px;font-size:13px;font-weight:500;color:#374151;text-decoration:none;transition:background .13s}.adash-attention-item:hover{background:#f3f4f6}.adash-attention-item+.adash-attention-item{margin-top:8px}.adash-attention-icon{color:#9ca3af;font-size:14px;flex-shrink:0}.adash-attention-arrow{margin-left:auto;color:#9ca3af;flex-shrink:0}.adash-attention-empty{font-size:13px;color:#9ca3af;padding:8px 0}.adash-chart-card{margin-bottom:20px}.adash-chart-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.adash-chart-body{height:280px}.adash-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 900px){.adash-row{grid-template-columns:1fr}}.adash-list-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px}.adash-list-header{display:flex;justify-content:flex-end;font-size:11px;color:#9ca3af;margin-bottom:10px}.adash-list{display:flex;flex-direction:column;gap:8px}.adash-list-row{display:flex;align-items:center;gap:10px;background:#f9fafb;border-radius:24px;padding:8px 16px}.adash-list-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}.adash-list-name{font-size:13px;font-weight:500;color:#000;flex:1}.adash-list-count{font-size:13px;color:#9ca3af;font-weight:500}/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Inter,sans-serif;background:#f8f7f7;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);overflow:hidden;font-size:13px;color:#111827}#root{display:flex;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);overflow:hidden;width:100%}h1,h2,h3,h4,h5,h6{margin:0}a{color:#2d2e8f;text-decoration:none}:root{--color-primary: #2d2e8f;--color-primary-dark: #0e4272;--color-secondary: #7b84c9;--color-accent: #9dc876;--color-accent-dark: #3a6614;--color-warning: #f5b95a;--color-warning-dark: #7a4e0a;--color-danger: #ef4444;--color-danger-light: #fee2e2;--color-bg-light: #F8F7F7;--color-bg-white: #fff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-text: #111827;--color-text-muted: #6b7280;--color-text-secondary: #9ca3af}.mb-0{margin-bottom:0}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.p-0{padding:0}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.text-danger{color:var(--color-danger)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-base{font-size:13px}.text-lg{font-size:15px}.text-xl{font-size:18px}.text-2xl{font-size:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.table-loading{text-align:center;padding:60px 20px;color:#9ca3af;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .8s linear infinite}.bi-arrow-repeat.spin{width:1em;height:1em;vertical-align:-.125em;background-image:url(/images/loader.gif);background-size:contain;background-repeat:no-repeat;background-position:center;animation:none}.bi-arrow-repeat.spin:before{content:""!important}.table-loading:has(>.bi-arrow-repeat.spin){font-size:0;gap:0}.table-loading:has(>.bi-arrow-repeat.spin)>.bi-arrow-repeat.spin{font-size:40px;width:120px;height:120px}#sidebar{width:240px;min-width:240px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);overflow:hidden;transition:width .2s;position:relative;z-index:100}#sidebar::-webkit-scrollbar{width:4px}#sidebar::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px 10px;flex-shrink:0}.sidebar-logo{display:flex;align-items:center}.sidebar-logo img{width:160px;max-width:100%;display:block}.sidebar-biz-initial{width:34px;height:34px;border-radius:8px;background:#2d2e8f;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}.nav-section{padding:0}.nav-section:first-child{margin-top:20px}.nav-section-label{width:calc(100% - 16px);background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none;border-radius:6px;margin:1px 8px;text-align:left;font-family:Inter,sans-serif}.nav-section-label:hover{background:#f3f4f6}.nav-section-label.active .section-header i{color:#2d2e8f}.nav-section-label.active .label-left{color:#2d2e8f;font-weight:600}.nav-top-link.active,.nav-top-link.active:hover{background:#e8f0f8}.nav-section-header{width:calc(100% - 16px);display:flex;align-items:center;justify-content:space-between;padding:7px 12px;margin:1px 8px;text-align:left;font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.section-header{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.section-header i{font-size:16px;flex-shrink:0;color:#4b5563}.section-header .label-left{font-size:13px;color:#111827;font-weight:500;white-space:nowrap}.expand-icon{font-size:13px;color:#000;transition:transform .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.expand-icon.rotated{transform:rotate(180deg)}.nav-items-wrapper{display:flex;flex-direction:column;max-height:600px;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s;opacity:1}.nav-items-wrapper.collapsed{max-height:0;opacity:0}.nav-items-wrapper .nav-sub-item{padding-left:38px}.nav-sub-item{width:calc(100% - 16px);background:none;border:none;color:#4b5563;cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:13px;font-weight:500;border-radius:6px;margin:1px 8px;transition:background .15s,color .15s;text-align:left;font-family:Inter,sans-serif}.nav-sub-item:hover{background:#f3f4f6;color:#111827}.nav-sub-item.active{background:#e8f0f8;color:#2d2e8f;font-weight:600}.nav-sub-item.active i{color:#2d2e8f}.nav-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;color:#2d2e8f;border-radius:10px;font-size:11px;font-weight:600;margin-left:auto;flex-shrink:0}.sidebar-sections{flex:1;margin-top:12px;padding-bottom:8px;overflow-y:auto}#main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 20px;height:52px;gap:12px;flex-shrink:0;position:relative;z-index:1000}.search-wrap{flex:1;max-width:500px;display:flex;align-items:center;gap:8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:0 12px;height:36px;position:relative}.search-wrap i{color:#9ca3af;font-size:13px;flex-shrink:0}.search-wrap input{border:none;background:transparent;outline:none;font-size:13px;color:#374151;flex:1;font-family:Inter,sans-serif}.search-wrap input::placeholder{color:#9ca3af}.search-wrap:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.search-clear{cursor:pointer;color:#9ca3af!important}.search-clear:hover{color:#6b7280!important}.search-shortcut{flex-shrink:0;white-space:nowrap;color:#9ca3af;font-size:11px}@media (max-width: 640px){.search-shortcut{display:none}}.search-results-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px #00000024;max-height:420px;overflow-y:auto;padding:6px 0;z-index:10001}.search-results-status{padding:16px 14px;font-size:13px;color:#9ca3af;text-align:center}.search-results-group+.search-results-group{border-top:1px solid #f3f4f6;margin-top:4px;padding-top:4px}.search-results-group-label{padding:6px 14px 2px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.search-result-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border:none;background:none;cursor:pointer;font-family:Inter,sans-serif;text-align:left}.search-result-item:hover,.search-result-item.active{background:#f3f4f6}.search-result-label{font-size:13px;color:#111827;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-subtitle{font-size:11.5px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:45%}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-help-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:17px;flex-shrink:0;text-decoration:none;transition:background .15s,color .15s;position:relative}.topbar-help-btn:hover{background:#f3f4f6;color:#111827}.topbar-help-btn[data-tooltip]:after,.topbar-help-btn[data-tooltip]:before{opacity:0;visibility:hidden;pointer-events:none;position:absolute;left:50%;transform:translate(-50%) translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:50}.topbar-help-btn[data-tooltip]:after{content:attr(data-tooltip);top:calc(100% + 8px);background:#111827;color:#fff;font-size:11px;font-weight:500;line-height:1;padding:5px 8px;border-radius:4px;white-space:nowrap}.topbar-help-btn[data-tooltip]:before{content:"";top:calc(100% + 4px);border:4px solid transparent;border-bottom-color:#111827}.topbar-help-btn[data-tooltip]:hover:after,.topbar-help-btn[data-tooltip]:hover:before,.topbar-help-btn[data-tooltip]:focus-visible:after,.topbar-help-btn[data-tooltip]:focus-visible:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.avatar{width:40px;height:40px;border-radius:50%;background:#e8e4f3;color:#000;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.topbar-user-wrap{position:relative}.topbar-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px #00000024;overflow:hidden;z-index:10001}.topbar-dropdown-header{padding:12px 14px;border-bottom:1px solid #f3f4f6}.topbar-dropdown-header .user-name{font-size:13px;font-weight:600;color:#111827}.topbar-dropdown-header .user-email{font-size:11px;color:#9ca3af;margin-top:2px}.topbar-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:10px 14px;font-size:13px;font-weight:500;color:#374151;background:none;border:none;cursor:pointer;text-decoration:none;transition:background .12s,color .12s;font-family:Inter,sans-serif}.topbar-dropdown-item:hover{background:#f3f4f6;color:#111827}.topbar-dropdown-item i{font-size:14px;color:#6b7280}.topbar-dropdown-logout,.topbar-dropdown-logout i{color:#dc2626}.topbar-dropdown-logout:hover{background:#fee2e2;color:#dc2626}.content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.content::-webkit-scrollbar{width:6px}.content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.content-inner{padding:20px;flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 20px;flex-shrink:0;min-height:55px;background:#fff;position:sticky;top:0;z-index:999}.page-title{font-size:18px;font-weight:600;color:#111827;margin:0}.page-subtitle{font-size:13px;color:#6b7280;margin:0}.page-header-actions{display:flex;align-items:center;gap:8px}.admin-* classes so they can be tuned independently later without leaking into one another. ══════════════════════════════════════ */ .resp-hamburger-btn,.admin-hamburger-btn{display:none}.resp-sidebar-close,.admin-sidebar-close{display:none}@media (max-width: 640px){#sidebar.resp-sidebar,#sidebar.admin-sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);transform:translate(-100%);transition:transform .25s ease;z-index:2001;box-shadow:0 0 24px #0000002e}#sidebar.resp-sidebar.open,#sidebar.admin-sidebar.open{transform:translate(0)}.resp-sidebar-close,.admin-sidebar-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;flex-shrink:0}.resp-sidebar-backdrop,.admin-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;z-index:2000}.resp-hamburger-btn,.admin-hamburger-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:20px;color:#374151;padding:4px 6px;flex-shrink:0}#main.resp-main,#main.admin-main{width:100%;min-width:0}.resp-topbar,.admin-topbar{padding:0 12px;gap:8px}.resp-topbar .search-wrap,.admin-topbar .search-wrap{max-width:none;min-width:0}.resp-topbar .resp-btn-label{display:none}.resp-topbar .resp-new-booking-btn{padding:7px 10px}}@media (max-width: 900px){.booking-form-grid{grid-template-columns:1fr!important}}@media (max-width: 640px){.purchase-dates-grid{grid-template-columns:1fr!important}}.flash-toast{position:fixed;top:28px;left:50%;background:#111827;color:#fff;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0003;z-index:9999;animation:flashToastIn .25s ease forwards}@keyframes flashToastIn{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.flash-toast i{font-size:15px;color:#9dc876}.btn-add-tenant,.btn-add-plan,.btn-test{display:inline-flex;align-items:center;gap:7px;background:#000;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;font-family:Inter,sans-serif}.btn-add-tenant:hover,.btn-add-plan:hover,.btn-test:hover{background:#333}.btn-secondary{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#374151;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-family:Inter,sans-serif}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-modal-cancel,.btn-s-cancel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .13s;font-family:Inter,sans-serif}.btn-modal-cancel:hover,.btn-s-cancel:hover{background:#f8f7f7}.btn-modal-save,.btn-s-save{display:inline-flex;align-items:center;gap:6px;background:#2d2e8f;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif}.btn-modal-save:hover,.btn-s-save:hover{background:#0e4272}.btn-danger{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #fca5a5;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;color:#dc2626;cursor:pointer;transition:background .13s,border-color .13s;font-family:Inter,sans-serif}.btn-danger:hover{background:#fee2e2;border-color:#ef4444}.btn-icon-sm{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#6b7280;transition:background .12s,border-color .12s,color .12s;flex-shrink:0;font-family:Inter,sans-serif}.btn-icon-sm:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.btn-icon-sm.danger:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.btn-primary{display:inline-flex;align-items:center;gap:6px;background:#2d2e8f;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif}.btn-primary:hover:not(:disabled){background:#0e4272}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .13s;font-family:Inter,sans-serif}.btn-outline:hover:not(:disabled){background:#f3f4f6}.btn-outline:disabled{opacity:.6;cursor:not-allowed}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;animation:confirmFadeIn .15s ease}.confirm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;width:400px;max-width:90vw;padding:28px 28px 22px;box-shadow:0 24px 60px #00000040;z-index:2001;text-align:center;animation:confirmPopIn .18s cubic-bezier(.34,1.56,.64,1)}.confirm-modal-icon{width:52px;height:52px;border-radius:50%;background:#eef0ff;color:#2d2e8f;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px}.confirm-modal-icon-danger{background:#fee2e2;color:#ef4444}.confirm-modal-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:8px}.confirm-modal-message{font-size:13px;color:#6b7280;line-height:1.5;margin-bottom:22px}.confirm-modal-actions{display:flex;align-items:center;justify-content:center;gap:10px}.confirm-modal-actions .btn-outline{flex:1;justify-content:center}.confirm-modal-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#2d2e8f;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif}.confirm-modal-btn:hover:not(:disabled){background:#0e4272}.confirm-modal-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-modal-btn-danger{background:#ef4444}.confirm-modal-btn-danger:hover:not(:disabled){background:#dc2626}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmPopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.table-card{background:#fff;display:block;width:100%}.table-card.flex-fill,.master-table-card.flex-fill{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.setting-card,.log-card,.audit-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.setting-card-header,.plan-card-header{padding:16px 20px 12px;border-bottom:1px solid #f3f4f6}.setting-card-header h3,.plan-card-header h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 2px}.setting-card-header p,.plan-card-header p{font-size:12px;color:#6b7280;margin:0}.setting-card-body,.plan-card-body{padding:18px 20px}.booking-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;z-index:10000}.booking-detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:1200px;max-width:95vw;height:84vh;background:#fff;border-radius:16px;box-shadow:0 18px 55px #11182738;z-index:10001;display:flex;flex-direction:column;overflow:hidden}.booking-detail-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.booking-detail-header-title-wrap{display:flex;align-items:center;gap:10px}.booking-detail-title{margin:0;font-size:18px;font-weight:700;color:#111827}.booking-detail-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:#f3f4f6;color:#374151;font-size:11px;font-weight:700}.booking-detail-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.booking-detail-header-actions{display:flex;align-items:center;gap:14px}.booking-detail-icon-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#6b7280;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.booking-detail-icon-btn:hover{background:#f3f4f6;color:#2d2e8f}.booking-detail-close-btn{border:none;background:transparent;color:#6b7280;font-size:18px;cursor:pointer;padding:0}.booking-detail-loading,.booking-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:13px}.booking-detail-loading-icon{margin-right:8px}.booking-detail-content{flex:1;min-height:0;display:flex}.booking-detail-main-panel{flex:1;min-width:0;overflow-y:auto;padding:20px;background:#f5f5f5}.booking-detail-grid{display:grid;grid-template-columns:.9fr 1.8fr .7fr;gap:16px}.booking-detail-column{display:flex;flex-direction:column;gap:14px;min-width:0}.booking-detail-column-middle{min-width:0}.booking-detail-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.booking-detail-card-header{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.booking-detail-card-body{display:flex;flex-direction:column;gap:12px}.booking-detail-dates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.booking-detail-field{display:flex;flex-direction:column;min-width:0}.booking-detail-field-label{font-size:11px;color:#6b7280;font-weight:600;margin-bottom:4px}.booking-detail-field-small .booking-detail-field-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase}.booking-detail-field-value{font-size:13px;color:#111827;font-weight:500;line-height:1.45;word-break:break-word}.booking-detail-field-small .booking-detail-field-value{font-size:12px}.booking-detail-holiday-tag{display:inline-block;padding:1px 7px;border-radius:10px;background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.booking-detail-inline-subtext{color:#6b7280;font-size:11px;margin-top:2px}.booking-detail-set-card-body{min-width:0}.booking-detail-set-list{display:flex;flex-direction:column;gap:10px}.booking-detail-set-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px}.booking-detail-set-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.booking-detail-set-name{font-weight:700;color:#111827;font-size:13px}.booking-detail-set-status{font-size:10px;font-weight:700;color:#065f46;background:#d1fae5;border-radius:4px;padding:3px 7px}.booking-detail-set-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.booking-detail-image-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.booking-detail-image-wrap{position:relative;width:52px;height:52px;flex-shrink:0}.booking-detail-image{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb;cursor:pointer}.booking-detail-image-remove{position:absolute;right:-6px;top:-6px;width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.booking-detail-add-image-btn{display:inline-flex;align-items:center;gap:6px;border:1px dashed #d1d5db;background:#fff;border-radius:8px;color:#374151;padding:6px 10px;cursor:pointer;font-size:12px;font-weight:600}.booking-detail-add-image-btn:disabled{opacity:.6;cursor:not-allowed}.booking-detail-empty-set{color:#9ca3af;font-size:13px;padding:24px 8px;text-align:center}.booking-detail-notes-body{font-size:13px;color:#374151;line-height:1.6;min-height:62px}.booking-detail-timeline-panel{width:240px;min-width:240px;overflow-y:auto}.booking-detail-timeline-block{display:flex;flex-direction:column;gap:10px}.booking-detail-timeline-title{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.booking-detail-note-input{width:100%;border-radius:8px;border:1px solid #d1d5db;padding:10px 12px;resize:vertical;box-sizing:border-box;font-size:13px;font-family:inherit;outline:none}.booking-detail-add-note-btn{align-self:flex-end;border:none;border-radius:24px;background:#2d2e8f;color:#fff;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}.booking-detail-add-note-btn:disabled{opacity:.6;cursor:not-allowed}.booking-detail-timeline-list{display:flex;flex-direction:column;gap:8px}.booking-detail-timeline-item{display:flex;gap:10px;align-items:flex-start}.booking-detail-timeline-marker-wrap{width:12px;display:flex;flex-direction:column;align-items:center;margin-top:2px}.booking-detail-timeline-marker{width:10px;height:10px;border-radius:50%;display:block}.booking-detail-timeline-connector{width:2px;flex:1;background:#e5e7eb;min-height:22px;display:block;margin-top:4px}.booking-detail-timeline-content{flex:1;min-width:0}.booking-detail-timeline-event{font-size:12px;color:#111827;font-weight:700}.booking-detail-timeline-meta{font-size:11px;color:#9ca3af;margin-top:2px}.booking-detail-timeline-note{font-size:12px;color:#374151;margin-top:4px;line-height:1.5}.booking-detail-timeline-empty{color:#9ca3af;font-size:12px;text-align:center;padding:20px}.booking-detail-hidden-input{display:none}.booking-detail-inline-error{position:fixed;bottom:20px;right:20px;max-width:360px;background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 12px;font-size:12px;box-shadow:0 10px 30px #0000001f;z-index:10002}.booking-detail-inline-error i{margin-right:6px}.table-responsive{overflow-x:auto}.data-table,.log-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table thead tr,.log-table thead tr{position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000f}.data-table th,.log-table th{padding:11px 16px;text-align:left;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#fff}.data-table th:first-child,.log-table th:first-child{position:sticky;left:0;z-index:20;background:#fff;border-right:1px solid #e5e7eb;box-shadow:6px 0 12px #00000014;padding-left:20px}.data-table td:first-child,.log-table td:first-child{position:sticky;left:0;z-index:5;background:#fff;border-right:1px solid #e5e7eb;box-shadow:6px 0 12px #0000000f;padding-left:20px}.data-table th:last-child,.log-table th:last-child{position:sticky;right:0;z-index:20;background:#f8f7f7;border-left:1px solid #e5e7eb;box-shadow:-6px 0 12px #00000014}.data-table td:last-child,.log-table td:last-child{position:sticky;right:0;z-index:5;background:#f8f7f7;border-left:1px solid #e5e7eb;box-shadow:-6px 0 12px #0000000f}@media (max-width: 640px){.data-table th:first-child,.log-table th:first-child,.data-table td:first-child,.log-table td:first-child,.data-table th:last-child,.log-table th:last-child,.data-table td:last-child,.log-table td:last-child{position:static;box-shadow:none}}.data-table tbody tr,.log-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.data-table tbody tr:hover td:last-child,.log-table tbody tr:hover td:last-child{z-index:25}.data-table tbody tr:last-child,.log-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover,.log-table tbody tr:hover{background:#f8f7f7}.data-table tbody tr:hover td:first-child,.data-table tbody tr:hover td:last-child,.log-table tbody tr:hover td:first-child,.log-table tbody tr:hover td:last-child{background:#f8f7f7}.data-table td,.log-table td{padding:10px 16px;color:#374151;vertical-align:middle;border-bottom:1px solid #eee}.td-primary{font-weight:700;color:#111827}.td-secondary{font-size:12px;color:#6b7280}.td-muted{font-size:12px;color:#9ca3af}.td-sm{font-size:12px;color:#374151}.td-code{font-size:12px;color:#374151;font-family:monospace;font-weight:600}.table-empty-cell{text-align:center;padding:30px;color:#9ca3af;font-size:13px}.staff-avatar{background:#2d2e8f;font-size:11px}.pdf-link{display:inline-flex;align-items:center;gap:4px;color:#2d2e8f;font-size:12px;font-weight:600;text-decoration:none}.pdf-link i{color:#ef4444;font-size:16px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;flex-shrink:0}.table-search-wrap{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;flex:1;min-width:200px;transition:border-color .15s,box-shadow .15s}.table-search-wrap:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.table-search-wrap i{color:#9ca3af;font-size:14px;flex-shrink:0}.table-search-wrap input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:#111827;font-family:Inter,sans-serif;padding:0}.table-search-wrap input::placeholder{color:#9ca3af}.table-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.master-table-card{background:#fff;display:block;position:relative;width:100%;overflow-x:auto}.master-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}.master-actions{display:flex;align-items:center;gap:8px}.master-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;flex:1;min-width:220px;transition:border-color .15s,box-shadow .15s}.master-search:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.master-search i{color:#9ca3af;font-size:14px;flex-shrink:0}.master-search input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:#111827;font-family:Inter,sans-serif;padding:0}.master-search input::placeholder{color:#9ca3af}.master-table{width:100%;border-collapse:collapse;font-size:13px}.master-table thead tr{position:sticky;top:0;z-index:10;border-bottom:1px solid #e5e7eb}.master-table th{padding:11px 16px;text-align:left;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;white-space:nowrap}.master-table td{padding:13px 16px;color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6}.master-table tbody tr{transition:background .12s}.master-table tbody tr:hover{background:#f9fafb}.master-table th:first-child,.master-table td:first-child{padding-left:20px}.filter-select{width:160px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:13px;color:#374151;cursor:pointer;font-family:Inter,sans-serif;transition:border-color .15s,box-shadow .15s;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-select:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.filter-select:hover{border-color:#d1d5db}.tenant-name-cell{display:flex;align-items:center;gap:10px}.tenant-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.tenant-name{font-weight:600;color:#111827}.tenant-domain{font-size:11px;color:#9ca3af;margin-top:1px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge-active{background:#e0f0c8;color:#3a6614}.badge-active:before{background:#9dc876}.badge-suspended{background:#fee2e2;color:#991b1b}.badge-suspended:before{background:#ef4444}.badge-pending{background:#fef5e0;color:#7a4e0a}.badge-pending:before{background:#f5b95a}.plan-badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:600}.plan-starter{background:#f3f4f6;color:#374151}.plan-growth{background:#e8f0f8;color:#2d2e8f}.plan-enterprise{background:#e8f0f8;color:#0e4272}.log-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.log-status:before{content:"";width:5px;height:5px;border-radius:50%}.status-success{background:#e0f0c8;color:#3a6614}.status-success:before{background:#9dc876}.status-failed{background:#fee2e2;color:#dc2626}.status-failed:before{background:#ef4444}.status-warning{background:#fef5e0;color:#7a4e0a}.status-warning:before{background:#f5b95a}.status-info{background:#e8f0f8;color:#0e4272}.status-info:before{background:#7b84c9}.modal-label,.s-input,.s-select,.s-textarea{font-family:Inter,sans-serif}.modal-label,.form-label-custom{font-size:12px;font-weight:600;color:#374151;margin-bottom:5px;display:block}.modal-input,.s-input,.s-select,.s-textarea{font-size:13px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;color:#111827;width:100%;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff}.modal-input:focus,.s-input:focus,.s-select:focus,.s-textarea:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.modal-input::placeholder,.s-input::placeholder,.s-textarea::placeholder{color:#9ca3af}.s-textarea{resize:vertical;min-height:80px}.s-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;padding-right:10px}.input-with-suffix{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.input-with-suffix:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.input-with-suffix .s-input{border:none;border-radius:0;box-shadow:none;flex:1}.input-with-suffix .s-input:focus{box-shadow:none}.input-suffix{background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:500;padding:8px 12px;border-left:1px solid #e5e7eb;white-space:nowrap}.toggle{position:relative;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:22px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle input:checked+.toggle-slider{background:#2d2e8f}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.toggle.danger input:checked+.toggle-slider{background:#ef4444}.table-footer,.log-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #eee;flex-wrap:wrap;gap:8px;min-height:60px;flex-shrink:0}.pagination-wrap{display:flex;align-items:center;gap:4px}.page-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;width:30px;height:30px;font-size:12px;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s;font-family:Inter,sans-serif}.page-btn:hover{background:#f3f4f6}.page-btn.active{background:#2d2e8f;border-color:#2d2e8f;color:#fff}.page-btn:disabled{opacity:.4;cursor:default}#drawerOverlay,#planDrawerOverlay,#logDetailOverlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1040;opacity:0;transition:opacity .25s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#drawerOverlay.open,#planDrawerOverlay.open,#logDetailOverlay.open{opacity:1}#addTenantDrawer,#planDrawer,#logDetailDrawer{position:fixed;top:0;right:0;bottom:0;width:400px;background:#fff;box-shadow:-4px 0 24px #0000001f;z-index:1050;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}#planDrawer,#logDetailDrawer{width:440px}#addTenantDrawer.open,#planDrawer.open,#logDetailDrawer.open{transform:translate(0)}.drawer-header,.plan-drawer-header,.log-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.drawer-title,.plan-drawer-title,.log-drawer-title{font-size:16px;font-weight:700;color:#111827;margin:0}.drawer-close,.plan-drawer-close,.log-drawer-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;border-radius:6px;line-height:1;transition:background .15s,color .15s}.drawer-close:hover,.plan-drawer-close:hover,.log-drawer-close:hover{background:#f3f4f6;color:#111827}.drawer-body,.plan-drawer-body,.log-drawer-body{flex:1;overflow-y:auto;padding:24px}.drawer-body::-webkit-scrollbar,.plan-drawer-body::-webkit-scrollbar,.log-drawer-body::-webkit-scrollbar{width:4px}.drawer-body::-webkit-scrollbar-thumb,.plan-drawer-body::-webkit-scrollbar-thumb,.log-drawer-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.drawer-footer,.plan-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f3f4f6;flex-shrink:0}.action-btns{display:flex;align-items:center;gap:4px}.action-btn{background:none;border:none;border-radius:4px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;color:#6b7280;transition:background .2s,color .2s;position:relative}.action-btn:hover{background:#f3f4f6;color:#111827}.action-btn[data-tooltip]:after,.action-btn[data-tooltip]:before{opacity:0;visibility:hidden;pointer-events:none;position:absolute;left:50%;transform:translate(-50%) translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:50}.action-btn[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 8px);background:#111827;color:#fff;font-size:11px;font-weight:500;line-height:1;padding:5px 8px;border-radius:4px;white-space:nowrap}.action-btn[data-tooltip]:before{content:"";bottom:calc(100% + 4px);border:4px solid transparent;border-top-color:#111827}.action-btn[data-tooltip]:hover:after,.action-btn[data-tooltip]:hover:before,.action-btn[data-tooltip]:focus-visible:after,.action-btn[data-tooltip]:focus-visible:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.action-btn.tooltip-bottom[data-tooltip]:after,.action-btn.tooltip-bottom[data-tooltip]:before{transform:translate(-50%) translateY(-4px)}.action-btn.tooltip-bottom[data-tooltip]:after{bottom:auto;top:calc(100% + 8px)}.action-btn.tooltip-bottom[data-tooltip]:before{bottom:auto;top:calc(100% + 4px);border-top-color:transparent;border-bottom-color:#111827}.action-btn.tooltip-bottom[data-tooltip]:hover:after,.action-btn.tooltip-bottom[data-tooltip]:hover:before,.action-btn.tooltip-bottom[data-tooltip]:focus-visible:after,.action-btn.tooltip-bottom[data-tooltip]:focus-visible:before{transform:translate(-50%) translateY(0)}.action-btn.btn-edit:hover{background:#eef0ff;color:#2d2e8f}.action-btn.btn-delete:hover{background:#fee2e2;color:#ef4444}.action-btn.btn-visibility:hover{background:#eef0ff;color:#2d2e8f}.actions-menu-portal button:hover:not(:disabled){background:#f3f4f6}.actions-menu-portal button:disabled{cursor:not-allowed}.btn-action{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;min-width:100px;outline:none}.btn-action:focus{outline:none;box-shadow:none}.btn-action:hover{background:#f3f4f6;color:#111827;border-color:#9ca3af}.form-group{margin-bottom:16px}.form-label{font-size:12px;font-weight:600;color:#374151;display:block;margin-bottom:6px}.form-select{font-size:13px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;color:#111827;width:100%;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;cursor:pointer}.form-select:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.detail-textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#111827;font-family:inherit;min-height:80px;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.detail-textarea:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.check-group{display:flex;flex-direction:column;gap:10px}.check-item{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-item input[type=checkbox]{width:15px;height:15px;margin-top:1px;accent-color:#2d2e8f;cursor:pointer;flex-shrink:0}.check-item-text strong{display:block;font-size:13px;font-weight:600;color:#111827}.check-item-text span{font-size:12px;color:#6b7280}.th-center,.td-center{text-align:center!important}.required-star{color:#ef4444}.sets-table{min-width:1100px}.counter-cell{display:flex;flex-direction:column;align-items:center;gap:3px}.counter-input{width:60px;text-align:center;border:1px solid #e5e7eb;border-radius:6px;padding:4px 6px;font-size:13px;font-weight:600;color:#374151;outline:none;transition:border-color .15s;font-family:Inter,sans-serif}.counter-input:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.counter-input::-webkit-inner-spin-button,.counter-input::-webkit-outer-spin-button{opacity:1}.reset-link{color:#7c3aed;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.reset-link:hover{color:#5b21b6;text-decoration:underline}.check-cell-input{width:18px;height:18px;cursor:pointer;accent-color:#2d2e8f;display:block;margin:auto}.btn-approve{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif;white-space:nowrap}.btn-approve:hover{background:#bbf7d0;border-color:#86efac}.badge-deactive{background:#fee2e2;color:#7f1d1d}.badge-deactive:before{background:#ef4444}.td-italic{font-size:11px;color:#6b7280;font-style:italic;display:block;margin-top:2px}.drawer-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drawer-field-header label{margin-bottom:0}.btn-field-add{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#2d2e8f;background:#eef0ff;border:1px solid #c7caff;border-radius:6px;padding:3px 10px;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif}.btn-field-add:hover{background:#dde0ff}.drawer-list-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.drawer-list-row .s-input{flex:1}.drawer-list-select{width:100px!important;flex:none!important}.btn-list-remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px;padding:0 4px;line-height:1;flex-shrink:0;transition:color .15s}.btn-list-remove:hover{color:#dc2626}.drawer-field-checkbox-row{display:flex;align-items:center;padding-top:22px}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sortable:hover{color:#111827}.th-sort-icon{opacity:.5;font-size:10px;margin-left:4px;transition:opacity .15s}.th-sort-icon.active{opacity:1;color:#2d2e8f}.cell-muted{color:#6b7280!important;font-size:12px!important}.cell-dim{color:#9ca3af;font-size:11px}.cell-bold{font-weight:600;color:#111827}.table-empty-cell{text-align:center;padding:40px!important;color:#9ca3af}.table-loading{padding:40px;text-align:center;color:#9ca3af;font-size:13px}.tenant-avatar-logo{background:#f3f4f6!important;padding:2px}.tenant-avatar-logo img{width:100%;height:100%;object-fit:contain;border-radius:6px}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;border-top:3px solid var(--kpi-color, #2d2e8f);transition:box-shadow .18s}.kpi-card:hover{box-shadow:0 4px 18px #00000012}.kpi-icon{width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--kpi-color, #2d2e8f) 12%,white);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--kpi-color, #2d2e8f);flex-shrink:0}.kpi-value{font-size:24px;font-weight:800;color:#111827;line-height:1;margin-bottom:3px}.kpi-label{font-size:12px;color:#6b7280;font-weight:500}.roles-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.roles-count{font-size:13px;color:#6b7280}.roles-count strong{color:#111827;font-weight:700}.roles-grid{display:grid;grid-template-columns:1fr;gap:18px}.role-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 20px;transition:box-shadow .18s,border-color .18s}.role-card:hover{box-shadow:0 4px 18px #00000012;border-color:#d1d5db}.role-card-columns{display:flex;align-items:center;gap:20px}.roles-list-header{padding:0 20px 8px}.role-col{min-width:0}.role-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.role-col-name{flex:0 0 350px;display:flex;align-items:center;gap:10px}.role-col-users{flex:0 0 130px}.role-col-permissions{flex:0 0 620px}.role-col-actions{flex:0 0 90px;margin-left:auto;display:flex;gap:8px;justify-content:flex-end}.role-icon{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:#eef0ff;color:#2d2e8f;display:flex;align-items:center;justify-content:center;font-size:16px}.role-name{font-size:15px;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px}.role-default-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#16a34a;background:#dcfce7;padding:2px 8px;border-radius:10px}.role-desc{font-size:12px;color:#6b7280;margin-top:2px}.role-staff-badge{background:#e8f0f8;color:#2d2e8f;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.role-permission-summary{display:flex;flex-direction:column;gap:8px}.role-permission-total{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6b7280;font-weight:600}.role-permission-total strong{color:#111827;font-size:13px}.role-summary-bar{height:6px;border-radius:4px;background:#f3f4f6;overflow:hidden}.role-summary-bar-fill{height:100%;background:#2d2e8f;border-radius:4px;transition:width .2s}.role-category-chips{display:flex;flex-wrap:wrap;gap:6px}.role-category-chip{font-size:10px;font-weight:600;padding:3px 9px;border-radius:12px;background:#f3f4f6;color:#9ca3af}.role-category-chip.has-full{background:#dcfce7;color:#16a34a}.role-category-chip.has-partial{background:#e0e7ff;color:#4338ca}.perm-section{margin-top:22px}.perm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.perm-section-title{font-size:13px;font-weight:700;color:#111827}.perm-section-subtitle{font-size:12px;color:#6b7280;margin-top:2px}.perm-summary{min-width:140px}.perm-summary-count{font-size:13px;font-weight:700;color:#111827;text-align:right;margin-bottom:4px}.perm-summary-count span{font-weight:500;color:#9ca3af}.perm-summary-bar{height:6px;width:140px;border-radius:4px;background:#f3f4f6;overflow:hidden}.perm-summary-bar-fill{height:100%;background:#2d2e8f;border-radius:4px;transition:width .2s}.perm-matrix{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.perm-matrix-header,.perm-matrix-row{display:grid;grid-template-columns:1fr repeat(4,84px);align-items:center}.perm-matrix-header{background:#f9fafb;padding:10px 14px;border-bottom:1px solid #e5e7eb}.perm-matrix-group-label{padding:8px 14px;background:#fbfbfd;font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f3f4f6}.perm-matrix-row{padding:9px 14px;border-bottom:1px solid #f3f4f6}.perm-matrix-group:last-child .perm-matrix-row:last-child{border-bottom:none}.perm-col-module{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#374151}.perm-col-module i{font-size:13px;color:#9ca3af}.perm-matrix-header .perm-col-module{color:#9ca3af;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.perm-col-action{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#9ca3af;font-weight:600;text-align:center}.perm-matrix-header .perm-col-action{flex-direction:column;gap:3px}.perm-matrix-header .perm-col-action i{font-size:12px}.perm-matrix-row .perm-col-action{justify-content:center}.perm-checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer}.perm-checkbox input{position:absolute;opacity:0;width:0;height:0}.perm-checkbox-box{width:18px;height:18px;border-radius:5px;border:2px solid #d1d5db;background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;flex-shrink:0;transition:background .15s,border-color .15s}.perm-checkbox-box i{opacity:0;transition:opacity .1s}.perm-checkbox input:checked+.perm-checkbox-box{background:#000;border-color:#000}.perm-checkbox input:checked+.perm-checkbox-box i{opacity:1}.perm-checkbox input:indeterminate+.perm-checkbox-box{background:#c7d2fe;border-color:#a5b4fc}.drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1040;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-overlay.open{display:block}.drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:100vw;background:#fff;box-shadow:-4px 0 28px #00000021;z-index:1050;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.drawer-header h3{font-size:16px;font-weight:700;color:#111827;margin:0}.drawer-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:16px;padding:4px;border-radius:6px;line-height:1;transition:background .13s}.drawer-close:hover{background:#f3f4f6}.drawer-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.drawer-body::-webkit-scrollbar{width:4px}.drawer-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f3f4f6;flex-shrink:0}.drawer-field{display:flex;flex-direction:column;gap:5px}.drawer-field label{font-size:12px;font-weight:600;color:#374151}.drawer-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.drawer-row{grid-template-columns:1fr}}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:12px;color:#dc2626;display:flex;align-items:center;gap:7px;margin-bottom:16px}.login-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.input-slug-wrap{display:flex;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.input-slug-wrap:focus-within{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.input-slug-wrap input{flex:1;border:none;border-radius:0;padding:10px 14px;font-size:13px;outline:none;color:#111827}.slug-suffix{background:#f3f4f6;color:#6b7280;font-size:12px;padding:10px 12px;border-left:1px solid #e5e7eb;display:flex;align-items:center;white-space:nowrap}.rep-sidebar .rep-badge{font-size:10px;font-weight:600;color:#fff;background:#2d2e8f;padding:4px 8px;border-radius:4px;margin-top:8px;text-align:center;letter-spacing:.05em;text-transform:uppercase}.stats-grid{display:grid;gap:16px;margin-bottom:24px}.stats-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1200px){.stats-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid-4{grid-template-columns:1fr}}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,box-shadow .15s}.stat-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.stat-icon-blue{background:#2d2e8f1f;color:#2d2e8f}.stat-icon-amber{background:#7a4e0a1f;color:#7a4e0a}.stat-icon-green{background:#3a66141f;color:#3a6614}.stat-icon-red{background:#ef44441f;color:#ef4444}.stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.stat-meta{font-size:12px;color:#9ca3af}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}@media (max-width: 1100px){.charts-row{grid-template-columns:1fr}}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;overflow:hidden}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.chart-title{font-size:14px;font-weight:700;color:#111827;margin:0}.chart-controls{display:flex;gap:4px}.period-tab{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.period-tab:hover{background:#e5e7eb;border-color:#d1d5db}.period-tab.active{background:#2d2e8f;border-color:#2d2e8f;color:#fff}.tables-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 1100px){.tables-row{grid-template-columns:1fr}}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6}.card-title{font-size:14px;font-weight:700;color:#111827;margin:0}.view-all{font-size:12px;color:#2d2e8f;text-decoration:none;font-weight:600;transition:color .15s}.view-all:hover{color:#0e4272}.activity-table{width:100%;border-collapse:collapse;font-size:13px}.activity-table thead tr{border-bottom:1px solid #e5e7eb}.activity-table th{padding:11px 16px;text-align:left;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.activity-table th:first-child,.activity-table td:first-child{padding-left:20px}.activity-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.activity-table tbody tr:last-child{border-bottom:none}.activity-table tbody tr:hover{background:#f8f7f7}.activity-table td{padding:13px 16px;color:#374151;vertical-align:middle}.badge-pill{display:inline-block;background:#e8f0f8;color:#2d2e8f;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.badge-count{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f3f4f6;color:#374151;border-radius:6px;font-size:12px;font-weight:600}@media (max-width: 768px){.charts-row,.tables-row,.stats-grid-4{grid-template-columns:1fr}}.report-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.report-stat-box{background:#fff;border:1px solid #f3f4f6;border-radius:10px;padding:14px 16px}.report-stat-label{font-size:12px;color:#9ca3af;margin-bottom:8px}.report-stat-value{font-size:22px;font-weight:600;color:#111827;line-height:1}.report-chart-card{background:#fff;border:1px solid #f3f4f6;border-radius:14px;padding:24px;margin-bottom:20px}.report-chart-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 16px}.report-chart-body{height:280px}.report-summary-row{display:grid;grid-template-columns:75% 25%;gap:20px;margin-bottom:20px;align-items:stretch}.report-chart-card--wide{margin-bottom:0}.report-stat-col{display:flex;flex-direction:column;gap:14px}.report-stat-col .report-stat-box{flex:1;display:flex;flex-direction:column;justify-content:center}.date-range-filter{display:flex;align-items:center;gap:8px}.filter-date{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;background:#fff;font-family:Inter,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s;width:140px}.filter-date:focus{border-color:#2d2e8f;box-shadow:0 0 0 3px #2d2e8f1a}.date-separator{font-size:12px;color:#9ca3af;font-weight:500}.reports-layout{display:grid;grid-template-columns:280px 1fr;gap:0;flex:1;min-height:0;background:#fff}@media (max-width: 768px){.reports-layout{grid-template-columns:1fr}.reports-sidebar{border-right:none;border-bottom:1px solid #e5e7eb;max-height:240px}}.reports-sidebar{display:flex;flex-direction:column;gap:2px;padding:16px 12px;border-right:1px solid #e5e7eb;overflow-y:auto}.reports-sidebar-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .12s,color .12s}.reports-sidebar-item:hover{background:#f3f4f6}.reports-sidebar-item.active{background:#eef0ff;color:#2d2e8f;font-weight:600}.reports-sidebar-item i{font-size:14px;width:16px;text-align:center;color:inherit}.reports-sidebar-group{margin-top:16px}.reports-sidebar-group-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin:0 12px 4px}.reports-sidebar-subitem{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:7px 12px 7px 22px;font-size:13px;color:#374151;cursor:pointer;transition:background .12s,color .12s}.reports-sidebar-subitem:hover{background:#f3f4f6;color:#2d2e8f}.reports-sidebar-subitem--disabled{color:#b0b5bd;cursor:not-allowed}.reports-sidebar-subitem--disabled:hover{background:none;color:#b0b5bd}.reports-main{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1}.reports-main-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #e5e7eb}.reports-main-title{font-size:18px;font-weight:600;color:#111827;margin:0}.reports-count-badge{background:#eef0ff;color:#2d2e8f;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px}.report-row-link{color:#2d2e8f;font-weight:600;cursor:pointer}.report-row-link:hover{text-decoration:underline}.report-row-disabled{color:#9ca3af}.report-back-link{color:#2d2e8f;font-size:18px;display:flex;align-items:center;text-decoration:none}.report-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:stretch;flex:1;min-height:0}.report-layout-main{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1}.report-filters-sidebar{display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #f3f4f6;padding:20px}.report-filters-title{font-size:14px;font-weight:600;color:#111827;margin:0 0 16px}.report-filters-body{flex:1}.report-filter-field{margin-bottom:16px}.report-filter-field:last-child{margin-bottom:0}.report-filters-run-btn{width:100%;justify-content:center;margin-top:20px}.report-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 20px}.report-topbar-left{display:flex;align-items:center;gap:14px}.report-topbar-actions{display:flex;align-items:center;gap:6px}.report-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:none;border:none;border-radius:6px;color:#4b5563;font-size:14px;cursor:pointer;transition:background .12s}.report-icon-btn:hover{background:#f3f4f6}.report-hamburger-btn{width:38px;height:38px;font-size:22px}.report-export-btn{display:inline-flex;align-items:center;gap:6px}.reports-drawer-panel{position:fixed;top:0;margin-top:50px;left:240px;bottom:0;width:280px;max-width:calc(100vw - 240px);background:#fff;display:flex;flex-direction:column;border-right:1px solid #e5e7eb;box-shadow:2px 0 16px #0000001f;z-index:50;transform:translate(-100%);transition:transform .22s ease;pointer-events:none}.reports-drawer-panel.open{transform:translate(0);pointer-events:auto}@media (max-width: 640px){.reports-drawer-panel{left:0;width:280px;max-width:85vw}}.reports-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.reports-drawer-title{font-size:14px;font-weight:600;color:#111827}.reports-drawer-nav{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:2px}.report-breadcrumb-category{font-size:11px;color:#9ca3af;margin-bottom:1px}.report-breadcrumb-title-row{display:flex;align-items:baseline;gap:8px}.report-breadcrumb-title{font-size:16px;font-weight:700;color:#111827;margin:0}.report-breadcrumb-dot{color:#9ca3af}.report-breadcrumb-daterange{font-size:12px;color:#6b7280}.report-filterbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 20px}.report-filterbar-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;font-weight:600}.report-filter-pill-label{font-weight:600;white-space:nowrap}.report-run-btn,.report-clear-btn{padding:7px 18px;font-size:12px}.searchable-select{position:relative}.searchable-select-trigger{display:flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:7px 12px;font-size:12px;color:#374151;cursor:pointer;max-width:220px}.searchable-select-trigger:hover{background:#f3f4f6}.searchable-select-trigger i{color:#9ca3af;font-size:10px}.searchable-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.searchable-select-panel{position:absolute;top:calc(100% + 6px);z-index:20;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:220px;max-width:280px}.searchable-select-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #e5e7eb}.searchable-select-search i{color:#9ca3af;font-size:12px}.searchable-select-search input{border:none;outline:none;font-size:12px;color:#374151;font-family:Inter,sans-serif;flex:1;min-width:0}.searchable-select-options{max-height:220px;overflow-y:auto;padding:6px}.searchable-select-option{display:block;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;font-size:12px;color:#374151;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select-option:hover{background:#f3f4f6;color:#2d2e8f}.searchable-select-option.active{background:#eef0ff;color:#2d2e8f;font-weight:600}.searchable-select-empty{padding:10px;font-size:12px;color:#9ca3af;text-align:center}.date-range-picker{position:relative}.date-range-picker-trigger{display:flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:7px 12px;font-size:12px;color:#374151;cursor:pointer}.date-range-picker-trigger:hover{background:#f3f4f6}.date-range-picker-trigger i.bi-calendar3{color:#6b7280;font-size:12px}.date-range-picker-trigger i.bi-chevron-down{color:#9ca3af;font-size:10px}.date-range-picker-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;overflow:hidden;min-width:380px}.date-range-picker-presets{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid #e5e7eb;min-width:140px}.date-range-picker-preset{text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;font-size:12px;color:#374151;cursor:pointer}.date-range-picker-preset:hover{background:#f3f4f6;color:#2d2e8f}.date-range-picker-preset.active{background:#eef0ff;color:#2d2e8f;font-weight:600}.date-range-picker-custom{padding:14px;flex:1}.date-range-picker-custom-label{font-size:12px;font-weight:600;color:#111827;margin-bottom:10px}.date-range-picker-custom-inputs{display:flex;align-items:center;gap:8px;margin-bottom:14px}.date-range-picker-custom-inputs input[type=date]{border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:12px;color:#374151;font-family:Inter,sans-serif}.date-range-picker-custom-inputs span{color:#9ca3af;font-size:12px}@media (max-width: 480px){.date-range-picker-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-width:360px;min-width:0;flex-direction:column;max-height:80vh;overflow-y:auto;z-index:2500}.date-range-picker-presets{border-right:none;border-bottom:1px solid #e5e7eb;min-width:0;flex-direction:row;flex-wrap:wrap}}.date-range-picker-done{width:100%;justify-content:center;padding:7px;font-size:12px}.reports-detail-body{display:flex;flex-direction:column;flex:1;min-height:0}.report-table-card{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff}.report-data-table-centered th{text-align:left;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.report-data-table-centered td,.report-data-table-centered td.td-primary,.report-data-table-centered td.td-secondary{text-align:left}.report-table-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6b7280;font-size:15px;gap:10px}.report-table-empty i{font-size:40px;color:#d1d5db}
