@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@400;500;600;700&display=swap');
:root{--navy:#0b2d52;--navy2:#081f38;--gold:#bd8b28;--cream:#f6f2e9;--line:#dfd2b4;--green:#22633c;--red:#a52a2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#17243b;font:17px/1.55 "TH Sarabun New","Sarabun",sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}header{position:sticky;top:0;z-index:20;background:#fffdf8f2;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{height:66px;max-width:1200px;margin:auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:22px;min-width:0}.brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#edce7d}nav{display:flex;gap:22px;align-items:center}.logout{border:1px solid var(--line);padding:7px 14px;border-radius:9px}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,#d9b25155,transparent 34%),radial-gradient(circle at 85% 90%,#3c79a955,transparent 35%)}.hero-inner{position:relative;z-index:1;max-width:1200px;margin:auto;padding:70px 18px 80px;display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:end}.eyebrow{color:#d8a942;font-weight:700;margin:0}.hero .eyebrow{color:#edce7d}.hero h1{font-size:58px;line-height:1.15;margin:12px 0}.lead{font-size:24px;color:#edf5ff;max-width:700px}.hero-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.hero-actions button,.role-grid article>button{border:0;border-radius:10px;background:var(--gold);color:#fff;font-weight:700;padding:14px;cursor:pointer}.hero-stats{border:1px solid #ffffff33;border-radius:26px;padding:18px;background:#ffffff12;display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-stats div{background:#ffffff12;border-radius:16px;padding:15px}.hero-stats b{display:block;font-size:30px;color:#edce7d}.hero-stats span{font-size:15px}.section,.dashboard{max-width:1200px;margin:auto;padding:55px 18px}.section-title{text-align:center}.section-title span{color:#9a701e;font-weight:700}.section-title h2{font-size:34px;color:var(--navy);margin:4px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.role-grid article,.panel,.job-card,.stats>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.role-grid i{font-style:normal;font-size:28px;width:54px;height:54px;background:#e9dfc6;border-radius:14px;display:grid;place-items:center}.role-grid h3{font-size:25px;color:var(--navy);margin:16px 0 4px}.role-grid p{min-height:54px;color:#586579}.role-grid article>button{width:100%;margin-top:8px}.role-grid article>.outline{background:#fff;color:var(--navy);border:1px solid var(--line)}dialog{width:min(430px,calc(100% - 28px));border:0;border-radius:18px;padding:26px;color:#17243b}dialog::backdrop{background:#081f38aa}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px}dialog h2{color:var(--navy);font-size:28px;margin-top:0}label{display:block;font-weight:600;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #c9c9c9;border-radius:9px;padding:11px 12px;background:#fff;margin-top:5px;min-height:47px}textarea{min-height:110px}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer;background:#fff;color:var(--navy)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);width:100%}.btn.gold{background:var(--gold);color:#fff;border:0}.btn.green{background:var(--green);color:#fff;border:0}.btn.outline{background:#fff}.toast{position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100% - 28px);background:var(--green);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 28px #0003}.toast.error,.alert.error{background:#fbe7e7;color:#8c2020}.dash-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.dash-head h1{font-size:34px;color:var(--navy);margin:2px 0}.dash-head p{margin:0;color:#677184}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stats>div{padding:17px}.stats span{display:block;color:#697386;font-size:14px}.stats b{font-size:31px;color:var(--navy)}.stats b.word{font-size:18px}.panel{margin:22px 0}.panel h2,.list-title{color:var(--navy);font-size:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px}.check input{width:20px;min-height:20px;margin:0}.job-list{display:grid;gap:14px}.job-top{display:flex;justify-content:space-between;gap:12px}.job-top small{display:block;color:#788395}.status{height:max-content;padding:4px 9px;border-radius:50px;background:#fff1c8;color:#805d10;font-size:13px}.status.in_progress{background:#dff2e5;color:#23613b}.status.closed{background:#e5eaf0;color:#48515e}.job-card h3{font-size:22px;margin:15px 0 3px}.job-card h3 em{font-size:12px;font-style:normal;background:#f9dddd;color:#9e2020;border-radius:20px;padding:4px 8px;margin-left:8px}.job-card p{margin:5px 0}.area{color:#697386;font-size:14px}.job-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;border-top:1px solid #eee;margin-top:15px;padding-top:15px}.job-actions select{margin:0}.contact{background:#eef4fb;border-radius:9px;padding:10px;margin-top:12px}.person{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #eee;padding:13px 0}.person:first-of-type{border:0}.person p{margin:0;color:#687386}.empty{text-align:center;padding:35px;background:#fff;border:1px dashed var(--line);border-radius:15px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:var(--navy)}.auth-box{width:min(460px,100%);background:#fff;border-radius:20px;padding:28px}.auth-box h1{color:var(--navy)}.logo-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#edce7d;font-size:25px}.alert{padding:10px;border-radius:9px}
@media(max-width:760px){body{font-size:16px}nav a:not(.logout):not(.network-link){display:none}.nav{gap:8px}.brand{font-size:16px}.brand span{width:36px;height:36px}.network-link{font-size:0;color:var(--navy);font-weight:700;white-space:nowrap}.network-link:after{content:"ศูนย์เครือข่าย";font-size:12px}.logout{padding:6px 8px;font-size:12px}.hero-inner{grid-template-columns:1fr;padding:45px 18px}.hero h1{font-size:39px}.lead{font-size:20px}.hero-actions{grid-template-columns:1fr}.hero-stats{margin-top:2px}.role-grid{grid-template-columns:1fr}.role-grid p{min-height:0}.section,.dashboard{padding:32px 14px}.dash-head h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:13px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.job-actions{grid-template-columns:1fr}.job-actions .btn{min-height:45px}.panel,.job-card{padding:17px}.toast{width:calc(100% - 28px);text-align:center}}
.people-information{margin-top:18px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.people-information table{width:100%;min-width:720px;border-collapse:collapse}
.people-information th,.people-information td{padding:11px 12px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:top;white-space:nowrap}
.people-information th{color:#52606d;font-weight:700;background:#f7f9fb}
.people-information td:first-child,.people-information th:first-child{text-align:center;width:74px}
.people-information a{color:#135caa;text-decoration:none;font-weight:700}
.people-information .empty{text-align:center;color:#7a8793;padding:22px}
.admin-login-link{border:1px solid var(--line);border-radius:9px;padding:7px 12px;background:#fff;color:var(--navy);font:700 15px/1.2 "TH Sarabun New","Sarabun",sans-serif;cursor:pointer;white-space:nowrap}
.lawyer-chatbot-frame{position:fixed;right:0;bottom:0;width:260px;height:90px;border:0;background:transparent;z-index:9997;transition:width .2s ease,height .2s ease}
.lawyer-chatbot-frame.is-open{width:410px;height:590px}
.line-admin-fab{position:fixed;left:18px;bottom:18px;z-index:9996;display:flex;align-items:center;gap:10px;min-height:60px;padding:7px 20px 7px 8px;border-radius:999px;background:#fff;color:#17243b;font-weight:700;font-size:20px;box-shadow:0 10px 30px #0003}
.line-admin-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#06c755;color:#fff;font:700 12px/1 Arial,sans-serif}
.admin-shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.admin-shortcut-grid a{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #d8c69d;border-radius:16px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 5px 18px #152b4912}
.admin-shortcut-grid a:hover{border-color:var(--gold);transform:translateY(-1px)}
.admin-shortcut-grid b{font-size:19px}.admin-shortcut-grid span{color:#667085;font-size:14px;line-height:1.5}
@media(max-width:640px){
 .manage-link{display:inline-flex!important;padding:7px 9px;font-size:12px;white-space:nowrap}
 .admin-shortcut-grid{grid-template-columns:1fr;gap:10px}
 .admin-shortcut-grid a{padding:15px}
 .admin-login-link{font-size:0;padding:7px 9px}
 .admin-login-link:after{content:"แอดมิน";font-size:12px}
 .lawyer-chatbot-frame.is-open{width:100vw;height:100dvh;max-height:590px;bottom:0}
 .lawyer-chatbot-frame:not(.is-open){right:0;bottom:calc(10px + env(safe-area-inset-bottom));width:74px;height:80px}
 .line-admin-fab{left:12px;bottom:calc(22px + env(safe-area-inset-bottom));width:56px;height:56px;min-height:56px;padding:7px;overflow:hidden;gap:0}
 .line-admin-fab>span:last-child{display:none}
 .line-admin-icon{width:42px;height:42px;flex:0 0 42px}
}

/* Mobile navigation and floating-contact layout */
@media(max-width:900px){
 .nav{height:64px;padding:0 10px;gap:6px}
 .brand{flex:1 1 auto;min-width:0;gap:7px;font-size:14px}
 .brand span{width:34px;height:34px;flex:0 0 34px}
 .brand b{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 nav{flex:0 0 auto;gap:6px;min-width:0}
 nav>a:first-child{display:none}
 .network-link{display:inline-flex!important;align-items:center;font-size:0!important;white-space:nowrap}
 .network-link:after{content:"ศูนย์เครือข่าย";font-size:12px}
 .admin-login-link{display:inline-flex!important;align-items:center;justify-content:center;width:56px;height:38px;min-width:56px;padding:0!important;overflow:hidden;font-size:0!important;line-height:1!important;white-space:nowrap;border-radius:9px;background:#fff}
 .admin-login-link:after{content:"แอดมิน";font-size:12px!important;line-height:1!important}
}
@media(max-width:640px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .hero-inner{padding:34px 18px 46px;gap:28px}
 .hero h1{font-size:37px;line-height:1.18;margin:9px 0}
 .lead{font-size:19px;line-height:1.55;margin:12px 0}
 .hero-actions{gap:9px;margin-top:22px}
 .hero-actions button{min-height:52px;padding:9px 12px;line-height:1.2}
 .hero-stats{margin-top:0;padding:13px;gap:9px}
 .hero-stats div{padding:12px}
 .line-admin-fab{left:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:54px;height:54px;min-height:54px;padding:6px!important;border-radius:50%;overflow:hidden}
 .line-admin-icon{width:42px;height:42px;flex:0 0 42px}
 .lawyer-chatbot-frame:not(.is-open){right:8px;bottom:calc(6px + env(safe-area-inset-bottom));width:64px!important;height:68px!important}
}
