:root{--navy:#083b5e;--navy2:#0d4c73;--mint:#66ddcf;--bg:#f2f6f8;--ink:#183548;--muted:#70828d;--line:#dce6eb;--white:#fff;--danger:#c84747}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans Thai",system-ui,sans-serif;line-height:1.55}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.top{height:88px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:white}.logo{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.logo>span{width:48px;height:48px;border-radius:14px;background:#bff5ed;display:grid;place-items:center;font-size:1.5rem}.logo b{font-size:1.25rem;line-height:1.1}.logo small{display:block;font-weight:400;font-size:.7rem;letter-spacing:.08em;color:var(--muted)}nav{background:#f2f5f6;padding:4px;border-radius:12px}nav a{display:inline-block;color:var(--muted);text-decoration:none;padding:9px 17px;border-radius:9px;font-size:.82rem}nav a.active{background:var(--navy);color:white;box-shadow:0 3px 8px #083b5e44}.hero,.admin-hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:white;padding:60px 0 42px}.overline{color:var(--mint);font-weight:700;font-size:.72rem;letter-spacing:.18em}.hero h1,.admin-hero h1{font-family:"Pridi",serif;font-size:clamp(2rem,4vw,3rem);margin:8px 0}.hero>.wrap>p:not(.overline){color:#c4d8e4;font-size:.86rem}.steps{margin-top:40px;border:1px solid #ffffff20;background:#ffffff0b;padding:16px 20px;border-radius:17px;display:flex;align-items:center;justify-content:space-between}.steps b{display:flex;align-items:center;gap:12px;font-size:.78rem}.steps i{font-style:normal;width:35px;height:35px;border:1px solid #ffffff2e;border-radius:10px;display:grid;place-items:center}.steps b:first-child i{background:var(--mint);color:var(--navy)}.steps span{height:1px;background:#ffffff23;flex:1;margin:0 18px}.layout,.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;padding-top:30px;padding-bottom:70px}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:22px;box-shadow:0 8px 25px #133a5010}.section-title{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.section-title>span:first-child{min-width:48px;height:48px;border-radius:13px;background:#edf7fb;display:grid;place-items:center;color:#3684aa;font-weight:700}.section-title h2{font-size:1.25rem;margin:2px 0}.section-title p{font-size:.76rem;color:var(--muted);margin:2px 0}.add{margin-left:auto;border:0;border-radius:10px;background:var(--navy);color:white;padding:10px 15px;font:inherit;font-size:.82rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}label{font-size:.78rem;font-weight:600;display:block}.wide{grid-column:span 2}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;background:white;padding:12px 14px;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#55bfb3;box-shadow:0 0 0 3px #66ddcf24}label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 22px}.categories>span{border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.76rem}.categories b{float:left;width:32px;height:32px;border-radius:8px;background:#e7f8f5;color:#23877b;display:grid;place-items:center;margin-right:8px}.categories small{display:block;color:var(--muted)}.empty{text-align:center;border:1px dashed #bfd0d8;border-radius:14px;padding:34px;color:var(--muted)}.empty>b{font-size:2rem;color:#9eb3bd}.empty h3{color:var(--ink);margin:7px}.achievement{border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:14px;background:#fbfdfe}.achievement-head{display:flex;justify-content:space-between;margin-bottom:15px}.remove{border:0;background:none;color:var(--danger);cursor:pointer}.consent label{display:flex;gap:14px}.consent input{width:20px;height:20px;margin:2px 0}.consent b,.consent small{display:block}.summary{position:sticky;top:18px}.summary h3{margin-top:0}.summary>p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:.78rem}.summary i{font-style:normal}.privacy{background:#edf9f7;border-radius:14px;padding:15px;color:#28786e;font-size:.78rem;margin:20px 0}.privacy small{display:block;color:#668b86;margin-top:5px}.submit{width:100%;border:0;background:var(--navy);color:white;border-radius:11px;padding:14px;font:inherit;font-weight:700;cursor:pointer}.center{text-align:center;display:block}.errors{background:#fff0f0;color:#a52e2e;border:1px solid #f2c4c4;border-radius:12px;padding:10px 18px;margin-bottom:18px}.errors p{margin:4px}.result-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#0d6084)}.result{width:min(560px,calc(100% - 30px));text-align:center;padding:50px}.success-icon{width:70px;height:70px;margin:auto;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-size:2rem}.result h1{margin-bottom:5px}.reference{display:block;font-size:1.8rem;color:var(--navy);letter-spacing:.08em;margin:25px}.result dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px}.result dd{font-weight:600}.link-button{display:block;text-decoration:none;margin-top:25px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.stat-grid a{padding:18px;border:1px solid #ffffff20;background:#ffffff0c;border-radius:14px;color:white;text-decoration:none}.stat-grid b,.stat-grid span{display:block}.stat-grid b{font-size:1.5rem}.stat-grid span{color:#c9dce5;font-size:.78rem}.admin-main{padding-top:28px;padding-bottom:60px}.table-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.table-head{display:flex;align-items:center;justify-content:space-between;padding:22px}.table-head h2{margin:0}.table-head a,table a,.review-item a{color:#087c71}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 18px;border-top:1px solid var(--line);white-space:nowrap;font-size:.82rem}th{background:#f8fafb;color:var(--muted)}.status{padding:5px 9px;border-radius:20px;font-size:.72rem;white-space:nowrap}.status.pending{background:#fff5d7;color:#8c6910}.status.approved{background:#dff7ed;color:#187653}.status.revision{background:#ffe6e6;color:#a93838}.review-grid{padding-top:28px}.review-grid .section-title>.status{margin-left:auto;height:auto;min-width:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr}.detail-grid p{font-weight:600}.detail-grid small{display:block;color:var(--muted);font-weight:400}.review-item{display:flex;gap:15px;border-top:1px solid var(--line);padding:18px 0}.category{min-width:38px;height:38px;border-radius:10px;background:#e4f8f5;color:#267d73;display:grid;place-items:center}.review-item h3,.review-item p{margin:0 0 5px}.review-item p{color:var(--muted);font-size:.82rem}@media(max-width:800px){.top{height:76px}.logo>span{width:42px;height:42px}.hero{padding-top:40px}.steps span{display:none}.steps b{flex-direction:column;text-align:center}.layout,.review-grid{grid-template-columns:1fr}.summary{position:static}.form-grid{grid-template-columns:1fr 1fr}.categories{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){nav a{padding:8px}.logo b{font-size:1rem}.hero h1{font-size:1.75rem}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.panel{padding:20px}.categories{grid-template-columns:1fr}.steps b{font-size:.65rem}.detail-grid{grid-template-columns:1fr}}
