:root{
  --red:#d0432e; --red-dark:#b2311f; --bg:#f2f2f2; --line:#dcdcdc;
  --ok:#2e7d32; --txt:#262626;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{background:#3a3a3a;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;font-family:-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;padding:24px 0}
/* ---- 手機框 ---- */
.phone{width:390px;height:780px;background:#fff;border:10px solid #111;border-radius:36px;box-shadow:0 12px 40px rgba(0,0,0,.5);position:relative;overflow:hidden;display:flex;flex-direction:column}
.notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:110px;height:18px;background:#111;border-radius:0 0 10px 10px;z-index:50}
.view{display:flex;flex-direction:column;height:100%}
/* ---- App bar（仿 app）---- */
.appbar{background:#e8502e;color:#fff;padding-top:16px;flex-shrink:0}
.appbar .h1{display:flex;align-items:center;font-size:17px;padding:4px 10px 6px;font-weight:600;position:relative}
.appbar .h1 span{text-align:center}
.appbar .menu{font-size:21px;margin-right:10px;padding:0 6px;cursor:pointer}
.appbar .info{position:absolute;right:12px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;color:#e8502e;font-size:14px;line-height:24px;text-align:center;cursor:pointer}
.h2{font-size:10.5px;padding:2px 14px 6px;color:#ffd9cf;white-space:nowrap;overflow:hidden}
/* ---- 清單 ---- */
.list{flex:1;overflow-y:auto;background:#fff}
.row{display:flex;align-items:flex-start;padding:11px 10px;border-bottom:1px solid var(--line);cursor:pointer}
.row:hover{background:#faf7f6}
.row .t{width:82px;font-weight:700;font-size:13.5px;flex-shrink:0;padding-top:1px;background:repeating-linear-gradient(90deg,transparent,transparent 26px,rgba(160,40,20,.16) 27px)}
.row .m{flex:1;font-size:12.5px;color:#333;white-space:pre-line;overflow:hidden;max-height:32px}
.row .r{width:74px;text-align:right;font-size:13px;flex-shrink:0}
.row .r .dt{font-weight:600}
.row .r .st{font-size:11px;margin-top:2px}
.row .r .del{font-size:10.5px;color:#888;margin-top:3px;cursor:pointer;text-decoration:underline}
.row .r .del:hover{color:#b2311f}
.st.草稿{color:#e8502e;font-weight:700}
.appbar .abandon{position:absolute;right:12px;top:4px;font-size:11px;background:rgba(255,255,255,.22);border-radius:10px;padding:2px 8px;cursor:pointer}
.st.待處理{color:#333}.st.不受理{color:#888}.st.已完成{color:#444}
.row .t .wm{color:#bbb;font-size:11px}
.fab{position:absolute;right:16px;bottom:86px;width:58px;height:58px;border-radius:50%;background:#e8502e;color:#fff;font-size:30px;border:none;box-shadow:0 3px 8px rgba(0,0,0,.35);cursor:pointer;z-index:10}
.fab:active{transform:scale(.95)}
/* ---- tab bar ---- */
.tabbar{display:flex;background:#fceae6;border-top:1px solid #e8c9c1;height:56px;flex-shrink:0}
.tab{flex:1;text-align:center;font-size:11px;color:#b3543f;padding-top:8px;position:relative;cursor:pointer}
.tab .ic{display:block;font-size:20px;margin-bottom:2px}
.tab.active{color:#e8502e}
.tab .badge{position:absolute;top:6px;left:62%;background:#555;color:#fff;border-radius:9px;font-size:9px;padding:0 5px}
/* ---- 彈窗 ---- */
.overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:30}
.popup{position:absolute;right:10px;top:52%;width:290px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.popup-hint{padding:12px 16px;color:#999;font-size:13px;border-bottom:1px solid #eee}
#popup-items div{padding:13px 16px;font-size:14.5px;border-bottom:1px solid #f2f2f2;cursor:pointer}
#popup-items div:hover{background:#faf3f1}
#popup-items div.bc{font-weight:700;color:#e8502e;background:#fff3ef}
#popup-items div.bc .tag{float:right;background:#e8502e;color:#fff;font-size:9px;border-radius:8px;padding:1px 6px;margin-top:1px}
/* ---- 對話 ---- */
#view-chat{background:#f6f2f1}
#chat-area{flex:1;overflow-y:auto;padding:8px 10px 4px;position:relative}
#form-card{background:#fff;border:1px solid #e3d9d6;border-radius:8px;margin:6px 0 4px;font-size:11.5px}
.fc-title{padding:7px 10px;font-weight:700;color:#e8502e;cursor:pointer;border-bottom:1px solid #f0e5e2}
#model-badge{font-size:9px;font-weight:400;color:#888;background:#f4eeec;border:1px solid #e8ddd9;border-radius:8px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.fc-body{padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px}
.fc-body.collapsed{display:none}
.chip{padding:2px 8px;border-radius:10px;background:#eee;font-size:10.5px;color:#666}
.chip.done{background:#e8502e;color:#fff}
.chip.next{outline:2px solid #e8502e}
.msg{display:flex;margin:7px 0;align-items:flex-start}
.msg .av{width:26px;height:26px;border-radius:50%;background:#e8502e;color:#fff;font-size:10px;line-height:26px;text-align:center;margin-right:6px;flex-shrink:0;font-weight:700;object-fit:cover}
img.av{background:#fff}
.msg .bub{background:#fff;border-radius:4px 10px 10px 10px;padding:8px 10px;font-size:13px;max-width:260px;white-space:pre-wrap;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.msg.me{flex-direction:row-reverse}
.msg.me .bub{background:#d9d3d1;border-radius:10px 4px 10px 10px}
.msg .imgs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.msg .imgs img{width:64px;height:64px;border-radius:6px;object-fit:cover;border:1px solid #ddd}
#review-entry{padding:6px 12px}
.btn-primary{display:block;width:100%;padding:11px;background:#e8502e;color:#fff;border:none;border-radius:6px;font-size:14.5px;cursor:pointer}
.btn-primary:active{background:var(--red-dark)}
/* ---- 聲明頁 ---- */
.decl{flex:1;padding:40px 22px;display:flex;flex-direction:column;gap:18px;background:#fff}
.decl-box{border:1px solid #f0c8bb;background:#fdf2ee;border-radius:6px;padding:16px 18px}
.decl-cn{color:#b2311f;font-size:13.5px;font-weight:600;line-height:1.8}
.decl-en{color:#666;font-size:11px;margin-top:10px;line-height:1.6}
.decl-agree{margin-top:auto}
/* ---- 選擇題 quick-reply ---- */
.choices-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:#fff;border-top:1px solid #e8ddd9;padding:7px 10px 2px;flex-shrink:0}
.choices-row .cq{font-size:11px;color:#666;flex-basis:100%;margin-bottom:2px}
.choices-row .opt{background:#fff3ef;border:1.5px solid #e8502e;color:#b2311f;border-radius:14px;padding:6px 12px;font-size:12.5px;cursor:pointer;margin:0 4px 5px 0}
.choices-row .opt:active{background:#e8502e;color:#fff}
.inpbar{display:flex;align-items:center;background:#fff;border-top:1px solid #e8ddd9;padding:7px 8px;flex-shrink:0}
.inpbar input#inp{flex:1;border:none;font-size:13.5px;padding:8px 4px;outline:none;background:transparent}
.inpbar .clip{font-size:19px;padding:0 8px;cursor:pointer;color:#666}
.inpbar .send{background:#e8502e;color:#fff;border:none;border-radius:5px;padding:8px 14px;font-size:13px;cursor:pointer}
/* ---- 核對頁 ---- */
.review{flex:1;overflow-y:auto;padding:10px 12px;background:#fff}
.rv-sec{margin-bottom:12px}
.rv-sec .h{font-size:12.5px;font-weight:700;color:#e8502e;border-bottom:1px solid #eee;padding-bottom:3px;margin-bottom:5px}
.rv-sec .kv{display:flex;font-size:12px;margin:3px 0}
.rv-sec .kv .k{width:120px;color:#777;flex-shrink:0}
.rv-sec .kv .v{color:#222}
.rv-sec .kv .v.auto{color:#c4531e}
.rv-sec .kv .v.miss{color:#b2311f;font-weight:600}
.rv-warn{background:#fff3ef;border:1px solid #f5cdbf;color:#b2311f;font-size:11px;padding:7px 9px;border-radius:5px;margin-bottom:10px}
.review-foot{padding:9px 12px;background:#fff;border-top:1px solid #eee;flex-shrink:0}
.agree{display:flex;align-items:center;font-size:12.5px;margin-bottom:8px;gap:6px}
.agree input{width:17px;height:17px}
/* ---- 完成 ---- */
.done{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:60px;gap:14px;background:#fff}
.done-ic{width:64px;height:64px;border-radius:50%;background:#2e7d32;color:#fff;font-size:34px;line-height:64px;text-align:center}
.done-rec{font-size:13.5px;text-align:center;color:#444;white-space:pre-line}
#done-files{font-size:11px;color:#666;background:#f7f7f7;border-radius:6px;padding:10px 12px;max-width:330px;word-break:break-all;text-align:center}
#done-files a{color:#e8502e}
.etc{margin:4px auto}
/* ---- toast ---- */
#toast{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;font-size:12px;padding:7px 14px;border-radius:14px;z-index:99;max-width:80%;text-align:center}