/* ====== 授权站样式 ====== */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f0f2f5;color:#333;font-size:14px;}
a{color:#1890ff;text-decoration:none;}
a:hover{text-decoration:underline;}

/* 布局 */
.layout{display:flex;min-height:100vh;}
.sidebar{width:220px;background:#001529;color:#fff;flex-shrink:0;display:flex;flex-direction:column;}
.sidebar .logo{padding:20px;font-size:18px;font-weight:700;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);}
.sidebar .menu{flex:1;padding:10px 0;}
.sidebar .menu a{display:block;padding:12px 24px;color:rgba(255,255,255,.75);text-decoration:none;font-size:14px;transition:.2s;border-left:3px solid transparent;}
.sidebar .menu a:hover{background:rgba(255,255,255,.08);color:#fff;}
.sidebar .menu a.active{background:#1890ff;color:#fff;border-left-color:#fff;}
.sidebar .footer{padding:14px;font-size:12px;color:rgba(255,255,255,.4);text-align:center;border-top:1px solid rgba(255,255,255,.1);}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.topbar{height:56px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 4px rgba(0,0,0,.08);}
.topbar .breadcrumb{font-size:15px;font-weight:600;}
.topbar .user{font-size:13px;color:#666;}
.topbar .user a{margin-left:12px;}
.content{flex:1;padding:24px;overflow-y:auto;}

/* 卡片 */
.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:20px;}
.card-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;}
.card-body{padding:20px;}

/* 统计卡片 */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px;}
.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.stat-card .num{font-size:32px;font-weight:700;margin-bottom:4px;}
.stat-card .label{font-size:13px;color:#999;}
.stat-card.blue .num{color:#1890ff;}
.stat-card.green .num{color:#52c41a;}
.stat-card.red .num{color:#f5222d;}
.stat-card.orange .num{color:#fa8c16;}
.stat-card.gray .num{color:#8c8c8c;}

/* 表格 */
table{width:100%;border-collapse:collapse;}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0;}
th{background:#fafafa;font-weight:600;color:#666;font-size:13px;}
tr:hover{background:#fafafa;}

/* 标签 */
.tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:18px;}
.tag-green{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f;}
.tag-red{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e;}
.tag-orange{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591;}
.tag-blue{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff;}
.tag-gray{background:#fafafa;color:#8c8c8c;border:1px solid #d9d9d9;}

/* 表单 */
.form-group{margin-bottom:18px;}
.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#333;font-size:14px;}
.form-group .hint{font-size:12px;color:#999;margin-top:4px;}
input[type=text],input[type=password],input[type=date],textarea,select{
    width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:.2s;
}
input[type=text]:focus,input[type=password]:focus,input[type=date]:focus,textarea:focus,select:focus{
    border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.15);
}
textarea{resize:vertical;font-family:Menlo,Consolas,monospace;}

/* 按钮 */
.btn{display:inline-block;padding:8px 20px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:.2s;text-decoration:none;}
.btn-primary{background:#1890ff;color:#fff;}
.btn-primary:hover{background:#40a9ff;}
.btn-danger{background:#ff4d4f;color:#fff;}
.btn-danger:hover{background:#ff7875;}
.btn-success{background:#52c41a;color:#fff;}
.btn-success:hover{background:#73d13d;}
.btn-default{background:#fff;color:#333;border:1px solid #d9d9d9;}
.btn-default:hover{border-color:#1890ff;color:#1890ff;}

/* 消息提示 */
.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px;}
.alert-success{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f;}
.alert-error{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e;}
.alert-info{background:#e6f7ff;color:#096dd9;border:1px solid #91d5ff;}

/* 搜索栏 */
.search-bar{display:flex;gap:12px;margin-bottom:16px;align-items:flex-end;}
.search-bar .form-group{margin-bottom:0;flex:1;}
.search-bar .btn{margin-bottom:0;}

/* 授权码展示框 */
.code-box{background:#1e1e1e;color:#0f0;padding:16px;border-radius:6px;font-family:Menlo,Consolas,monospace;font-size:13px;word-break:break-all;line-height:1.6;margin:12px 0;position:relative;}
.code-box .copy-btn{position:absolute;top:8px;right:8px;background:#333;color:#fff;border:none;padding:4px 12px;border-radius:3px;cursor:pointer;font-size:12px;}
.code-box .copy-btn:hover{background:#555;}

/* 详情页 */
.detail-row{display:flex;padding:12px 0;border-bottom:1px solid #f0f0f0;}
.detail-row .k{width:140px;color:#999;flex-shrink:0;font-weight:600;}
.detail-row .v{flex:1;word-break:break-all;}

/* 登录页 */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);}
.login-box{background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:380px;}
.login-box h1{text-align:center;margin-bottom:8px;font-size:24px;color:#333;}
.login-box .sub{text-align:center;color:#999;margin-bottom:28px;font-size:14px;}
.login-box .btn{width:100%;padding:11px;font-size:15px;}
