

:root{
  --bg:#FFF8F0;--bg2:#FFE8D6;--bg3:#FFDCC4;
  --surface:rgba(255,255,255,0.75);
  --surface2:rgba(255,255,255,0.9);
  --border:rgba(255,140,66,0.18);
  --text:#4A3020;--text2:#8B6F47;--text3:#B09578;
  --accent:#FF6B35;--accent2:#FF8C42;--gold:#FFB627;
  --green:#52B788;--pink:#FF6B9D;--purple:#B983FF;
  --red:#E74C3C;--blue:#3498DB;
  --shadow:0 4px 24px rgba(255,107,53,0.12);
  --shadow-lg:0 8px 40px rgba(255,107,53,0.18);
  --radius:16px;--radius-sm:10px;--radius-lg:24px;
  --sidebar-w:220px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:linear-gradient(135deg,#FFF8F0 0%,#FFE8D6 30%,#FFDCC4 50%,#FFE0CC 70%,#FFF5EB 100%);
  background-attachment:fixed;
  color:var(--text);min-height:100vh;
  -webkit-tap-highlight-color:transparent;
  overflow-x:hidden;
}
body.booting{overflow:hidden;}
.harvest-boot{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(155deg,#fff9ef 0%,#ffe9d2 48%,#f7d8b7 100%);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;}
body.booting .harvest-boot{opacity:1;visibility:visible;}
.boot-sun{position:absolute;width:280px;height:280px;border-radius:50%;right:9%;top:-80px;background:radial-gradient(circle,#fff5bb 0 16%,rgba(255,203,91,.48) 40%,rgba(255,190,80,0) 72%);animation:bootSun 4.5s ease-in-out infinite;}
.boot-cloud{position:absolute;font-size:74px;filter:grayscale(1) brightness(2);opacity:.5;animation:bootCloud 11s linear infinite;}.boot-cloud.c1{left:-90px;top:14%;}.boot-cloud.c2{right:-100px;top:27%;font-size:52px;animation-duration:14s;animation-delay:-5s;}
.boot-leaf{position:absolute;font-size:22px;opacity:.72;animation:bootLeaf 5s ease-in-out infinite;}.boot-leaf.l1{left:14%;top:20%;}.boot-leaf.l2{right:18%;top:16%;animation-delay:-1.7s}.boot-leaf.l3{left:23%;bottom:18%;animation-delay:-3.1s}.boot-leaf.l4{right:12%;bottom:24%;animation-delay:-2.2s}
.boot-card{position:relative;width:min(520px,88vw);padding:42px 42px 34px;text-align:center;border:1px solid rgba(255,255,255,.84);border-radius:34px;background:rgba(255,255,255,.58);box-shadow:0 26px 80px rgba(116,75,34,.16);backdrop-filter:blur(18px);}
.boot-brand{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;background:rgba(53,107,73,.09);color:#356b49;font-weight:800;letter-spacing:.7px;font-size:13px}.boot-brand span{font-size:20px}
.boot-scene{position:relative;height:210px;margin:12px auto 2px;overflow:hidden}.boot-hill{position:absolute;left:50%;bottom:-76px;width:360px;height:190px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(160deg,#78bd80,#397458);box-shadow:inset 0 12px 24px rgba(255,255,255,.18),0 18px 34px rgba(53,107,73,.17)}
.harvest-tree-art{display:block;width:100%;height:100%;object-fit:contain}.boot-tree{position:absolute;left:50%;bottom:36px;width:104px;height:104px;transform:translateX(-50%);transform-origin:bottom center;animation:bootTree 2.8s ease-in-out infinite alternate;filter:drop-shadow(0 13px 13px rgba(38,77,50,.22))}.boot-tree::after{content:'✨';position:absolute;font-size:22px;right:-13px;top:3px;animation:bootSpark 1.8s ease-in-out infinite}
.boot-sprout{position:absolute;left:26%;bottom:42px;font-size:30px;animation:bootSprout 2s ease-in-out infinite}.boot-fruit{position:absolute;font-size:24px;animation:bootFruit 3s ease-in-out infinite}.boot-fruit.f1{left:31%;top:72px}.boot-fruit.f2{right:29%;top:48px;animation-delay:-1s}.boot-fruit.f3{right:24%;top:105px;animation-delay:-2s}
.boot-title{font-size:24px;font-weight:900;color:#2e563e;letter-spacing:.5px}.boot-copy{height:24px;margin-top:8px;color:#8b6f47;font-size:14px;font-weight:650}.boot-copy span{animation:bootText 6s steps(1,end) infinite}.boot-copy span::before{content:'正在唤醒今日的成长记录…';}.boot-progress{position:relative;height:8px;margin:22px auto 13px;max-width:340px;border-radius:99px;background:rgba(139,111,71,.12);overflow:hidden}.boot-progress::after{content:'';position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,#52b788,#ffb627,#ff7b3d);animation:bootProgress 2.4s cubic-bezier(.55,.1,.35,1) infinite}.boot-dots{display:flex;justify-content:center;gap:8px}.boot-dots i{width:7px;height:7px;border-radius:50%;background:#c8b39b;animation:bootDot 1.2s ease-in-out infinite}.boot-dots i:nth-child(2){animation-delay:.15s}.boot-dots i:nth-child(3){animation-delay:.3s}
@keyframes bootSun{50%{transform:scale(1.08);opacity:.82}}@keyframes bootCloud{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 220px))}}@keyframes bootLeaf{0%,100%{transform:translate(0,0) rotate(-14deg)}50%{transform:translate(18px,28px) rotate(24deg)}}@keyframes bootTree{from{transform:translateX(-50%) scale(.92) rotate(-1deg)}to{transform:translateX(-50%) scale(1.04) rotate(1deg)}}@keyframes bootSpark{50%{transform:scale(1.35) rotate(16deg);opacity:.5}}@keyframes bootSprout{50%{transform:translateY(-8px) rotate(-7deg)}}@keyframes bootFruit{50%{transform:translateY(-10px) rotate(8deg)}}@keyframes bootProgress{0%{left:-38%}70%,100%{left:100%}}@keyframes bootDot{0%,100%{transform:scale(.75);opacity:.45}50%{transform:scale(1.2);opacity:1}}@keyframes bootText{0%,32%{opacity:1}33%,65%{opacity:.75}66%,100%{opacity:1}}@media(max-width:600px){.boot-card{padding:30px 22px 27px;border-radius:26px}.boot-scene{height:180px}.boot-tree{font-size:78px}.boot-title{font-size:21px}.boot-cloud{font-size:52px}}@media(prefers-reduced-motion:reduce){.harvest-boot *{animation:none!important}.boot-progress::after{left:31%;}}
/* ===== LOGIN PAGE ===== */
.login-bg{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#FFF8F0 0%,#FFE8D6 40%,#FFDCC4 70%,#FFE0CC 100%);
}
.login-shell{position:relative;z-index:1;width:min(1040px,94vw);min-height:620px;display:grid;grid-template-columns:1.15fr .85fr;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.8);border-radius:32px;overflow:hidden;box-shadow:0 28px 90px rgba(119,72,32,.18);backdrop-filter:blur(22px);}
.login-visual{position:relative;overflow:hidden;padding:54px;color:#fff;background:linear-gradient(145deg,#275d4a 0%,#438568 48%,#e7a64d 100%);display:flex;flex-direction:column;justify-content:space-between;}
.login-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,226,141,.32),transparent 25%),radial-gradient(circle at 18% 82%,rgba(255,255,255,.16),transparent 34%);}
.login-visual-copy,.login-orchard{position:relative;z-index:2;}.login-visual-kicker{font-size:13px;letter-spacing:2px;opacity:.78;font-weight:700;}.login-visual h2{font-size:38px;line-height:1.25;margin:14px 0 12px;}.login-visual p{max-width:430px;line-height:1.8;opacity:.82;}
.login-orchard{height:290px;margin-top:26px;}.login-hill{position:absolute;left:-10%;right:-10%;bottom:-95px;height:220px;background:rgba(21,83,60,.58);border-radius:50% 50% 0 0;}.login-tree{position:absolute;left:52%;bottom:35px;z-index:3;transform:translateX(-50%);width:122px;height:122px;filter:drop-shadow(0 16px 18px rgba(21,54,40,.28));animation:loginTreeGrow 3.2s ease-in-out infinite alternate;transform-origin:bottom center;}.login-fruit{position:absolute;font-size:24px;animation:loginFruitFloat 4s ease-in-out infinite;}.login-fruit.f1{left:24%;top:28%;}.login-fruit.f2{right:22%;top:14%;animation-delay:.8s}.login-fruit.f3{right:14%;top:48%;animation-delay:1.5s}.login-metric{position:absolute;z-index:5;padding:9px 13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.13);border-radius:14px;font-size:12px;backdrop-filter:blur(8px);animation:loginMetric 4s ease-in-out infinite;}.login-metric.m1{left:4%;top:7%;}.login-metric.m2{right:3%;top:18%;animation-delay:1s}.login-metric b{display:block;font-size:17px;color:#ffe29a;margin-top:2px;}
.login-cloud{position:absolute;font-size:42px;opacity:.28;filter:blur(.2px);animation:loginCloud 13s ease-in-out infinite}.login-cloud.c1{left:-4%;top:2%}.login-cloud.c2{right:4%;top:28%;font-size:30px;animation-delay:-5s}.login-growth-path{position:absolute;left:10%;right:9%;bottom:31px;z-index:2;height:3px;background:linear-gradient(90deg,rgba(255,255,255,.18),#ffe29a 55%,rgba(255,255,255,.25));transform:rotate(-4deg);border-radius:99px}.login-growth-path::after{content:'';position:absolute;inset:-4px auto -4px 0;width:38%;border-radius:99px;background:linear-gradient(90deg,#fff3b0,#ffc85c);box-shadow:0 0 16px #ffd672;animation:loginPath 4s ease-in-out infinite}.login-stage{position:absolute;z-index:4;text-align:center;font-size:11px;line-height:1.15;color:rgba(255,255,255,.82);text-shadow:0 2px 5px rgba(15,55,42,.45)}.login-stage span{display:block;font-size:25px;margin-bottom:2px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}.login-stage.s1{left:9%;bottom:8px}.login-stage.s2{left:31%;bottom:17px}.login-stage.s3{right:22%;bottom:33px}.login-avatar-bubble{position:absolute;z-index:5;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:11px;backdrop-filter:blur(8px);animation:loginMetric 4.5s ease-in-out infinite}.login-avatar-bubble.a1{left:5%;top:48%}.login-avatar-bubble.a2{right:4%;top:49%;animation-delay:-2s}.login-avatar-bubble i{font-style:normal;font-size:19px}.login-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff4ae;box-shadow:0 0 11px 3px rgba(255,225,112,.55);animation:loginSpark 3s ease-in-out infinite}.login-spark.p1{left:20%;top:9%}.login-spark.p2{left:68%;top:38%;animation-delay:-1s}.login-spark.p3{left:40%;top:57%;animation-delay:-2s}.login-spark.p4{right:9%;top:8%;animation-delay:-.5s}
@keyframes loginTreeGrow{from{transform:translateX(-50%) scale(.94) rotate(-1deg)}to{transform:translateX(-50%) scale(1.03) rotate(1deg)}}@keyframes loginFruitFloat{50%{transform:translateY(-13px) rotate(8deg)}}@keyframes loginMetric{50%{transform:translateY(-7px)}}@keyframes loginCloud{50%{transform:translateX(38px) translateY(-7px)}}@keyframes loginPath{50%{width:78%}}@keyframes loginSpark{50%{opacity:.25;transform:scale(.5)}}
@media(prefers-reduced-motion:reduce){.login-visual *{animation:none!important}}
.performance-lite .harvest-boot *,.performance-lite .login-visual *,.performance-lite .tree-emoji,.performance-lite .sidebar-header .logo-icon{animation:none!important}.performance-lite .boot-cloud,.performance-lite .boot-leaf,.performance-lite .login-cloud,.performance-lite .login-spark,.performance-lite .login-fruit{display:none!important}.performance-lite .boot-card,.performance-lite .login-shell,.performance-lite .login-metric,.performance-lite .login-avatar-bubble,.performance-lite .login-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.performance-lite .boot-card{background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(116,75,34,.12)}.performance-lite .login-shell{background:#fffaf6;box-shadow:0 16px 45px rgba(119,72,32,.14)}.performance-lite .login-tree,.performance-lite .boot-tree{filter:none}.performance-lite .boot-progress::after{animation:bootProgress 2.4s linear infinite!important}@media(max-width:900px){.login-shell{backdrop-filter:none;-webkit-backdrop-filter:none}.login-metric,.login-avatar-bubble{backdrop-filter:none}.boot-card{backdrop-filter:none;background:rgba(255,255,255,.9)}}
.login-panel{padding:34px;display:flex;align-items:center;justify-content:center;background:rgba(255,250,246,.9);}.login-panel .login-card{box-shadow:none;border:0;background:transparent;padding:0;width:100%;max-width:390px;backdrop-filter:none;animation:none;}.login-role-select{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font:600 14px inherit;outline:none;}.login-role-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,.1)}
@media(max-width:780px){.login-shell{display:block;min-height:0;width:min(430px,94vw);}.login-visual{display:none}.login-panel{padding:28px 22px}.login-card{max-height:92vh;overflow:auto}}
.login-bg::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 30%,rgba(255,107,53,0.08) 0%,transparent 50%),
             radial-gradient(ellipse at 80% 70%,rgba(255,182,39,0.08) 0%,transparent 50%);
}
.login-card{
  position:relative;z-index:1;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border);border-radius:24px;
  box-shadow:0 20px 60px rgba(255,107,53,0.15);
  padding:40px 36px;width:380px;max-width:90vw;
  animation:loginIn .5s ease-out;
}
@keyframes loginIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.login-logo{text-align:center;margin-bottom:24px;}
.login-logo .tree-emoji{display:block;width:54px;height:54px;margin:0 auto 8px;animation:sway 3s ease-in-out infinite;}
.login-logo .tree-emoji .harvest-tree-art{width:54px;height:54px;}
body.decorations-ready .boot-tree,body.decorations-ready .login-tree,body.decorations-ready .login-logo .tree-emoji{background:url('/icons/harvest-tree-3d.svg') center/contain no-repeat}.boot-tree .harvest-tree-art,.login-tree .harvest-tree-art,.login-logo .tree-emoji .harvest-tree-art{visibility:hidden}.boot-tree::after{display:none}
.login-tree{width:164px;height:176px;bottom:22px}
@keyframes sway{0%,100%{transform:rotate(-3deg);}50%{transform:rotate(3deg);}}
.login-logo h1{font-size:22px;font-weight:800;color:var(--accent);}
.login-logo p{font-size:13px;color:var(--text3);margin-top:4px;}
.login-tabs{display:flex;gap:4px;margin-bottom:20px;background:rgba(255,140,66,0.08);border-radius:12px;padding:4px;}
.login-tab{flex:1;text-align:center;padding:10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text2);transition:all .2s;border:none;background:none;font-family:inherit;}
.login-tab.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.login-form .form-group{margin-bottom:16px;}
.login-form .form-label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.login-form .form-input{
  width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:12px;
  background:rgba(255,255,255,0.8);color:var(--text);font-size:14px;outline:none;
  transition:border-color .2s;font-family:inherit;
}
.login-form .form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,0.1);}
.login-btn{
  width:100%;padding:14px;border:none;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;font-size:16px;font-weight:700;cursor:pointer;
  transition:all .2s;font-family:inherit;
  box-shadow:0 4px 16px rgba(255,107,53,0.3);
}
.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,53,0.4);}
.login-btn:active{transform:translateY(0);}
.login-error{
  background:rgba(231,76,60,0.08);border:1px solid rgba(231,76,60,0.2);
  border-radius:8px;padding:10px 14px;font-size:13px;color:var(--red);
  margin-bottom:14px;display:none;
}
.login-error.show{display:block;animation:shake .3s;}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}
.login-hint{font-size:12px;color:var(--text3);text-align:center;margin-top:16px;line-height:1.6;}
.maintenance-upload-grid img{cursor:zoom-in}.maintenance-upload-status{display:none;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff8e8;border:1px solid rgba(198,154,70,.3);color:#8a6728;font-size:12px;font-weight:700}.maintenance-upload-status.show{display:block}.maintenance-submit-btn:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}
.maintenance-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.maintenance-shot{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.maintenance-shot img{width:100%;height:110px;object-fit:cover;display:block}.maintenance-shot button{position:absolute;right:6px;top:6px;border:0;border-radius:50%;width:26px;height:26px;background:rgba(74,48,32,.72);color:#fff;cursor:pointer}.maintenance-report{border:1px solid rgba(49,109,88,.16);background:linear-gradient(145deg,rgba(247,252,249,.96),rgba(238,247,243,.86))}.maintenance-dept-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#285f50,#3f806c);color:#fff;margin-bottom:12px}.maintenance-dept-icon{font-size:28px}.maintenance-dept-head b{display:block;font-size:16px}.maintenance-dept-head small{display:block;margin-top:2px;color:rgba(255,255,255,.76)}.maintenance-entry{padding:18px 20px;margin-top:10px;border:1px solid rgba(49,109,88,.12);border-radius:12px;background:rgba(255,255,255,.82)}.maintenance-links{display:flex;flex-direction:column;gap:6px;margin-top:8px}.maintenance-links a{color:var(--accent);word-break:break-all;text-decoration:none}.maintenance-links a:hover{text-decoration:underline}.maintenance-report-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}.maintenance-report-shots img{width:100%;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--border);cursor:zoom-in;background:#f4f4ef}.maintenance-date-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(49,109,88,.14);border-radius:12px;background:#f6faf6}.maintenance-date-toolbar label{font-size:13px;font-weight:700;color:var(--text2)}.maintenance-date-select{min-width:180px;padding:9px 36px 9px 12px;border:1px solid rgba(49,109,88,.22);border-radius:10px;background:#fff;color:var(--text);font:600 13px inherit;outline:none}.maintenance-date-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(53,107,73,.1)}
.image-lightbox{position:fixed;inset:0;z-index:500;background:rgba(13,18,16,.94);display:flex;flex-direction:column;padding:14px;cursor:default}.image-lightbox-toolbar{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;flex:0 0 auto;flex-wrap:wrap}.image-lightbox-toolbar button{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;border-radius:9px;padding:7px 13px;font:700 13px inherit;cursor:pointer}.image-lightbox-toolbar button:hover{background:rgba(255,255,255,.22)}.image-lightbox-close{position:absolute;right:18px;top:17px}.image-lightbox-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:12px}.image-lightbox img{display:block;width:auto;height:auto;max-width:none;max-height:none;object-fit:contain;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.5);transform-origin:top center;transition:width .15s ease;cursor:zoom-in}.image-lightbox img.zoomed{cursor:zoom-out}.image-lightbox-hint{color:rgba(255,255,255,.78);font-size:12px;margin-left:8px}.image-lightbox-warning{color:#ffd77a;font-weight:700}@media(max-width:600px){.maintenance-date-toolbar{align-items:stretch;flex-direction:column}.maintenance-date-select{width:100%}.image-lightbox{padding:6px}.image-lightbox-toolbar{justify-content:flex-start;padding:4px 52px 4px 4px}.image-lightbox-hint{width:100%;margin-left:0}.image-lightbox-close{right:8px;top:9px}}
/* ===== SIDEBAR ===== */
 #standalonePlanList .today-plan-check{display:none}
.sidebar{
  position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:200;
  background:rgba(255,248,240,0.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  transition:transform .3s ease;
}
.sidebar-header{
  padding:16px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;
}
.sidebar-header .logo-icon{font-size:24px;animation:sway 3s ease-in-out infinite;}
.sidebar-header .logo-text{font-size:16px;font-weight:800;color:var(--accent);}
.sidebar-user{
  padding:12px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;
}
.sidebar-user .su-avatar{
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:20px;background:linear-gradient(135deg,var(--accent),var(--gold));flex:0 0 36px;overflow:hidden;position:relative;
}
.sidebar-user .su-avatar img,.member-avatar img,.member-mini-card .mm-avatar img,.gp-avatar img,.lb-avatar img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.boss-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:12px}.boss-filter-grid .form-group{margin:0}.boss-quick{display:flex;gap:8px;margin:12px 0}.boss-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.boss-stats .stat-value{font-size:23px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.boss-table-scroll{overflow:auto}.boss-table{width:100%;border-collapse:collapse;font-size:13px}.boss-table th,.boss-table td{text-align:left;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}.boss-table th{background:var(--surface2)}.boss-table td:last-child{white-space:normal;min-width:120px}.boss-target{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.boss-target b{font-size:32px;color:var(--accent)}.boss-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.boss-trend{max-height:320px;overflow:auto}.boss-trend-row{display:grid;grid-template-columns:85px minmax(30px,1fr) 110px;gap:8px;align-items:center;margin:10px 0;font-size:12px}.boss-trend-row b{text-align:right}.boss-trend-track{height:10px;background:var(--surface2);border-radius:8px;overflow:hidden}.boss-trend-track i{display:block;height:100%;background:var(--accent);border-radius:8px}.boss-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.boss-member{display:flex;gap:12px;align-items:center;text-align:left;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit}.boss-member:hover{border-color:var(--accent)}.boss-member .member-avatar{flex-shrink:0}.boss-member small,.boss-member strong{display:block;margin-top:6px;overflow-wrap:anywhere}.boss-member strong{font-size:20px;color:var(--accent)}.boss-member small{font-size:12px;color:var(--text3)}.boss-report-note{padding:12px 0;border-bottom:1px solid var(--border)}.boss-report-note p{white-space:pre-wrap}.member-month-item b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;font-size:13px}
.boss-store-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px;border-radius:12px;background:var(--surface2);margin:14px 0}.boss-store-summary>b{font-size:24px;color:var(--accent)}.boss-store-summary span{font-size:13px}.boss-missing-store{background:rgba(255,182,39,.1)}.boss-table tfoot th{border-top:2px solid var(--border)}
@media(max-width:760px){.boss-filter-grid{grid-template-columns:1fr 1fr}.boss-chart-grid{grid-template-columns:1fr}.boss-member-grid{grid-template-columns:1fr}.boss-trend-row{grid-template-columns:80px minmax(20px,1fr) 100px}.boss-filter-grid>.btn{grid-column:1/-1}}
.sidebar-user .su-info{flex:1;min-width:0;}
.sidebar-user .su-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-user .su-role{font-size:11px;color:var(--text3);}
.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0;}
.nav-section-label{font-size:10px;color:var(--text3);font-weight:700;padding:8px 20px 4px;text-transform:uppercase;letter-spacing:0.5px;}
.nav-item{
  display:flex;align-items:center;gap:10px;padding:10px 20px;
  cursor:pointer;transition:all .15s;font-size:14px;font-weight:600;
  color:var(--text2);border-left:3px solid transparent;
}
.nav-item:hover{background:rgba(255,107,53,0.06);color:var(--accent);}
.nav-item.active{background:rgba(255,107,53,0.1);color:var(--accent);border-left-color:var(--accent);}
.nav-item .ni-icon{font-size:18px;width:24px;text-align:center;}
.nav-item .ni-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;}
.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);}
.logout-btn{
  width:100%;padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,#fff5f3 0%,#fff 100%);
  border:1px solid rgba(231,76,60,0.18);
  color:#d35400;font-size:13px;font-weight:700;cursor:pointer;
  transition:all .2s;font-family:inherit;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  box-shadow:0 2px 8px rgba(231,76,60,0.08);
}
.logout-btn::before{content:'👋';font-size:16px;}
.logout-btn::after{content:'→';transition:transform .2s;}
.logout-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ffe8e4 0%,#fff 100%);box-shadow:0 4px 12px rgba(231,76,60,0.14);}
.logout-btn:hover::after{transform:translateX(4px);}
.logout-btn .logout-text{font-size:12px;color:var(--text3);font-weight:500;}

