:root{--tc-primary:#0052d9;--tc-primary-hover:#004bc7;--tc-primary-light:#e8f3ff;--tc-secondary:#00a4ff;--tc-success:#2ba471;--tc-warning:#e37318;--tc-danger:#d54941;--tc-info:#1e80ff;--tc-bg:#f5f7fa;--tc-bg-white:#fff;--tc-text:#212121;--tc-text-secondary:#666;--tc-text-light:#999;--tc-border:#e5e6eb;--tc-shadow:0 2px 12px rgba(0,0,0,.08);--tc-radius:4px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;color:var(--tc-text);background:var(--tc-bg);line-height:1.6}
a{color:var(--tc-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--tc-primary-hover);text-decoration:none}
.tc-navbar{background:var(--tc-bg-white);border-bottom:1px solid var(--tc-border);box-shadow:0 1px 4px rgba(0,0,0,.06);position:fixed;top:0;left:0;right:0;z-index:1000;height:56px}
.tc-navbar .navbar-brand{font-size:18px;font-weight:600;color:var(--tc-primary);padding:16px 0}
.tc-navbar .nav>li>a{color:var(--tc-text);font-size:14px;padding:18px 16px;transition:color .2s}.tc-navbar .nav>li>a:hover,.tc-navbar .nav>li.active>a{color:var(--tc-primary);background:0 0;border-bottom:2px solid var(--tc-primary)}
.tc-navbar .navbar-right .dropdown .avatar{width:32px;height:32px;border-radius:50%;background:var(--tc-primary-light);color:var(--tc-primary);text-align:center;line-height:32px;font-weight:600;display:inline-block}
.tc-main{margin-top:56px;min-height:calc(100vh - 116px)}
.tc-banner{background:linear-gradient(135deg,#0052d9 0%,#00a4ff 100%);color:#fff;padding:60px 0;text-align:center}.tc-banner h1{font-size:36px;font-weight:600;margin-bottom:16px}.tc-banner p{font-size:16px;opacity:.9;margin-bottom:30px}
.tc-banner .btn-banner{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);color:#fff;padding:10px 32px;font-size:16px;border-radius:var(--tc-radius);transition:all .3s}.tc-banner .btn-banner:hover{background:rgba(255,255,255,.3);color:#fff}
.tc-category-nav{background:var(--tc-bg-white);border-bottom:1px solid var(--tc-border);padding:0}.tc-category-nav .nav-item{display:inline-block;padding:14px 24px;color:var(--tc-text);font-size:14px;border-bottom:2px solid transparent;transition:all .2s;cursor:pointer}.tc-category-nav .nav-item:hover,.tc-category-nav .nav-item.active{color:var(--tc-primary);border-bottom-color:var(--tc-primary)}.tc-category-nav .nav-item i{margin-right:6px}
.tc-product-card{background:var(--tc-bg-white);border:1px solid var(--tc-border);border-radius:var(--tc-radius);padding:24px;margin-bottom:20px;transition:all .3s;box-shadow:var(--tc-shadow)}.tc-product-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.12);transform:translateY(-2px)}
.tc-product-card .card-header{display:flex;align-items:center;margin-bottom:16px}.tc-product-card .card-icon{width:48px;height:48px;background:var(--tc-primary-light);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:16px;color:var(--tc-primary);font-size:22px}.tc-product-card .card-title{font-size:16px;font-weight:600;color:var(--tc-text);margin:0}.tc-product-card .card-desc{color:var(--tc-text-secondary);font-size:13px;margin-bottom:16px}.tc-product-card .card-specs{margin-bottom:16px}.tc-product-card .card-specs .spec-item{display:inline-block;background:var(--tc-bg);padding:4px 12px;border-radius:3px;font-size:12px;color:var(--tc-text-secondary);margin-right:8px;margin-bottom:4px}
.tc-product-card .card-price{display:flex;align-items:baseline;justify-content:space-between}.tc-product-card .price{color:var(--tc-danger);font-size:24px;font-weight:600}.tc-product-card .price .unit{font-size:13px;color:var(--tc-text-light);font-weight:normal}.tc-product-card .price .symbol{font-size:14px}
.btn-tc-primary{background:var(--tc-primary);color:#fff;border:none;padding:8px 24px;border-radius:var(--tc-radius);font-size:14px;transition:all .2s}.btn-tc-primary:hover{background:var(--tc-primary-hover);color:#fff}
.btn-tc-outline{background:0 0;color:var(--tc-primary);border:1px solid var(--tc-primary);padding:8px 24px;border-radius:var(--tc-radius);font-size:14px;transition:all .2s}.btn-tc-outline:hover{background:var(--tc-primary-light);color:var(--tc-primary)}
.tc-sidebar{background:var(--tc-bg-white);border-right:1px solid var(--tc-border);min-height:calc(100vh - 56px);padding:20px 0}.tc-sidebar .sidebar-menu{list-style:none;padding:0;margin:0}.tc-sidebar .sidebar-menu li{border-left:3px solid transparent}.tc-sidebar .sidebar-menu li a{display:block;padding:12px 24px;color:var(--tc-text);font-size:14px;transition:all .2s}.tc-sidebar .sidebar-menu li a:hover,.tc-sidebar .sidebar-menu li.active a{background:var(--tc-primary-light);color:var(--tc-primary);border-left-color:var(--tc-primary)}.tc-sidebar .sidebar-menu li a i{margin-right:10px;width:16px;text-align:center}
.tc-content{padding:24px}.tc-content .page-header{margin:0 0 24px 0;padding-bottom:16px;border-bottom:1px solid var(--tc-border)}.tc-content .page-header h2{font-size:20px;font-weight:600;color:var(--tc-text);margin:0}
.tc-stat-card{background:var(--tc-bg-white);border-radius:var(--tc-radius);padding:24px;box-shadow:var(--tc-shadow);text-align:center;margin-bottom:20px}.tc-stat-card .stat-value{font-size:32px;font-weight:600;color:var(--tc-primary);margin-bottom:8px}.tc-stat-card .stat-label{color:var(--tc-text-secondary);font-size:13px}.tc-stat-card.success .stat-value{color:var(--tc-success)}.tc-stat-card.warning .stat-value{color:var(--tc-warning)}.tc-stat-card.danger .stat-value{color:var(--tc-danger)}
.tc-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.tc-badge-success{background:#e8f8f0;color:var(--tc-success)}.tc-badge-warning{background:#fff4e5;color:var(--tc-warning)}.tc-badge-danger{background:#fde8e7;color:var(--tc-danger)}.tc-badge-info{background:var(--tc-primary-light);color:var(--tc-primary)}.tc-badge-default{background:var(--tc-bg);color:var(--tc-text-secondary)}
.tc-footer{background:var(--tc-bg-white);border-top:1px solid var(--tc-border);padding:20px 0;text-align:center;color:var(--tc-text-light);font-size:13px}.tc-footer a{color:var(--tc-text-secondary)}
.tc-auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0052d9 0%,#00a4ff 100%)}.tc-auth-box{background:#fff;border-radius:8px;padding:40px;width:420px;box-shadow:0 8px 40px rgba(0,0,0,.15)}.tc-auth-box .auth-title{text-align:center;font-size:22px;font-weight:600;margin-bottom:30px;color:var(--tc-text)}.tc-auth-box .form-control{height:42px;border-radius:var(--tc-radius);border:1px solid var(--tc-border)}.tc-auth-box .form-control:focus{border-color:var(--tc-primary);box-shadow:0 0 0 2px rgba(0,82,217,.15)}.tc-auth-box .btn-auth{width:100%;height:42px;background:var(--tc-primary);color:#fff;border:none;border-radius:var(--tc-radius);font-size:16px;transition:background .2s}.tc-auth-box .btn-auth:hover{background:var(--tc-primary-hover)}
.tc-table{background:var(--tc-bg-white);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);overflow:hidden}.tc-table .table{margin:0}.tc-table .table thead th{background:var(--tc-bg);border-bottom:1px solid var(--tc-border);font-weight:600;color:var(--tc-text-secondary);font-size:13px;padding:12px 16px}.tc-table .table tbody td{padding:12px 16px;border-bottom:1px solid var(--tc-border);vertical-align:middle}.tc-table .table tbody tr:hover{background:var(--tc-primary-light)}
@media(max-width:768px){.tc-banner h1{font-size:24px}.tc-banner{padding:40px 0}.tc-auth-box{width:90%;padding:24px}.tc-sidebar{min-height:auto}}
