:root{--ink:#351b10;--muted:#82695d;--line:#ecd9cb;--paper:#fff8f0;--white:#fff;--green:#a83205;--green-2:#ed5a0a;--lime:#ffd43b;--amber:#f5a400;--blue:#e96d1b;--violet:#b8451b;--shadow:0 18px 50px rgba(116,42,8,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0,#fff1dc 0,transparent 32%),var(--paper);color:var(--ink);font-family:"IBM Plex Sans Thai",sans-serif;font-size:16px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(170deg,#4f1304 0%,#8f2600 58%,#c74304 100%);color:#fff;padding:24px 18px 20px;display:flex;flex-direction:column;z-index:20;box-shadow:12px 0 40px rgba(90,25,4,.16)}.brand{display:flex;align-items:center;gap:11px;padding:0 4px 28px}.brand-logo{height:58px;width:58px;object-fit:cover;border-radius:50%;border:2px solid #ffd43b;box-shadow:0 4px 18px rgba(0,0,0,.28),0 0 0 4px rgba(255,212,59,.14)}.brand strong{font:800 13px Manrope;letter-spacing:.015em;line-height:1.25}.brand small{display:block;color:#ffdca3;font-size:10px;margin-top:4px}.side-nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;color:#ffdfc0;border-radius:13px;padding:14px 13px;text-align:left;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;transition:.2s}.nav-item:hover{background:rgba(255,255,255,.09);color:#fff}.nav-item.active{background:#fff;color:#a83205;box-shadow:0 9px 22px rgba(74,16,0,.22)}.nav-item span{font-size:19px}.nav-item b{font-weight:600}.nav-item em{font-style:normal;background:#ffd43b;color:#5a2500;border-radius:20px;min-width:22px;height:22px;display:grid;place-items:center;font:700 11px Manrope}.side-footer{margin-top:auto;padding:16px 12px;border-top:1px solid rgba(255,255,255,.16);display:flex;gap:10px;align-items:center}.status-dot{width:9px;height:9px;border-radius:50%;background:#ffd43b;box-shadow:0 0 0 5px rgba(255,212,59,.14)}.side-footer strong,.side-footer small{display:block}.side-footer strong{font-size:12px}.side-footer small{color:#ffd7b0;font-size:11px;margin-top:2px}.main{grid-column:2;padding:0 42px 56px;min-width:0}.topbar{height:112px;display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px}.eyebrow{font:700 10px Manrope;letter-spacing:.15em;color:#9a6a50;margin:0 0 5px}.topbar h1{font-size:27px;margin:0;line-height:1.1}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.date-pill{height:54px;padding:0 16px;border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;align-items:center;gap:11px}.date-pill>span{color:var(--green-2);font-size:12px}.date-pill small,.date-pill b{display:block}.date-pill small{font-size:10px;color:#9a7d6e}.date-pill b{font-size:13px}.icon-button,.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:14px;height:54px;width:54px;color:var(--green);font-size:22px}.menu-toggle{display:none}.view{display:none}.view.active{display:block;animation:fade .3s ease}@keyframes fade{from{opacity:0;transform:translateY(5px)}}.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:18px}.hero-card{min-height:330px;border-radius:22px;background:linear-gradient(135deg,#8b2100 0%,#e95008 58%,#ff8a00 100%);color:#fff;position:relative;overflow:hidden;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 54px rgba(163,52,0,.22)}.hero-card:before{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(255,239,183,.18);border-radius:50%;right:-135px;top:-180px;box-shadow:0 0 0 70px rgba(255,212,59,.07),0 0 0 140px rgba(255,255,255,.035)}.hero-copy{position:relative;max-width:480px;z-index:1}.live-label{font:700 10px Manrope;letter-spacing:.16em;color:#ffe2b5;margin-bottom:17px}.live-label i{width:7px;height:7px;background:var(--lime);border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 0 5px rgba(255,212,59,.14)}.hero-card h2{font-size:36px;line-height:1.25;margin:0 0 12px}.hero-card h2 span{color:#ffed77}.hero-card p{font-size:14px;line-height:1.7;color:#ffe0c2;max-width:430px;margin:0}.hero-actions{display:flex;gap:10px;margin-top:27px}.primary-button,.ghost-button,.outline-button{border:0;border-radius:11px;padding:12px 17px;font-weight:600}.primary-button{background:linear-gradient(135deg,#ffe666,#ffc107);color:#572300;box-shadow:0 8px 22px rgba(90,37,0,.16)}.primary-button span{margin-left:18px}.ghost-button{background:rgba(255,255,255,.1);color:inherit;border:1px solid rgba(255,255,255,.32)}.outline-button{background:#fff;border:1px solid var(--line);color:var(--green)}.progress-orbit{width:175px;height:175px;position:relative;flex:0 0 175px;margin-left:25px}.progress-orbit svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-orbit circle{fill:none;stroke-width:9}.orbit-track{stroke:rgba(255,255,255,.2)}.orbit-value{stroke:#ffe04f;stroke-linecap:round;stroke-dasharray:402;stroke-dashoffset:243;filter:drop-shadow(0 0 5px rgba(255,224,79,.45))}.progress-orbit>div{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:55px}.progress-orbit b{font:800 38px Manrope}.progress-orbit span{font:700 17px Manrope;color:#ffe04f}.progress-orbit small{position:absolute;top:105px;color:#ffe1c5;font-size:10px}.attention-card,.panel,.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 24px rgba(116,42,8,.045)}.attention-card{padding:25px 25px 18px}.card-head,.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.card-head h3,.panel-head h3{margin:0;font-size:18px}.counter{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff0d7;color:#a44500;font:800 14px Manrope}.attention-list{margin:17px 0 8px}.attention-item{border-top:1px solid #f2e4d8;padding:15px 0 12px}.attention-item:first-child{border-top:0}.attention-item b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-item span{font-size:11px;color:#9a7d6e}.text-button{border:0;background:transparent;color:var(--green);font-weight:600;padding:8px 0}.text-button span{margin-left:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat-card{padding:21px;display:flex;align-items:center;gap:15px}.stat-icon{height:44px;width:44px;border-radius:13px;display:grid;place-items:center;font:700 20px Manrope}.stat-icon.green{background:#fff0d9;color:#bf4a00}.stat-icon.blue{background:#ffeadc;color:#e35a0a}.stat-icon.amber{background:#fff3ca;color:#a96800}.stat-icon.violet{background:#f9e1d6;color:#a63316}.stat-card small{font-size:11px;color:#8f7467}.stat-card b{font:800 27px Manrope;display:block;line-height:1.1;margin-top:2px}.stat-card p{font-size:10px;color:#a58f84;margin:3px 0 0}.panel{padding:26px}.work-overview{margin-top:18px}.overview-table{margin-top:18px}.overview-row{display:grid;grid-template-columns:minmax(230px,1.5fr) 130px minmax(160px,1fr) 80px;gap:18px;align-items:center;border-top:1px solid #f1e4da;padding:16px 4px}.overview-row:first-child{border-top:0}.task-name small{font:700 9px Manrope;color:#9d8376}.task-name b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner{font-size:12px;color:#80685d}.bar{height:7px;background:#f3e8df;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#a83205,#ff8a00);border-radius:8px}.progress-number{text-align:right;font:700 12px Manrope}.history-grid{display:grid;grid-template-columns:minmax(350px,.85fr) minmax(400px,1.15fr);gap:18px}.month-nav{display:flex;gap:6px}.month-nav button{height:34px;width:34px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--green);font-size:22px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays{margin-top:25px;color:#9c8275;text-align:center;font-size:11px}.calendar{margin-top:9px}.day{aspect-ratio:1;border:0;border-radius:12px;background:#fff8f2;color:#6f5143;position:relative}.day:hover:not(:disabled){background:#fff0df;color:var(--green)}.day.empty{background:transparent}.day.has-report:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#f06a00;bottom:7px;left:calc(50% - 2px)}.day.selected{background:linear-gradient(135deg,#a83205,#f06a00);color:#fff}.day.selected:after{background:#ffe04f}.calendar-legend{margin-top:17px;font-size:11px;color:#8d7367}.calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f06a00;margin-right:5px}.selected-report{min-height:455px}.report-preview{margin-top:18px;border-radius:14px;background:#fff9f4;padding:20px;font-size:13px;line-height:1.75;max-height:335px;overflow:auto;white-space:pre-line}.report-preview.empty{height:305px;display:grid;place-content:center;text-align:center;color:#9b8175;white-space:normal}.empty-icon{font-size:35px;color:#cfb6a8}.report-preview h4{margin:8px 0 0}.report-preview p{margin:0;font-size:12px}.recent-panel{margin-top:18px}.recent-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.recent-item{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fffaf6}.recent-item small{color:#9a7c6d}.recent-item b{font-size:13px;display:block;margin:4px 0}.recent-item span{font-size:11px;color:var(--green)}.task-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:16px}.search-box{height:52px;flex:1;max-width:600px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;padding:0 16px;color:#9a7c6d}.search-box input{width:100%;border:0;outline:0;padding:0 10px;background:transparent}.filters{display:flex;gap:6px;background:#f4e6dc;padding:5px;border-radius:13px}.filter{border:0;background:transparent;color:#81685d;border-radius:9px;padding:9px 13px;font-size:12px}.filter.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(97,38,10,.1)}.task-summary{display:flex;gap:36px;padding:19px 24px;background:linear-gradient(100deg,#711d03,#c74304);border-radius:17px;color:#fff;margin-bottom:16px;box-shadow:0 10px 28px rgba(139,33,0,.16)}.task-summary div{display:flex;align-items:baseline;gap:8px}.task-summary b{font:800 25px Manrope;color:#ffe04f}.task-summary span{font-size:12px;color:#ffe1c7}.task-list{display:grid;gap:11px}.task-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px 23px;display:grid;grid-template-columns:minmax(0,1fr) 110px 90px 135px;gap:20px;align-items:center;transition:.2s}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.task-card-title{min-width:0}.task-card-title>small{font:700 9px Manrope;color:#9a7c6d}.task-card-title h3{font-size:15px;margin:4px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card-title p{font-size:11px;color:#896f62;margin:0}.task-progress small{font-size:10px;color:#9a7c6d}.task-progress b{display:block;font:800 18px Manrope;margin-bottom:5px}.status-tag{font-size:10px;padding:7px 9px;border-radius:20px;text-align:center;background:#fff2d5;color:#9c5a00}.status-tag.confirmed{background:#ffe8dc;color:#b23a00}.edit-button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:10px;padding:9px;font-size:11px;font-weight:600}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(57,16,3,.68);backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(620px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0;font-size:22px}.close-button{border:0;background:#fff2e8;border-radius:50%;width:35px;height:35px;font-size:22px}.modal-card label{display:block;font-size:12px;font-weight:600;margin-top:15px}.modal-card textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:7px;outline-color:var(--green)}.modal-card input[type=range]{width:100%;accent-color:var(--green);margin-top:12px}.modal-card output{float:right;color:var(--green);font:700 13px Manrope}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal-actions .ghost-button{color:#80685d;border-color:var(--line);background:#fff}.toast{position:fixed;right:26px;bottom:26px;background:#5b1a05;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s;z-index:80;font-size:13px}.toast.show{opacity:1;transform:none}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.sidebar{width:210px}.main{padding:0 25px 45px}.hero-card{padding:30px}.progress-orbit{width:145px;height:145px;flex-basis:145px}.progress-orbit>div{padding-top:43px}.progress-orbit small{top:88px}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.attention-card{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s;width:248px;box-shadow:20px 0 60px rgba(0,0,0,.2)}.sidebar.open{transform:none}.main{padding:0 15px 35px}.topbar{height:90px;margin-bottom:18px}.menu-toggle{display:block;margin-right:12px;width:44px;height:44px}.icon-button{width:44px;height:44px}.date-pill{display:none}.topbar h1{font-size:22px}.hero-card{min-height:auto;padding:27px 23px;display:block}.hero-card h2{font-size:29px}.progress-orbit{position:absolute;right:-30px;bottom:-45px;opacity:.18}.hero-actions{flex-wrap:wrap}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:15px;gap:10px}.stat-icon{width:38px;height:38px}.stat-card p{display:none}.stat-card b{font-size:23px}.panel{padding:20px}.overview-row{grid-template-columns:minmax(0,1fr) 65px}.overview-row .owner,.overview-row .bar{display:none}.history-grid{grid-template-columns:1fr}.recent-list{grid-template-columns:1fr}.task-toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filters{overflow:auto}.task-summary{gap:17px;padding:15px;justify-content:space-between}.task-summary div{display:block}.task-summary span{display:block}.task-card{grid-template-columns:minmax(0,1fr) 70px;gap:14px;padding:18px}.task-card .status-tag{grid-column:1}.edit-button{grid-column:2;grid-row:2}.toast{right:15px;left:15px;bottom:15px;text-align:center}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr}.hero-card p{font-size:13px}.hero-actions .primary-button,.hero-actions .ghost-button{width:100%}}

.full-report-panel{margin-top:18px}.report-actions{display:flex;gap:8px;align-items:center}.plan-button{text-decoration:none;display:inline-flex;align-items:center}.full-report-text{margin:20px 0 0;padding:24px;border:1px solid #eed9ca;border-radius:14px;background:#fffaf6;color:#3b241a;font-family:"IBM Plex Sans Thai",sans-serif;font-size:13px;line-height:1.72;white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;word-break:break-word;max-height:640px;box-shadow:inset 0 1px 8px rgba(110,43,10,.035)}
@media(max-width:760px){.full-report-panel .panel-head{display:block}.report-actions{margin-top:14px}.report-actions>*{flex:1;text-align:center;justify-content:center}.full-report-text{padding:16px;font-size:12px;max-height:560px}}
