.btn{border-radius:var(--radius-md);font-family:var(--font-family);font-weight:600;font-size:var(--font-size-base);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:6px;text-decoration:none;transition:filter .15s,opacity .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{font-size:var(--font-size-xs);gap:5px;padding:5px 12px}.btn-md{font-size:var(--font-size-base);padding:8px 16px}.btn-lg{font-size:var(--font-size-md);padding:11px 22px}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:active:not(:disabled){filter:brightness(.92)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.btn-danger{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover:not(:disabled){background:#ef444440;border-color:#ef444480}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{color:var(--text-secondary);background:0 0;border:none}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-glow)}.btn-info{background:var(--info-bg);color:#60a5fa;border:1px solid #3b82f64d}.btn-info:hover:not(:disabled){filter:brightness(1.1)}.input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);outline:none;padding:9px 13px;transition:border-color .15s}.input:hover{border-color:var(--border-hover)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}.input-error{border-color:var(--danger)!important}.input-error-text{font-size:var(--font-size-xs);color:var(--danger);margin-top:3px;display:block}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394A3B8' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.select option{background:var(--bg-surface);color:var(--text-primary)}.textarea{resize:vertical;min-height:90px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .15s;overflow:hidden}.card:hover{border-color:var(--border-hover)}.card-header{padding:14px var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-base);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.card-actions{gap:var(--space-sm);display:flex}.card-body{padding:var(--space-lg)}.card-no-padding .card-body{padding:0}.stat-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;padding:20px 22px;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:16px;bottom:16px;left:0}.stat-card-primary:before{background:var(--primary)}.stat-card-success:before{background:var(--success)}.stat-card-danger:before{background:var(--danger)}.stat-card-warning:before{background:var(--warning)}.stat-card-info:before{background:var(--info)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.stat-card-content{flex-direction:column;gap:3px;display:flex}.stat-card-title{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-card-value{font-size:var(--font-size-2xl);color:var(--text-primary);letter-spacing:-.03em;margin-top:4px;font-weight:800;line-height:1.1}.stat-card-subtitle{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:3px}.stat-card-trend{font-size:var(--font-size-xs);margin-top:4px;font-weight:600}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.stat-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-card-primary .stat-card-icon{background:var(--primary-glow);color:var(--primary)}.stat-card-success .stat-card-icon{background:var(--success-bg);color:var(--success)}.stat-card-danger .stat-card-icon{background:var(--danger-bg);color:var(--danger)}.stat-card-warning .stat-card-icon{background:var(--warning-bg);color:var(--warning)}.stat-card-info .stat-card-icon{background:var(--info-bg);color:var(--info)}.badge{font-size:var(--font-size-xs);letter-spacing:.02em;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-weight:600;display:inline-flex}.badge-default{color:var(--text-secondary);background:#94a3b81a}.badge-success{color:#4ade80;background:#22c55e26}.badge-danger{color:#f87171;background:#ef444426}.badge-warning{color:#fbbf24;background:#eab30826}.badge-info{color:#60a5fa;background:#3b82f626}.badge-primary{background:var(--primary-glow);color:var(--primary)}.badge-orange{color:#fb923c;background:#f9731626}.modal-overlay{z-index:9999;box-sizing:border-box;overscroll-behavior:contain;background:#000000a6;place-items:start center;width:100vw;height:100dvh;padding:clamp(16px,4vh,40px) 16px 16px;animation:.15s fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-height:calc(100dvh - 32px);animation:.15s scaleIn;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.modal-sm{max-width:440px}.modal-md{max-width:620px}.modal-lg{max-width:880px}.modal-xl{max-width:1080px}.modal-header{padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-md);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.modal-close{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-body{padding:var(--space-lg);flex:1;min-height:0;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-sm);padding:14px var(--space-lg);border-top:1px solid var(--border-color);display:flex}.table-container{border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;width:100%;overflow:auto visible}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--font-size-base)}.table th{text-align:left;color:var(--text-muted);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-elevated);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:10px 14px}.table th:first-child{border-radius:var(--radius-md) 0 0 0}.table th:last-child{border-radius:0 var(--radius-md) 0 0}.table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:11px 14px}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--bg-elevated)}.table tbody tr:last-child td{border-bottom:none}.table-row-clickable{cursor:pointer}.table-row-clickable:hover{background:var(--primary-glow)!important}.table-empty{text-align:center;color:var(--text-muted);font-size:var(--font-size-base);padding:var(--space-2xl)!important}.tabs{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg);scrollbar-width:none;z-index:30;background:var(--bg-body);gap:0;padding-top:4px;display:flex;position:sticky;top:52px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 16px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.tab:hover{color:var(--text-primary)}.tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-count{font-size:var(--font-size-xs);background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-secondary);padding:1px 7px}.tab-active .tab-count{background:var(--primary-glow);color:var(--primary)}.loader-container{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);flex-direction:column;display:flex}.loader{border:2px solid var(--border-color);border-top-color:var(--primary);border-radius:var(--radius-full);animation:.7s linear infinite spin}.loader-sm{width:18px;height:18px}.loader-md{width:32px;height:32px}.loader-lg{width:48px;height:48px}.loader-text{font-size:var(--font-size-sm);color:var(--text-secondary)}
