.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fff;box-shadow:0 8px 30px #0000001f;min-width:280px;max-width:420px;pointer-events:auto;animation:toast-in .3s ease}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}.toast-success .toast-icon{background:#ecfdf5;color:#10b981}.toast-error .toast-icon{background:#fef2f2;color:#ef4444}.toast-message{flex:1;font-size:14px;color:#1a1a2e;font-weight:500}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s}.toast-close:hover{background:#f3f4f6;color:#374151}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px}.login-card{background:#fff;border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-title{font-size:24px;font-weight:700;color:#1a1a2e;text-align:center;margin-bottom:4px}.login-subtitle{text-align:center;color:#6b7280;margin-bottom:32px;font-size:14px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-group input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;outline:none}.form-error{color:#ef4444;font-size:13px;margin-bottom:16px;padding:8px 12px;background:#fef2f2;border-radius:6px}.login-btn{width:100%;padding:12px;background:#3b82f6;color:#fff;border-radius:8px;font-size:15px;font-weight:600;transition:background .2s}.login-btn:hover:not(:disabled){background:#2563eb}.login-btn:disabled{opacity:.6}.wallet-page h1{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:24px}.wallet-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;max-width:860px}.wallet-cards.wallet-cards-2{grid-template-columns:repeat(2,1fr)}.wallet-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.wallet-card-label{font-size:13px;color:#6b7280;margin-bottom:8px}.wallet-card-value{font-size:22px;font-weight:700;color:#1a1a2e}.wallet-card-value.negative{color:#ef4444}.wallet-topup-btn{margin-top:12px;align-self:flex-start}.topup-breakdown{margin-top:16px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.topup-breakdown-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:#4b5563}.topup-breakdown-total{border-top:1px solid #e5e7eb;margin-top:6px;padding-top:10px;font-weight:700;color:#1a1a2e;font-size:15px}.field-error{display:block;margin-top:6px;font-size:12px;color:#ef4444}.wallet-td-date{white-space:nowrap;color:#6b7280;font-size:13px}.wallet-td-amount{text-align:right;font-weight:600;white-space:nowrap}.wallet-td-amount.debit{color:#ef4444}.wallet-td-amount.credit{color:#22c55e}.wallet-subscriptions{margin-bottom:20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px 24px}.wallet-subscriptions h3{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.wallet-sub-project{margin-bottom:14px}.wallet-sub-project:last-child{margin-bottom:0}.wallet-sub-project-name{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.wallet-sub-project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wallet-sub-project-total{font-size:13px;font-weight:600;color:#1d4ed8}.wallet-sub-grand-total{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:12px 16px;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0;font-size:14px;font-weight:700;color:#166534}.wallet-sub-items{display:flex;flex-direction:column;gap:6px}.wallet-sub-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.wallet-sub-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}.wallet-sub-badge.tariff{background:#ede9fe;color:#6d28d9}.wallet-sub-badge.service{background:#dbeafe;color:#1d4ed8}.wallet-sub-item-name{flex:1;font-size:13px;color:#1a1a2e;font-weight:500}.wallet-sub-item-price{font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap}.wallet-page-info{font-size:14px;color:#6b7280}@media (max-width: 640px){.wallet-cards{grid-template-columns:1fr}}.dashboard{max-width:1200px}.dashboard h1{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:24px}.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.dash-user-card,.dash-tariff-card,.dash-services-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:24px;display:flex;flex-direction:column}.dash-user-skeleton,.dash-tariff-skeleton{display:flex;gap:16px;align-items:flex-start}.dash-tariff-skeleton{flex-direction:column}.dash-user-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}.dash-user-avatar{width:64px;height:64px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;flex-shrink:0}.dash-user-info{display:flex;flex-direction:column;gap:4px}.dash-user-name{font-size:18px;font-weight:600;color:#111827}.dash-user-status{font-size:13px;font-weight:500;padding:2px 10px;border-radius:12px;display:inline-block;width:fit-content}.dash-user-status.active{background:#dcfce7;color:#16a34a}.dash-user-status.inactive{background:#fee2e2;color:#dc2626}.dash-user-details{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6}.dash-user-row{display:flex;justify-content:space-between;align-items:center}.dash-user-label{font-size:14px;color:#6b7280}.dash-user-value{font-size:14px;font-weight:600;color:#111827}.dash-user-actions{display:flex;gap:8px;margin-top:auto;padding-top:16px}.dash-user-actions .btn{flex:1}.dash-tariff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dash-tariff-name{font-size:18px;font-weight:600;color:#111827;margin:0}.dash-tariff-price{font-size:14px;font-weight:600;color:#3b82f6;background:#eff6ff;padding:4px 10px;border-radius:8px}.dash-limit-section{margin-bottom:16px}.dash-limit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dash-limit-label{font-size:13px;color:#6b7280}.dash-limit-count{font-size:13px;font-weight:600;color:#374151}.dash-limit-bar{width:100%;height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.dash-limit-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .5s ease;min-width:2px}.dash-limit-fill.warning{background:#f59e0b}.dash-limit-fill.danger{background:#ef4444}.dash-tariff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#9ca3af;font-size:15px}.dash-tariff-card>.btn{margin-top:auto;align-self:flex-start}.modal.dash-tariff-modal{max-width:960px;width:90vw}.dash-tariff-modal .modal-body{padding:24px}.dash-tariff-modal .tariff-grid{grid-template-columns:repeat(2,1fr)}.modal.dash-confirm-modal{max-width:440px;width:90vw}.dash-confirm-text{font-size:15px;color:#374151;margin-bottom:8px}.dash-confirm-price{font-size:14px;color:#6b7280}.dash-confirm-warning{margin-top:12px;padding:10px 14px;background:#fef3cd;border:1px solid #ffc107;border-radius:8px;font-size:13px;color:#856404;line-height:1.5}.tariff-btn:disabled{opacity:.5;cursor:not-allowed}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.dash-services-empty{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.dash-services-empty p{color:#6b7280;margin-bottom:12px}.dash-services-header h3{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.dash-services-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;flex:1}.dash-service-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.dash-service-name{font-size:14px;font-weight:500;color:#1a1a2e}.dash-service-price{font-size:13px;color:#6b7280;font-weight:500}.dash-services-btn{width:100%;margin-top:auto}.dash-services-modal{max-width:520px}.services-list{display:flex;flex-direction:column;gap:12px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;transition:border-color .2s}.service-item.active{border-color:#4f46e5;background:#eef2ff}.service-item-info{display:flex;flex-direction:column;gap:4px}.service-item-name{font-size:14px;font-weight:600;color:#1a1a2e}.service-item-price{font-size:13px;color:#6b7280}.service-active-badge{font-size:12px;font-weight:600;color:#059669;background:#d1fae5;padding:4px 10px;border-radius:6px}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.settings-page{max-width:100%}.settings-page h1{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:24px}.settings-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:20px}.settings-card-header{padding:16px 24px;font-size:15px;font-weight:600;color:#1a1a2e;border-bottom:1px solid #e5e7eb}.settings-card-body{padding:24px}.settings-card-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:flex-end;gap:12px}.settings-card-footer.footer-left{justify-content:flex-start}.settings-section{padding:0}.settings-section-title{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.settings-divider{height:1px;background:#e5e7eb;margin:24px 0}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s;outline:none;box-sizing:border-box}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.input-error{border-color:#ef4444}.field-error{display:block;margin-top:4px;font-size:12px;color:#ef4444}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.upload-avatar-zone{display:flex;align-items:center;gap:20px;padding:16px 20px;border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.upload-avatar-zone:hover{border-color:#3b82f6;background:#f8faff}.upload-avatar-img{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative}.upload-avatar-img img{width:100%;height:100%;object-fit:cover}.upload-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0;transition:opacity .2s;color:#fff}.upload-avatar-zone:hover .upload-avatar-overlay{opacity:1}.upload-avatar-info{display:flex;flex-direction:column;gap:4px}.upload-avatar-label{font-size:14px;font-weight:500;color:#374151}.upload-avatar-hint{font-size:12px;color:#9ca3af}.upload-avatar-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:#fff;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000001f;transition:all .2s}.upload-avatar-remove:hover{background:#fef2f2;color:#ef4444}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;font-size:28px;font-weight:700}.upload-drop-zone{border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;overflow:hidden}.upload-drop-zone:hover{border-color:#3b82f6;background:#f8faff}.upload-drop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:8px;color:#9ca3af}.upload-drop-text{font-size:14px;font-weight:500;color:#6b7280}.upload-drop-hint{font-size:12px;color:#9ca3af}.upload-drop-filled{position:relative;display:flex;align-items:center;justify-content:center;padding:20px;min-height:80px}.upload-drop-filled img{max-width:100%;max-height:100px;object-fit:contain}.upload-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .2s;color:#fff;font-size:13px;font-weight:500}.upload-drop-zone:hover .upload-drop-overlay{opacity:1}.upload-drop-remove{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;border:none;background:#fff;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #00000026;transition:all .2s;z-index:2}.upload-drop-remove:hover{background:#fef2f2;color:#ef4444}.upload-drop-small .upload-drop-empty{padding:20px}.upload-drop-small .upload-drop-filled{padding:12px;min-height:48px}.upload-drop-small .upload-drop-filled img{max-height:48px}.success-msg{font-size:13px;color:#10b981;font-weight:500}.project-token-help{font-size:13px;color:#6b7280;margin-bottom:12px}.project-token-box{display:flex;flex-direction:column;gap:12px}.project-token-input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#111827;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.project-token-actions{display:flex;gap:10px}@media (max-width: 640px){.project-token-actions{flex-direction:column}}.settings-tabs-inside{display:flex;border-bottom:1px solid #e5e7eb}.settings-tab-inside{padding:14px 24px;border:none;background:transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;position:relative;transition:color .2s}.settings-tab-inside:hover{color:#374151}.settings-tab-inside.active{color:#3b82f6}.settings-tab-inside.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#3b82f6;border-radius:2px 2px 0 0}.settings-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f3f4f6;border-radius:10px;padding:4px}.settings-tab{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.settings-tab:hover{color:#374151}.settings-tab.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #00000014}.contacts-list{display:flex;flex-direction:column;gap:10px}.contact-row{display:flex;align-items:center;gap:10px}.contact-label{min-width:100px;font-size:13px;font-weight:500;color:#374151;flex-shrink:0}.contact-row input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.contact-row input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.contact-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:6px;transition:all .2s;flex-shrink:0}.contact-remove:hover{background:#fef2f2;color:#ef4444}.contact-add-wrapper{margin-top:16px}.contact-type-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:16px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.contact-type-btn{padding:6px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s}.contact-type-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.empty-text{font-size:14px;color:#9ca3af;margin-bottom:0}.btn-outline{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-outline:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s;outline:none;box-sizing:border-box;resize:vertical;font-family:inherit}.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.skeleton-block{background:#e5e7eb;border-radius:8px;animation:skeleton-pulse 1.5s ease-in-out infinite}.tariff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.tariff-card{position:relative;border:2px solid #e5e7eb;border-radius:12px;padding:24px 20px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,box-shadow .2s}.tariff-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f614}.tariff-current{border-color:#3b82f6;background:#f0f7ff}.tariff-badge{position:absolute;top:-10px;right:16px;background:#3b82f6;color:#fff;font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.05em}.tariff-name{font-size:18px;font-weight:700;color:#111827;margin:0}.tariff-price{display:flex;align-items:baseline;gap:4px}.tariff-amount{font-size:28px;font-weight:800;color:#111827}.tariff-period{font-size:14px;color:#6b7280}.tariff-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.tariff-features{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:8px}.tariff-features li{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.tariff-features li svg{color:#22c55e;flex-shrink:0}.tariff-btn{margin-top:auto;width:100%}.tariff-skeleton{min-height:240px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlay-fade-in .2s ease;padding:50px 20px;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:100%;max-width:440px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modal-slide-in .25s ease;margin:auto}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;flex-shrink:0}.modal-header h3{font-size:18px;font-weight:600;color:#1a1a2e}.modal-close{font-size:24px;color:#6b7280;padding:4px 8px;border-radius:4px;transition:background .2s}.modal-close:hover{background:#f3f4f6}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.modal-body .form-group label.checkbox-label{display:flex;margin-bottom:0;font-weight:400}.modal-body .form-group input:not([type=checkbox]){width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.modal-body .form-group input:not([type=checkbox]):focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-body .form-error{color:#ef4444;font-size:13px;padding:8px 12px;background:#fef2f2;border-radius:6px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.6}.token-project-name{font-size:14px;color:#6b7280;margin-bottom:12px}.token-field{display:flex;gap:8px;align-items:center}.token-input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:monospace;background:#f9fafb;color:#374151;outline:none}.token-copy-btn,.token-toggle-btn,.token-refresh-btn{padding:8px;border-radius:6px;color:#374151;transition:background .2s;display:flex;align-items:center;justify-content:center}.token-copy-btn:hover,.token-toggle-btn:hover{background:#e5e7eb}.token-refresh-btn:hover{background:#fef2f2;color:#ef4444}.token-refresh-btn:disabled{opacity:.5}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin .8s linear infinite}.page-template{max-width:100%}.page-template h1{font-size:24px;font-weight:700;color:#111827;margin-bottom:20px}.page-template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-template-header h1{margin-bottom:0}.template-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.template-toolbar-standalone{padding:0 0 16px}.template-toolbar-info{font-size:14px;color:#6b7280}.search-wrapper{position:relative;width:260px}.template-search{padding:8px 32px 8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;width:100%;outline:none;transition:border-color .2s;box-sizing:border-box}.template-search:focus{border-color:#3b82f6}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s}.search-clear:hover{color:#374151}.template-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.template-table-wrap{overflow-x:auto}.template-table{width:100%;border-collapse:collapse}.template-table th{text-align:left;padding:12px 20px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;background:#f9fafb;-webkit-user-select:none;user-select:none}.sortable-th{cursor:pointer;transition:color .15s}.sortable-th:hover{color:#374151}.th-content{display:inline-flex;align-items:center;gap:4px}.sort-icon{display:inline-flex;align-items:center;color:#d1d5db;transition:color .15s}.sort-icon.active{color:#3b82f6}.template-table td{padding:14px 20px;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}.template-table tbody tr:hover{background:#f9fafb}.template-table tbody tr:last-child td{border-bottom:none}.template-table th:last-child,.template-table td:last-child{width:80px;text-align:center}.template-table-empty{text-align:center;color:#9ca3af;padding:40px 20px!important}.template-table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e5e7eb;gap:16px;flex-wrap:wrap}.table-footer-info{display:flex;align-items:center;gap:16px;font-size:13px;color:#6b7280}.table-per-page{display:flex;align-items:center;gap:6px}.table-per-page select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.table-per-page select:focus{border-color:#3b82f6}.table-pagination{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0 8px;border-radius:6px;font-size:13px;color:#374151;transition:all .2s;border:1px solid transparent}.pagination-btn:hover:not(:disabled){background:#f3f4f6}.pagination-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.pagination-btn.active:hover{background:#3b82f6;opacity:.85}.pagination-btn:disabled{color:#d1d5db;cursor:default}.pagination-dots{padding:0 4px;color:#9ca3af;font-size:13px}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-active{background:#dcfce7;color:#166534}.status-draft{background:#fef3c7;color:#92400e}.status-archive{background:#f3f4f6;color:#6b7280}.badge-active{background:#dcfce7;color:#166534}.badge-inactive{background:#fee2e2;color:#991b1b}.table-actions{display:flex;gap:4px}.table-action-btn{padding:6px;border-radius:6px;color:#6b7280;transition:all .2s}.table-action-btn:hover{background:#f3f4f6;color:#374151}.table-action-btn.action-delete:hover{background:#fef2f2;color:#dc2626}.blocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.block-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s}.block-card:hover{box-shadow:0 4px 12px #0000000f}.block-card-header{display:flex;align-items:center;justify-content:space-between}.block-card-title{font-size:16px;font-weight:600;color:#111827;margin:0}.block-card-desc{font-size:14px;color:#6b7280;margin:0;flex:1}.block-card-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#9ca3af;margin-top:auto}.block-card-count{display:flex;align-items:center;gap:6px}.block-card-footer{display:flex;gap:8px;padding-top:8px;border-top:1px solid #f3f4f6}.btn-outline-danger{color:#ef4444;border-color:#fca5a5}.btn-outline-danger:hover{background:#fef2f2;border-color:#ef4444}.blocks-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#9ca3af;font-size:14px}.block-card-skeleton{min-height:120px}.detail-header-left{display:flex;align-items:center;gap:16px}.detail-header-left h1{margin:0}.btn-sm{padding:6px 14px;font-size:13px}.expandable-row{cursor:default}.expandable-row.expanded{background:#f9fafb}.expand-btn{padding:4px;border-radius:4px;color:#6b7280;transition:all .2s}.expand-btn:hover{background:#e5e7eb;color:#374151}.expandable-name{font-weight:500}.expandable-child-row{background:#fafbfc}.expandable-child-row:hover{background:#f3f4f6!important}.expandable-child-name{display:flex;align-items:center;gap:8px}.child-indent{width:16px;height:1px;background:#d1d5db;flex-shrink:0}.expandable-add-row td{padding:6px 12px!important}.btn-add-child{background:none;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;font-size:12px;padding:4px 12px;cursor:pointer;transition:all .15s}.btn-add-child:hover{border-color:#6366f1;color:#6366f1;background:#f5f3ff}.count-badge{display:inline-block;padding:2px 10px;background:#eff6ff;color:#3b82f6;border-radius:12px;font-size:13px;font-weight:500}.count-badge-sm{font-size:12px;padding:1px 8px;background:#f3f4f6;color:#6b7280}.api-docs-page{display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth}.api-docs-hero{background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #bfdbfe;border-radius:14px;padding:24px}.api-docs-hero h1{margin:0 0 10px;font-size:28px;font-weight:800;color:#0f172a}.api-docs-hero p{margin:0;max-width:860px;color:#334155;line-height:1.6}.api-docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.api-docs-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.api-docs-card-wide{grid-column:1 / -1}.api-docs-card h2{margin:0 0 10px;font-size:17px;font-weight:700;color:#0f172a}.api-docs-card p{margin:0 0 10px;color:#334155;line-height:1.55}.api-docs-card pre{margin:10px 0;background:#0b1220;border-radius:10px;color:#e2e8f0;font-size:13px;line-height:1.45;overflow-x:auto;padding:12px}.api-docs-card ul{margin:0;padding-left:20px;color:#334155;line-height:1.55}.api-docs-note{font-size:13px;color:#475569}.api-docs-sections-grid{display:grid;grid-template-columns:1fr;gap:14px}.api-docs-requests-layout{display:grid;grid-template-columns:320px 1fr;gap:14px}.api-docs-request-nav{position:-webkit-sticky;position:sticky;top:84px;align-self:start;border:1px solid #dbe4ef;border-radius:12px;padding:14px;background:linear-gradient(180deg,#f8fbff,#fff)}.api-docs-request-nav h3{margin:0;font-size:15px;color:#0f172a}.api-docs-request-nav p{margin:8px 0 10px;font-size:12px;color:#64748b}.api-docs-request-links{display:flex;flex-direction:column;gap:6px;max-height:62vh;overflow:auto;padding-right:4px}.api-docs-request-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border-radius:8px;border:1px solid #e2e8f0;padding:7px 8px;text-decoration:none;background:#fff;transition:all .15s ease}.api-docs-request-link:hover{border-color:#bfdbfe;background:#eff6ff}.api-docs-request-link.active{border-color:#60a5fa;background:linear-gradient(180deg,#dbeafe,#eff6ff);box-shadow:inset 0 0 0 1px #2563eb26}.api-docs-request-link.active .api-docs-request-title{color:#1d4ed8}.api-docs-request-title{font-size:13px;color:#0f172a;font-weight:600}.api-docs-request-slug{font-size:11px;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.api-docs-section{border:1px solid #dbe4ef;border-radius:12px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 6px 16px #0f172a0a;scroll-margin-top:90px}.api-docs-section.active{border-color:#93c5fd;box-shadow:0 8px 22px #1e40af1f;background:linear-gradient(180deg,#fff,#f0f7ff)}.api-docs-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.api-docs-section h3{margin:0;font-size:16px;color:#0f172a}.api-docs-badges{display:flex;flex-wrap:wrap;gap:6px}.api-docs-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid #dbe4ef;background:#f8fafc;color:#334155;font-size:11px;font-weight:600}.api-docs-badge-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#eef2ff;color:#3730a3}.api-docs-endpoints{margin-top:10px;display:flex;flex-wrap:wrap;flex-direction:row;gap:6px}.api-docs-endpoint-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:8px;border:1px solid #cfe1ff;background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.2}.api-docs-kv-list{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.api-docs-kv-row{display:grid;grid-template-columns:minmax(110px,170px) 1fr;gap:8px;padding:8px 10px;font-size:13px;border-bottom:1px solid #f1f5f9}.api-docs-kv-row:last-child{border-bottom:none}.api-docs-k{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#0f172a}.api-docs-v{color:#475569}@media (max-width: 1150px){.api-docs-requests-layout{grid-template-columns:1fr}.api-docs-request-links{max-height:280px}}@media (max-width: 900px){.api-docs-request-nav{position:static}}@media (max-width: 700px){.api-docs-kv-row{grid-template-columns:1fr;gap:3px}.api-docs-endpoint-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 900px){.api-docs-grid{grid-template-columns:1fr}.api-docs-card-wide{grid-column:auto}}.api-docs-fields{margin-top:12px}.api-docs-fields h4{margin:0 0 6px;font-size:13px;color:#1e293b}.api-docs-fields p{margin:0}.user-modal{max-width:480px;width:90vw}.user-form{display:flex;flex-direction:column;gap:16px}.user-form .form-field{display:flex;flex-direction:column;gap:6px}.user-form .form-field span{font-size:13px;font-weight:500;color:#374151}.user-form .form-field input[type=text],.user-form .form-field input[type=email],.user-form .form-field input[type=password],.user-form .form-field input[type=number],.user-form .form-field select,.user-form .form-field textarea{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;background:#fff;color:#111;font-family:inherit;width:100%;box-sizing:border-box}.user-form .form-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.user-form .form-field textarea{resize:vertical;min-height:80px}.user-form .form-field input:focus,.user-form .form-field select:focus,.user-form .form-field textarea:focus{border-color:#6366f1}.user-form .form-checkbox{flex-direction:row;align-items:center;gap:8px}.user-form .form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#6366f1}.btn-danger{background:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#dc2626}.user-view-page .user-view-header{display:flex;align-items:center;gap:16px;margin-bottom:4px}.user-view-page .user-view-header h1{margin:0}.user-view-page .btn-sm{padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:4px}.user-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.user-info-card{padding:24px!important}.user-info-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.user-avatar-big{width:64px;height:64px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.user-avatar-big img{width:100%;height:100%;object-fit:cover}.user-avatar-big span{font-size:24px;font-weight:600;color:#fff}.user-info-details h2{margin:0 0 4px;font-size:20px}.user-info-details .user-email{margin:0 0 8px;color:var(--text-secondary);font-size:14px}.user-info-stats{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:20px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:18px;font-weight:600}.stat-value.positive{color:#22c55e}.stat-value.negative{color:#ef4444}.user-info-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-success{background:#22c55e;color:#fff;border:none}.btn-success:hover{background:#16a34a}.btn-success:disabled{background:#86efac;cursor:not-allowed}.user-projects-card{padding:24px!important}.user-projects-card h3{margin:0 0 16px;font-size:16px}.user-projects-list{display:flex;flex-direction:column;gap:12px}.user-project-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary, rgba(255,255,255,.03));border:1px solid var(--border);border-radius:8px}.project-item-info{display:flex;flex-direction:column;gap:2px}.project-item-name{font-weight:600;font-size:14px}.project-item-tariff{font-size:13px;color:var(--text-secondary)}.project-item-limits{font-size:12px;color:var(--text-tertiary, #888)}.project-item-usage{display:flex;gap:16px;margin-top:4px}.project-item-usage .usage-item{font-size:12px;color:#374151}.project-item-usage .usage-item strong{color:#111;font-weight:700}.user-no-projects{color:var(--text-secondary);font-size:14px}.user-payments-card{padding:0!important}.user-payments-card h3{margin:0;font-size:16px;padding:24px 24px 16px}.user-payments-card .template-toolbar{padding:0 24px 16px}.user-payments-card .template-table-wrap{border-radius:0}.user-payments-card .template-table-footer{padding:16px 24px}.amount-credit{color:#22c55e;font-weight:600}.amount-debit{color:#ef4444;font-weight:600}.payment-project{color:var(--text-secondary);font-size:12px}@media (max-width: 900px){.user-view-grid{grid-template-columns:1fr}}.project-manage-modal{max-width:560px;width:100%;max-height:85vh;overflow-y:auto}.pm-info{font-size:13px;color:#6b7280;margin-bottom:20px;padding:10px 14px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.pm-section{margin-bottom:24px}.pm-section:last-child{margin-bottom:0}.pm-section h3{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:12px}.pm-tariff-list,.pm-services-list{display:flex;flex-direction:column;gap:8px}.pm-tariff-item,.pm-service-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:border-color .15s}.pm-tariff-item.active,.pm-service-item.active{background:#f0f9ff;border-color:#93c5fd}.pm-tariff-info,.pm-service-info{flex:1;display:flex;flex-direction:column;gap:2px}.pm-tariff-name,.pm-service-name{font-size:14px;font-weight:600;color:#1a1a2e}.pm-tariff-price,.pm-service-price{font-size:12px;color:#6b7280;font-weight:500}.pm-tariff-limits{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#9ca3af;white-space:nowrap}.pm-service-desc{font-size:12px;color:#9ca3af;max-width:180px}.pm-badge-current{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:#dbeafe;color:#1d4ed8;white-space:nowrap}.btn-sm{padding:4px 12px;font-size:12px;white-space:nowrap}.pm-skeleton{padding:12px 0}.pm-menu-list{display:flex;flex-direction:column;gap:10px}.pm-menu-group{border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;padding:10px 12px}.pm-menu-parent,.pm-menu-child{display:flex;align-items:center;gap:10px;font-size:14px;color:#1a1a2e}.pm-menu-parent input,.pm-menu-child input{width:16px;height:16px;accent-color:#2563eb}.pm-menu-children{margin-top:8px;margin-left:26px;display:flex;flex-direction:column;gap:8px}.pm-menu-label{flex:1}.pm-menu-icon{font-size:11px;color:#6b7280;background:#eef2ff;border:1px solid #c7d2fe;padding:2px 8px;border-radius:999px}.pm-menu-actions{margin-top:12px;display:flex;justify-content:flex-end}@media (max-width: 640px){.project-manage-modal{max-width:100%;margin:16px}.pm-tariff-item,.pm-service-item{flex-wrap:wrap}.pm-tariff-limits{flex-direction:row;gap:8px}.pm-service-desc{max-width:100%}.pm-menu-children{margin-left:18px}}.create-form-modal{max-width:560px}.limit-popup{max-width:420px;text-align:center}.limit-popup-body{padding:24px}.limit-popup-icon{margin-bottom:16px}.limit-popup-text{font-size:15px;color:#1f2937;line-height:1.6;margin-bottom:8px}.limit-popup-hint{font-size:14px;color:#6b7280;margin-bottom:24px}.limit-popup-actions{display:flex;gap:10px;justify-content:center}.limit-popup-actions .btn{min-width:120px}.modal.limit-tariff-modal{max-width:960px;width:90vw}.limit-tariff-modal .modal-body{padding:24px}.limit-tariff-modal .tariff-grid{grid-template-columns:repeat(2,1fr)}.delete-confirm-modal{max-width:380px;text-align:center;padding:32px 24px 24px}.delete-confirm-icon{margin-bottom:16px}.edit-confirm-icon{color:#3b82f6}.delete-confirm-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.delete-confirm-text{font-size:14px;color:#6b7280;line-height:1.5;margin-bottom:24px}.delete-confirm-actions{display:flex;gap:10px;justify-content:center}.delete-confirm-actions .btn{min-width:100px}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.6}.form-tabs{display:flex;gap:0;padding:16px 24px 0;border-bottom:1px solid #e5e7eb;flex-shrink:0}.form-tab{padding:10px 20px;font-size:14px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.form-tab:hover{color:#374151}.form-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.form-tab.tab-error{color:#ef4444}.form-tab.tab-error.active{border-bottom-color:#ef4444}.tab-error-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;display:inline-block;margin-left:4px;vertical-align:middle}.required-mark{color:#ef4444;margin-left:2px}.form-group.has-error input,.form-group.has-error textarea{border-color:#ef4444}.form-group.has-error input:focus,.form-group.has-error textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group.has-error .file-field{border-color:#ef4444}.field-error{display:block;font-size:12px;color:#ef4444;margin-top:4px}.color-field{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-picker{width:48px;height:42px;padding:3px;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;flex-shrink:0;background:#fff;-moz-appearance:none;appearance:none;-webkit-appearance:none}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:5px}.color-picker:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-text{min-height:42px}.form-group.has-error .color-picker{border-color:#ef4444}.form-group.has-error .color-picker:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group-checkbox{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#374151;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;position:relative;transition:all .2s;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.create-form-modal .modal-body textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s}.create-form-modal .modal-body textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-form-modal .modal-body input[type=time]{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.create-form-modal .modal-body input[type=time]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-form-modal .modal-body input[type=number]{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.create-form-modal .modal-body input[type=number]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-form-modal .modal-body select{width:100%;padding:10px 36px 10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;outline:none;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.create-form-modal .modal-body select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group.has-error select{border-color:#ef4444}.form-group.has-error select:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.file-field{border:2px dashed #d1d5db;border-radius:8px;padding:16px;cursor:pointer;transition:border-color .2s,background .2s}.file-field:hover{border-color:#9ca3af;background:#f9fafb}.file-field.has-value{border-style:solid;border-color:#3b82f6;background:#eff6ff}.file-field-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#9ca3af;font-size:13px}.file-field-value{display:flex;align-items:center;gap:8px}.file-field-name{flex:1;font-size:13px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-field-clear{flex-shrink:0;color:#9ca3af;padding:2px;border-radius:4px;transition:color .15s,background .15s}.file-field-clear:hover{color:#ef4444;background:#fef2f2}.file-popup-overlay{z-index:1100}.file-popup-modal{max-width:440px}.file-popup-tabs{display:flex;padding:16px 24px 0;gap:8px}.file-popup-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;transition:all .15s}.file-popup-tab:hover{background:#f9fafb}.file-popup-tab.active{color:#3b82f6;border-color:#3b82f6;background:#eff6ff}.file-drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s,background .2s}.file-drop-zone:hover{border-color:#9ca3af;background:#f9fafb}.file-drop-zone.drag-active{border-color:#3b82f6;background:#eff6ff}.file-drop-zone.uploading{cursor:default;border-color:#3b82f6;background:#f0f7ff}.file-input-hidden{display:none}.drop-text{font-size:14px;font-weight:500;color:#374151;margin-top:4px}.drop-subtext{font-size:12px;color:#9ca3af}.file-uploading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#3b82f6;font-size:13px}.file-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-url-form{display:flex;flex-direction:column;gap:16px}.file-url-form .btn{align-self:flex-end}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.cp-menu-modal{max-width:1080px;width:100%}.cp-menu-modal .modal-body input,.cp-menu-modal .modal-body select,.cp-menu-modal .modal-body textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.cp-menu-modal .modal-body input:focus,.cp-menu-modal .modal-body select:focus,.cp-menu-modal .modal-body textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.cp-menu-modal .modal-body select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-check-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px}.modal-footer{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.blocks-settings{margin-top:10px;padding:12px;border:1px solid #dbeafe;background:#f8fbff;border-radius:12px}.blocks-settings h4{margin:0 0 10px;font-size:14px}.hint-text{display:block;margin-top:6px;color:#6b7280;font-size:12px}.menu-builder{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:14px}.menu-builder-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.menu-builder-head h4{margin:0;font-size:15px}.builder-tab-card{border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:10px;background:#f9fafb}.builder-tab-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.builder-tab-input{flex:1}.builder-field-row{display:grid;grid-template-columns:1.1fr 1.2fr .9fr 1fr auto auto;gap:8px;align-items:center;margin-bottom:8px}.builder-field-spacer{height:1px}.small-checkbox{font-size:12px;gap:6px}.btn-sm-inline{padding:6px 10px;font-size:12px}.icon-picker-wrap{position:relative;display:flex;flex-direction:column;gap:8px}.icon-dropdown-trigger{width:100%;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;min-height:42px;padding:8px 10px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.icon-dropdown-trigger svg:last-child{margin-left:auto}.icon-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:15;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 10px 25px #0000001f;padding:8px}.icon-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;padding:2px}.icon-option-btn{border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#1f2937;min-height:52px;display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-size:12px;transition:border-color .2s ease,background-color .2s ease}.icon-option-btn .nav-icon{width:16px;height:16px;min-width:16px}.icon-option-btn.selected{border-color:#2563eb;background:#eff6ff}.icon-option-btn:hover{border-color:#93c5fd}@media (max-width: 640px){.cp-menu-modal{margin:16px;max-width:calc(100% - 32px)}.form-row-2,.builder-field-row{grid-template-columns:1fr}.icon-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notify-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.notify-recipients-card,.notify-form-card{padding:24px!important}.notify-recipients-card h3,.notify-form-card h3{margin:0 0 16px;font-size:16px}.notify-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:12px}.notify-toolbar .template-search{flex:1}.notify-select-all{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;cursor:pointer}.notify-select-all input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1}.notify-users-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:8px;padding:8px}.notify-user-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.notify-user-item:hover{background:#6366f114}.notify-user-item.selected{background:#6366f11f}.notify-user-item input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;flex-shrink:0}.notify-user-info{display:flex;flex-direction:column;gap:1px}.notify-user-name{font-size:13px;font-weight:500}.notify-user-email{font-size:12px;color:var(--text-secondary, #9ca3af)}.notify-selected-count{margin-top:12px;font-size:13px;color:#6366f1;font-weight:500}.notify-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:20px}.notify-send-btn{margin-top:8px;width:100%}@media (max-width: 900px){.notify-page-grid{grid-template-columns:1fr}}.sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;transition:width .3s ease,transform .3s ease;z-index:100;overflow:hidden}.sidebar.closed{width:68px}.sidebar-header{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;min-height:64px}.sidebar-title{font-size:18px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .2s ease}.sidebar.closed .sidebar-title{opacity:0;width:0}.sidebar-toggle{padding:6px;border-radius:6px;color:#ffffff80;transition:all .2s;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff1a;color:#fff}.sidebar.closed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{padding:16px 12px;flex:1;display:flex;flex-direction:column;gap:4px;overflow-x:hidden;overflow-y:auto}.sidebar-divider{height:1px;background:#ffffff14;margin:8px 16px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;color:#a0aec0;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap;min-width:0}.sidebar.closed .nav-item{padding:10px 12px;justify-content:center}.sidebar.closed .nav-item span,.sidebar.closed .nav-chevron{display:none}.sidebar.closed .sidebar-nav{padding:16px 8px}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#3b82f6;color:#fff}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-toggle{width:100%;position:relative}.nav-chevron{margin-left:auto;transition:transform .2s;flex-shrink:0}.nav-group-toggle.open .nav-chevron{transform:rotate(180deg)}.nav-submenu{padding-left:32px;margin-top:0;display:flex;flex-direction:column;gap:2px}.sidebar.closed .nav-submenu{display:none}.nav-subitem{padding:8px 16px;font-size:13px;border-radius:6px}.menu-skeleton{padding:4px 0}.sidebar.closed .menu-skeleton-text{display:none}.menu-skeleton-item{display:flex;align-items:center;gap:12px;padding:10px 16px}.menu-skeleton-icon{width:20px;height:20px;border-radius:4px;background:#ffffff14;animation:skeleton-pulse 1.5s ease-in-out infinite}.menu-skeleton-text{height:14px;border-radius:4px;background:#ffffff14;animation:skeleton-pulse 1.5s ease-in-out infinite}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:8px}.breadcrumbs{display:flex;align-items:center;gap:2px}.breadcrumb-item{display:flex;align-items:center;gap:2px;font-size:14px}.breadcrumb-sep{color:#9ca3af;margin:0 2px}.breadcrumb-link{color:#6b7280;text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:#3b82f6}.breadcrumb-current{color:#111827;font-weight:500}.header-right{display:flex;align-items:center;gap:8px}.header-divider{width:1px;height:24px;background:#e5e7eb;margin:0 4px}.header-icon-btn{position:relative;padding:8px;border-radius:6px;color:#374151;transition:background .2s}.header-icon-btn:hover{background:#f3f4f6}.notif-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center}.header-avatar-btn{padding:4px;border-radius:20px;transition:box-shadow .2s;display:flex;align-items:center;gap:8px}.header-avatar-btn:hover{box-shadow:0 0 0 3px #3b82f633}.header-balance{font-size:13px;font-weight:600;color:#374151;white-space:nowrap}.avatar{width:36px;height:36px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.header-notifications,.header-profile{position:relative}.dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:10px;box-shadow:0 10px 40px #0000001f;border:1px solid #e5e7eb;min-width:240px;z-index:200;overflow:hidden}.dropdown-header{padding:12px 16px;font-size:13px;font-weight:600;color:#374151;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between}.mark-all-read-btn{font-size:11px;color:#3b82f6;cursor:pointer;background:none;border:none;padding:2px 6px;border-radius:4px;transition:background .2s}.mark-all-read-btn:hover{background:#eff6ff}.dropdown-empty{padding:24px 16px;text-align:center;color:#9ca3af;font-size:13px}.notifications-list{list-style:none;max-height:300px;overflow-y:auto}.notification-item{padding:12px 16px;border-bottom:1px solid #f9fafb;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#f0f7ff}.notification-item.unread:hover{background:#e6f0fc}.notification-item:last-child{border-bottom:none}.notification-icon-wrap{flex-shrink:0}.notification-type-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700}.notification-type-icon.type-info{background:#eff6ff;color:#3b82f6}.notification-type-icon.type-success{background:#ecfdf5;color:#10b981}.notification-type-icon.type-warning{background:#fffbeb;color:#f59e0b}.notification-type-icon.type-error{background:#fef2f2;color:#ef4444}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-text{font-size:13px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:11px;color:#9ca3af}.notification-unread-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#3b82f6}.notifications-skeleton{padding:8px 0}.notification-skeleton-item{display:flex;align-items:center;gap:10px;padding:12px 16px}.skeleton-circle{width:28px;height:28px;border-radius:50%;background:#e5e7eb;flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-line{height:12px;border-radius:4px;background:#e5e7eb;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line-short{width:40%}.notification-modal{max-width:480px;width:100%}.notification-modal .modal-header h2{display:flex;align-items:center;gap:10px;font-size:18px}.notification-modal .modal-header .notification-type-icon{flex-shrink:0}.notification-modal-body{padding:20px 24px 24px}.notification-message{font-size:14px;color:#374151;line-height:1.6;margin-bottom:16px}.notification-message.notification-empty{color:#9ca3af;font-style:italic}.notification-meta{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #f3f4f6}.notification-type-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px}.notification-type-badge.type-info{background:#eff6ff;color:#3b82f6}.notification-type-badge.type-success{background:#ecfdf5;color:#10b981}.notification-type-badge.type-warning{background:#fffbeb;color:#f59e0b}.notification-type-badge.type-error{background:#fef2f2;color:#ef4444}.notification-date{font-size:12px;color:#9ca3af}.profile-dropdown-header{padding:16px}.profile-dropdown-header strong{font-size:14px;color:#1a1a2e}.dropdown-body{padding:8px}.dropdown-item{display:block;width:100%;text-align:left;padding:10px 12px;font-size:14px;color:#374151;border-radius:6px;transition:background .2s}.dropdown-item:hover{background:#f3f4f6}.logout-item{color:#ef4444}.logout-item:hover{background:#fef2f2}.dropdown-projects{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid #f3f4f6}.dropdown-projects-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#9ca3af;padding:8px 12px 4px;letter-spacing:.5px}.project-item{font-size:13px;padding:8px 12px;margin:2px 0;border-radius:6px}.project-item.active{background:#eff6ff;color:#3b82f6;font-weight:500}.create-project-item{color:#3b82f6;font-weight:500}.dropdown-divider{height:1px;background:#f3f4f6;margin:4px 0}.api-token-item{color:#8b5cf6;font-weight:500}.skeleton-item{height:14px;background:#e5e7eb;border-radius:4px;margin:10px 12px;width:70%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-short{width:45%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.api-status-banner{position:sticky;top:0;z-index:45;width:100%;border-bottom:1px solid transparent}.api-status-banner.is-down{background:linear-gradient(90deg,#4a0d0d,#7b1113);border-bottom-color:#ffffff2e}.api-status-banner.is-up{background:linear-gradient(90deg,#0f5132,#146c43);border-bottom-color:#ffffff2e}.api-status-banner-inner{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 24px;color:#fff}.api-status-dot{width:10px;height:10px;border-radius:999px;background:#fff;box-shadow:0 0 #fff9;animation:api-status-pulse 1.8s infinite;flex:0 0 10px}.api-status-text{font-size:14px;line-height:1.35}@keyframes api-status-pulse{0%{box-shadow:0 0 #ffffff8c}70%{box-shadow:0 0 0 8px #fff0}to{box-shadow:0 0 #fff0}}@media (max-width: 768px){.api-status-banner-inner{min-height:36px;padding:7px 14px;gap:8px}.api-status-text{font-size:12px}}.layout{display:flex;min-height:100vh;overflow-x:clip}.layout-main{flex:1;display:flex;flex-direction:column;margin-left:260px;transition:margin-left .3s ease;min-width:0;overflow-x:clip}.sidebar-collapsed .layout-main{margin-left:68px}.layout-content{padding:24px;flex:1;min-width:0;overflow-x:clip}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99}.mobile-menu-btn{display:none;padding:8px;border-radius:6px;color:#374151;transition:background .2s}.mobile-menu-btn:hover{background:#f3f4f6}@media (max-width: 1024px){.layout-content{padding:20px 16px}.header{padding:12px 16px}.dash-grid{grid-template-columns:1fr 1fr}.user-view-grid,.notify-page-grid{grid-template-columns:1fr}.template-table th,.template-table td{padding:12px 14px}}@media (max-width: 768px){.mobile-menu-btn{display:flex}.sidebar-overlay.active{display:block}.sidebar{transform:translate(-100%);width:280px!important;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%);width:280px!important}.layout-main{margin-left:0!important}.sidebar-collapsed .layout-main{margin-left:0}.layout-content{padding:16px 12px}.header{padding:10px 12px}.breadcrumbs,.header-balance,.header-divider{display:none}.page-template h1{font-size:20px;margin-bottom:16px}.template-toolbar{flex-direction:column;gap:10px;align-items:stretch;padding:12px 14px}.search-wrapper{width:100%}.template-table th,.template-table td{padding:10px 12px;font-size:13px}.template-table-footer{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 14px}.table-pagination{width:100%;justify-content:center}.table-actions{flex-wrap:nowrap}.dash-grid{grid-template-columns:1fr;gap:16px}.dash-user-card,.dash-tariff-card{padding:16px}.wallet-cards,.user-view-grid{grid-template-columns:1fr}.user-view-header h1{font-size:18px}.user-info-stats{flex-wrap:wrap;gap:16px}.user-info-actions{flex-direction:column}.user-info-actions .btn{width:100%;text-align:center}.project-item-usage{flex-direction:column;gap:4px}.notify-page-grid{grid-template-columns:1fr}.notify-toolbar{flex-direction:column;align-items:stretch;gap:8px}.notify-select-all{align-self:flex-start}.modal{max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 40px);margin:12px}.modal-overlay{padding:20px 12px}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px}.dropdown{min-width:200px;right:-40px}.notifications-dropdown{width:calc(100vw - 24px);max-width:360px;right:-60px}.profile-dropdown{right:0}}@media (max-width: 480px){.layout-content{padding:12px 8px}.page-template h1{font-size:18px}.template-card{border-radius:8px}.template-table th,.template-table td{padding:8px 10px;font-size:12px}.pagination-btn{min-width:28px;height:28px;font-size:12px}.user-info-header{flex-direction:column;text-align:center}.user-info-details{align-items:center}.stat-value{font-size:16px}.btn{padding:8px 14px;font-size:13px}.user-project-item{flex-direction:column;align-items:flex-start;gap:10px}.user-project-item .btn{align-self:stretch;text-align:center}}*{margin:0;padding:0;box-sizing:border-box}*::-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}*{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f0f2f5;color:#1a1a2e;line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}input{font-family:inherit}
