:root{font-family:Inter,Noto Sans Thai,system-ui,sans-serif;color:#12372f;background:#f0fdfa}*{box-sizing:border-box}body{margin:0;min-height:100vh}main{min-height:100vh}button,input,textarea,select{font:inherit}button{border:0;border-radius:12px;padding:11px 17px;background:#0f766e;color:#fff;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.login-card{width:min(440px,calc(100% - 32px));margin:10vh auto;background:#fff;border:1px solid #a7f3d0;border-radius:24px;padding:36px;box-shadow:0 24px 70px #064e3b22;text-align:center}.eyebrow{color:#14b8a6;font-size:.72rem;letter-spacing:.14em;font-weight:800}h1{margin:6px 0}.error{color:#b91c1c;min-height:24px}header{background:#064e3b;color:#fff;padding:20px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px}header>div:last-child{display:flex;gap:14px;align-items:center}header button{background:#fff;color:#065f46}.dashboard-status{margin:0;padding:20px 5vw 0;color:#0f766e}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:20px 5vw}article,.panel{background:#fff;border:1px solid #a7f3d0;border-radius:18px;padding:22px}article span{display:block;color:#64748b;margin-bottom:10px}article strong{font-size:1.6rem}.panels{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.4fr);gap:18px;padding:0 5vw 40px}.panel h2{margin-top:0}.audit-panel{grid-column:1 / -1}.settings-form,.settings-form label{display:grid;gap:8px}.settings-form{gap:16px}input,textarea,select{width:100%;border:1px solid #99f6e4;border-radius:10px;padding:10px;background:#fff;color:#12372f}.member-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #d1fae5}.member-row>div{display:grid;gap:4px;overflow:hidden}.member-row small{color:#64748b;overflow:hidden;text-overflow:ellipsis}.audit{max-height:260px;overflow:auto;color:#475569}.audit p{margin:0;padding:10px 0;border-bottom:1px solid #ecfdf5}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}.audit-panel{grid-column:auto}}@media(max-width:700px){.grid{grid-template-columns:1fr}header{align-items:flex-start}#email{display:none}.member-row{grid-template-columns:1fr 1fr}.member-row>div{grid-column:1 / -1}}