/* ===== AVATAR UPLOAD ===== */
.avatar-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
.avatar-preview{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,rgba(255,107,53,0.08),rgba(255,182,39,0.08));border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden;flex-shrink:0;}
.avatar-preview img{width:100%;height:100%;object-fit:cover;}
.avatar-upload-box{position:relative;flex:1;min-width:180px;}
.avatar-upload-box input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;}
.avatar-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 18px;border:2px dashed rgba(255,107,53,0.25);border-radius:var(--r);background:rgba(255,107,53,0.03);transition:all .2s;text-align:center;}
.avatar-upload-zone:hover{background:rgba(255,107,53,0.07);border-color:var(--accent);}
.maintenance-drop-zone.drag-active{background:rgba(255,107,53,0.14);border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,.12);transform:translateY(-1px);}
.avatar-upload-zone .auz-icon{font-size:22px;color:var(--accent);}
.avatar-upload-zone .auz-text{font-size:13px;font-weight:600;color:var(--accent);}
.avatar-upload-zone .auz-hint{font-size:11px;color:var(--text3);}
.avatar-upload-hint{font-size:12px;color:var(--text3);width:100%;margin-top:4px;}
.member-avatar img{width:100%;height:100%;object-fit:cover;}

/* ===== v10 AVATAR UPLOAD UNIFIED ===== */
.avatar-upload-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.avatar-preview{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(255,107,53,0.08),rgba(255,182,39,0.08));border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:36px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px rgba(255,107,53,0.06);}
.avatar-preview img{width:100%;height:100%;object-fit:cover;}
.avatar-upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 22px;border:2px dashed rgba(255,107,53,0.3);border-radius:var(--radius-sm);background:rgba(255,107,53,0.04);transition:all .2s;text-align:center;min-width:140px;cursor:pointer;}
.avatar-upload-zone:hover{background:rgba(255,107,53,0.08);border-color:var(--accent);transform:translateY(-1px);}
.avatar-upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;}
.avatar-upload-zone .auz-icon{font-size:24px;color:var(--accent);}
.avatar-upload-zone .auz-text{font-size:13px;font-weight:700;color:var(--accent);}
.avatar-upload-zone .auz-hint{font-size:11px;color:var(--text3);}
.avatar-emoji-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center;}
.avatar-emoji-title{font-size:12px;color:var(--text3);width:100%;margin-bottom:4px;}
.avatar-emoji-btn{width:38px;height:38px;border-radius:50%;background:rgba(255,107,53,0.06);border:2px solid transparent;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .15s;}
.avatar-emoji-btn:hover{background:rgba(255,107,53,0.12);transform:scale(1.05);}
.avatar-emoji-btn.active{border-color:var(--accent);background:rgba(255,107,53,0.12);}
/* hide any stray file input in avatar contexts */
.avatar-upload input[type="file"],
label.avatar-upload-btn input[type="file"]{display:none;}
label.avatar-upload-btn{display:none;}

