:root{--ink:#22384d;--mute:#63768a;--blue:#255e90;--line:#dde5eb;--gold:#bc8733}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f2f5f7;color:var(--ink);font:16px/1.65 Sarabun,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dbad56;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Mitr,sans-serif;font-weight:500}h1{font-size:32px;line-height:1.4;margin:8px 0}h2{font-size:21px;margin-bottom:16px}h3{font-size:16px}.portal{display:grid;grid-template-columns:264px minmax(0,1fr);max-width:1800px;margin:auto}.sidebar{background:#172d42;color:#dce6ef;padding:32px 22px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#f3d28d;font:500 20px Mitr}.brand img{width:48px;height:48px;object-fit:contain;border-radius:50%}.brand small{display:block;color:#a4b8c9;font:13px Sarabun}.nav-caption{font-size:12px;color:#9db0c1;margin:30px 12px 9px}nav{display:grid;gap:5px}nav a{color:#e1e9f0;font-size:14px;padding:11px 12px;border-radius:8px}nav a:hover{background:#2a455e;color:#ffe2a5}.side-bottom{margin-top:auto;padding-top:28px;display:grid;gap:12px}.side-bottom a{color:#bcccdc;font-size:14px}.side-bottom button{background:transparent;color:#e6c586;border:1px solid #576573;border-radius:8px;padding:9px}main{min-width:0;padding:28px 42px 20px;max-width:1400px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;font-size:11px;letter-spacing:1px;color:var(--mute)}.button,.auth-btn,.char-rescue{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:8px 17px;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:var(--blue);font-weight:600;font-size:14px;white-space:normal}.primary,.auth-btn{background:#245b89;color:white;border-color:#245b89}.welcome{border:1px solid #ded8c8;border-radius:16px;background:linear-gradient(110deg,#fffdf6,#f6ecd7);padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:#98702f}.welcome p{color:#5f6d79}.hero-seal{border:1px solid #ceb074;border-radius:50%;width:140px;height:140px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#af8034;font:58px Georgia}.hero-seal small{font:8px Sarabun;letter-spacing:2px}.text-button{border:0;background:none;color:var(--blue);padding:12px 0;font-size:13px}#updated{color:var(--mute);font-size:12px;margin-left:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.stats span,.stats small{display:block;color:var(--mute);font-size:13px}.stats strong{display:block;font-size:30px;font-weight:700;line-height:1.4;margin:5px 0;color:#285b83}.stats .date{font-size:18px;min-height:42px;display:flex;align-items:center}.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.quick a{background:#e8eef4;border-radius:10px;padding:17px 20px;border:1px solid #d7e2eb}.quick b,.quick span{display:block}.quick span{font-size:12px;color:var(--mute);margin-top:4px}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:22px;scroll-margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin-bottom:12px}.search-label{display:block;font-size:13px;color:var(--mute);margin-bottom:6px}input,select{width:100%;min-height:44px;background:#fff;border:1px solid #cbd8e2;border-radius:8px;padding:9px 12px;color:var(--ink)}.char-list{margin-top:18px}.char-card{padding:17px 0;display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid #e9eef2}.char-card[hidden]{display:none}.char-card p{font-size:13px;color:var(--mute);margin-top:4px;overflow-wrap:anywhere}.char-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:90px}.char-state{font-size:12px;background:#eff2f5;padding:3px 9px;border-radius:30px;color:#687b8c}.char-state.on{background:#e6f5eb;color:#237148}.char-rescue{min-height:36px;padding:5px 10px;font-size:12px}.char-rescue:disabled{opacity:.5;cursor:not-allowed}.acc-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f4;padding:10px 0;font-size:13px}.acc-row span{color:var(--mute)}.acc-row b{text-align:right;overflow-wrap:anywhere;min-width:0}.acc-gold{color:#98702f}.hint{font-size:13px;line-height:1.7;color:var(--mute);margin-top:16px}.recipient{max-width:420px;margin-top:20px}.field{margin:0 0 16px}.field label{display:block;font-size:14px;margin-bottom:6px}#pwForm{max-width:580px;margin-top:22px}#pwForm .hint{margin-top:6px}.auth-btn{width:100%;margin-top:6px}.auth-msg{display:none}.auth-msg.show{display:block;border:1px solid;padding:14px 18px;border-radius:10px;margin:18px 0}.auth-msg.err{background:#fff0ee;border-color:#e6b6ae;color:#943c2d}.auth-msg.ok{background:#ecf8ef;border-color:#a5d6b2;color:#28613a}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{background:#f3f6f9;color:#586e81;font-weight:600}th,td{padding:14px;border-bottom:1px solid #e9eef3;white-space:nowrap}footer{font-size:12px;color:var(--mute);display:flex;justify-content:space-between;padding:8px 0 20px}button:disabled{opacity:.55;cursor:not-allowed}@media(min-width:1400px){main{padding:34px 52px}.welcome{padding:36px 40px}}@media(max-width:1100px){.portal{grid-template-columns:220px minmax(0,1fr)}main{padding:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.quick{gap:10px}.quick a{padding:14px}.hero-seal{width:110px;height:110px;font-size:46px}}@media(max-width:700px){.portal{display:block}.sidebar{height:auto;position:static;padding:18px}.brand img{width:38px;height:38px}.brand{font-size:18px}.nav-caption{display:none}.sidebar nav:first-of-type{display:flex;overflow-x:auto;margin-top:16px;padding-bottom:4px}.sidebar nav a{white-space:nowrap;padding:8px;font-size:13px}.sidebar nav:nth-of-type(2){display:none}.side-bottom{position:absolute;right:18px;top:18px;padding:0}.side-bottom a{display:none}.side-bottom button{font-size:12px;padding:7px}main{padding:18px 14px}.page-top{font-size:9px;margin-bottom:16px;letter-spacing:.5px}.page-top .button{font-size:12px;padding:7px 10px}.welcome{padding:22px}.hero-seal{display:none}h1{font-size:25px}h2{font-size:19px}.stats{gap:10px;margin:16px 0}.stats article{padding:15px}.stats strong{font-size:26px}.stats .date{font-size:15px}.quick{grid-template-columns:1fr}.quick a{padding:14px 18px}.quick span{font-size:13px}.panel{padding:20px}.section-head{align-items:flex-start;flex-wrap:wrap}.char-card{align-items:flex-start}.acc-row{font-size:14px}.hint{font-size:13px}footer{gap:16px}.table-wrap{margin-left:-8px;margin-right:-8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
dialog{border:1px solid #ced9e2;border-radius:16px;padding:28px;max-width:calc(100vw - 32px);width:460px;color:#22384d;box-shadow:0 20px 80px #142b4255}dialog::backdrop{background:#10263888}#confirmText{white-space:pre-line}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
