:root{--primary: #1d1d1f;--primary-dark: #000000;--primary-light: #f5f5f7;--accent: #ff8c00;--dark: #1d1d1f;--text: #1d1d1f;--text-light: #86868b;--text-lighter: #aeaeb2;--border: #d2d2d7;--bg: #f5f5f7;--white: #fff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius: 8px;--radius-lg: 14px;--shadow: 0 4px 20px rgba(29, 29, 31, .08);--shadow-lg: 0 10px 40px rgba(29, 29, 31, .15);--header-height: 68px;--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font);color:var(--text);background:var(--white);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:14px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;border-radius:var(--radius);font-size:14px;font-weight:500;transition:all .25s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;border-color:var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.btn-white{background:#fff;color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:6px 14px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed}.form-item{margin-bottom:18px}.form-item label{display:block;margin-bottom:6px;font-weight:500;color:var(--text)}.form-input,.form-textarea,.form-select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .2s;background:#fff;color:var(--text)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d6efd1f}.form-textarea{resize:vertical;min-height:100px}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:transform .25s,box-shadow .25s}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;line-height:20px}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:#dcfce7;color:var(--success)}.badge-warning{background:#fef3c7;color:var(--warning)}.badge-danger{background:#fee2e2;color:var(--danger)}.badge-gray{background:#f1f3f7;color:var(--text-light)}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}.toast{padding:10px 22px;border-radius:var(--radius);color:#fff;font-size:14px;opacity:0;transform:translateY(-10px);transition:all .3s ease;box-shadow:var(--shadow-lg);max-width:80vw}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning)}.toast-info{background:#334155}.pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.pagination .page-btn{min-width:36px;height:36px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.pagination .page-btn:hover{border-color:var(--primary);color:var(--primary)}.pagination .page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination .page-btn.disabled{opacity:.4;pointer-events:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#c7cdd8;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#9aa7ba}::-webkit-scrollbar-corner{background:var(--bg)}*{scrollbar-width:thin;scrollbar-color:#c7cdd8 var(--bg)}@media (max-width: 768px){.container{padding:0 14px}.btn{padding:9px 16px}}
