/* 精品在线工具开发端 —— 光年 v4（Light Year Admin v4）之上的业务样式
 *
 * 前端基准（官方文档 http://lyear.itshubao.com/v4/lyear_pages_doc.html）：
 * 页面外壳统一 .lyear-layout-content > .container-fluid.p-t-15，
 * 内容用 .row > .col-lg-12 > .card；列表页先 .card-toolbar（.toolbar-btn-action + .search-bar），
 * 再 .card-body > .table-responsive > table.table.table-hover；表单用 .form-group + .form-control，
 * 勾选用 .custom-control，徽章 .badge-*，提示 .alert-*，按钮 .btn / .btn-xs / .btn-default。
 * 这个文件只放框架里没有的业务样式，别再重复实现框架自带的东西。
 */

/* 左侧 logo：模板默认放图片，这里是文字品牌 */
.adm-brand{display:flex!important;align-items:center;justify-content:center;height:68px;color:#3f4650!important;font-size:15px;font-weight:700}
.adm-brand i{margin-right:8px;color:#33cabb;font-size:22px;line-height:1}
.adm-brand:hover{color:#33cabb!important}
/* 只有桌面端收窄侧栏时才藏 logo 文字；手机上侧栏是抽屉，得保留 */
@media (min-width:1024px){
    .lyear-layout-sidebar-close .adm-brand span{display:none}
    .lyear-layout-sidebar-close .adm-brand i{margin-right:0}
}
.sidebar-footer .copyright{font-size:12px;line-height:22px;color:#8492a6}

/* 顶栏右上角：图标入口（新增工具）悬停变主题色 */
.icon-item:hover{color:#33cabb}
/* 顶栏右上角的文字入口（工具列表）：跟用户名一样的普通文字链接，当前页颜色加深加粗 */
.navbar-right > li > a.adm-toplink{font-size:14px}
.navbar-right > li > a.adm-toplink.is-active{font-weight:600;color:#1c7068}

/* 列表：点一下就能复制的文字（站点标识、待实现工具名称） */
.adm-copyable{cursor:pointer}
.adm-copyable:hover{color:#33cabb;text-decoration:underline}
.adm-copyable-ico{margin-left:.3rem;font-size:.75rem;opacity:0;transition:opacity .15s}
.adm-copyable:hover .adm-copyable-ico{opacity:.55}
/* 站点列表：标识后面的「更换标识」小按钮，平时低调一点 */
.adm-slug-btn{margin-left:.35rem;padding:.1rem .35rem;font-size:.75rem;line-height:1.2;opacity:.55}
.adm-slug-btn:hover{opacity:1}

/* 表格：框架把 .table-responsive 里的单元格设成了 nowrap，长文本列用这个类允许换行 */
.td-wrap{white-space:normal!important;word-break:break-word}
.sortinput{width:4.5rem}
/* 颜色输入：framework 里没有（form-control-color 是 Bootstrap 5 才有的类），补一个小尺寸 */
.form-control-color{max-width:5rem;padding:.25rem}

/* 表格列头点击排序：默认淡灰 ↕，点过以后是主题色的 ▲ / ▼ */
.table thead th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
.table thead th[data-sort]:hover{color:#33cabb}
.table thead th[data-sort] .adm-sort-mark{margin-left:5px;color:#c3c9d2;font-size:10px}
.table thead th[data-sort].is-asc .adm-sort-mark,.table thead th[data-sort].is-desc .adm-sort-mark{color:#33cabb}

/* 站点主题色小圆点 */
.site-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;vertical-align:middle}

/* 数据为空 */
.empty-tip{padding:36px 15px!important;color:#8492a6;text-align:center}

/* 列表页筛选标签（站点分类 / 工具批量模式 / 臃肿行为） */
.adm-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.adm-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border:1px solid #e3e6ec;border-radius:999px;
  background:#fff;color:#5c636a;font-size:12px;line-height:1.6;text-decoration:none;transition:all .15s}
.adm-chip:hover{border-color:#33cabb;color:#33cabb;text-decoration:none}
.adm-chip .adm-chip-n{opacity:.7;font-variant-numeric:tabular-nums}
.adm-chip.is-on{border-color:#33cabb;background:#33cabb;color:#fff}
.adm-chip.is-on .adm-chip-n{opacity:.9}
/* 站点列表：站点分类胶囊（分类没有颜色了，统一一个样式；未分类用虚线灰） */
.site-type{border:1px solid #cbd5e1;background:#f1f5f9;color:#475569;white-space:nowrap}
.site-type:hover{border-color:#94a3b8;color:#334155}
.site-type.is-none{border-style:dashed;background:#fafbfd;color:#a8b1bd}
/* 站点列表：是否单品胶囊（0 = 非单品，1 = 单品） */
.site-single{border:1px dashed #d7dce5;color:#8492a6;white-space:nowrap}
.site-single:hover{border-style:solid}
.site-single.is-yes{border:1px solid #4f46e5;background:#eeedfd;color:#4338ca}
.site-single.is-no{border:1px solid #d7dce5;background:#f7f8fa;color:#8492a6}
/* 站点分类列表：仅限类型 / 所属区域 快捷切换胶囊 */
.cat-toggle{border:1px dashed #d7dce5;color:#8492a6;white-space:nowrap}
.cat-toggle:hover{border-style:solid}
.cat-limit.is-collection{border:1px solid #16baaa;background:#e8f8f6;color:#0f7a70}
.cat-limit.is-single{border:1px solid #4f46e5;background:#eeedfd;color:#4338ca}
.cat-region.is-cn{border:1px solid #0891b2;background:#e0f2fe;color:#0e7490}
.cat-region.is-overseas{border:1px solid #f59e0b;background:#fef3c7;color:#b45309}
/* 工具列表：批量模式胶囊（支持 / 不支持） */
.tool-batch,.tool-bloat{border:1px dashed #d7dce5;color:#8492a6;white-space:nowrap}
.tool-batch:hover,.tool-bloat:hover{border-style:solid}
.tool-batch.is-yes{border:1px solid #15c377;background:#e7f7ef;color:#0f9c5d}
.tool-batch.is-no{border:1px solid #d7dce5;background:#f7f8fa;color:#8492a6}
/* 臃肿行为：有 = 橙色提醒，无 = 灰色 */
.tool-bloat.is-yes{border:1px solid #f0a33c;background:#fff4e5;color:#b26a00}
.tool-bloat.is-no{border:1px solid #d7dce5;background:#f7f8fa;color:#8492a6}

/* 站点图标：列表里 18px 一个，编辑页里大一点 */
.site-favicon{width:18px;height:18px;margin-right:5px;border-radius:3px;vertical-align:-3px;background:#fff}
/* 站点列表：图标本身就是「更换图标」的入口 */
.site-favicon-edit{cursor:pointer;transition:box-shadow .15s,transform .15s}
.site-favicon-edit:hover{transform:scale(1.15);box-shadow:0 0 0 2px rgba(51,202,187,.45)}
.site-favicon-lg{width:32px;height:32px;border-radius:4px;background:#fff;border:1px solid #eef1f5}
.ws-nowrap{white-space:nowrap}

/* AI 重组页：可搜索的站点选择器（输入即筛，点一项选中） */
.adm-picker{max-height:13rem;overflow:auto;margin-top:.4rem;border:1px solid #e3e6ec;border-radius:4px;background:#fff}
.adm-picker-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.35rem .6rem;
  border:0;border-bottom:1px solid #f2f4f7;background:transparent;text-align:left;font-size:13px;color:#4d5259;cursor:pointer}
.adm-picker-item:last-child{border-bottom:0}
.adm-picker-item:hover{background:#f6fbfa}
.adm-picker-item.is-on{background:#e8f8f6;color:#0f766e;font-weight:600}
.adm-picker-item.is-on .adm-picker-name::after{content:"✓";margin-left:.35rem;font-size:12px}
.adm-picker-empty{padding:.6rem;color:#8492a6;font-size:12px;text-align:center}

/* 设置页：一组一个浅底块，提示只留一行，细节放问号 tooltip */
.adm-set{padding:14px 16px;margin-bottom:14px;border:1px solid #eef1f5;border-left:3px solid #d8f2ef;border-radius:6px;background:#fcfdfe}
.adm-set:last-child{margin-bottom:0}
.adm-set-title{display:flex;align-items:center;gap:.35rem;margin-bottom:10px;font-size:13px;font-weight:700;color:#3f4650}
.adm-set-title i,.adm-set-label i{color:#a7b0bb;font-size:14px;cursor:help}
.adm-set-title i:hover,.adm-set-label i:hover{color:#33cabb}
.adm-set-label{display:block;margin-bottom:.35rem;font-size:13px;color:#5c636a}
.adm-set-hint{margin-top:6px;color:#8492a6;font-size:12px;line-height:1.6}
.adm-set-empty{padding:14px 0;color:#8492a6;font-size:13px}

/* 站点详情：分类分组 */
.cat-box{margin-bottom:15px;border:1px solid rgba(77,82,89,.07);border-radius:2px}
.cat-box:last-child{margin-bottom:0}
.cat-box-head{display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid rgba(77,82,89,.07);background:#fcfdfe}
.cat-box-head .cat-box-count{margin-left:10px;color:#8492a6;font-size:12px}
.cat-box-body{padding:15px}

/* 站点列表「上次打包」的新鲜度配色：越久越红（fresh 绿 / ok 深灰 / warn 橙 / stale 红） */
.time-ago-fresh{color:#15c377;font-weight:600}
.time-ago-ok{color:#475467}
.time-ago-warn{color:#faa64b}
.time-ago-stale{color:#f96868;font-weight:600}
.time-ago-none{color:#8492a6}

/* layui 没加载出来时的兜底轻提示（正常走 layer.msg） */
.adm-toast{position:fixed;right:16px;bottom:16px;z-index:1090;display:flex;flex-direction:column;align-items:flex-end}
.adm-toast-item{min-width:12rem;max-width:22rem;margin-top:8px;padding:10px 14px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 6px 18px rgba(16,24,40,.18);transition:opacity .35s,transform .35s}
.adm-toast-item.is-ok{background:#15c377}
.adm-toast-item.is-err{background:#f96868}
.adm-toast-item.is-out{opacity:0;transform:translateY(.5rem)}

/* 登录页左侧封面（光年登录页一的图片区 + 一层遮罩） */
.login-cover{position:relative;background-size:cover;background-position:center}
.login-cover:before{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(38,50,56,.42);content:""}
.login-cover>*{position:relative;z-index:1}

/* AI 重组：方案预览 */
.ai-site{margin-bottom:12px;padding:12px 15px;border:1px solid rgba(77,82,89,.07);border-radius:2px;background:#fcfdfe}
.ai-site-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px}
.ai-site-head b{font-size:14px;color:#3f4650}
.ai-stat{color:#8a9199;font-size:12px}
.ai-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:3px 0;border-top:1px dashed rgba(77,82,89,.07);font-size:13px;color:#4d5259}
.ai-line:first-of-type{border-top:0}
.ai-tag{flex:none;padding:1px 6px;border-radius:2px;background:#e8f4fd;color:#48b0f7;font-size:11px}
.ai-add .ai-tag{background:#e7f7ef;color:#15c377}
.ai-move .ai-tag{background:#fff4e5;color:#faa64b}
.ai-del .ai-tag{background:#fdecec;color:#f96868}
.ai-arrow{color:#c3cbd4}
.ai-fail{border-color:#f6d5d5;background:#fdf7f7;color:#f96868}