/* ===== v10 SUB DASHBOARD STATS ===== */
.game-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px;}
.g-stat{background:var(--card, var(--surface2));backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;padding:14px 6px;text-align:center;transition:transform 0.3s,box-shadow 0.3s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:96px;}
.g-stat:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(255,140,66,0.12);}
.g-stat .g-si{width:38px;height:38px;border-radius:10px;background:rgba(255,107,53,0.08);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;}
.g-stat .g-sv{font-size:20px;font-weight:800;color:var(--text);line-height:1;}
.g-stat .g-sl{font-size:11px;color:var(--text3);margin-top:5px;}
@media(max-width:900px){.game-stats{grid-template-columns:repeat(3,1fr);}.g-stat{min-height:88px;}}
@media(max-width:520px){.game-stats{grid-template-columns:repeat(2,1fr);}}

/* ===== CHART LAYOUT ===== */
.chart-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}
.chart-half .chart-container{height:320px;}
.chart-half{min-width:0}.chart-half canvas{max-width:100%}
.chart-row .chart-half:first-child .chart-container{height:380px;}
@media(max-width:960px){.chart-row{grid-template-columns:1fr;}}
/* ===== DEPT HEADER ===== */
.dept-header-card{display:flex;align-items:center;gap:14px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);}
.dept-header-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,107,53,0.08);display:flex;align-items:center;justify-content:center;font-size:26px;}
.dept-header-info{flex:1;}
.dept-header-name{font-size:18px;font-weight:800;color:var(--text);}
.dept-header-meta{font-size:13px;color:var(--text2);margin-top:2px;}
/* ===== MEMBER LIST BOTTOM ===== */
.member-list-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.member-list-bottom{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
.team-simple-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.team-simple-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface2);border:1px solid var(--border);border-radius:14px}.team-simple-avatar{width:58px;height:58px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#FFF8F0,#F6EEE6);font-size:26px;flex:0 0 58px;padding:3px;border:1px solid rgba(255,140,66,.12)}.team-simple-avatar img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:11px;background:#FFF}.team-simple-info{min-width:0;flex:1}.team-simple-name{font-weight:800;color:var(--text);font-size:15px}.team-simple-dept{font-size:12px;color:var(--text3);margin-top:4px}.team-simple-actions{display:flex;gap:6px;flex-shrink:0}
.member-mini-card{background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px 12px;cursor:pointer;transition:all .15s;box-shadow:0 3px 12px rgba(74,48,32,.035);}
.member-mini-card:hover{transform:translateY(-2px);border-color:rgba(255,107,53,0.3);box-shadow:0 4px 12px rgba(255,107,53,0.08);}
.member-mini-card .mm-avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden;grid-row:1/4;}
.member-mini-card .mm-info{flex:1;min-width:0;}
.member-mini-card .mm-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.member-mini-card .mm-meta{font-size:11px;color:var(--text3);}
.member-store{font-weight:inherit;color:var(--text);}.member-report-status{font-size:12px;font-weight:700;position:absolute;top:0;right:0;margin:0;white-space:nowrap}.member-report-status.reported{color:#12a66a}.member-report-status.pending{color:#c8893a}.member-mini-card .mm-info{position:relative;padding-right:130px}.member-mini-card.readonly{cursor:default}.member-mini-card.readonly:hover{transform:none;border-color:var(--border);box-shadow:var(--shadow)}
.member-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.member-month-item{padding:7px 8px;border-radius:9px;background:rgba(255,247,240,.75);border:1px solid rgba(255,140,66,.1);min-width:0}.member-month-item span{display:block;font-size:10px;color:var(--text3);white-space:nowrap}.member-month-item b{display:block;color:var(--text);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-customer-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-customer-box{border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:rgba(255,255,255,.7)}.member-customer-box.new{border-left:3px solid #e99055}.member-customer-box.old{border-left:3px solid #4f9275}.member-customer-title{font-size:11px;font-weight:800;color:var(--text)}.member-customer-data{display:flex;justify-content:space-between;gap:6px;margin-top:5px;font-size:11px;color:var(--text2)}.member-customer-data b{color:var(--text);font-size:12px}.member-share{grid-column:1/-1}.member-share-labels{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text2);margin-bottom:5px}.member-share-track{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--bg2)}.member-share-new{background:#e99055}.member-share-old{background:#4f9275}.member-progress-row{display:none}.member-progress-track{height:7px;flex:1;border-radius:99px;background:rgba(255,140,66,.12);overflow:hidden}.member-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#e99055,#4f9275)}.member-progress-label{font-size:12px;font-weight:800;color:var(--accent);white-space:nowrap}
 .member-mini-card .mm-info{padding-right:0;min-width:0}.member-mini-card .mm-name{padding-right:130px;min-width:0}.member-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;width:100%}.member-month-item{min-width:0;overflow:hidden}.member-month-item b{font-size:13px;overflow:hidden;text-overflow:ellipsis}.member-report-status{font-size:12px}.member-mini-card{min-width:0;overflow:hidden}@media(max-width:700px){.member-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-mini-card .mm-info{padding-right:0}.member-mini-card .mm-name{padding-right:0}.member-report-status{position:static;margin-top:4px}.member-report-status + .member-month-grid{margin-top:8px}}
.today-plan-list{display:grid;gap:10px}.today-plan-item{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:14px;align-items:start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.today-plan-name{display:flex;align-items:center;gap:8px}.today-plan-name img{width:30px;height:30px;border-radius:9px;object-fit:cover}.today-plan-text{min-width:0;white-space:pre-wrap;line-height:1.7;color:var(--text2);overflow-wrap:anywhere}.today-plan-check{position:relative;grid-template-columns:22px minmax(0,1fr);align-items:center;cursor:pointer}.today-plan-check input{position:absolute;opacity:0;pointer-events:none}.today-plan-checkmark{width:20px;height:20px;border:2px solid var(--border);border-radius:6px;color:#fff;text-align:center;line-height:16px;font-weight:800}.today-plan-check.done .today-plan-checkmark{background:var(--accent);border-color:var(--accent)}.today-plan-check.done .today-plan-text{text-decoration:line-through;color:var(--text3)}@media(max-width:600px){.today-plan-item{grid-template-columns:1fr}.today-plan-check{grid-template-columns:22px minmax(0,1fr)}}
/* ===== DETAIL PANEL ===== */
.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);animation:cardIn .3s ease-out;}
.detail-panel-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;}
.detail-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;}
.detail-stat-value{font-size:20px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.detail-stat-label{font-size:11px;color:var(--text2);margin-top:2px;}
/* ===== EXPORT PREVIEW ===== */
.export-preview-tabs{display:flex;gap:8px;margin-bottom:12px;}
.export-preview-tab{padding:6px 12px;border-radius:20px;background:var(--surface2);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .2s;}
.export-preview-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.export-preview-chart{height:260px;}
.export-preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px;}
.export-preview-sum{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;}
.export-preview-sum .v{font-size:18px;font-weight:800;color:var(--text);}
.export-preview-sum .l{font-size:11px;color:var(--text2);}
/* Mobile sidebar toggle */
.sidebar-toggle{
  display:none;position:fixed;top:14px;left:14px;z-index:210;
  width:40px;height:40px;border-radius:10px;border:1px solid var(--border);
  background:rgba(255,248,240,0.9);backdrop-filter:blur(10px);
  align-items:center;justify-content:center;cursor:pointer;font-size:20px;
}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:199;}
/* ===== MAIN AREA ===== */
.main-area{margin-left:var(--sidebar-w);min-height:100vh;}
.top-bar{
  position:sticky;top:0;z-index:100;
  background:rgba(255,248,240,0.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:0 24px;height:56px;
  display:flex;align-items:center;justify-content:space-between;
}
.top-bar .page-title{font-size:17px;font-weight:700;color:var(--text);}
.top-bar .tb-right{display:flex;align-items:center;gap:12px;}
.tb-date{font-size:13px;color:var(--text3);}
.app-refresh-btn{border:1px solid var(--border);background:rgba(255,255,255,.72);color:var(--text2);height:34px;padding:0 12px;border-radius:10px;cursor:pointer;font:600 13px inherit;display:flex;align-items:center;gap:6px;transition:.2s;}
.app-refresh-btn:hover,.app-refresh-btn:focus{border-color:var(--accent);color:var(--accent);outline:none;background:#fff;}
.app-refresh-btn:disabled{opacity:.65;cursor:wait;}
.app-pin-btn{border:1px solid var(--border);background:rgba(255,255,255,.72);color:var(--text2);height:34px;padding:0 12px;border-radius:10px;cursor:pointer;font:600 13px inherit;}
.app-pin-btn:hover,.app-pin-btn:focus{border-color:var(--accent);color:var(--accent);outline:none;background:#fff;}
.content{padding:20px 24px 80px;max-width:1100px;margin:0 auto;}
/* ===== TREE BANNER ===== */
.tree-banner{
  background:linear-gradient(180deg,rgba(255,232,214,0.5) 0%,rgba(255,248,240,0.2) 100%);
  border-bottom:1px solid var(--border);
  padding:16px 24px 12px;
}
.tree-banner-inner{max-width:1100px;margin:0 auto;text-align:center;}
.tree-svg-wrap{display:flex;justify-content:center;align-items:flex-end;min-height:220px;padding:10px 0;}
.tree-svg-wrap svg{max-width:380px;width:100%;height:auto;}
.tree-info-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px;flex-wrap:wrap;}
.tree-stage-emoji{font-size:28px;animation:sway 3s ease-in-out infinite;}
.tree-stage-name{font-size:18px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tree-progress-text{font-size:13px;color:var(--text2);}
.tree-progress-bar{width:200px;height:6px;background:rgba(255,140,66,0.12);border-radius:3px;overflow:hidden;}
.tree-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:3px;transition:width .5s ease;}
.tree-progress-inline{width:min(520px,82%);height:10px;margin:14px auto 0;background:rgba(255,140,66,.12);border-radius:999px;overflow:hidden}.tree-progress-inline+.tree-progress-text{display:block;font-size:12px;color:var(--text2);text-align:center;margin-top:6px;white-space:nowrap}
.growth-progress-below{display:block;width:100%;padding:2px 0 10px;clear:both}
.coin-mark{display:inline-flex;align-items:center;justify-content:center;width:1.22em;height:1.22em;box-sizing:border-box;border:2px solid #d98b08;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff7bd 0 13%,#ffd75b 34%,#f2a900 72%,#c97900 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.38),0 1px 3px rgba(139,83,0,.28);color:#9a5700;font:900 .62em/1 Arial,sans-serif;vertical-align:-.12em;flex:0 0 auto;text-shadow:0 1px rgba(255,255,255,.5)}
.coin-mark::after{content:'H'}.coin-mark.coin-mark-sm{font-size:14px}.coin-mark.coin-mark-md{font-size:20px}.coin-mark.coin-mark-lg{font-size:30px}
.growth-card{overflow:hidden;background:linear-gradient(145deg,rgba(242,255,246,.94),rgba(255,249,232,.94))}.growth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.growth-title{font-size:16px;font-weight:800;color:var(--text)}.growth-subtitle{font-size:12px;color:var(--text3);margin-top:4px}.growth-rate{flex:0 0 auto;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid rgba(82,183,136,.25);color:#2f855a;font-size:13px;font-weight:800}
.growth-route{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));position:relative;gap:8px;padding:5px 0 2px}.growth-route::before{content:'';position:absolute;left:7%;right:7%;top:26px;height:4px;border-radius:4px;background:#e7e7df}.growth-route-fill{position:absolute;left:7%;top:26px;height:4px;border-radius:4px;background:linear-gradient(90deg,#52b788,#ffb627);transition:width .6s ease}.growth-node{position:relative;z-index:1;text-align:center;color:var(--text3)}.growth-dot{width:46px;height:46px;margin:0 auto 7px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5f4ef;border:3px solid #deddd5;font-size:23px;filter:grayscale(1);opacity:.72;transition:.25s}.growth-node.done .growth-dot{background:#effbf3;border-color:#75c999;filter:none;opacity:1}.growth-node.current .growth-dot{background:#fff7db;border-color:#ffb627;filter:none;opacity:1;box-shadow:0 0 0 5px rgba(255,182,39,.16);transform:scale(1.06)}.growth-label{font-size:11px;font-weight:700;white-space:nowrap}.growth-node.done .growth-label,.growth-node.current .growth-label{color:#397456}
@media(max-width:680px){.growth-route{overflow-x:auto;grid-template-columns:repeat(7,72px);padding-bottom:8px;justify-content:start}.growth-route::before{left:34px;right:auto;width:432px}.growth-route-fill{left:34px}.growth-head{align-items:center}}
/* ===== CARDS ===== */
.card{
  background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px;margin-bottom:16px;
  animation:cardIn .3s ease-out;
}
.modal-backdrop{position:fixed;inset:0;background:rgba(60,40,20,.28);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 20px 60px rgba(80,40,10,.22)}
@keyframes cardIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.card-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.card-title .icon{font-size:20px;}
/* ===== STATS GRID ===== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;}
.stat-card{
  background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px;text-align:center;transition:transform .2s;
}
.stat-card:hover{transform:translateY(-2px);}
.stat-value{font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.stat-label{font-size:12px;color:var(--text2);margin-top:4px;}
.stat-icon{font-size:24px;margin-bottom:4px;}
/* Dashboard month navigation and read-only history */
.dashboard-month-selector{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:linear-gradient(120deg,var(--surface),var(--surface2));}
.dashboard-month-copy{display:flex;flex-direction:column;gap:4px;min-width:190px;}
.dashboard-month-copy strong{font-size:15px;color:var(--text);}
.dashboard-month-copy span{font-size:12px;color:var(--text2);}
.dashboard-month-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;}
.dashboard-month-controls .btn{min-height:40px;padding:8px 12px;white-space:nowrap;}
.dashboard-month-controls .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.dashboard-month-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--text2);}
.dashboard-month-field .form-input{width:160px;min-height:40px;background:var(--surface2);font-weight:700;}
.dashboard-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;}
.dashboard-history-heading h2{font-size:24px;color:var(--text);}
.dashboard-history-heading p{font-size:12px;color:var(--text2);margin-top:5px;}
.dashboard-history-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.dashboard-history-badge{padding:6px 10px;border-radius:999px;background:rgba(82,183,136,.14);color:var(--green);font-size:12px;font-weight:800;white-space:nowrap;}
.dashboard-history-archive{margin-bottom:22px;}
.dashboard-history-source-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);}
.dashboard-history-source-heading h3{margin:0;font-size:17px;color:var(--text);}
.dashboard-history-source-heading p{margin:5px 0 0;font-size:12px;line-height:1.5;color:var(--text2);}
.dashboard-history-source-tag{padding:5px 9px;border-radius:999px;background:rgba(255,146,56,.15);color:var(--accent);font-size:11px;font-weight:800;white-space:nowrap;}
.dashboard-history-source-tag.native{background:rgba(82,183,136,.14);color:var(--green);}
.dashboard-history-unmapped{display:block;margin-top:3px;color:var(--text3);font-size:11px;font-weight:400;}
.dashboard-history-native-empty{font-size:13px;color:var(--text2);}
.dashboard-history-note,.dashboard-history-meta{font-size:12px;color:var(--text2);line-height:1.7;margin:0 0 14px;}
.dashboard-history-stats .stat-value{font-size:23px;overflow-wrap:anywhere;}
.dashboard-history-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.dashboard-history-split>div{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);}
.dashboard-history-split strong{font-size:12px;color:var(--text2);}
.dashboard-history-split b{font-size:18px;color:var(--accent);}
.dashboard-history-split span{font-size:12px;color:var(--text3);}
.dashboard-history-chart{height:380px;min-width:0;}
.dashboard-history-daily-details{margin-top:12px;color:var(--text2);font-size:12px;}
.dashboard-history-daily-details summary{cursor:pointer;font-weight:700;}
.dashboard-history-daily-details table{width:100%;margin-top:8px;border-collapse:collapse;}
.dashboard-history-daily-details th,.dashboard-history-daily-details td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;}
.dashboard-history-departments{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;}
.dashboard-history-dept{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);}
.dashboard-history-dept strong{font-size:13px;color:var(--text);}
.dashboard-history-dept b{font-size:19px;color:var(--accent);}
.dashboard-history-dept span{font-size:12px;color:var(--text2);}
.dashboard-history-table-wrap{overflow-x:auto;}
.dashboard-history-table{width:100%;min-width:650px;border-collapse:collapse;font-size:13px;}
.dashboard-history-table th,.dashboard-history-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;}
.dashboard-history-table th{color:var(--text2);background:var(--surface2);font-weight:700;}
.dashboard-history-table td{color:var(--text);}
@media(max-width:760px){.dashboard-month-selector{align-items:stretch;flex-direction:column}.dashboard-month-controls{width:100%}.dashboard-month-field{flex:1;min-width:132px}.dashboard-month-field .form-input{width:100%}.dashboard-history-split{grid-template-columns:1fr}.dashboard-history-heading,.dashboard-history-source-heading{align-items:flex-start;flex-direction:column}.dashboard-history-stats .stat-value{font-size:20px}.dashboard-history-chart{height:290px}}
/* ===== FORM ===== */
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.form-label .required{color:var(--red);}
.form-input,.form-select,.form-textarea{
  width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.8);color:var(--text);font-size:14px;outline:none;
  transition:border-color .2s;font-family:inherit;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,0.1);}
