*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans Thai",Arial,sans-serif;background:#f5f7fb;color:#172033}button{border:0;border-radius:10px;background:#3267e3;color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}input,select,textarea{width:100%;border:1px solid #dbe1ea;border-radius:9px;padding:10px;background:#fff;font:inherit}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#edf3ff,#f9fbff)}.auth form{width:min(410px,90vw);background:#fff;padding:35px;border-radius:20px;box-shadow:0 20px 60px #17356d1a}.auth h1{margin:15px 0 5px}.auth p{color:#718096;margin:0 0 25px}.auth label,.form label{display:grid;gap:6px;margin:13px 0;font-size:14px;font-weight:600}.auth button{width:100%;margin-top:12px}.logo,.brand b{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#3267e3;color:white;font-size:22px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.shell aside{background:#12213d;color:#fff;padding:28px 18px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:35px}.brand span{display:grid}.brand small{color:#90a1bd}.shell nav{display:grid;gap:8px}.shell nav button{text-align:left;background:transparent;color:#aebcd2}.shell nav button.active{background:#253858;color:white}.line{margin-top:40px;background:#1d3152;padding:16px;border-radius:12px;color:#43d878}.line small{color:#aebcd2}.shell main{padding:35px;min-width:0}header{display:flex;justify-content:space-between;gap:20px;align-items:center}header h1{margin:3px 0;font-size:30px}header p{margin:0;color:#718096}header>div:last-child{display:flex;gap:10px}.secondary{background:#e8eef9;color:#24436e}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:28px 0}.stat{background:#fff;border:1px solid #e7ebf2;padding:20px;border-radius:14px}.stat small{display:block;color:#7d899b}.stat b{font-size:30px;display:block;margin-top:8px}.board{background:#fff;border:1px solid #e7ebf2;border-radius:15px;overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;padding:18px}.toolbar h2{margin:0 auto 0 0}.toolbar input{width:270px}.toolbar select{width:180px}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-top:1px solid #edf0f4;white-space:nowrap}th{font-size:12px;color:#718096;background:#fafbfc}td small{display:block;color:#7d899b;margin-top:3px}.badge{padding:6px 9px;border-radius:20px;background:#eef3ff;color:#3267e3;font-size:12px}.badge.awaiting_payment{background:#f1edff;color:#7450ca}.badge.awaiting_tax_invoice{background:#fff2df;color:#c27116}.badge.completed{background:#eaf7ef;color:#23834d}dialog{border:0;border-radius:18px;padding:0;width:min(760px,94vw);box-shadow:0 25px 80px #10213d38}dialog::backdrop{background:#0b152c99}.modal{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.x{background:#edf1f7;color:#526176}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.danger{background:#ffe8e8;color:#c23c3c}.master-list{display:grid;gap:8px}.master-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f6f8fb;border-radius:9px}.master-list button{padding:7px 10px}@media(max-width:850px){.shell{display:block}.shell aside{display:none}.shell main{padding:18px}.stats{grid-template-columns:1fr 1fr}header{align-items:flex-start}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{width:100%}}@media(max-width:520px){header{display:grid}.grid{display:block}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px}}
