/* หน้าตาร่วมของ NbS 365 (มือถือ + Dashboard) */
:root{--bg:#f4f6f1;--card:#fff;--text:#1d2420;--muted:#66706a;--bd:#dfe4dc;--accent:#1f7a55;--accent2:#e8f3ec;--warn:#b45309;--warnbg:#fff7e6;--err:#b91c1c;--errbg:#fdecec;--ok:#15803d;--okbg:#e9f7ee;--radius:14px}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:'Sarabun','Noto Sans Thai',system-ui,sans-serif;font-size:16.5px;line-height:1.55;-webkit-text-size-adjust:100%}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--bd);border-radius:10px;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:84px;resize:vertical}
label{display:block;font-weight:600;margin:12px 0 4px}
label small{font-weight:400;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:99px;padding:10px 18px;font-weight:700;background:var(--accent);color:#fff;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.btn.danger{background:var(--err)}
.btn.small{padding:6px 12px;font-size:14.5px}
.btn.block{width:100%}
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--radius);padding:14px 16px;margin:0 0 12px}
.muted{color:var(--muted)}
.badge{display:inline-block;font-size:13px;font-weight:700;border-radius:99px;padding:1px 9px;white-space:nowrap}
.st-new{background:#eef2ff;color:#3730a3}.st-verified{background:#e0f2fe;color:#075985}.st-planned{background:#fef3c7;color:#92400e}
.st-in_progress{background:#ffedd5;color:#9a3412}.st-done{background:var(--okbg);color:var(--ok)}.st-rejected{background:#f1f5f9;color:#475569}
.sev-1{background:#ecfdf5;color:#047857}.sev-2{background:#fef3c7;color:#92400e}.sev-3{background:var(--errbg);color:var(--err)}
.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:#1d2420;color:#fff;padding:10px 16px;border-radius:12px;z-index:9999;max-width:92vw;box-shadow:0 6px 20px rgba(0,0,0,.2);font-size:15px}
.toast.error{background:var(--err)}
.toast.ok{background:var(--ok)}
.empty{text-align:center;color:var(--muted);padding:30px 10px}
.viewer{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10000;display:flex;align-items:center;justify-content:center}
.viewer img{max-width:100%;max-height:100%}
.viewer .x{position:absolute;top:12px;right:12px;background:#fff;border:0;border-radius:99px;width:40px;height:40px;font-size:20px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.thumb{position:relative;width:84px;height:84px;border-radius:10px;overflow:hidden;border:1px solid var(--bd);background:#e5e7eb;padding:0;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .rm{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:99px;width:24px;height:24px;font-size:13px;line-height:24px;padding:0}
.ctx{font-size:14.5px}
.ctx .row{display:flex;gap:8px;padding:5px 0;border-top:1px dashed var(--bd)}
.ctx .row:first-of-type{border-top:0}
.ctx .k{flex:0 0 108px;color:var(--muted)}
.ctx .risk{color:var(--err);font-weight:700}
.ctx .src{font-size:12.5px;color:var(--muted);margin-top:6px}
.pin-icon{display:flex;align-items:center;justify-content:center;border-radius:99px 99px 99px 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.pin-icon span{transform:rotate(45deg);font-size:15px}