.form-textarea{min-height:80px;resize:vertical;}
.form-row{display:flex;gap:12px;}
.form-row .form-group{flex:1;}
.form-hint{font-size:11px;color:var(--text3);margin-top:4px;}
.form-section{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:14px;background:rgba(255,255,255,0.4);}
.form-section-title{font-size:14px;font-weight:700;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.form-section-weight{font-size:11px;color:var(--text3);margin-left:auto;background:rgba(255,140,66,0.1);padding:2px 8px;border-radius:8px;}
/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 24px;border:none;border-radius:var(--radius-sm);
  font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;
}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 12px rgba(255,107,53,0.3);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,107,53,0.4);}
.btn-gold{background:linear-gradient(135deg,var(--gold),#FFD700);color:#fff;box-shadow:0 4px 12px rgba(255,182,39,0.3);}
.btn-outline{background:transparent;border:1.5px solid var(--accent);color:var(--accent);}
.btn-outline:hover{background:rgba(255,107,53,0.06);}
.btn-danger{background:rgba(231,76,60,0.1);border:1px solid rgba(231,76,60,0.2);color:var(--red);}
.btn-danger:hover{background:rgba(231,76,60,0.15);}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-block{width:100%;}
/* ===== TASK / ORDER LIST ===== */
.order-card{
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px;margin-bottom:10px;background:rgba(255,255,255,0.6);
  transition:all .2s;
}
.order-card:hover{background:rgba(255,255,255,0.85);box-shadow:var(--shadow);}
.order-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.order-card-title{font-size:14px;font-weight:700;color:var(--accent);}
.order-card-remove{font-size:18px;color:var(--text3);cursor:pointer;background:none;border:none;padding:4px;line-height:1;}
.order-card-remove:hover{color:var(--red);}
.reach-card{
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px;margin-bottom:8px;background:rgba(255,255,255,0.5);
  display:flex;align-items:center;gap:10px;
}
.reach-card .rc-icon{font-size:20px;}
.reach-card .rc-content{flex:1;}
.reach-card .rc-name{font-size:13px;font-weight:600;color:var(--text);}
.reach-card .rc-detail{font-size:11px;color:var(--text3);}
/* ===== ACHIEVEMENTS ===== */
.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;}
.badge{text-align:center;padding:12px 8px;background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--radius-sm);transition:transform .2s;}
.badge:hover{transform:scale(1.05);}
.badge.locked{opacity:0.35;filter:grayscale(1);}
.badge-icon{font-size:32px;margin-bottom:4px;}
.badge-name{font-size:11px;color:var(--text2);font-weight:600;}
.badge-desc{font-size:10px;color:var(--text3);margin-top:2px;}
/* ===== STREAK ===== */
.streak-banner{
  background:linear-gradient(135deg,rgba(255,107,53,0.1),rgba(255,182,39,0.1));
  border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:16px;
}
.streak-fire{font-size:32px;animation:flicker 1.5s ease-in-out infinite;}
@keyframes flicker{0%,100%{transform:scale(1) rotate(-3deg);}50%{transform:scale(1.1) rotate(3deg);}}
.streak-info{flex:1;}
.streak-num{font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.streak-text{font-size:12px;color:var(--text2);}
/* ===== LEADERBOARD ===== */
.leaderboard{display:flex;flex-direction:column;gap:8px;}
.lb-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:52px;overflow:hidden;}
.lb-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;}
.lb-rank.r1{background:linear-gradient(135deg,#FFD700,#FFA500);color:#fff;animation:bounce 1s ease-in-out infinite;}
.lb-rank.r2{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#fff;}
.lb-rank.r3{background:linear-gradient(135deg,#CD7F32,#B87333);color:#fff;}
.lb-rank.other{background:rgba(255,107,53,0.1);color:var(--accent);}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
.lb-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:20px;background:linear-gradient(135deg,rgba(255,107,53,.1),rgba(255,182,39,.14));}
.lb-name{flex:1;font-size:14px;font-weight:600;color:var(--text);}
.lb-score{font-size:16px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.lb-item.podium-1{background:linear-gradient(90deg,#FFF7D6,#FFFDF7);border-color:#F1C44E;box-shadow:0 5px 16px rgba(241,196,78,.2)}
.lb-item.podium-2{background:linear-gradient(90deg,#F3F5F8,#FFF);border-color:#BFC7D1}.lb-item.podium-3{background:linear-gradient(90deg,#FFF0E4,#FFF);border-color:#D69A68}
.lb-medal{font-size:22px;line-height:1;filter:drop-shadow(0 2px 3px rgba(100,70,30,.2))}
.lb-performance{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:190px;justify-content:flex-end}.lb-performance-amount{font-weight:900;color:var(--accent);font-size:16px}.lb-rate{display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px;color:#b85d17;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.lb-rate.is-over{color:#9a6400}.lb-header{display:flex;justify-content:flex-end;gap:30px;padding:0 14px 7px;color:var(--text3);font-size:11px;font-weight:800}.lb-header span:first-child{min-width:90px;text-align:right}.lb-header span:last-child{min-width:78px;text-align:right}@media(max-width:620px){.lb-performance{min-width:145px;gap:6px}.lb-header{gap:10px}.lb-header span:first-child{min-width:70px}.lb-rate{min-width:66px}}
.notice-board{position:relative;overflow:hidden;margin-bottom:16px;padding:12px 16px;border:1px solid rgba(255,182,39,.35);border-radius:14px;background:linear-gradient(90deg,#fff9e8,#fff4df 55%,#fffaf0);box-shadow:0 8px 22px rgba(221,143,28,.1)}.notice-board::before{content:'📣';position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#ffb627;color:#fff;font-size:17px;vertical-align:middle;box-shadow:0 3px 8px rgba(200,130,20,.25)}.notice-marquee-window{display:inline-block;max-width:calc(100% - 48px);vertical-align:middle;overflow:hidden;white-space:nowrap}.notice-marquee{display:inline-block;white-space:nowrap;color:#8b5b13;font-weight:800;padding-left:100%;animation:noticeScroll 14s linear infinite}.notice-board:hover .notice-marquee{animation-play-state:paused}@keyframes noticeScroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}.notice-meta{display:block;margin:4px 0 0 40px;color:#b08750;font-size:11px}.notice-admin-card{border-color:rgba(255,182,39,.38);background:linear-gradient(145deg,#fffaf0,#fff)}.notice-admin-row{display:flex;gap:10px;align-items:flex-end}.notice-admin-row .form-group{flex:1;margin-bottom:0}.notice-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.save-success-pop{position:fixed;z-index:3000;left:50%;top:45%;transform:translate(-50%,-50%) scale(.86);min-width:220px;padding:22px 26px;border-radius:22px;text-align:center;color:#fff;background:linear-gradient(145deg,#53bf7a,#219b5a);box-shadow:0 20px 54px rgba(35,135,78,.32);opacity:0;pointer-events:none;animation:saveSuccessPop 1.8s ease forwards}.save-success-pop b{display:block;margin-top:7px;font-size:18px}.save-success-pop span{display:block;margin-top:5px;font-size:12px;opacity:.9}.save-success-icon{font-size:44px;line-height:1;animation:saveSuccessBounce .55s ease both}@keyframes saveSuccessPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}16%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(.94)}}@keyframes saveSuccessBounce{0%{transform:scale(.3) rotate(-20deg)}70%{transform:scale(1.18) rotate(8deg)}100%{transform:scale(1) rotate(0)}}
/* ===== DEPT TABS ===== */
.dept-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;}
.dept-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,0.6);cursor:pointer;transition:all .2s;font-size:13px;font-weight:600;color:var(--text2);white-space:nowrap;}
.dept-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-color:transparent;}
/* ===== MEMBER CARD ===== */
.member-card{display:flex;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,0.6);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;transition:all .2s;}
.member-card:hover{background:rgba(255,255,255,0.85);}
.member-avatar{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 48px;font-size:28px;background:linear-gradient(135deg,var(--accent),var(--gold));}
.member-info{flex:1;}
.member-name{font-size:14px;font-weight:700;color:var(--text);}
.member-detail{font-size:12px;color:var(--text3);margin-top:2px;}
.member-progress{width:56px;height:56px;flex-shrink:0;position:relative;}
.member-progress svg{transform:rotate(-90deg);}
.member-progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--accent);}
/* ===== CHART ===== */
.chart-container{position:relative;height:240px;margin-top:8px;}
/* ===== CONFETTI ===== */
.confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;}
.confetti-piece{position:absolute;width:10px;height:10px;animation:confetti-fall 3s ease-out forwards;}
@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1;}100%{transform:translateY(100vh) rotate(720deg);opacity:0;}}
/* ===== TOAST ===== */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(74,48,32,0.92);color:#fff;padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;z-index:9999;opacity:0;transition:opacity .3s;box-shadow:0 4px 20px rgba(0,0,0,0.15);}
.toast.show{opacity:1;}
/* ===== TABS ===== */
.tabs{display:flex;gap:4px;margin-bottom:16px;background:rgba(255,255,255,0.5);border-radius:var(--radius-sm);padding:4px;}
.tab{flex:1;text-align:center;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text2);transition:all .2s;}
.tab.active{background:#fff;color:var(--accent);box-shadow:var(--shadow);}
/* ===== COINS ===== */
.coin-display{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;color:var(--gold);}
.voucher-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.voucher-card{text-align:center;padding:16px 8px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;background:rgba(255,255,255,0.6);}
.voucher-card:hover{border-color:var(--gold);transform:scale(1.03);}
.voucher-card.disabled{opacity:0.4;cursor:not-allowed;}
.voucher-amount{font-size:24px;font-weight:800;color:var(--gold);}
.voucher-cost{font-size:12px;color:var(--text3);margin-top:4px;}
/* ===== EMPTY STATE ===== */
.empty-state{text-align:center;padding:40px 20px;color:var(--text3);}
.empty-state .emoji{font-size:48px;margin-bottom:8px;}
/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  :root{--sidebar-w:240px;}
  .sidebar{transform:translateX(-100%);z-index:300;}
  .sidebar.show{transform:translateX(0);}
  .sidebar-toggle{display:flex;}
  .sidebar-overlay.show{display:block;}
  .main-area{margin-left:0;}
  .content{padding:14px 12px 80px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .top-bar{padding:0 14px 0 60px;}
  .app-pin-btn span,.app-refresh-btn span{display:none;}
  .app-pin-btn,.app-refresh-btn{width:34px;padding:0;justify-content:center;}
}
/* ===== UTILS ===== */
.hidden{display:none!important;}
.text-center{text-align:center;}
.text-sm{font-size:12px;}
.text-muted{color:var(--text3);}
.mt-2{margin-top:8px;}
.mt-4{margin-top:16px;}
.mb-2{margin-bottom:8px;}
.flex{display:flex;}
.gap-2{gap:8px;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}

/* ===== BOSS DEPT OVERVIEW ===== */
.dept-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;}
.dept-overview-card{
  background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;
}
.dept-overview-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--accent);}
.dept-overview-card .doc-icon{font-size:36px;margin-bottom:8px;}
.dept-overview-card .doc-name{font-size:17px;font-weight:800;color:var(--text);}
.dept-overview-card .doc-stats{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;}
.dept-overview-card .doc-stat{font-size:12px;color:var(--text2);}
.dept-overview-card .doc-stat b{font-size:16px;color:var(--accent);display:block;}
.dept-overview-card .doc-bar{width:100%;height:5px;background:rgba(255,140,66,0.12);border-radius:3px;margin-top:10px;overflow:hidden;}
.dept-overview-card .doc-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:3px;transition:width .5s;}
/* ===== CUSTOMER TYPE SECTIONS ===== */
.cust-type-section{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:14px;background:rgba(255,255,255,0.4);}
.cust-type-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.cust-type-new{color:var(--accent);border-color:rgba(255,107,53,0.25);}
.cust-type-old{color:var(--green);border-color:rgba(82,183,136,0.25);}
.cust-type-reach{color:var(--blue);border-color:rgba(52,152,219,0.25);}
.cust-type-summary{color:var(--purple);border-color:rgba(185,131,255,0.25);}

