
/* 我的产品 - 新布局 */
.svc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.svc-title{font-size:20px;font-weight:800;color:var(--ink)}
.svc-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:4px}
.svc-tab{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:.15s;white-space:nowrap}
.svc-tab:hover{color:var(--brand)}
.svc-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 3px rgba(0,0,0,.08)}

.svc-tips{background:#e6f4ff;border:1px solid #b3d8ff;border-radius:8px;padding:14px 18px;margin-bottom:16px;font-size:13px;color:#1d4ed8}
.svc-tips strong{display:block;margin-bottom:8px;font-size:14px}
.svc-tips ol{list-style:decimal;padding-left:18px;margin:0;color:#3b82f6}
.svc-tips li{margin:4px 0}
.svc-tips a{color:#1677ff;text-decoration:underline}
.svc-tips .hot{color:#ff4d4f;font-weight:600}

.svc-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.svc-toolbar select,.svc-toolbar input{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 12px;font-size:13px;background:#fff;color:var(--text);outline:none}
.svc-toolbar select{min-width:130px}
.svc-toolbar .btn{height:36px;padding:0 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--text);transition:.15s;display:inline-flex;align-items:center;gap:4px}
.svc-toolbar .btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.svc-toolbar .btn:disabled{opacity:.5;cursor:not-allowed}
.svc-toolbar .btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.svc-toolbar .btn-primary:hover:not(:disabled){background:var(--brand2);color:#fff}
.svc-toolbar .btn-danger{border-color:#ff4d4f;color:#ff4d4f}
.svc-toolbar .btn-danger:hover:not(:disabled){background:#fff1f0}
.svc-search{margin-left:auto;position:relative}
.svc-search input{width:220px;padding-left:32px}
.svc-search::before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6}

.svc-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.svc-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.svc-table th{text-align:left;padding:12px 14px;background:#f8fafc;border-bottom:1px solid var(--line);color:var(--muted);font-weight:700;white-space:nowrap}
.svc-table td{padding:14px 14px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}
.svc-table tbody tr:last-child td{border-bottom:none}
.svc-table tbody tr:hover{background:#f8fafc}
.svc-table .chk{width:16px;height:16px;cursor:pointer}
.svc-name .n{font-weight:700;color:var(--ink);font-size:14px}
.svc-name .d{font-size:12px;color:var(--muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.svc-ip{font-variant-numeric:tabular-nums}
.svc-ip .ip-inner{display:flex;align-items:center;gap:6px}
.svc-ip .ip-inner .copy{width:16px;height:16px;cursor:pointer;opacity:.55;transition:.15s;flex-shrink:0}
.svc-ip .ip-inner .copy:hover{opacity:1}
.svc-expire .d{font-weight:600;color:var(--ink);white-space:nowrap}
.svc-expire .r{font-size:12px;color:#16a34a;white-space:nowrap}
.svc-expire .r.warn{color:#d97706}
.svc-expire .r.danger{color:#ef4444}
.svc-price{font-weight:700;color:var(--ink);white-space:nowrap}
.svc-os{overflow:hidden}
.svc-os .os-inner{display:flex;align-items:center;gap:6px;min-width:0}
.svc-os .os-inner .os-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;background:#f1f5f9;color:#64748b;flex-shrink:0}
.svc-os .os-inner span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.svc-remark{color:var(--muted)}
.svc-remark .rm-inner{display:flex;align-items:center;gap:6px;min-width:0}
.svc-remark .rm-inner .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.svc-remark .rm-inner .edit{cursor:pointer;opacity:.55;flex-shrink:0;transition:.15s}
.svc-remark .rm-inner .edit:hover{opacity:1}
.svc-manage{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:.15s}
.svc-manage:hover{background:var(--brand2)}
.svc-empty{text-align:center;padding:60px 0;color:var(--muted)}
.svc-pager{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:13px;color:var(--muted)}
.svc-pager-right{display:flex;align-items:center;gap:10px}
.svc-pager select{height:30px;border:1px solid var(--line);border-radius:6px;padding:0 8px;background:#fff}
.svc-pager .pg-btn{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.svc-pager .pg-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.svc-pager .pg-btn:disabled{opacity:.5;cursor:not-allowed}

@media(max-width:900px){
  .svc-head{flex-direction:column;align-items:flex-start}
  .svc-search{margin-left:0;width:100%}
  .svc-search input{width:100%}
  .svc-table-wrap{overflow-x:auto}
  .svc-table{min-width:900px}
}
/* 固定列宽：备注归备注列、操作按钮归操作列，不再被挤压换行 */
.svc-table-wrap{overflow-x:auto}
.svc-table th:nth-child(1),.svc-table td:nth-child(1){width:40px}
.svc-table th:nth-child(2),.svc-table td:nth-child(2){width:24%}
.svc-table th:nth-child(3),.svc-table td:nth-child(3){width:84px}
.svc-table th:nth-child(4),.svc-table td:nth-child(4){width:148px}
.svc-table th:nth-child(5),.svc-table td:nth-child(5){width:126px}
.svc-table th:nth-child(6),.svc-table td:nth-child(6){width:96px}
.svc-table th:nth-child(7),.svc-table td:nth-child(7){width:168px}
.svc-table th:nth-child(8),.svc-table td:nth-child(8){width:172px}
.svc-table th:nth-child(9),.svc-table td:nth-child(9){width:104px}
.svc-name .n,.svc-name .d,.svc-ip .ip-inner,.svc-os .os-inner,.svc-expire .d,.svc-expire .r,.svc-price{white-space:nowrap}
.svc-name{overflow:hidden}
.svc-name .n,.svc-name .d{overflow:hidden;text-overflow:ellipsis}
.svc-manage{white-space:nowrap}
