:root{font-family:Tahoma,Arial,sans-serif;color:#292d35;background:#f6f5f2;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.65}aside{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;padding:30px 22px;border-right:1px solid #e5e3dd}.brand{font-size:26px;color:#db651b;font-weight:bold;text-decoration:none}.brand span{display:block;color:#777;font-size:13px;font-weight:normal}aside nav{display:grid;gap:8px;margin-top:36px}aside nav a{padding:11px 14px;border-radius:10px;color:#52545a;text-decoration:none}aside nav a:hover{background:#fff0e4;color:#a74b11}aside p{font-size:12px;color:#858080;margin-top:48px}main{margin-left:235px;max-width:1600px;padding:32px 36px 60px}header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:34px;margin:4px 0;line-height:1.5}h2{font-size:23px;margin:3px 0 16px}p{margin:6px 0 15px}.eyebrow{font-size:11px;color:#9a704c;letter-spacing:2px;font-weight:bold}.stage,.badge{background:#fff0df;color:#9e561c;border-radius:20px;padding:6px 12px;font-size:13px;white-space:nowrap}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#fff;padding:19px;border:1px solid #e8e2d9;border-radius:16px;margin:20px 0 28px}.presets{display:flex;gap:6px}label{display:block;font-size:13px;color:#67676c}input,select,button,.button{font:inherit;border:1px solid #ded9d1;border-radius:9px;min-height:44px;padding:9px 12px;background:#fff;color:#32353c}input,select{display:block;margin-top:4px;max-width:100%}button,.button{cursor:pointer;text-decoration:none}.primary,.button{background:#f47b22;border-color:#f47b22;color:#241b15;font-weight:bold}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d16a21;outline-offset:3px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{border:1px solid #e5e1d9;background:#fff;border-radius:16px;padding:20px;min-width:0}.metric .number{font-size:33px;font-weight:bold;line-height:1.4;overflow-wrap:anywhere}.metric .label{color:#6c6d73;font-size:13px}.metric:first-child{background:#f47b22;border-color:#f47b22}.metric:first-child .label{color:#4c321b}.note{color:#858289;font-size:12px}.panel{background:#fff;border:1px solid #e5e1d9;border-radius:17px;padding:24px;margin-top:24px;scroll-margin-top:20px}.section-title form{display:flex;gap:8px;align-items:center}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}th{background:#faf8f4;font-size:12px;color:#7c7470;padding:13px}td{padding:15px 13px;border-bottom:1px solid #efede8}td small{display:block;color:#87818a;font-size:11px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;font-size:13px}.bars{display:flex;align-items:flex-end;gap:6px;min-height:130px;padding:16px 0 5px;overflow-x:auto}.bar-col{min-width:36px;flex:1;max-width:100px;text-align:center;font-size:10px;color:#8d7b6a}.bar-track{height:100px;display:flex;align-items:flex-end;justify-content:center}.bar-fill{width:70%;min-height:2px;background:#f6a363;border-radius:5px 5px 0 0}.bar-fill.active{background:#ef7728}.activity{display:grid;grid-template-columns:12px 1fr auto;align-items:start;gap:14px;padding:15px 0;border-bottom:1px solid #eeece7}.activity-dot{width:9px;height:9px;background:#f47b22;border-radius:50%;margin-top:8px}.activity small{color:#89828a;font-size:12px}.activity time{font-size:12px;color:#89828a;white-space:nowrap}#admin-message{color:#a32d24}#member-detail{padding:18px;background:#fff8ed;border:1px solid #eed6b6;border-radius:12px;margin-top:20px;overflow-wrap:anywhere}.empty{color:#8a8180;padding:20px;text-align:center}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:25px 20px}}@media(max-width:750px){aside{position:static;width:100%;padding:18px;border-bottom:1px solid #ddd}aside nav{display:flex;overflow:auto;margin-top:13px;gap:3px}aside nav a{white-space:nowrap;font-size:13px;padding:8px}aside p{display:none}main{margin:0;padding:22px 14px}h1{font-size:27px}.metric{padding:15px}.metric .number{font-size:27px}.panel{padding:18px 12px}.section-title{align-items:flex-start;flex-wrap:wrap}.activity{grid-template-columns:10px 1fr}.activity time{grid-column:2}.filters{padding:13px}.filters label{flex:1;min-width:125px}.section-title form{width:100%}.section-title form input{min-width:0;width:100%}}

.support-ticket{padding:22px;margin:18px 0;border:1px solid #eadfd1;border-radius:15px;overflow-wrap:anywhere}.support-ticket p{white-space:pre-wrap}.support-ticket form{display:grid;gap:14px}.support-ticket textarea{font:inherit;width:100%;padding:14px;border:1px solid #d9cbbc;border-radius:10px}.support-ticket label{display:block}.support-ticket select{display:block;margin-top:8px}.support-ticket button{justify-self:start}

@font-face{font-family:SchoolSans;src:url('/planner/Sarabun-Regular.ttf')}@font-face{font-family:SchoolSans;src:url('/planner/Sarabun-SemiBold.ttf');font-weight:700}
:root{--brand:#6540e8;--brand-deep:#4b2dbc;--brand-soft:#efe9ff;--ink:#302b40;--muted:#706880;--line:#e6dff5;font-family:SchoolSans,sans-serif;color:var(--ink);background:#f8f6ff}
body{font-family:SchoolSans,sans-serif;background:radial-gradient(ellipse at 95% 0,#e9dfff 0,transparent 48%),#faf9ff;color:var(--ink)}
h1,h2,h3{color:var(--ink)}button,input,select,textarea,.button{font-family:inherit;border-color:var(--line);border-radius:13px}button,.button{min-height:48px;transition:background .18s,box-shadow .18s}button:hover:not(:disabled),.button:hover{box-shadow:0 4px 14px #6540e824}a{color:var(--brand)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9572ff;outline-offset:3px}
.primary,.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#744bed,#5935d5);border-color:transparent;color:white;font-weight:700;text-decoration:none;gap:7px;padding:12px 20px;box-shadow:0 5px 14px #6540e81c}
.hint,footer,.note{color:var(--muted)}.stage,.badge{background:var(--brand-soft);border-color:#d9ccff;color:#5636b3}.error,#admin-message{color:#ad2449}
.cat-corner{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:flex-end;gap:10px}.cat-paw{width:48px;height:48px;border-radius:50%;border:1px solid #d7c7ff;background:#fff;color:var(--brand);box-shadow:0 4px 16px #6540e819;padding:12px}.cat-paw svg{width:23px;height:23px;fill:currentColor}.cat-greeting{max-width:245px;background:white;border:1px solid #e0d4ff;border-radius:20px 20px 4px 20px;box-shadow:0 5px 25px #6540e81b;padding:16px;color:#553599;font-size:14px}.cat-face{font-size:30px;display:block;line-height:1.4}.cat-greeting p{margin:4px 0}.section-kicker{font-size:11px;letter-spacing:2px;color:var(--brand);font-weight:700}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:480px){.cat-corner{right:12px;bottom:12px}.cat-paw{width:44px;height:44px}.cat-greeting{max-width:220px}}

aside{background:#fff;border-right:1px solid var(--line)}.brand{color:#6140cb}.brand span{color:var(--muted)}aside nav a{color:#675a7f;border-radius:13px;min-height:48px}aside nav a:hover,aside nav a:focus{background:#eee7ff;color:#5632c6}aside nav a:focus-visible{outline:3px solid #bca3ff}aside p{color:#8b80a1}.eyebrow{color:#7d5ac5}.metric,.panel,.filters{border-color:var(--line);box-shadow:0 7px 28px #5239a706;border-radius:22px}.metric:first-child{background:linear-gradient(120deg,#7046e9,#9664e9);border-color:transparent;color:white}.metric:first-child .label{color:#f0e6ff}.metric:nth-child(2){background:#fff1e7;border-color:#ffe1c8}.metric:nth-child(3){background:#f0eaff}.metric:nth-child(4){background:#eaf6ff}.metric .label{color:#746a86}.metric:first-child .number{color:#fff}.metric .number{font-size:36px}.panel h2{font-size:25px}.bar-fill{background:#c9b2fc}.bar-fill.active{background:#7952dc}.bar-col{color:#847493}.activity-dot{background:#9772ed}.activity{border-color:var(--line)}th{background:#f4efff;color:#66537e}td{border-color:#eee8f7}#member-detail{background:#f4efff;border-color:#ddcffb}.support-ticket{background:#fcfaff;border-color:var(--line)}.support-ticket textarea{border-color:#dcd0f6}.support-ticket button{background:#6842d9;color:white;border-color:transparent}label{color:#70627f}.stage,.badge{color:#64449d;background:#f0e8ff}.filters .presets button{background:#f4eeff}.filters .presets button:hover{background:#e5d8ff}.pagination button{background:#f3edff}header{padding-bottom:10px}.cat-corner{bottom:20px}
