/* auth.css —— 独立页面壳共用的**基础样式**（2026-10-13 新增）
 *
 * ★ 为什么要有这个文件（它不是"顺手重构得更整齐"）：
 *
 *   `/review`、`/monitor`、`/login`、`/accounts` 都是**独立页面壳** ——
 *   它们不复用 `shell.html` + `app.css` 那套导航壳，各自在 `<head>` 里内联一小段基础样式。
 *   而本轮的需求里有一条是「登录页的视觉风格需与 review 页保持一致」。
 *
 *   "一致"如果靠**两处各抄一遍**来实现，两边会在某次改动后悄悄分岔
 *   （一边 `#f5f5f5`、一边 `#fafafa`），而**没有任何检查会红**：
 *   两个页面各自都渲染正常、都是 200、都看不出"错"——只有并排看才分得出。
 *   这正是本项目反复吃亏的那一类形态（两份拷贝同时存在 ⟹ 谁也不是真相）。
 *
 *   ⟹ 那段基础样式抽成**唯一一份**，四个壳 `<link rel="stylesheet" href="/static/auth.css">`。
 *      新增独立壳时**引它**，不要另抄一份。
 *
 * ★ 与 `app.css` 的关系：**互不引用**，是两套并行的视觉基准。
 *   `app.css` 服务的是"服务端渲染 + 导航壳"那一套（`shell.html` + `page_workbench/run/result`）；
 *   本文件服务的是独立壳那一套（长峰电力询标AI平台原型语言：#f5f5f5 底 / 白面板 / #1677ff 主色）。
 *   不要合并 —— 合并会把两套基准的差异变成"一处改、另一处跟着变"。
 *
 * ⚠️ 本文件只放**基础与控件原语**；页面各自的版面（栅格、卡片宽度）仍写在模板的
 *    内联样式里。理由与前端模块拆分同源：共用的下沉、专用的留在使用处。
 */

/* ---------------- 基础 ---------------- */

html,body{margin:0;height:100%;background:#f5f5f5;color:rgba(0,0,0,.88);
  font:14px/1.5715 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
a{color:#1677ff;text-decoration:none}a:hover{color:#4096ff}
button{font:inherit;cursor:pointer;transition:all .2s}
input,select,textarea{font:inherit}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:8px}

@keyframes crawlpulse{0%{box-shadow:0 0 0 0 rgba(22,119,255,.5)}70%{box-shadow:0 0 0 6px rgba(22,119,255,0)}100%{box-shadow:0 0 0 0 rgba(22,119,255,0)}}
@keyframes toastin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

mark{border-radius:2px;padding:0 1px;background:#fff1b8;color:#874d00}

/* ★ `[hidden]` 守卫（原在 page_monitor.html 内联，2026-10-13 上收至此）。
 *
 *   任何**带内联 `display`** 的元素，`hidden` 属性那条 UA 规则
 *   （`[hidden]{display:none}`，权重极低）会被内联样式**覆盖** ⟹ 弹窗"永远可见"。
 *   2026-10-09 实测：`#maskM` 带 `display:flex` + `hidden`，页面一加载弹窗就裸奔。
 *
 *   ⚠️ 独立壳没有 `app.css`，这条守卫必须自带；而"哪个壳记得带"本身就是一份拷贝清单
 *      ⟹ 放在共用的这里，四个壳一起有。它只**加强**隐藏语义，不会让原本可见的东西消失。 */
[hidden]{display:none !important}

/* ---------------- 控件原语（登录页 / 账号页共用） ---------------- */

/* 主按钮 —— 与 /review 顶栏「导出」同形（同色、同高、同阴影）。
 * ⚠️ 高度/圆角写在这里而不是各处内联：两处内联最容易漂成 32 与 34，
 *    而"差 2px"只并排看得出来。 */
.btn{height:36px;padding:0 16px;border:1px solid #d9d9d9;border-radius:6px;
  background:#fff;color:rgba(0,0,0,.88);font-size:14px;white-space:nowrap}
.btn:disabled{cursor:not-allowed;opacity:.5}
.btn-primary{border-color:#1677ff;background:#1677ff;color:#fff;box-shadow:0 2px 0 rgba(5,145,255,.1)}
.btn-primary:not(:disabled):hover{background:#4096ff;border-color:#4096ff}
.btn-danger{border-color:#ff4d4f;color:#cf1322;background:#fff}
.btn-danger:not(:disabled):hover{border-color:#ff7875;color:#ff4d4f}
.btn-sm{height:28px;padding:0 10px;font-size:13px;border-radius:6px}

/* 输入框 —— 与 /review 的日期框同形。`width` 刻意不写：由使用处决定（登录页拉满、表格里窄）。 */
.fld{height:36px;padding:4px 11px;border:1px solid #d9d9d9;border-radius:6px;
  font-size:14px;color:rgba(0,0,0,.88);background:#fff;outline:none}
.fld:focus{border-color:#1677ff;box-shadow:0 0 0 2px rgba(5,145,255,.1)}
.fld:disabled{background:rgba(0,0,0,.04);color:rgba(0,0,0,.45)}

/* 表单标签 */
.fld-label{display:block;font-size:13px;color:rgba(0,0,0,.65);margin:0 0 6px}
.fld-row{margin-bottom:16px}

/* 错误条 / 提示条 —— 三态**不许合并**（同全局纪律：错误、警告、成功各自有语义）。
 * ⚠️ 用 class 而不是内联色值：色值一散开就会漂，"这条是警告还是错误"就分不清了。 */
.banner{padding:10px 14px;border-radius:6px;font-size:13px;line-height:1.6;border:1px solid}
.banner-err{border-color:#ffccc7;background:#fff2f0;color:#a8071a}
.banner-warn{border-color:#ffd591;background:#fffbe6;color:#874d00}
.banner-ok{border-color:#b7eb8f;background:#f6ffed;color:#237804}

/* 只读小字 */
.hint{font-size:12px;color:rgba(0,0,0,.45)}