/* ===== Game Dashboard (Sub) ===== */
.game-player-bar{display:flex;align-items:center;gap:14px;padding:12px 20px;background:rgba(255,248,240,0.85);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--r);margin-bottom:14px;flex-wrap:wrap;}
.customer-insight-card{padding:18px 20px}.customer-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-insight-box{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.72)}.customer-insight-box.new{border-left:4px solid #e99055}.customer-insight-box.old{border-left:4px solid #4f9275}.customer-insight-title{font-weight:800;color:var(--text);margin-bottom:8px}.customer-insight-values{display:flex;justify-content:space-between;gap:10px;color:var(--text2)}.customer-insight-values b{color:var(--text);font-size:18px}.customer-insight-share{margin-top:14px}.customer-insight-share .member-share-labels{font-size:12px}.customer-insight-share .member-share-track{height:10px}@media(max-width:600px){.customer-insight-grid{grid-template-columns:1fr}}
.gp-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#FFB627,#FF6B35);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 2px 8px rgba(255,107,53,0.3);flex:0 0 48px;overflow:hidden;}
.gp-info{display:flex;flex-direction:column;gap:2px;min-width:100px;}
.gp-name{font-size:16px;font-weight:700;color:var(--text);}
.gp-name .dept{font-size:11px;color:var(--text3);font-weight:400;}
.gp-level{font-size:11px;color:var(--accent);font-weight:600;}
.gp-level .badge{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,#FFB627,#FF6B35);color:#fff;border-radius:6px;font-size:10px;margin-right:4px;}
.gp-exp{flex:1;max-width:240px;min-width:120px;}
.gp-exp-bar{height:10px;background:rgba(255,140,66,0.1);border-radius:5px;overflow:hidden;position:relative;}
.gp-exp-fill{height:100%;background:linear-gradient(90deg,#FFB627,#FF6B35);border-radius:5px;transition:width 1.5s ease;position:relative;}
.gp-exp-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:gpShimmer 2s infinite;}
@keyframes gpShimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.gp-exp-text{font-size:10px;color:var(--text3);margin-top:2px;}
.gp-coins{display:flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#FFF3E0,#FFE0B2);border-radius:20px;border:1px solid rgba(255,182,39,0.3);flex-shrink:0;}
.gp-coin-icon{font-size:20px;animation:gpCoinSpin 3s ease-in-out infinite;}
@keyframes gpCoinSpin{0%,100%{transform:rotateY(0deg);}50%{transform:rotateY(180deg);}}
.gp-coin-num{font-size:18px;font-weight:800;color:#E65100;}
.gp-streak{display:flex;align-items:center;gap:4px;padding:6px 14px;background:linear-gradient(135deg,#FFF3E0,#FFCCBC);border-radius:20px;border:1px solid rgba(255,87,34,0.2);flex-shrink:0;}
.gp-streak-icon{font-size:18px;animation:gpFlame 1.5s ease-in-out infinite;}
@keyframes gpFlame{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
.gp-streak-num{font-size:15px;font-weight:700;color:#BF360C;}
/* Game stats */
.game-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px;}
.g-stat{background:var(--card);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;padding:14px 8px;text-align:center;transition:transform 0.3s,box-shadow 0.3s;}
.g-stat:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(255,140,66,0.12);}
.g-stat .g-si{font-size:28px;margin-bottom:4px;}
.g-stat .g-sv{font-size:22px;font-weight:800;color:var(--text);}
.g-stat .g-sl{font-size:11px;color:var(--text3);margin-top:2px;}
/* Monthly goal */
.game-goal{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,rgba(255,248,240,0.8),rgba(255,224,200,0.4));border-radius:var(--r);border:1px solid var(--border);margin-bottom:14px;}
.game-goal .gg-icon{font-size:40px;flex-shrink:0;}
.game-goal .gg-info{flex:1;}
.gg-title{font-size:14px;font-weight:700;color:var(--text);}
.gg-bar{height:14px;background:rgba(255,140,66,0.1);border-radius:7px;overflow:hidden;margin-top:8px;}
.gg-bar-fill{height:100%;background:linear-gradient(90deg,#FFB627,#FF6B35);border-radius:7px;transition:width 1.5s ease;position:relative;}
.gg-bar-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:gpShimmer 2s infinite;}
.gg-text{font-size:12px;color:var(--text3);margin-top:4px;}
.gg-pct{font-size:28px;font-weight:800;color:var(--accent);flex-shrink:0;}
/* Game grid */
.game-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.game-card2{background:var(--card);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);}
.gc-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:700;color:var(--text);}
.gc-header .icon{font-size:18px;}
.gc-header .count{margin-left:auto;font-size:11px;color:var(--text3);font-weight:400;background:rgba(255,140,66,0.06);padding:2px 8px;border-radius:8px;}
/* Task board */
.gtask-list{display:flex;flex-direction:column;gap:8px;}
.gtask-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,0.5);border:1px solid rgba(255,140,66,0.08);border-radius:12px;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;}
.gtask-item:hover{background:rgba(255,248,240,0.85);transform:translateX(4px);box-shadow:0 2px 8px rgba(255,140,66,0.06);}
.gtask-item.done{background:rgba(82,183,136,0.08);border-color:rgba(82,183,136,0.2);}
.gtask-item.done .gtask-name{text-decoration:line-through;color:var(--text3);}
.gtask-item.done::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green);}
.gtask-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.3s;}
.gtask-item.done .gtask-check{background:var(--green);border-color:var(--green);}
.gtask-check .check{color:#fff;font-size:13px;opacity:0;transition:opacity 0.3s;}
.gtask-item.done .gtask-check .check{opacity:1;animation:gpPop 0.4s ease;}
@keyframes gpPop{0%{transform:scale(0);}60%{transform:scale(1.3);}100%{transform:scale(1);}}
.gtask-icon{font-size:20px;flex-shrink:0;}
.gtask-content{flex:1;min-width:0;}
.gtask-name{font-size:13px;font-weight:600;color:var(--text);}
.gtask-progress{font-size:11px;color:var(--text3);margin-top:2px;}
.gtask-reward{font-size:11px;font-weight:700;color:#E65100;background:rgba(255,182,39,0.12);padding:3px 8px;border-radius:8px;flex-shrink:0;}
.gtask-item.done .gtask-reward{color:var(--green);background:rgba(82,183,136,0.12);}
.gtask-summary{margin-top:12px;padding:10px;text-align:center;background:linear-gradient(135deg,rgba(255,248,240,0.6),rgba(255,224,200,0.3));border-radius:10px;font-size:12px;color:var(--text2);}
.gtask-summary b{color:var(--accent);font-size:14px;}
/* Tree card */
.gtree-card{text-align:center;}
.gtree-wrap{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:200px;padding:10px 0;}
.gtree-wrap svg{width:100%;height:auto;max-width:280px;display:block;}
.gleaf{position:absolute;font-size:14px;pointer-events:none;opacity:0;}
@keyframes gpLeafFall{0%{top:-10px;opacity:0;transform:rotate(0deg) translateX(0);}10%{opacity:0.8;}90%{opacity:0.8;}100%{top:100%;opacity:0;transform:rotate(360deg) translateX(30px);}}
.gtree-stage{font-size:18px;font-weight:800;color:var(--accent);margin-top:8px;}
.gtree-hint{font-size:12px;color:var(--text3);margin-top:4px;}
.gtree-pbar{margin-top:12px;height:10px;background:rgba(255,140,66,0.1);border-radius:5px;overflow:hidden;}
.gtree-pfill{height:100%;background:linear-gradient(90deg,#66BB6A,#4CAF50);border-radius:5px;transition:width 1.5s ease;}
.gtree-plabel{font-size:11px;color:var(--text3);margin-top:4px;}
/* Shop */
.gshop-item{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,0.5);border:1px solid rgba(255,182,39,0.1);border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all 0.3s;}
.gshop-item:hover:not(.locked){background:rgba(255,248,240,0.85);transform:scale(1.03);}
.gshop-item.locked{opacity:0.45;cursor:not-allowed;}
.gshop-icon{font-size:26px;flex-shrink:0;}
.gshop-info{flex:1;}
.gshop-name{font-size:13px;font-weight:600;color:var(--text);}
.gshop-cost{font-size:12px;color:#E65100;font-weight:700;}
.gshop-btn{font-size:11px;padding:4px 10px;border-radius:8px;border:none;cursor:pointer;background:linear-gradient(135deg,#FFB627,#FF6B35);color:#fff;font-weight:600;}
.gshop-item.locked .gshop-btn{background:#D7CCC8;cursor:not-allowed;}
/* Achievements */
.gach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.g-achievement{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,0.5);border:1px solid rgba(255,140,66,0.08);border-radius:12px;padding:6px;transition:all 0.3s;cursor:pointer;}
.g-achievement.unlocked .ga-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(255,182,39,0.4));}
.g-achievement.unlocked:hover{transform:scale(1.12) rotate(-3deg);background:rgba(255,248,240,0.95);box-shadow:0 4px 16px rgba(255,182,39,0.15);}
.g-achievement.locked{opacity:0.35;filter:grayscale(1);}
.g-achievement.locked .ga-icon{font-size:28px;}
.ga-name{font-size:9px;text-align:center;color:var(--text2);font-weight:600;line-height:1.2;}
/* Month map */
.gmonth-map{display:flex;align-items:center;gap:0;overflow-x:auto;padding:16px 8px 30px 8px;}
.gmap-node{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;position:relative;transition:all 0.3s;}
.gmap-node.completed{background:linear-gradient(135deg,#66BB6A,#4CAF50);color:#fff;box-shadow:0 2px 8px rgba(76,175,80,0.3);}
.gmap-node.completed:hover{transform:scale(1.15);box-shadow:0 4px 12px rgba(76,175,80,0.4);}
.gmap-node.today{background:linear-gradient(135deg,#FFB627,#FF6B35);color:#fff;box-shadow:0 0 0 4px rgba(255,182,39,0.2);animation:gpPulse 2s infinite;}
@keyframes gpPulse{0%,100%{box-shadow:0 0 0 4px rgba(255,182,39,0.2);}50%{box-shadow:0 0 0 10px rgba(255,182,39,0.05);}}
.gmap-node.future{background:rgba(255,255,255,0.4);border:2px dashed rgba(255,140,66,0.15);color:var(--text3);}
.gmap-conn{width:14px;height:3px;background:rgba(255,140,66,0.15);flex-shrink:0;}
.gmap-conn.completed{background:#4CAF50;}
.gmap-tip{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-size:10px;padding:3px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;z-index:10;}
.gmap-node:hover .gmap-tip{opacity:1;}
/* Floating coin & popup */
.gp-float-coin{position:fixed;font-size:24px;font-weight:800;color:#E65100;pointer-events:none;z-index:999;animation:gpFloatUp 1.5s ease-out forwards;}
@keyframes gpFloatUp{0%{transform:translateY(0) scale(1);opacity:1;}100%{transform:translateY(-80px) scale(1.5);opacity:0;}}
.gp-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:linear-gradient(135deg,#FFF8F0,#FFE8D6);border:2px solid var(--gold);border-radius:20px;padding:24px 36px;text-align:center;z-index:1000;box-shadow:0 8px 32px rgba(255,182,39,0.3);transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1);}
.gp-popup.show{transform:translate(-50%,-50%) scale(1);}
.gp-pop-icon{font-size:56px;margin-bottom:8px;animation:gpBounce 0.6s ease;}
@keyframes gpBounce{0%{transform:scale(0);}60%{transform:scale(1.2);}100%{transform:scale(1);}}
.gp-pop-title{font-size:18px;font-weight:800;color:var(--accent);margin-bottom:4px;}
.gp-pop-desc{font-size:13px;color:var(--text2);}
/* Player bar revenue badges */
.gp-rev-badges{display:flex;gap:10px;margin-left:auto;}
.gp-rev-badge{background:rgba(255,255,255,0.55);border:1px solid rgba(255,140,66,0.12);border-radius:10px;padding:6px 12px;text-align:center;min-width:90px;}
.gp-rev-label{font-size:10px;color:var(--text3);display:block;}
.gp-rev-value{font-size:14px;font-weight:800;color:var(--accent);display:block;}
@media(max-width:600px){.gp-rev-badges{display:none;}}
/* Member detail board embedded */
#memberDetailBoard{animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
/* Responsive */
@media(max-width:960px){.game-grid2{grid-template-columns:1fr;}.game-stats{grid-template-columns:repeat(3,1fr);}.gp-exp{max-width:120px;}}
@media(max-width:600px){.game-stats{grid-template-columns:repeat(2,1fr);}.game-player-bar{flex-wrap:wrap;gap:8px;}.gp-exp{order:3;flex-basis:100%;max-width:none;}.gach-grid{grid-template-columns:repeat(4,1fr);}.game-goal{flex-wrap:wrap;}}
.plan-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.plan-item-num{width:28px;height:28px;border-radius:50%;background:rgba(255,107,53,0.1);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
.plan-item{align-items:flex-start}.plan-item-num{margin-top:8px}.plan-item-input{min-height:44px;line-height:1.6;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.plan-item-remove{margin-top:7px}
.plan-item-input{flex:1;}
.plan-item-remove{width:28px;height:28px;border:none;background:rgba(231,76,60,0.08);color:var(--red);border-radius:50%;cursor:pointer;font-size:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.gtask-item.fixed{background:rgba(255,182,39,0.08);border-color:rgba(255,182,39,0.2);}
.gtask-item.fixed .gtask-check{border-color:#FFB627;}
.gtask-item.fixed.done .gtask-check{background:#FFB627;border-color:#FFB627;}
.gtask-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0;}
.gtask-item.empty{background:rgba(255,248,240,0.4);border-color:rgba(255,140,66,0.15);border-style:dashed;cursor:pointer;opacity:0.8;}
.gtask-item.empty:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,107,53,0.06);opacity:1;}
.gtask-item.empty .gtask-check{border-style:dashed;border-color:var(--text3);background:transparent;}
.gtask-item.empty .gtask-progress{color:var(--accent);font-weight:600;}


/* ===== v11 HARVEST BRAND ===== */
.tree-emoji{font-size:56px;filter:drop-shadow(0 4px 10px rgba(255,140,66,0.25));animation:sway 4s ease-in-out infinite;}
.login-card h1{font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px;}

/* ===== v11 AVATAR COLLAPSIBLE ===== */
.avatar-collapsible{max-height:0;overflow:hidden;transition:max-height .35s ease,margin .25s ease;margin-top:0;}
.avatar-collapsible.open{max-height:300px;margin-top:12px;}
.avatar-preview{cursor:pointer;transition:transform .2s;}
.avatar-preview:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(255,107,53,0.18);}
.avatar-preview-toggle-hint{position:absolute;font-size:10px;color:var(--text3);margin-top:2px;text-align:center;width:72px;}

/* ===== v11 TREE PARTICLES ===== */
.tree-particle{position:absolute;font-size:18px;pointer-events:none;user-select:none;}
@keyframes tpFloat{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(-60px) translateX(30px) rotate(360deg);opacity:0;}}
@keyframes tpButterfly{0%{transform:translate(0,0) rotate(0deg);}25%{transform:translate(40px,-20px) rotate(15deg);}50%{transform:translate(0,-40px) rotate(-15deg);}75%{transform:translate(-40px,-20px) rotate(15deg);}100%{transform:translate(0,0) rotate(0deg);}}
@keyframes tpCoin{0%{transform:translateY(0) rotate(0deg);opacity:0;}10%{opacity:1;}90%{opacity:0.8;}100%{transform:translateY(-200px) rotate(720deg);opacity:0;}}
.tp-leaf-a{animation:tpFloat 4s ease-in-out infinite;}
.tp-leaf-b{animation:tpFloat 5s ease-in-out infinite reverse;}
.tp-butterfly{animation:tpButterfly 6s ease-in-out infinite;}
.tp-coin{animation:tpCoin 3.5s ease-in-out infinite;}

/* ===== v11 DATE SELECTOR ===== */
.date-selector{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:14px;flex-wrap:wrap;}
.date-selector label{font-size:13px;font-weight:600;color:var(--text2);}
.date-selector input[type="date"]{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:13px;color:var(--text);font-family:inherit;}
.date-selector .date-info{font-size:12px;color:var(--text3);margin-left:auto;}
.date-selector .btn{padding:6px 14px;font-size:12px;}

/* ===== v11 VIEW AS BANNER (admin viewing member's dashboard) ===== */
.view-as-banner{background:linear-gradient(135deg,rgba(229,244,238,.98),rgba(255,248,231,.96));border:1px solid rgba(47,112,88,.24);border-radius:14px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text);font-weight:600;box-shadow:0 4px 14px rgba(43,82,65,.07)}
.view-as-banner .icon{font-size:18px;}
.view-as-banner strong{color:var(--accent);font-weight:800;margin:0 4px;}
.btn-close-viewas{margin-left:auto;padding:6px 14px;background:var(--surface);border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;}
.btn-close-viewas:hover{background:var(--accent);color:#fff;}

/* ===== v11 EXPORT LIST TABLE ===== */
/* IMPORTANT: border-collapse: separate + border-spacing: 0 is REQUIRED for position:sticky on <th> to work */
.export-list-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;margin-top:14px;}
.export-list-table thead{position:sticky;top:0;z-index:5;}
.export-list-table th{background:#FFF3E5;color:var(--text);padding:10px 8px;text-align:left;border-bottom:2px solid var(--accent);font-weight:700;position:sticky;top:0;z-index:5;box-shadow:0 1px 0 var(--accent);}
.export-list-table td{padding:8px;border-bottom:1px solid var(--border);color:var(--text2);}
.export-list-table tbody tr:hover td{background:rgba(255,107,53,0.04);}
.export-list-table .rev{font-weight:700;color:var(--accent);}
.export-list-scroll{max-height:480px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);}
.export-list-empty{text-align:center;padding:40px;color:var(--text3);font-size:13px;}
.export-performance-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:620px;}
.export-performance-table{border-collapse:separate;border-spacing:0;min-width:1500px;width:max-content;font-size:11px;color:var(--text2);}
.export-performance-table th,.export-performance-table td{border-right:1px solid #D9CFC5;border-bottom:1px solid #D9CFC5;padding:6px 7px;text-align:center;white-space:nowrap;min-width:64px;}
.export-performance-table thead th{position:sticky;top:0;z-index:8;background:#FFF0E3;color:var(--text);font-weight:800;}
.export-performance-table thead tr:nth-child(2) th{top:30px;background:#FFF8F1;}
.export-performance-table .sticky-col{position:sticky;z-index:7;background:#FFFDFC;}
.export-performance-table thead .sticky-col{z-index:11;background:#FFE8D6;}
.export-performance-table .new-row td{background:#FFF7DB;}.export-performance-table .old-row td{background:#EAF4E4;}
.export-performance-table .new-row .sticky-col{background:#FFF7DB;}.export-performance-table .old-row .sticky-col{background:#EAF4E4;}
.export-performance-table .summary-row td{background:#FFF0E3;font-weight:800;color:var(--text);}
.export-performance-table .rate-good{color:#2E8B57;font-weight:800}.export-performance-table .rate-warn{color:#E58A00;font-weight:800}.export-performance-table .rate-low{color:#D94A3A;font-weight:800}

/* ===== v11 EXCHANGE TWO-WAY ===== */
.exchange-request-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;display:flex;align-items:center;gap:12px;}
.exchange-request-card.pending{border-left:4px solid #FFB627;background:rgba(255,182,39,0.06);}
.exchange-request-card.approved{border-left:4px solid #52B788;opacity:0.85;}
.exchange-request-card.rejected{border-left:4px solid var(--red);opacity:0.65;}
.exchange-request-info{flex:1;min-width:0;}
.exchange-request-info .name{font-size:14px;font-weight:700;color:var(--text);}
.exchange-request-info .meta{font-size:11px;color:var(--text3);margin-top:2px;}
.exchange-request-amount{font-size:18px;font-weight:800;color:var(--accent);padding:0 14px;}
.exchange-request-actions{display:flex;gap:6px;flex-shrink:0;}
.exchange-request-actions .btn{padding:6px 12px;font-size:12px;}

.coin-balance-card{background:linear-gradient(135deg,rgba(255,182,39,0.12),rgba(255,107,53,0.12));border:2px solid rgba(255,182,39,0.2);border-radius:var(--radius);padding:18px 20px;text-align:center;margin-bottom:14px;}
.coin-balance-card .label{font-size:13px;color:var(--text2);margin-bottom:4px;}
.coin-balance-card .num{font-size:36px;font-weight:800;color:var(--accent);}
.coin-balance-card .equiv{font-size:12px;color:var(--text3);margin-top:4px;}
/* ===== Voucher Denomination Grid (Sub-coin page) ===== */
.voucher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 12px;}
.voucher-card{background:var(--surface2);border:1.5px solid var(--border);border-radius:12px;padding:14px 8px;text-align:center;cursor:pointer;transition:all .2s;position:relative;}
.voucher-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,107,53,0.12);}
.voucher-card.selected{border-color:var(--accent);background:linear-gradient(135deg,rgba(255,107,53,0.08),rgba(255,182,39,0.08));box-shadow:0 4px 14px rgba(255,107,53,0.18);}
.voucher-card.selected::after{content:'✓';position:absolute;top:6px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:700;}
.voucher-card.disabled{opacity:0.4;cursor:not-allowed;background:rgba(255,255,255,0.3);}
.voucher-card.disabled:hover{transform:none;box-shadow:none;border-color:var(--border);}
.voucher-amount{font-size:24px;font-weight:800;color:var(--text);font-family:'PingFang SC',sans-serif;letter-spacing:-0.5px;}
.voucher-card.selected .voucher-amount{color:var(--accent);}
.voucher-coins{margin-top:4px;font-size:12px;color:var(--text2);font-weight:600;}
.voucher-coins .coin-icon{color:var(--gold);margin-right:2px;}
.btn-exchange-confirm{width:100%;padding:14px;border:none;border-radius:999px;font-size:15px;font-weight:700;background:linear-gradient(135deg,#E0A86A,#D8985A);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(208,152,90,0.25);}
.btn-exchange-confirm:disabled{background:linear-gradient(135deg,#D8C5A8,#C9B89A);cursor:not-allowed;box-shadow:none;}
.btn-exchange-confirm:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(208,152,90,0.4);}
.coin-roster-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.coin-roster-summary .stat-card{min-height:108px}.coin-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.coin-roster-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;padding:16px;background:linear-gradient(145deg,#fff,#fff8ef);box-shadow:0 5px 18px rgba(125,78,35,.06)}.coin-roster-card::after{content:'🪙';position:absolute;right:-8px;top:-12px;font-size:70px;opacity:.055;transform:rotate(12deg)}.coin-roster-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.coin-roster-avatar{width:42px;height:42px;border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#52b788,#ffb627);font-size:23px}.coin-roster-avatar img{width:100%;height:100%;object-fit:cover}.coin-roster-name{font-size:15px;font-weight:800;color:var(--text)}.coin-roster-meta{font-size:11px;color:var(--text3);margin-top:2px}.coin-roster-values{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.coin-roster-value{padding:10px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(139,111,71,.1)}.coin-roster-value span{display:block;font-size:11px;color:var(--text3);margin-bottom:3px}.coin-roster-value b{font-size:17px;color:var(--text)}.coin-roster-value.coins b{color:#c8893a}.coin-roster-value.vouchers b{color:#e7683c}.coin-roster-status{display:flex;gap:8px;margin-top:10px;font-size:11px}.coin-roster-status span{padding:4px 8px;border-radius:999px;background:rgba(82,183,136,.1);color:#418564}.coin-roster-status .pending{background:rgba(255,182,39,.12);color:#b47a13}@media(max-width:760px){.coin-roster-summary{grid-template-columns:repeat(2,1fr)}.coin-roster-grid{grid-template-columns:1fr}}

/* ===== v11 PLAN LIST (admin) ===== */
.admin-plan-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}

/* ===== v11 MEMBER CARD CLICKABLE ===== */
.member-mini-card{cursor:pointer;}

/* ===== v11 TREND SPLIT ===== */
.trend-split-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:960px){.trend-split-row{grid-template-columns:1fr;}}

/* ===== v10 LEADERBOARD BY DEPT ===== */
.lb-dept-group{margin-bottom:14px;}
.lb-dept-group:last-child{margin-bottom:0;}
.lb-dept-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px;padding:0 4px;}
.lb-dept-icon{width:26px;height:26px;border-radius:8px;background:rgba(255,107,53,0.08);display:flex;align-items:center;justify-content:center;font-size:14px;}
.password-wrap{position:relative;}
.password-wrap .form-input{padding-right:48px;}
.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:var(--text3);font-size:18px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.password-toggle:hover,.password-toggle:focus{background:rgba(255,107,53,.08);color:var(--accent);outline:none;}
body.boss-theme{--bg:#f2f7f2;--bg2:#e5efe6;--bg3:#d9e7dc;--surface:rgba(255,255,252,.95);--surface2:#fff;--border:rgba(49,91,62,.14);--text:#24392b;--text2:#607267;--text3:#8c9b91;--accent:#356b49;--accent2:#5d8a68;--gold:#c69a46;--green:#4f815c;--shadow:0 5px 22px rgba(38,78,49,.07);--shadow-lg:0 12px 38px rgba(38,78,49,.12);background:radial-gradient(circle at 86% 7%,rgba(198,154,70,.12),transparent 27%),linear-gradient(145deg,#f7faf6,#eaf2eb 58%,#f7f4ea)}body.boss-theme:before{content:'';position:fixed;left:0;right:0;top:0;height:5px;z-index:9999;background:linear-gradient(90deg,#285d3d,#4f815c 62%,#c69a46)}body.boss-theme .sidebar{background:rgba(248,251,247,.98);border-right-color:rgba(49,91,62,.12)}body.boss-theme .top-bar{background:rgba(250,252,249,.96);border-bottom-color:rgba(49,91,62,.1)}body.boss-theme .sidebar-header .logo-text{color:#285d3d}body.boss-theme .stat-card{border-color:rgba(49,91,62,.12);background:linear-gradient(145deg,#fff,#f3f8f3)}body.boss-theme .nav-item:hover{background:rgba(53,107,73,.07);color:#285d3d}body.boss-theme .nav-item.active{background:linear-gradient(90deg,rgba(53,107,73,.14),rgba(93,138,104,.05));color:#285d3d;border-left-color:#c69a46}body.boss-theme .dept-overview-card{background:linear-gradient(145deg,#fff,#f3f8f3)}body.boss-theme .card,body.boss-theme .detail-panel{border-color:rgba(49,91,62,.12)}body.boss-theme .member-mini-card{border-color:rgba(49,91,62,.11);background:#fff}body.boss-theme .member-mini-card:hover{border-color:rgba(53,107,73,.35);box-shadow:0 7px 20px rgba(38,78,49,.1)}body.boss-theme .member-month-item{background:#f3f8f3;border-color:rgba(53,107,73,.09)}body.boss-theme .member-progress-track{background:rgba(53,107,73,.11)}body.boss-theme .member-progress-fill{background:linear-gradient(90deg,#5d8a68,#c69a46)}body.boss-theme .member-mini-card .mm-avatar{background:linear-gradient(145deg,#356b49,#c69a46)}body.boss-theme .detail-stat{background:#f5f9f5}body.boss-theme .app-pin-btn,body.boss-theme .app-refresh-btn{border-color:rgba(53,107,73,.18);color:#526b59}
.app-update-btn{border:1px solid rgba(255,107,53,.38);background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(255,107,53,.24)}.app-update-btn:hover{background:linear-gradient(135deg,#ef5725,#ff7935);transform:translateY(-1px)}.app-update-btn.hidden{display:none}.app-install-btn{border:1px solid rgba(82,183,136,.38);background:#fff;color:#356b49;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}.app-install-btn:hover{background:#edf8f1}.app-install-btn.hidden{display:none}
.maintenance-member-card .member-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-detail-list{display:grid;gap:10px;margin-top:14px}

.plan-check-board{display:grid;gap:16px}.plan-check-section{border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(255,255,255,.62)}.plan-check-section.carryover{background:linear-gradient(135deg,rgba(255,182,39,.10),rgba(255,107,53,.05));border-color:rgba(224,151,45,.28)}.plan-check-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:800;color:var(--text)}.plan-check-heading small{margin-left:auto;color:var(--text3);font-size:11px;font-weight:600}.plan-check-list{display:grid;gap:8px}.plan-check-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid rgba(139,111,71,.13);border-radius:12px;background:rgba(255,255,255,.82);cursor:pointer}.plan-check-row.done .plan-check-text{text-decoration:line-through;color:var(--text3)}.plan-check-text{white-space:pre-wrap;line-height:1.65;color:var(--text2);overflow-wrap:anywhere}.plan-check-empty{padding:14px;text-align:center;color:var(--text3);font-size:12px;border:1px dashed rgba(139,111,71,.22);border-radius:12px}.plan-check-note{margin-top:9px;font-size:11px;color:var(--text3);line-height:1.6}
.plan-check-row{position:relative;grid-template-columns:26px minmax(0,1fr);transition:border-color .18s ease,background .18s ease,transform .18s ease}.plan-check-row:hover{border-color:rgba(82,183,136,.42);background:#fff}.plan-check-row input{position:absolute;opacity:0;pointer-events:none}.plan-check-row::before{content:'';width:21px;height:21px;margin-top:1px;border-radius:7px;border:2px solid #e7c7b4;background:linear-gradient(145deg,#fff,#fff9f4);box-shadow:inset 0 1px 2px rgba(139,111,71,.06),0 2px 5px rgba(119,72,32,.06);box-sizing:border-box;transition:all .2s ease}.plan-check-row:has(input:focus-visible)::before{outline:3px solid rgba(82,183,136,.2);outline-offset:2px}.plan-check-row:has(input:checked)::before{content:'✓';display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:1000;line-height:1;background:linear-gradient(145deg,#6bd18a,#3eaa69);border-color:#3eaa69;box-shadow:0 4px 10px rgba(62,170,105,.25);transform:scale(1.04)}.plan-check-row.done{border-color:rgba(82,183,136,.22);background:rgba(82,183,136,.055)}
.overachievement-card{position:relative;overflow:hidden;margin-bottom:14px;padding:18px 20px;border:1px solid rgba(224,160,45,.45);border-radius:18px;background:linear-gradient(135deg,#fffdf4,#fff0ba 58%,#fff8eb);box-shadow:0 10px 28px rgba(190,130,35,.15)}.overachievement-card::before,.overachievement-card::after{position:absolute;color:#e5ac22;pointer-events:none}.overachievement-card::before{content:'\\2726  \\00b7  \\2727  \\00b7  \\2726';right:14px;top:13px;letter-spacing:4px;font-size:16px;opacity:.7;animation:goldSparkle 2.8s ease-in-out infinite}.overachievement-card::after{content:'\\2726';right:18px;bottom:-14px;font-size:68px;opacity:.12}.overachievement-head{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.overachievement-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(145deg,#ffe89a,#e8a818);box-shadow:0 5px 14px rgba(211,143,24,.28);font-size:22px}.overachievement-title{font-size:16px;font-weight:900;color:#80510b}.overachievement-sub{font-size:11px;color:#9a7130;margin-top:2px}.overachievement-values{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.overachievement-value{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.76);border:1px solid rgba(205,150,47,.2)}.overachievement-value span{display:block;font-size:11px;color:#a18049}.overachievement-value b{display:block;margin-top:3px;font-size:18px;color:#bd7410}.overachievement-track{position:relative;z-index:1;height:9px;margin-top:13px;border-radius:99px;background:#f1e5d2;overflow:hidden}.overachievement-base,.overachievement-extra{position:absolute;inset:0 auto 0 0}.overachievement-base{width:100%;background:linear-gradient(90deg,#58bb79,#83d49c)}.overachievement-extra{left:0;background:linear-gradient(90deg,#ffe173,#e7a018);box-shadow:0 0 12px rgba(231,160,24,.46)}.tree-banner.is-overachieved{background:linear-gradient(180deg,rgba(255,238,171,.54),rgba(255,249,232,.28));border-bottom-color:rgba(224,160,45,.35)}.tree-banner.is-overachieved .tree-svg-wrap{filter:drop-shadow(0 10px 16px rgba(224,160,45,.16))}.tree-banner.is-overachieved .tp-celebrate{color:#e9ae1a;text-shadow:0 0 12px rgba(255,215,92,.78);font-size:20px;animation:goldSparkle 2.4s ease-in-out infinite}.member-over-badge{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 12px;padding:8px 10px;border-radius:11px;background:linear-gradient(135deg,rgba(255,200,77,.17),rgba(255,128,61,.09));border:1px solid rgba(224,160,45,.22);font-size:11px;color:#9a6b20}.member-over-badge b{font-size:13px;color:#d36e25}@keyframes goldSparkle{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@media(max-width:600px){.overachievement-values{grid-template-columns:1fr}.overachievement-card{padding:16px}}
.customer-archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.customer-archive-head h2{margin:0 0 6px;font-size:22px}.customer-archive-head p{margin:0;color:var(--text3);font-size:13px;line-height:1.7}.customer-archive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.customer-archive-stat{padding:16px;border-radius:16px;background:linear-gradient(145deg,#fffaf2,#fff);border:1px solid #f4e7d7}.customer-archive-stat span{display:block;color:var(--text3);font-size:12px;margin-bottom:7px}.customer-archive-stat b{font-size:21px;color:var(--text)}.customer-archive-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.customer-search{flex:1;min-width:220px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font:inherit;outline:none}.customer-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.customer-grade-tabs{display:flex;gap:8px;flex-wrap:wrap}.customer-grade-tab{border:1px solid var(--border);background:#fff;color:var(--text2);border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:700}.customer-grade-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.customer-grade-section{margin-top:16px}.customer-grade-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.customer-grade-heading h3{margin:0;font-size:16px}.customer-grade-heading small{color:var(--text3)}.customer-archive-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:#fff}.customer-archive-table{width:100%;border-collapse:collapse;min-width:760px}.customer-archive-table th,.customer-archive-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f1ede8;white-space:nowrap;font-size:13px}.customer-archive-table th{background:#fff9f3;color:var(--text2);font-size:12px}.customer-archive-table tr:last-child td{border-bottom:0}.customer-name-cell{font-weight:800;color:var(--text)}.customer-grade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:5px 9px;border-radius:999px;font-weight:900;font-size:12px}.grade-l0{background:#eef1f4;color:#64748b}.grade-l1{background:#e8f4ff;color:#2878b5}.grade-l2{background:#e9f8ef;color:#218653}.grade-l3{background:#fff1df;color:#d86b13}.grade-l4{background:#f4eaff;color:#7c3fc5}.customer-owner-chip{display:inline-block;background:#fff3e8;color:#bb5b17;border-radius:999px;padding:4px 8px;font-size:12px}.customer-archive-empty{padding:32px;text-align:center;color:var(--text3)}@media(max-width:700px){.customer-archive-summary{grid-template-columns:1fr}.customer-archive-head{display:block}.customer-archive-tools{display:block}.customer-search{width:100%;box-sizing:border-box;margin-bottom:12px}.customer-grade-tabs{gap:6px}.customer-grade-tab{padding:8px 11px}}
.customer-archive-select{min-width:145px;padding:11px 36px 11px 13px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text2);font:inherit;font-weight:700;outline:none}.customer-archive-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.customer-note-input{width:220px;max-width:30vw;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fffdfb;font:inherit;color:var(--text);box-sizing:border-box}.customer-note-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,107,53,.1)}.customer-note-text{display:block;max-width:260px;white-space:normal;line-height:1.55;color:var(--text2)}
/* Finance dashboard: compact, audit-friendly visual hierarchy */
#mainContent:has(#financeExport){max-width:1320px;margin:0 auto;padding-bottom:32px}
#mainContent:has(#financeExport) .page-head{align-items:flex-end;margin:22px 0 14px;padding:4px 2px}
#mainContent:has(#financeExport) .page-head h2{font-size:27px;letter-spacing:-.5px;margin-bottom:4px}
#mainContent:has(#financeExport) .page-head p{font-size:13px;color:var(--text2)}
#mainContent:has(#financeExport) .page-head>div:last-child{display:flex;gap:9px;align-items:center}
#mainContent:has(#financeExport) .page-head .btn{min-height:38px;padding:0 15px;border-radius:11px}
#mainContent:has(#financeExport) .page-head+.card{padding:18px 20px 16px;border:1px solid rgba(255,107,53,.17);background:linear-gradient(135deg,#fffdf9,#fff6ee)}
#mainContent:has(#financeExport) .page-head+.card .form-row{display:grid;grid-template-columns:1.35fr repeat(2,minmax(135px,1fr)) repeat(4,minmax(145px,1fr));gap:12px;align-items:end}
#mainContent:has(#financeExport) .page-head+.card .form-group{margin:0;min-width:0}
#mainContent:has(#financeExport) .page-head+.card .form-label{font-size:12px;font-weight:800;color:#8a5a34;margin-bottom:7px}
#mainContent:has(#financeExport) .page-head+.card input,#mainContent:has(#financeExport) .page-head+.card select{height:42px;border-radius:10px;background:#fff}
#mainContent:has(#financeExport) .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
#mainContent:has(#financeExport) .stat-card{min-height:112px;padding:18px;border-radius:16px;border:1px solid rgba(126,82,40,.10);box-shadow:0 7px 20px rgba(125,78,35,.06)}
#financeSummaryNew{border-top:4px solid #ff9a52!important}#financeSummaryOld{border-top:4px solid #e7ae51!important}#financeSummaryTotalOrders{border-top:4px solid #78ad87!important}#financeSummaryTotalAmount{border-top:4px solid #ff6b35!important;background:linear-gradient(135deg,#fff7ee,#fff)!important}
#mainContent:has(#financeExport) .export-list-table{font-size:13px;margin-top:10px}#mainContent:has(#financeExport) .export-list-table th{padding:12px 10px;white-space:nowrap}#mainContent:has(#financeExport) .export-list-table td{padding:11px 10px;white-space:nowrap}#mainContent:has(#financeExport) .export-list-table tbody tr:nth-child(even) td{background:rgba(255,153,84,.035)}
#mainContent:has(#financeExport) .finance-refresh-state{min-height:18px;margin-top:8px;color:var(--text3);font-size:12px;display:flex;align-items:center;gap:6px}.finance-refresh-state.loading{color:var(--accent);font-weight:700}.finance-refresh-state.loading:before{content:'↻';display:inline-block;animation:finance-spin .9s linear infinite}@keyframes finance-spin{to{transform:rotate(360deg)}}#mainContent:has(#financeExport) .finance-remark{white-space:pre-wrap;line-height:1.55;min-width:150px;max-width:280px;word-break:break-word}.finance-remark-empty{color:var(--text3)}.finance-remark-toggle{margin-top:4px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.finance-remark-toggle:hover{text-decoration:underline}
@media(max-width:1100px){#mainContent:has(#financeExport) .page-head+.card .form-row{grid-template-columns:repeat(3,minmax(150px,1fr))}#mainContent:has(#financeExport) .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){#mainContent:has(#financeExport) .page-head{align-items:flex-start;gap:12px;flex-direction:column}#mainContent:has(#financeExport) .page-head+.card .form-row{grid-template-columns:1fr}#mainContent:has(#financeExport) .stats-grid{grid-template-columns:1fr}#mainContent:has(#financeExport) .table-wrap{overflow-x:auto}}
/* Compact inline monthly target in the salesperson workbench bar. */
.gp-rev-badges{display:flex;flex:1;justify-content:flex-end;gap:10px;min-width:0;margin-left:auto;}
.gp-rev-badge{min-width:88px;}
.gp-target-badge{position:relative;cursor:pointer;font:inherit;color:inherit;white-space:nowrap;}
.gp-target-badge:hover{border-color:rgba(255,140,66,.42);box-shadow:0 4px 12px rgba(255,107,53,.1);}
.gp-target-value{display:flex;align-items:center;justify-content:center;gap:4px;min-height:17px;}
.gp-target-edit{font-size:12px;color:var(--text3);-webkit-text-fill-color:var(--text3);}
.gp-target-input{width:86px;max-width:100%;border:0;border-bottom:1px solid var(--accent);outline:none;text-align:center;background:transparent;color:var(--accent);font:800 14px inherit;padding:1px 0;}
.gp-target-save-state{display:block;min-height:13px;margin-top:2px;font-size:10px;color:var(--text3);}
.gp-target-save-state.saving{color:var(--accent);}.gp-target-save-state.success{color:#2d8a5b;}.gp-target-save-state.error{color:#c94035;}
@media(min-width:961px){.game-player-bar{flex-wrap:nowrap;}.gp-rev-badges{flex-wrap:nowrap;}.gp-rev-badge{min-width:82px;padding:6px 9px;}}
@media(max-width:740px){.gp-rev-badges{order:3;flex-basis:100%;justify-content:stretch;margin-left:0;}.gp-rev-badge{flex:1;min-width:0;}.game-player-bar{gap:8px;}}
@media(max-width:420px){.gp-rev-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.gp-rev-badge{width:auto;}.gp-rev-label{font-size:9px;}.gp-rev-value{font-size:13px;}}

/* Shared calendar and readable reward/customer forms. */
.customer-archive-head{flex-wrap:wrap;gap:18px}
.reward-maintenance summary{cursor:pointer;font-weight:600;font-size:14px}
.reward-maintenance p{margin:16px 0;line-height:1.8}
#mainContent:has(.reward-month) .table-wrap,#mainContent:has(.reward-backfill-grid) .table-wrap{overflow-x:auto}
#mainContent:has(.reward-month) .export-list-table,#mainContent:has(.reward-backfill-grid) .export-list-table{min-width:760px}
.reward-backfill-grid + .text-sm{line-height:1.8}
.page-head p{line-height:1.8;margin-top:8px;color:var(--text3)}
.reward-backfill-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:20px;align-items:end;margin:20px 0}
.reward-backfill-grid .form-group{min-width:0!important;margin:0}
.reward-backfill-grid .form-label{display:block;line-height:1.6;margin-bottom:8px}
.reward-backfill-grid .form-input,.reward-backfill-grid .form-select{width:100%;min-height:46px;font-size:14px}
.reward-backfill-grid .btn{min-height:46px}
.reward-month{max-width:320px;min-height:46px}
.customer-order-details{min-width:170px;max-width:280px;overflow-wrap:anywhere}
.customer-order-details summary{cursor:pointer;color:#ae4c20;line-height:1.7}
.customer-order-details div{padding:10px 0;border-bottom:1px solid #f2e5dc}
.customer-order-details small{display:block;color:#8b6f47;margin-top:4px}
input[data-calendar-ready]{cursor:pointer;min-height:40px}
.harvest-date-picker{position:fixed;inset:auto;margin:0;border:1px solid #f0cdb8;border-radius:8px;padding:0;background:#fffaf6;color:#6b4936;width:min(396px,calc(100vw - 24px));max-height:min(360px,calc(100vh - 24px));overflow:auto;box-shadow:0 14px 36px #8d4e2929;z-index:12000;box-sizing:border-box}
.harvest-date-picker.is-range{width:min(440px,calc(100vw - 24px))}
.harvest-date-picker::backdrop{background:transparent}
.harvest-date-picker button{font:inherit;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:7px;min-height:28px;padding:3px 5px}
.harvest-date-picker button:hover{background:#ffeadc;color:#e85f28}
.harvest-date-picker button:focus-visible{outline:2px solid #ff7a3d;outline-offset:1px}
.harvest-date-picker button:disabled{opacity:.3;cursor:default}
.date-body{display:flex;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
.date-body aside{width:102px;flex-shrink:0;padding:8px 7px;background:#fff7f1;border-right:1px solid #f2ddcf;display:flex;flex-direction:column;gap:3px;box-sizing:border-box}
.date-body aside button{border-radius:8px;text-align:left;font-size:13px;padding:8px 12px;min-height:38px}
.date-body aside button.active{background:linear-gradient(135deg,#ff944d,#ff6b35);color:#fff;font-weight:700;box-shadow:0 4px 10px #ff71352e}
.date-main{flex:1;min-width:0;max-width:calc(100% - 102px);padding:0 8px 8px;box-sizing:border-box;overflow:hidden}
.date-main nav{height:42px;display:grid;grid-template-columns:30px 30px 1fr 30px 30px;align-items:center;gap:1px;background:linear-gradient(135deg,#ff944d,#ff6b35);color:#fff;margin:0 -8px 6px;padding:0 5px;border-bottom:1px solid #ee6730}
.date-main nav button{color:#fff;font-size:22px;line-height:1;min-height:28px}
.date-main nav button:hover{background:#e95e29;color:#fff}
.date-main nav strong{text-align:center;font-size:13px}
.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.date-grid button{padding:1px 0;font-size:12px;min-height:27px}
.date-grid button.outside{color:#d9c9bf}
.date-weekday{text-align:center;font-size:11px;color:#a17f69;padding:4px 0}
.harvest-date-picker .selected{background:linear-gradient(135deg,#ff944d,#ff6b35);color:white;font-weight:700;box-shadow:0 3px 8px #ff71352e}
.date-month-grid,.date-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 2px}
.date-month-grid button,.date-year-grid button{min-height:42px}
.date-selection{font-size:11px;text-align:center;color:#9a735c;border-top:1px solid #f2ddcf;background:#fff7f1;margin:7px -8px -8px;padding:7px 8px}
@media(max-width:1100px){.reward-backfill-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:640px){.reward-backfill-grid{grid-template-columns:minmax(0,1fr)}.harvest-date-picker,.harvest-date-picker.is-range{inset:auto 8px 8px 8px;margin:0;width:auto;max-height:calc(100vh - 16px);overflow:hidden}.date-body aside{width:58px}.date-body aside button{text-align:center;padding:8px 4px}.date-main{max-width:calc(100% - 58px);padding:0 6px 8px}.date-main nav{margin:0 -6px 6px}.date-grid button{min-height:31px}}
.boss-unassigned{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg);line-height:1.7}.boss-unassigned p{margin:6px 0}
