
:root{--navy:#073763;--blue:#0b5f8a;--orange:#ff7a00;--pink:#ef476f;--green:#1f9d6a;--gold:#f4b942;--red:#d62828;--ink:#14213d;--muted:#667085;--line:#e5e7eb;--cream:#fff9ef}
*{box-sizing:border-box}body{margin:0;font-family:Tahoma,"Noto Sans Thai","Leelawadee UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff8ec 0,#fff 34%,#f6fbff 100%)}
a{text-decoration:none;color:inherit}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#06345f,#0a5b8c 60%,#0e769d);color:#fff;padding:28px 24px 34px;border-bottom:6px solid #ffbd59}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(255,183,3,.17),transparent 22%),radial-gradient(circle at 85% 15%,rgba(239,71,111,.19),transparent 20%)}
.lights{position:absolute;left:0;right:0;top:0;height:24px;display:flex;justify-content:space-around}.bulb{width:10px;height:10px;border-radius:50%;background:#ffd166;box-shadow:0 0 12px 4px rgba(255,209,102,.8);margin-top:7px}
.hero-inner{position:relative;max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:18px;align-items:end}.kicker{font-size:13px;font-weight:800;letter-spacing:.08em;color:#ffe6a7}
h1{font-size:38px;line-height:1.1;margin:6px 0 4px}.theme{font-size:24px;font-weight:900;color:#ffcf66}.meta{margin-top:13px;display:flex;gap:8px;flex-wrap:wrap}.pill{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:7px 11px;border-radius:999px;font-size:13px}
.navbtn{display:inline-block;background:#fff;color:#073763;font-weight:900;padding:11px 14px;border-radius:12px;border:2px solid #ffd166;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.container{max-width:1280px;margin:auto;padding:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-22px;position:relative}.stat{background:#fff;border:1px solid #edf0f4;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(3,35,64,.08)}.stat .num{font-size:28px;font-weight:900}.stat .label{font-size:13px;color:var(--muted)}
.progress{height:9px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-top:9px}.progress>div{height:100%;background:linear-gradient(90deg,#1f9d6a,#42c788)}
.section-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:24px 0 12px}.section-title h2{margin:0;font-size:22px}.sub,.small{font-size:12px;color:var(--muted)}
.card{background:#fff;border:1px solid #e8ebef;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(3,35,64,.06)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.toolbar.spread{justify-content:space-between;align-items:center}
.btn{border:1px solid #d8dee6;background:#fff;padding:9px 12px;border-radius:10px;font-weight:800;cursor:pointer}.btn.active,.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.save{background:#16865b;color:#fff;border-color:#16865b}.btn.warn{background:#fff7e8;border-color:#f4b942}.btn.danger{background:#fff2f1;border-color:#f0b6af;color:#b42318}.btn.small{padding:7px 10px;font-size:12px}.btn.soft{background:#f8fafc}
.loading,.error,.success,.hint{padding:14px;border-radius:12px;margin:12px 0}.loading{background:#eef6fb}.error{background:#fde8ea;color:#9b1c1c}.success{background:#e7f7ef;color:#147a4f}.hint{background:#fff7e8;color:#8a5a00}.footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}
.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.group-card{background:#fff;border:1px solid #e6ebf0;border-radius:18px;box-shadow:0 7px 20px rgba(3,35,64,.07);overflow:hidden}.group-head{display:flex;gap:12px;align-items:flex-start;padding:16px;cursor:pointer}.group-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f0f7fb;font-size:25px;flex:none}.group-copy{min-width:0;flex:1}.group-title{font-size:18px;font-weight:900;margin:1px 0 4px}.group-summary{font-size:12px;color:var(--muted);line-height:1.5}.group-counts{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.count-chip{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.chip-done{background:#e7f7ef;color:#147a4f}.chip-doing{background:#fff3d6;color:#9a6400}.chip-pending{background:#fde8ea;color:#b42318}.chev{font-size:20px;color:#667085;transition:.2s}.group-card.open .chev{transform:rotate(180deg)}.group-body{display:none;border-top:1px solid #edf0f2;padding:12px 16px 16px}.group-card.open .group-body{display:block}.task-list{display:grid;gap:8px}.task-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid #edf0f2;border-radius:11px;background:#fcfdff}.task-name{font-weight:800;font-size:13px}.task-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.status{display:inline-flex;align-items:center;gap:5px;font-weight:900;border-radius:999px;padding:5px 8px;font-size:11px;white-space:nowrap}.done{background:#e7f7ef;color:#147a4f}.doing{background:#fff3d6;color:#9a6400}.todo{background:#fde8ea;color:#b42318}.tbd{background:#edf2f7;color:#4b5563}.partial{background:#eaf1ff;color:#2f5fac}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.critical{border-color:#f2b8b5;background:#fff8f8}
.group-card[data-key="gifts"] .group-icon{background:#fff4df}.group-card[data-key="food"] .group-icon{background:#fff0e7}.group-card[data-key="safety"] .group-icon{background:#eaf8f1}.group-card[data-key="contest"] .group-icon{background:#f6eeff}.group-card[data-key="security"] .group-icon{background:#fff0f0}.group-card[data-key="staffday"] .group-icon{background:#eef5ff}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px}.mini-kpi{background:#f8fbfd;border:1px solid #e8eef3;border-radius:12px;padding:9px}.mini-kpi b{display:block;font-size:18px}.mini-kpi span{font-size:10px;color:var(--muted)}
.gift-table,.simple-table{width:100%;border-collapse:collapse;font-size:12px}.gift-table th,.simple-table th{background:#f5f9fc;color:#344054;text-align:left;padding:8px;border-bottom:1px solid #dfe7ee}.gift-table td,.simple-table td{padding:8px;border-bottom:1px solid #eef2f5;vertical-align:top}.gift-table th:nth-child(2),.gift-table td:nth-child(2),.gift-table th:nth-child(4),.gift-table td:nth-child(4){text-align:center}.empty{padding:12px;color:#667085;text-align:center}.nowrap{white-space:nowrap}
.formbar{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:5px;color:#475467}input,select,textarea{font:inherit;border:1px solid #ccd5df;border-radius:8px;padding:8px;background:#fff;width:100%}textarea{min-height:58px;resize:vertical}.update-section{background:#fff;border:1px solid #e5e9ee;border-radius:16px;margin:14px 0;overflow:hidden}.update-section h3{margin:0;padding:14px 16px;background:#f7fafc;font-size:17px}.table-wrap{overflow:auto}.edit-table{width:100%;border-collapse:collapse;min-width:1100px}.edit-table th{background:#0b5f8a;color:#fff;text-align:left;padding:10px;font-size:12px}.edit-table td{padding:9px;border-top:1px solid #edf0f2;font-size:12px;vertical-align:top}.dirty td{background:#fffdf2!important}.gift-edit{min-width:1080px}.staff-edit{min-width:1260px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-box{background:#f8fbfd;border:1px dashed #c8d6e5;border-radius:14px;padding:14px;margin:12px 16px}.grid-add{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:end}.grid-add.gifts{grid-template-columns:2fr 120px 120px}.grid-add.staff{grid-template-columns:1.2fr .7fr .9fr 1.8fr 1fr 1.2fr auto}.grid-add.checklist{grid-template-columns:1fr 1.6fr 1fr 1fr .9fr 1.6fr auto}.pilltag{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf2f7;font-size:11px;font-weight:800;color:#475467}.muted{color:var(--muted)}
@media(max-width:980px){.group-grid{grid-template-columns:1fr}.hero-inner{display:block}.navbtn{margin-top:15px}.stats{grid-template-columns:1fr 1fr}.formbar{grid-template-columns:1fr}.stats{margin-top:12px}h1{font-size:29px}.theme{font-size:21px}.two-col{grid-template-columns:1fr}.grid-add,.grid-add.gifts,.grid-add.staff,.grid-add.checklist{grid-template-columns:1fr}}
@media(max-width:520px){.stats{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr}.container{padding:14px}}

.savebar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid #dfe7ee;border-left:5px solid #16865b;border-radius:14px;padding:12px 14px;margin:14px 0;box-shadow:0 8px 20px rgba(3,35,64,.08)}.savebar .save-copy{font-size:13px;color:#475467}.savebar .save-copy b{display:block;color:#14213d;font-size:15px;margin-bottom:2px}.btn.save-all{font-size:15px;padding:11px 18px;white-space:nowrap}.changed-badge{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff3d6;color:#8a5a00;font-size:11px;font-weight:900}@media(max-width:700px){.savebar{align-items:stretch;flex-direction:column}.btn.save-all{width:100%}}
