@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons";:root{--header-bg: #3d6b7c;--header-text: #ffffff;--header-active: #2a5565;--header-height: 56px;--page-bg: #dce5ea;--content-bg: #c8d5dc;--card-bg: #ffffff;--card-border: #d0dbe1;--card-shadow: 0 1px 3px rgba(0, 0, 0, .08);--accent-green: #7eb8a8;--accent-green-hover: #6ba99a;--table-header-bg: #b5c8d0;--table-alt-row: #f5f8fa;--table-row-white: #ffffff;--tree-selected: #3d6b7c;--tree-icon: #7eb8a8;--status-active: #7eb8a8;--status-blocked: #e57373;--status-closed: #90a4ae;--text-primary: #333333;--text-secondary: #666666;--text-header: #3d6b7c;--text-white: #ffffff;--dialog-overlay: rgba(0, 0, 0, .5);--dialog-bg: #ffffff;--btn-primary-bg: #7eb8a8;--btn-primary-text: #ffffff;--btn-cancel-bg: #e0e0e0;--btn-cancel-text: #333333;--sidebar-bg: #546e7a;--sidebar-hover: #455a64;--sidebar-selected: #37474f;--radius: 4px;--radius-lg: 8px;--border-color: #d0dbe1;--focus-ring: rgba(61, 107, 124, .3);--tree-panel-width: 320px;--primary: #3d6b7c;--primary-hover: #2a5565;--green: #7eb8a8;--red: #e57373;--yellow: #f5a623;--blue: #5c9dc5;--purple: #9575cd}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Roboto,Helvetica Neue,Arial,sans-serif;background:var(--page-bg);color:var(--text-primary);min-height:100vh;line-height:1.5}a{color:var(--text-header);text-decoration:none}a:hover{text-decoration:underline}.app-layout,.app-layout-v2{display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;flex:1;margin-top:var(--header-height);min-height:calc(100vh - var(--header-height))}.main-content-v2{flex:1;padding:24px;background:var(--page-bg);min-height:calc(100vh - var(--header-height))}.top-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--header-bg);color:var(--header-text);display:flex;align-items:center;padding:0 16px;z-index:1000;box-shadow:0 2px 4px #00000026;gap:16px}.top-header-left{flex:0 1 400px}.top-header-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.header-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:4px;color:var(--header-text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s;white-space:nowrap}.header-nav-btn:hover{background:#ffffff1a}.header-nav-btn.active{background:var(--header-active);color:#fff;border-radius:4px}.top-header-right{display:flex;align-items:center;gap:8px;margin-left:16px}.header-username{font-size:13px;font-weight:500;color:var(--header-text);margin:0 4px}.header-search{display:flex;align-items:center;background:#ffffff26;border-radius:20px;padding:0 12px;min-width:200px;transition:background .2s}.header-search:focus-within{background:#ffffff40}.header-search .material-icons{font-size:20px;color:#ffffffb3;margin-right:8px}.header-search input{background:none;border:none;outline:none;color:#fff;font-size:13px;font-family:inherit;padding:8px 0;width:100%}.header-search input::placeholder{color:#ffffff80}.header-search-icon{font-size:20px;color:#ffffffb3;margin-right:8px}.header-search-input{background:none;border:none;outline:none;color:#fff;font-size:13px;font-family:inherit;padding:8px 0;width:100%;flex:1}.header-search-input::placeholder{color:#ffffff80}.header-search-clear{background:none;border:none;color:#fff9;cursor:pointer;padding:0;display:flex;align-items:center}.header-search-clear:hover{color:#fff}.header-icon-btn .material-icons{font-size:20px}.nav-buttons{display:flex;align-items:center;gap:4px;margin-left:auto}.nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:var(--radius);color:var(--header-text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s;white-space:nowrap}.nav-btn:hover{background:#ffffff1a}.nav-btn.active{background:var(--header-active);color:#fff;border-radius:var(--radius)}.nav-btn .material-icons{font-size:18px}.header-icons{display:flex;align-items:center;gap:8px;margin-left:16px}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:50%;color:#fffc;cursor:pointer;position:relative;transition:background .2s}.header-icon-btn:hover{background:#ffffff26;color:#fff}.header-icon-btn .material-icons{font-size:22px}.header-icon-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid var(--header-bg)}.header-username{font-size:13px;font-weight:500;color:#ffffffe6;padding:0 8px;white-space:nowrap}.avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;text-transform:uppercase}.avatar-circle.lg{width:48px;height:48px;font-size:20px}.notification-dropdown{position:absolute;top:calc(var(--header-height) - 4px);right:80px;width:320px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000026;z-index:1100;overflow:hidden}.notification-dropdown-header{padding:12px 16px;font-weight:700;font-size:14px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.notification-item{padding:10px 16px;border-bottom:1px solid var(--border-color);font-size:13px;cursor:pointer;transition:background .15s}.notification-item:hover{background:var(--table-alt-row)}.notification-item:last-child{border-bottom:none}.notification-item-time{font-size:11px;color:var(--text-secondary);margin-top:4px}.user-menu-dropdown{position:absolute;top:calc(var(--header-height) - 4px);right:16px;width:200px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000026;z-index:1100;overflow:hidden}.user-menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .15s;border:none;background:none;width:100%;font-family:inherit;text-align:left}.user-menu-item:hover{background:var(--table-alt-row)}.user-menu-item .material-icons{font-size:18px;color:var(--text-secondary)}.user-menu-item.danger,.user-menu-item.danger .material-icons{color:var(--red)}.user-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.left-tree-panel{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--tree-panel-width);background:var(--card-bg);border-right:1px solid var(--border-color);overflow-y:auto;z-index:900;transition:transform .3s ease;box-shadow:2px 0 8px #0000000d}.left-tree-panel.collapsed{transform:translate(-100%)}.left-tree-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--table-alt-row)}.left-tree-panel-header h3{font-size:14px;font-weight:700;color:var(--text-header)}.tree-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius);display:flex;align-items:center}.tree-toggle-btn:hover{background:var(--content-bg)}.tree-item{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 16px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text-primary);border-left:3px solid transparent;-webkit-user-select:none;user-select:none}.tree-item:hover{background:var(--table-alt-row)}.tree-item.selected{background:var(--tree-selected);color:var(--text-white);border-left-color:var(--accent-green)}.tree-item.selected .tree-item-icon,.tree-item.selected .tree-item-count{color:#fffc}.tree-item-icon{color:var(--tree-icon);flex-shrink:0}.tree-item-icon .material-icons{font-size:18px}.tree-item-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-item-count{font-size:11px;color:var(--text-secondary);background:var(--content-bg);padding:1px 6px;border-radius:10px}.tree-item.selected .tree-item-count{background:#fff3}.tree-item-icons{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s}.tree-item:hover .tree-item-icons{opacity:1}.tree-item-icons button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer}.tree-item-icons button:hover{background:#00000014;color:var(--text-primary)}.tree-item.selected .tree-item-icons button:hover{background:#ffffff26;color:#fff}.tree-children,.tree-indent{padding-left:16px}.main-content{margin-top:var(--header-height);flex:1;transition:margin-left .3s ease;min-height:calc(100vh - var(--header-height))}.main-content.with-tree{margin-left:var(--tree-panel-width)}.main-content.expanded{margin-left:0}.page-content{padding:24px;max-width:1400px}.page-content.full-width{max-width:none}.page{max-width:1200px}.page-title{font-size:22px;font-weight:700;color:var(--text-header);margin-bottom:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header .page-title{margin-bottom:0}.page-loading{display:flex;justify-content:center;padding:80px 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-cards-row{display:flex;gap:16px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);min-width:200px;flex:1;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 2px 8px #0000001f}.stat-card-body{padding:16px;display:flex;align-items:center;gap:14px;flex:1}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon .material-icons{color:#fff;font-size:24px}.stat-icon.green{background:var(--accent-green)}.stat-icon.teal{background:var(--header-bg)}.stat-icon.red{background:var(--red)}.stat-icon.blue{background:var(--blue)}.stat-info{flex:1}.stat-value{font-size:22px;font-weight:700;display:block;color:var(--text-primary);line-height:1.2}.stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.currency-bar{background:var(--accent-green);color:#fff;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;justify-content:space-between}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--card-shadow)}.card h3{font-size:15px;font-weight:700;color:var(--text-header);margin-bottom:16px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h2{font-size:16px;font-weight:700;color:var(--text-header)}.hierarchy-table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow)}.hierarchy-table th{background:var(--table-header-bg);text-align:left;padding:10px 14px;font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);white-space:nowrap}.hierarchy-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.hierarchy-table tr:nth-child(2n){background:var(--table-alt-row)}.hierarchy-table tr:nth-child(odd){background:var(--table-row-white)}.hierarchy-table tr:hover{background:#e8eff3}.tree-row{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s;border-radius:var(--radius)}.tree-row:hover{background:var(--table-alt-row)}.tree-row.selected{background:var(--tree-selected);color:#fff}.tree-row .tree-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;display:flex;align-items:center}.tree-row.selected .tree-toggle{color:#fffc}.tree-spacer{width:24px;flex-shrink:0}.tree-icon{display:flex;color:var(--tree-icon)}.tree-icon .material-icons{font-size:18px}.tree-name{font-weight:500;flex:1}.tree-count{font-size:11px;color:var(--text-secondary)}.tree-children{margin-left:12px;padding-left:4px;border-left:1px solid var(--border-color)}.user-row{border-left:4px solid var(--accent-green)}.user-row.blocked{border-left-color:var(--status-blocked)}.user-row.closed{border-left-color:var(--status-closed)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}.data-table{width:100%;border-collapse:collapse;background:var(--card-bg)}.data-table th{background:var(--table-header-bg);text-align:left;padding:10px 14px;font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:nth-child(2n){background:var(--table-alt-row)}.data-table tr:nth-child(odd){background:var(--table-row-white)}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover{background:#e8eff3}.empty-row{text-align:center;color:var(--text-secondary);padding:40px!important}.table-loading{display:flex;justify-content:center;padding:40px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card-bg);border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;gap:12px}.table-footer-filters{display:flex;align-items:center;gap:16px}.table-footer-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer}.table-footer-filter input[type=checkbox]{accent-color:var(--accent-green)}.pagination{display:flex;justify-content:center;gap:4px;padding:16px}.pagination button{padding:6px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s}.pagination button:hover{background:var(--content-bg)}.pagination button.active{background:var(--header-bg);border-color:var(--header-bg);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.filter-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);margin-bottom:16px;flex-wrap:wrap;box-shadow:var(--card-shadow)}.filter-bar label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-select{padding:7px 28px 7px 10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:120px}.filter-select:focus{outline:none;border-color:var(--header-bg);box-shadow:0 0 0 2px var(--focus-ring)}.filter-date{padding:7px 10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:13px;font-family:inherit}.filter-date:focus{outline:none;border-color:var(--header-bg);box-shadow:0 0 0 2px var(--focus-ring)}.submit-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent-green);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s;flex-shrink:0}.submit-btn:hover{background:var(--accent-green-hover)}.submit-btn .material-icons{font-size:20px}.filters{display:flex;gap:12px;margin-bottom:16px;align-items:flex-end;flex-wrap:wrap}.filters select{padding:8px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:13px}.search-form{display:flex;gap:8px}.search-form input{padding:8px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:13px;width:240px}.search-form input:focus{outline:none;border-color:var(--header-bg);box-shadow:0 0 0 2px var(--focus-ring)}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-green{background:#7eb8a833;color:#4a8f7a}.badge-red{background:#e5737333;color:var(--red)}.badge-blue{background:#5c9dc526;color:var(--blue)}.badge-yellow{background:#f5a62326;color:#c68400}.badge-grey{background:#90a4ae33;color:var(--status-closed)}.status-active{color:var(--status-active);font-weight:600}.status-blocked{color:var(--status-blocked);font-weight:600}.status-closed{color:var(--status-closed);font-weight:600}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.role-1{background:#90a4ae33;color:var(--status-closed)}.role-2{background:#5c9dc526;color:var(--blue)}.role-3{background:#9575cd26;color:var(--purple)}.role-5{background:#f5a62326;color:#c68400}.role-10{background:#e5737326;color:var(--red)}.role-12{background:#3d6b7c26;color:var(--header-bg)}.badge-coupon-pending{background:#f5a62326;color:#c68400}.badge-coupon-active{background:#3d6b7c26;color:var(--header-bg)}.badge-coupon-won{background:#7eb8a833;color:#4a8f7a}.badge-coupon-lost{background:#e5737333;color:var(--red)}.badge-coupon-cancelled{background:#90a4ae33;color:var(--status-closed)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);transition:all .2s;font-family:inherit}.btn:hover{background:var(--content-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--accent-green-hover);border-color:var(--accent-green-hover)}.btn-cancel{background:var(--btn-cancel-bg);border-color:var(--btn-cancel-bg);color:var(--btn-cancel-text)}.btn-cancel:hover{background:#d0d0d0}.btn-green{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.btn-green:hover{background:var(--accent-green-hover)}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover{background:#d32f2f}.btn-sm{padding:5px 12px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px}.btn-full{width:100%;justify-content:center}.btn-group{display:flex;gap:4px}.btn .material-icons{font-size:18px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--header-bg);box-shadow:0 0 0 2px var(--focus-ring)}.form-field{position:relative;margin-bottom:20px}.form-field input,.form-field select{width:100%;padding:10px 0 8px;background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-bottom-color:var(--header-bg)}.form-field label{position:absolute;top:10px;left:0;font-size:14px;color:var(--text-secondary);pointer-events:none;transition:all .2s}.form-field input:focus~label,.form-field input:not(:placeholder-shown)~label,.form-field select:focus~label{top:-8px;font-size:11px;color:var(--header-bg);font-weight:500}.form-field .underline{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--header-bg);transition:width .3s}.form-field input:focus~.underline,.form-field select:focus~.underline{width:100%}.radio-group{display:flex;gap:16px;margin:8px 0}.radio-group label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);cursor:pointer}.radio-group input[type=radio]{accent-color:var(--header-bg);width:16px;height:16px}.alert{padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.alert-error{background:#e573731f;color:var(--red);border:1px solid rgba(229,115,115,.3)}.alert-success{background:#7eb8a81f;color:#4a8f7a;border:1px solid rgba(126,184,168,.3)}.alert-info{background:#3d6b7c1a;color:var(--header-bg);border:1px solid rgba(61,107,124,.2)}.dialog-overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dialog-overlay);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease}.dialog-box,.modal-content{background:var(--dialog-bg);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #0003;animation:slideUp .2s ease}.dialog-title,.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.dialog-title h3,.modal-header h3{font-size:16px;font-weight:700;color:var(--text-header);margin:0}.dialog-body,.modal-body{padding:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-color)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius);display:flex;align-items:center}.modal-close:hover{background:var(--content-bg);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg)}.login-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;text-align:center;box-shadow:0 4px 24px #0000001a}.login-logo{width:56px;height:56px;background:var(--header-bg);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:#fff;margin-bottom:16px}.login-card h1{font-size:22px;color:var(--text-header);margin-bottom:4px}.login-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.login-card form{text-align:left}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:var(--sidebar-bg);display:flex;flex-direction:column;transition:width .3s;z-index:100}.sidebar.collapsed{width:64px}.sidebar-header{display:flex;align-items:center;padding:16px;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.logo{width:32px;height:32px;background:var(--accent-green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.brand{font-weight:700;font-size:16px;color:#fff}.toggle-btn{margin-left:auto;background:none;border:none;color:#fff9;cursor:pointer;padding:4px}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:#ffffffb3;transition:all .2s;margin-bottom:2px;cursor:pointer;text-decoration:none;font-size:14px}.nav-item:hover{background:var(--sidebar-hover);color:#fff;text-decoration:none}.nav-item.active{background:var(--sidebar-selected);color:#fff}.nav-item .material-icons{font-size:20px}.nav-label{font-size:14px;font-weight:500}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:8px;padding:8px;font-size:13px;color:#fff9}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;color:var(--red);cursor:pointer;border-radius:var(--radius);font-size:14px;font-family:inherit}.logout-btn:hover{background:#e5737326}.user-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.user-detail-header h1{font-size:24px;color:var(--text-header);margin-bottom:8px}.user-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:13px}.info-row span:first-child{color:var(--text-secondary)}.wallet-card{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--table-alt-row);border-radius:var(--radius);margin-bottom:8px;border:1px solid var(--border-color)}.wallet-currency{font-weight:600;font-size:13px;color:var(--text-secondary)}.wallet-balance{font-size:20px;font-weight:700;color:var(--text-primary)}.tree-container{padding:16px}.tree-node{margin-left:20px}.tree-node:first-child{margin-left:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--header-bg);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.betting-page{display:grid;grid-template-columns:220px 1fr 300px;gap:0;min-height:calc(100vh - var(--header-height));margin:-24px}.betting-page .page{max-width:none}.betting-sidebar-left{background:var(--card-bg);border-right:1px solid var(--border-color);overflow-y:auto;max-height:calc(100vh - var(--header-height));position:sticky;top:0}.betting-sidebar-header{display:flex;align-items:center;gap:8px;padding:16px;font-weight:700;font-size:15px;border-bottom:1px solid var(--border-color);color:var(--text-header)}.betting-sidebar-header .material-icons{font-size:20px;color:var(--accent-green)}.sports-list{padding:4px}.sport-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:14px;font-family:inherit;transition:all .2s;text-align:left}.sport-item:hover{background:var(--content-bg);color:var(--text-primary)}.sport-item.active{background:#3d6b7c1f;color:var(--header-bg)}.sport-item .material-icons{font-size:20px}.sport-name{flex:1;font-weight:500}.sport-count{background:var(--content-bg);padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.leagues-list{padding:2px 0 6px 32px}.league-item{display:block;width:100%;padding:6px 12px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;text-align:left;transition:all .15s}.league-item:hover{background:var(--content-bg);color:var(--text-primary)}.league-item.active{color:var(--header-bg);background:#3d6b7c14;font-weight:600}.betting-center{padding:20px;overflow-y:auto;max-height:calc(100vh - var(--header-height));background:var(--page-bg)}.betting-center-header{margin-bottom:16px}.betting-title{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:var(--text-header)}.betting-title .material-icons{font-size:26px;color:var(--accent-green)}.betting-no-events,.betting-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center}.betting-no-events .material-icons,.betting-empty .material-icons{font-size:48px;margin-bottom:12px;opacity:.4}.events-league-group{margin-bottom:20px}.events-league-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius) var(--radius) 0 0;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.events-league-header .material-icons{color:var(--yellow)}.event-card{background:var(--card-bg);border:1px solid var(--card-border);border-top:none;padding:0;transition:background .15s}.event-card:last-child{border-radius:0 0 var(--radius) var(--radius)}.event-card:hover{background:var(--table-alt-row)}.event-card-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px 0}.event-league{font-size:11px;color:var(--text-secondary);text-transform:uppercase}.event-time{font-size:12px;color:var(--text-secondary)}.event-card-body{padding:6px 14px;cursor:pointer}.event-teams{display:flex;flex-direction:column;gap:2px}.team-row{display:flex;justify-content:space-between;align-items:center}.team-name{font-size:14px;font-weight:500;color:var(--text-primary)}.live-score{font-size:16px;font-weight:700;color:var(--yellow)}.event-card-odds{display:flex;gap:6px;padding:8px 14px 12px}.odds-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit}.odds-btn:hover:not(.disabled){border-color:var(--header-bg);background:#3d6b7c14}.odds-btn.selected{background:var(--header-bg);border-color:var(--header-bg)}.odds-btn.selected .odds-label,.odds-btn.selected .odds-value{color:#fff}.odds-btn.disabled{opacity:.35;cursor:not-allowed}.odds-label{font-size:10px;color:var(--text-secondary);font-weight:600;text-transform:uppercase}.odds-value{font-size:14px;font-weight:700;color:var(--text-primary)}.odds-expand-btn{width:36px;display:flex;align-items:center;justify-content:center;background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.odds-expand-btn:hover{border-color:var(--header-bg);color:var(--header-bg)}.odds-expand-btn .material-icons{font-size:18px}.live-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:#f5a62326;color:var(--yellow);border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.live-badge-lg{font-size:14px;padding:4px 12px}.live-dot{width:6px;height:6px;background:var(--yellow);border-radius:50%;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.betting-sidebar-right{border-left:1px solid var(--border-color);position:sticky;top:0;max-height:calc(100vh - var(--header-height));overflow-y:auto;background:var(--card-bg)}.betslip-panel{display:flex;flex-direction:column;height:100%}.betslip-header{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:700;font-size:15px;border-bottom:1px solid var(--border-color);background:var(--table-alt-row);color:var(--text-header)}.betslip-header .material-icons{font-size:20px;color:var(--accent-green)}.betslip-count{background:var(--header-bg);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.betslip-clear{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.betslip-clear:hover{color:var(--red);background:#e573731a}.betslip-type-toggle{display:flex;margin:12px 12px 0;background:var(--content-bg);border-radius:6px;padding:3px;gap:3px}.betslip-type-btn{flex:1;padding:6px;background:none;border:none;border-radius:4px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.betslip-type-btn.active{background:var(--header-bg);color:#fff}.betslip-type-btn:hover:not(.active){color:var(--text-primary)}.betslip-selections{flex:1;overflow-y:auto;padding:8px 12px}.betslip-empty{display:flex;flex-direction:column;align-items:center;padding:40px 16px;color:var(--text-secondary);text-align:center}.betslip-empty .material-icons{font-size:36px;margin-bottom:8px;opacity:.3}.betslip-empty p{font-size:13px}.betslip-selection{display:flex;gap:8px;padding:10px;background:var(--table-alt-row);border:1px solid var(--border-color);border-radius:6px;margin-bottom:6px;align-items:flex-start}.betslip-sel-info{flex:1;min-width:0}.betslip-sel-event{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.betslip-sel-market{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.betslip-sel-odds{font-weight:700;color:var(--header-bg);white-space:nowrap}.betslip-sel-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px;display:flex;flex-shrink:0}.betslip-sel-remove:hover{color:var(--red);background:#e573731a}.betslip-footer{padding:12px;border-top:1px solid var(--border-color);background:var(--table-alt-row)}.betslip-total-odds{display:flex;justify-content:space-between;font-size:13px;margin-bottom:10px;color:var(--text-secondary)}.betslip-total-odds-value{font-weight:700;color:var(--text-primary);font-size:15px}.betslip-stake{margin-bottom:8px}.betslip-stake label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.betslip-stake input{width:100%;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:16px;font-weight:600;font-family:inherit}.betslip-stake input:focus{outline:none;border-color:var(--header-bg);box-shadow:0 0 0 2px var(--focus-ring)}.betslip-quick-stakes{display:flex;gap:4px;margin-bottom:10px}.quick-stake-btn{flex:1;padding:5px 4px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.quick-stake-btn:hover{border-color:var(--header-bg);color:var(--header-bg)}.betslip-potential{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;color:var(--text-secondary)}.betslip-potential-value{font-size:18px;font-weight:700;color:var(--accent-green)}.betslip-place-btn{margin-top:8px;padding:12px;font-size:15px;font-weight:700}.betslip-error{background:#e573731f;color:var(--red);padding:8px 10px;border-radius:6px;font-size:13px;margin-bottom:8px}.betslip-success{background:#7eb8a826;color:#4a8f7a;padding:8px 10px;border-radius:6px;font-size:13px;margin-bottom:8px}.event-detail-page{display:grid;grid-template-columns:1fr 300px;gap:0;min-height:calc(100vh - var(--header-height));margin:-24px}.event-detail-main{padding:20px;overflow-y:auto;max-height:calc(100vh - var(--header-height));background:var(--page-bg)}.event-detail-header{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;text-align:center;box-shadow:var(--card-shadow)}.event-detail-league{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.event-detail-teams{display:flex;align-items:center;justify-content:center;gap:32px}.event-detail-team{text-align:center}.event-detail-team-name{font-size:20px;font-weight:700;display:block;color:var(--text-primary)}.event-detail-score{font-size:32px;font-weight:800;color:var(--yellow);display:block;margin-top:4px}.event-detail-vs{display:flex;flex-direction:column;align-items:center;gap:4px}.event-detail-time{font-size:13px;color:var(--text-secondary)}.event-detail-betslip{border-left:1px solid var(--border-color);position:sticky;top:0;max-height:calc(100vh - var(--header-height));overflow-y:auto;background:var(--card-bg)}.market-category-tabs{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.market-cat-tab{display:flex;align-items:center;gap:5px;padding:8px 14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .15s}.market-cat-tab:hover{border-color:var(--header-bg);color:var(--text-primary)}.market-cat-tab.active{background:var(--header-bg);border-color:var(--header-bg);color:#fff}.market-cat-count{font-size:11px;background:#00000014;padding:1px 6px;border-radius:8px;font-weight:600}.market-cat-tab.active .market-cat-count{background:#ffffff40}.markets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.market-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow)}.market-card-header{padding:10px 14px;border-bottom:1px solid var(--border-color);background:var(--table-alt-row)}.market-name{font-size:13px;font-weight:600;color:var(--text-primary)}.market-selections{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;padding:8px}.market-sel-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;background:var(--page-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit}.market-sel-btn:hover{border-color:var(--header-bg);background:#3d6b7c14}.market-sel-btn.selected{background:var(--header-bg);border-color:var(--header-bg)}.market-sel-btn.selected .market-sel-name,.market-sel-btn.selected .market-sel-odds{color:#fff}.market-sel-name{font-size:11px;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.market-sel-odds{font-size:14px;font-weight:700;color:var(--text-primary)}.mobile-betslip-toggle{display:none;position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--accent-green);border:none;color:#fff;cursor:pointer;box-shadow:0 4px 20px #7eb8a866;z-index:150;align-items:center;justify-content:center}.mobile-betslip-toggle .material-icons{font-size:24px}.mobile-betslip-badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-betslip-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dialog-overlay);z-index:200;align-items:flex-end;justify-content:center}.mobile-betslip-drawer{background:var(--card-bg);border-radius:16px 16px 0 0;width:100%;max-height:80vh;overflow-y:auto}.text-green{color:var(--accent-green)}.text-red{color:var(--red)}.text-muted{color:var(--text-secondary)}.text-header{color:var(--text-header)}.mono{font-family:Roboto Mono,Fira Code,monospace;font-size:12px}.mt-4{margin-top:16px}.mb-3{margin-bottom:12px}.ml-2{margin-left:8px}.mr-2{margin-right:8px}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:#3d6b7c33;color:var(--text-primary)}@media (max-width: 768px){.top-header{padding:0 8px;gap:8px}.header-search{min-width:120px;display:none}.nav-buttons{gap:2px}.nav-btn{padding:6px 10px;font-size:12px}.nav-btn .material-icons,.header-username{display:none}.sidebar{width:64px}.sidebar .nav-label,.sidebar .brand,.sidebar .user-info{display:none}.main-content{margin-left:64px}.main-content.with-tree{margin-left:0}.left-tree-panel{width:100%;position:fixed;z-index:950}.detail-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.stat-cards-row{flex-direction:column}.user-detail-header{flex-direction:column;gap:12px}.page-content{padding:16px}.page-title{font-size:18px}.filter-bar{flex-direction:column;align-items:stretch}.filter-select{width:100%}.betting-page{grid-template-columns:1fr;margin:-16px}.betting-sidebar-left{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--border-color)}.sports-list{display:flex;overflow-x:auto;gap:4px;padding:8px}.sport-group{flex-shrink:0}.leagues-list,.betting-sidebar-right{display:none}.mobile-betslip-toggle,.mobile-betslip-overlay{display:flex}.event-detail-page{grid-template-columns:1fr}.event-detail-betslip{display:none}.event-detail-teams{flex-direction:column;gap:12px}.markets-grid{grid-template-columns:1fr}.market-category-tabs{gap:2px}.market-cat-tab{padding:6px 10px;font-size:12px}.settings-grid{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1100px){.betting-page{grid-template-columns:180px 1fr 260px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 769px){.mobile-betslip-toggle,.mobile-betslip-overlay{display:none!important}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.btn-group{flex-direction:column}.dialog-box,.modal-content{max-width:100%;margin:0 8px;border-radius:var(--radius-lg)}.login-card{padding:24px;margin:0 16px}}@media print{.top-header,.sidebar,.left-tree-panel,.betting-sidebar-right,.betslip-panel,.mobile-betslip-toggle{display:none!important}.main-content{margin:0!important}body{background:#fff;color:#000}}
