/* v0.7.8.2 block 1 */
:root{
  --bg:#0d141b; --panel:#14212b; --panel2:#192a36; --line:#2d4351;
  --text:#eef5f7; --muted:#9eb2bc; --accent:#f4c95d; --green:#50d890;
  --red:#ff7a7a; --blue:#6fc3ff; --input:#213642; --shadow:0 14px 40px rgba(0,0,0,.26);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#091017,#111c24 60%,#0b1218);color:var(--text);
font-family:system-ui,-apple-system,"Segoe UI","Noto Sans KR",sans-serif}
header{position:sticky;top:0;z-index:10;background:rgba(9,16,23,.92);backdrop-filter:blur(12px);
border-bottom:1px solid var(--line)}
.header-inner{max-width:1320px;margin:auto;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.brand{font-weight:850;letter-spacing:-.4px;font-size:20px}
.brand span{color:var(--accent)}
.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:999px}
main{max-width:1320px;margin:auto;padding:20px}
.tabs{display:flex;gap:10px;margin-bottom:16px}
.tab{border:1px solid var(--line);background:#101c25;color:var(--muted);padding:11px 18px;border-radius:12px;cursor:pointer;font-weight:800}
.tab.active{background:var(--accent);color:#222;border-color:var(--accent)}
.grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:16px}
@media(max-width:900px){.grid{grid-template-columns:1fr}.header-inner{align-items:flex-start}.badge{display:none}}
.card{background:linear-gradient(180deg,var(--panel),#101d26);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.card h2{font-size:16px;margin:0;padding:15px 18px;background:var(--panel2);border-bottom:1px solid var(--line)}
.section{padding:16px 18px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.form-grid,.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.form-grid,.form-grid.three{grid-template-columns:1fr}}
label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px;font-weight:700}
select,input{width:100%;border:1px solid #36505e;background:var(--input);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px;outline:none}
/* v0.8.0 readability hotfix: native option popups may use a white OS background. */
select option,select optgroup{background:#f7fafb;color:#13242d}
#languageSelect{color-scheme:dark;background:#14242e!important;color:#eef5f7!important}
#languageSelect option,#languageSelect optgroup{background:#f7fafb;color:#10212a}
input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,195,255,.12)}
.item-hero{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;margin-top:14px;padding:14px;background:#0e1921;border:1px solid var(--line);border-radius:14px}
@media(max-width:520px){.item-hero{grid-template-columns:110px 1fr}}
.item-img{width:140px;height:140px;object-fit:contain;border-radius:16px;background:radial-gradient(circle at 50% 35%,#263d4b,#0d171e 72%);border:1px solid var(--line)}
@media(max-width:520px){.item-img{width:100px;height:100px}}
.item-name{font-size:24px;font-weight:900;margin-bottom:6px}.sub{color:var(--muted);font-size:13px;line-height:1.6}
.city{display:inline-flex;gap:6px;align-items:center;margin-top:8px;padding:6px 9px;background:#1c303b;border-radius:9px;color:var(--accent);font-weight:800;font-size:13px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 8px;border-bottom:1px solid #2b404c;text-align:right;vertical-align:middle}
th:first-child,td:first-child{text-align:left}
th{color:#bcd0d8;font-size:12px;background:#142630;position:sticky;top:58px}
.matcell{display:flex;align-items:center;gap:9px}.matimg{width:42px;height:42px;object-fit:contain;background:#0b151c;border:1px solid var(--line);border-radius:9px}
.yes{color:var(--green);font-weight:900}.no{color:var(--red);font-weight:900}
.money{font-variant-numeric:tabular-nums}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stat{border:1px solid var(--line);background:#0e1921;border-radius:14px;padding:14px}
.stat .k{font-size:12px;color:var(--muted);margin-bottom:5px}.stat .v{font-size:20px;font-weight:900}
.stat.big{grid-column:1/-1;background:linear-gradient(135deg,rgba(80,216,144,.14),rgba(111,195,255,.08));border-color:#2f7556}
.stat.big .v{font-size:30px;color:var(--green)}
.roi.negative,.profit.negative{color:var(--red)!important}
.note{font-size:12px;color:var(--muted);line-height:1.65;padding:10px 12px;border-left:3px solid var(--accent);background:#101c24;border-radius:8px}
.warning{color:#ffd99a;border-left-color:#ff9b50}
hr{border:none;border-top:1px solid var(--line);margin:16px 0}
.hidden{display:none!important}
.empty{padding:28px 18px;text-align:center;color:var(--muted)}
.footer-note{text-align:center;color:#6f8792;font-size:12px;padding:28px 10px}
.pill{display:inline-block;padding:3px 7px;border:1px solid #3a5260;border-radius:999px;font-size:11px;color:#b9cbd2}

.market-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:900px){.market-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.market-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.market-toolbar{grid-template-columns:1fr}}
.market-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
@media(max-width:700px){.market-summary{grid-template-columns:1fr}}
.market-status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}
.market-status.fresh{background:rgba(80,216,144,.13);color:#69e5a2;border:1px solid rgba(80,216,144,.28)}
.market-status.warn{background:rgba(244,201,93,.12);color:#f4c95d;border:1px solid rgba(244,201,93,.25)}
.market-status.stale{background:rgba(255,122,122,.12);color:#ff9898;border:1px solid rgba(255,122,122,.25)}
.market-status.none{background:#17252e;color:#8299a3;border:1px solid #314753}
.market-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.smallbtn{border:1px solid #3c5665;background:#1b303c;color:#dce9ee;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:11px;font-weight:800}
.smallbtn:hover{border-color:var(--blue);color:#fff}
.primarybtn{border:none;background:var(--accent);color:#202020;padding:11px 15px;border-radius:10px;cursor:pointer;font-weight:900}
.primarybtn:disabled{opacity:.5;cursor:not-allowed}
.loader{display:inline-block;width:14px;height:14px;border:2px solid #45606f;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.market-table td,.market-table th{white-space:nowrap}
.market-table td.cityname{font-weight:850;text-align:left}
.market-price{font-size:15px;font-weight:900}
.market-price.buy{color:#89d3ff}.market-price.sell{color:#77e5a8}
.api-state{margin-top:12px;font-size:12px;color:var(--muted);min-height:18px}




.dbbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 16px;padding:11px 14px;border:1px solid var(--line);background:#101d26;border-radius:12px}
.dbbar .dbtext{font-size:12px;color:#b9cbd2;line-height:1.5}
.dbbar .dbtext b{color:var(--accent)}
.dbbar.loading{border-color:#4b5e45}.dbbar.ok{border-color:#2f7556}.dbbar.error{border-color:#854949}
.dbbtn{border:1px solid #3c5665;background:#1b303c;color:#dce9ee;padding:8px 11px;border-radius:8px;cursor:pointer;font-size:11px;font-weight:850;white-space:nowrap}
.dbbtn:hover{border-color:var(--blue);color:#fff}


/* v0.4.1 — 제작/제련 재료표 전용 UI
   전역 th sticky(상단 58px)가 카드 내부 첫 재료 행을 덮던 문제를 제거합니다.
   도시별 시세 테이블은 기존 동작을 유지합니다. */
.materials-table th,
.refine-materials-table th{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
}
.materials-table,
.refine-materials-table{
  table-layout:auto;
  margin-top:0;
}
.materials-table thead,
.refine-materials-table thead{
  position:static;
}
.materials-table th,
.materials-table td,
.refine-materials-table th,
.refine-materials-table td{
  padding:10px 10px;
  vertical-align:middle;
}
.materials-table tbody tr,
.refine-materials-table tbody tr{
  min-height:58px;
}
.materials-table .matcell{
  min-width:210px;
}
.materials-table .matimg{
  width:46px;
  height:46px;
  flex:0 0 46px;
}
.materials-table input,
.refine-materials-table input{
  min-height:40px;
}
.materials-table th:first-child,
.materials-table td:first-child,
.refine-materials-table th:first-child,
.refine-materials-table td:first-child{
  padding-left:12px;
}
.materials-table th:last-child,
.materials-table td:last-child,
.refine-materials-table th:last-child,
.refine-materials-table td:last-child{
  padding-right:12px;
}
@media(max-width:700px){
  .materials-table{min-width:760px}
  .refine-materials-table{min-width:620px}
}


/* v0.4.2 — 제련 재료표에 아이콘 표시 */
.refine-materials-table .matcell{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:220px;
}
.refine-materials-table .matimg{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:10px;
  border:1px solid var(--line);
  background:#10222c;
  box-shadow:0 0 0 2px rgba(80,211,255,.08);
  flex:0 0 42px;
}




/* v0.4.4 — Albion 대도시 상징색 */
.city-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:900;
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
  letter-spacing:-.1px;
}
.city-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 8px currentColor;
  flex:0 0 7px;
}
.city-martlock{
  color:#79b8ff;
  background:rgba(44,117,210,.14);
  border-color:rgba(75,149,235,.38);
}
.city-fort-sterling{
  color:#f1f5f9;
  background:rgba(148,163,184,.16);
  border-color:rgba(203,213,225,.42);
}
.city-thetford{
  color:#c7a0ff;
  background:rgba(76,29,149,.26);
  border-color:rgba(124,58,237,.44);
}
.city-lymhurst{
  color:#72e597;
  background:rgba(34,197,94,.13);
  border-color:rgba(34,197,94,.34);
}
.city-bridgewatch{
  color:#ffd166;
  background:rgba(245,158,11,.15);
  border-color:rgba(245,158,11,.38);
}
.city-caerleon{
  color:#ff8d8d;
  background:rgba(220,38,38,.16);
  border-color:rgba(239,68,68,.42);
}
.city-brecilien{
  color:#d8b4fe;
  background:rgba(168,85,247,.14);
  border-color:rgba(192,132,252,.38);
}
.city-black-market{
  color:#d1d5db;
  background:rgba(55,65,81,.62);
  border-color:rgba(107,114,128,.65);
}
.city-unknown{
  color:#b9cbd2;
  background:#17252e;
  border-color:#314753;
}

/* 기존 단색 city badge를 도시색 태그와 잘 맞게 중립화 */
.city{
  background:#14242e;
  color:#d7e5ea;
  border:1px solid var(--line);
}
.city .city-tag{
  margin-left:3px;
}

/* 시세표 도시 셀 */
.market-table td.cityname{
  min-width:145px;
}
.market-table td.cityname .city-tag{
  font-size:12px;
}


/* v0.4.5 — 프리미엄 선택 가시성 */
.premium-wrap{
  position:relative;
}
.premium-select{
  font-weight:900;
  transition:.18s ease;
}
.premium-select.premium-on{
  color:#7cf0a8;
  border-color:rgba(80,216,144,.55);
  background:rgba(24,79,54,.48);
  box-shadow:0 0 0 3px rgba(80,216,144,.07);
}
.premium-select.premium-off{
  color:#ff9b9b;
  border-color:rgba(255,122,122,.52);
  background:rgba(91,37,43,.46);
  box-shadow:0 0 0 3px rgba(255,122,122,.06);
}
.premium-hint{
  margin-top:5px;
  font-size:11px;
  line-height:1.45;
  color:var(--muted);
}
.premium-hint strong{
  color:var(--accent);
}
.premium-rate-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:2px 7px;
  margin-left:4px;
  border-radius:999px;
  border:1px solid #425866;
  background:#14252e;
  color:#c9d8de;
  font-size:10px;
  font-weight:850;
  vertical-align:1px;
}


/* v0.5.0 — 건의 / MANAGER */
.header-actions{display:flex;align-items:center;gap:8px}
.header-btn{
  border:1px solid var(--line);background:#14242e;color:#dce9ee;
  padding:8px 11px;border-radius:10px;cursor:pointer;font-weight:850;font-size:12px;
}
.header-btn:hover{border-color:var(--blue);color:#fff}
.share-btn{border-color:#315e78;color:#89d3ff;background:rgba(111,195,255,.07)}
.suggest-btn{border-color:#65582e;color:#f4d574;background:rgba(244,201,93,.08)}
.manager-btn{border-color:#405361}
.manager-btn.unlocked{border-color:#2f7556;color:#72e5a2;background:rgba(80,216,144,.09)}
@media(max-width:760px){
  .header-actions{gap:5px}.header-btn{padding:8px 9px}
  .header-actions .badge{display:none}
}

textarea{
  width:100%;border:1px solid #36505e;background:var(--input);color:var(--text);
  border-radius:10px;padding:11px 12px;font-size:14px;outline:none;resize:vertical;
  font-family:inherit;line-height:1.55;
}
textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,195,255,.12)}
.modal{
  position:fixed;inset:0;z-index:1000;background:rgba(1,7,11,.76);
  display:flex;align-items:center;justify-content:center;padding:18px;
  backdrop-filter:blur(6px);
}
#privacyModal{z-index:1100}
.modal-card{
  width:min(680px,100%);max-height:92vh;overflow:auto;
  background:linear-gradient(180deg,#172731,#0e1921);
  border:1px solid #38505d;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.modal-card.wide{width:min(1180px,100%)}
.modal-head{
  position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:15px 18px;background:rgba(25,42,54,.97);border-bottom:1px solid var(--line)
}
.modal-title{font-size:17px;font-weight:900}
.modal-close{
  width:36px;height:36px;border-radius:10px;border:1px solid #425866;
  background:#14242e;color:#dce9ee;cursor:pointer;font-size:18px
}
.modal-body{padding:18px}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
.secondarybtn{
  border:1px solid #425866;background:#172832;color:#dce9ee;padding:10px 13px;
  border-radius:10px;cursor:pointer;font-weight:850
}
.dangerbtn{
  border:1px solid rgba(255,122,122,.45);background:rgba(124,38,38,.2);color:#ffadad;
  padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:850
}
.preservebtn{
  border:1px solid rgba(244,201,93,.5);background:rgba(116,88,19,.18);color:#f5d878;
  padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:900
}
.consent-row{
  display:flex;align-items:flex-start;gap:9px;color:#b9cbd2;font-size:12px;line-height:1.55;
  padding:11px 12px;border:1px solid #344b57;border-radius:10px;background:#101c24;margin-top:12px
}
.consent-row input{width:auto;margin-top:2px}
.form-stack{display:grid;gap:12px}
.form-grid.admin-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.suggest-status,.admin-status{min-height:20px;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.55}
.suggest-status.ok,.admin-status.ok{color:#72e5a2}.suggest-status.err,.admin-status.err{color:#ff9898}

.admin-toolbar{
  display:grid;grid-template-columns:180px minmax(200px,1fr) auto auto;gap:8px;align-items:end;margin-bottom:12px
}
@media(max-width:760px){.admin-toolbar{grid-template-columns:1fr 1fr}.admin-toolbar .primarybtn,.admin-toolbar .secondarybtn{width:100%}}
.admin-counts{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}
.admin-chip{padding:5px 9px;border-radius:999px;border:1px solid #3c5360;background:#13232c;color:#cbd9df;font-size:11px;font-weight:800}
button.admin-chip{cursor:pointer;font:inherit;transition:.14s ease}
button.admin-chip:hover{border-color:#66808d;background:#182b35}
button.admin-chip.active{border-color:#65b8e8;color:#bfe9ff;background:rgba(75,167,221,.13);box-shadow:0 0 0 1px rgba(75,167,221,.07) inset}
.admin-tools{margin:0 0 14px;border:1px solid #344b57;border-radius:13px;background:#0f1b23;padding:12px}
.admin-tools-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.admin-tools-head .sub{max-width:650px}
.admin-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-tool-card{border:1px solid #304752;border-radius:10px;background:#13232c;padding:10px;min-width:0}
.admin-tool-card .k{font-size:10px;color:var(--muted);margin-bottom:5px}
.admin-tool-card .v{font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-tool-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.admin-tool-actions button{min-height:34px}
@media(max-width:900px){.admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.admin-tool-grid{grid-template-columns:1fr}.admin-tool-actions{display:grid;grid-template-columns:1fr 1fr}.admin-tool-actions button{width:100%}}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.admin-table{min-width:860px}
.admin-table th{position:static!important;top:auto!important}
.admin-table td:nth-child(4){text-align:left;max-width:390px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-table td,.admin-table th{padding:10px}
.admin-link{border:none;background:none;color:#85d0ff;cursor:pointer;font-weight:850;padding:0}
.status-pill{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid #425866}
.status-new{color:#ffd166;border-color:#7b642b;background:rgba(244,201,93,.08)}
.status-reviewed{color:#89d3ff;border-color:#315e78;background:rgba(111,195,255,.08)}
.status-done{color:#72e5a2;border-color:#2f7556;background:rgba(80,216,144,.08)}
.status-preserved{color:#ffadad;border-color:#8c4b4b;background:rgba(255,122,122,.08)}
.admin-detail{
  margin-top:14px;border:1px solid #405663;background:#0f1b23;border-radius:14px;padding:14px
}
.admin-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
@media(max-width:760px){.admin-detail-grid{grid-template-columns:1fr}}
.detail-box{border:1px solid #304752;border-radius:10px;background:#13232c;padding:10px}
.detail-box .k{font-size:10px;color:var(--muted);margin-bottom:4px}.detail-box .v{font-size:12px;word-break:break-all}
.message-box{white-space:pre-wrap;word-break:break-word;border:1px solid #344b57;background:#0c171e;border-radius:10px;padding:13px;line-height:1.65;min-height:90px}
.evidence-note{
  font-size:11px;line-height:1.55;color:#b9cbd2;border-left:3px solid #ff9b50;
  background:rgba(255,155,80,.06);padding:9px 11px;border-radius:8px;margin-top:10px
}
.manager-login{max-width:460px;margin:10px auto}
.manager-login .lock-icon{text-align:center;font-size:40px;margin-bottom:8px}
.backend-badge{
  display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;
  border:1px solid #3c5360;font-size:10px;color:#b9cbd2
}
.backend-badge.on{color:#72e5a2;border-color:#2f7556}.backend-badge.off{color:#f5d878;border-color:#7b642b}


/* v0.5.1 — 시세 탭 도시별 시세표 헤더 겹침 수정 */
.market-table th{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
}
.market-table{
  margin-top:0;
}
.market-table thead{
  position:static;
}


/* v0.5.1 — 개인정보 동의 / 처리방침 */
.consent-card{
  border:1px solid #344b57;
  border-radius:12px;
  background:#101c24;
  padding:12px;
}
.consent-card + .consent-card{margin-top:9px}
.consent-title{
  display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900;color:#e6f0f4;margin-bottom:7px
}
.consent-title .required{color:#ffadad}
.consent-title .optional{color:#9eb2bc}
.consent-summary{
  display:grid;grid-template-columns:110px 1fr;gap:5px 10px;font-size:11px;line-height:1.55;color:#b9cbd2
}
.consent-summary .k{color:#8ea3ad;font-weight:800}
.consent-check{
  display:flex;align-items:flex-start;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #2b414c;
  color:#d0dde2;font-size:12px;line-height:1.55
}
.consent-check input{width:auto;margin-top:2px}
.policy-link{
  border:0;background:none;padding:0;color:#85d0ff;cursor:pointer;text-decoration:underline;font:inherit
}
.policy-section{margin-bottom:18px}
.policy-section h3{font-size:14px;margin:0 0 8px;color:#eef5f7}
.policy-section p,.policy-section li{font-size:12px;line-height:1.7;color:#c0d0d6}
.policy-table{width:100%;border-collapse:collapse;font-size:12px}
.policy-table th,.policy-table td{position:static!important;padding:9px;border-bottom:1px solid #314753;text-align:left;vertical-align:top}
.policy-table th{width:145px;color:#9fb2bb;background:#12232c}
.legal-alert{
  border-left:3px solid #f4c95d;background:rgba(244,201,93,.06);padding:10px 12px;border-radius:8px;
  color:#d7c98e;font-size:11px;line-height:1.6
}
.delete-zone{
  margin-top:14px;padding-top:13px;border-top:1px dashed #654242
}
.delete-zone .dangerbtn{font-weight:900}


/* v0.6.1 — Public/mobile release */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:0;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
button,select,input,textarea{touch-action:manipulation}
button{font-family:inherit}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.brand-mark{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 34px;border-radius:10px;background:linear-gradient(145deg,#f4c95d,#a97816);color:#12191f;font-size:20px;font-weight:1000;box-shadow:0 5px 20px rgba(244,201,93,.16),inset 0 0 0 1px rgba(255,255,255,.24)}
.brand-title{display:flex;align-items:baseline;gap:6px;white-space:nowrap;min-width:0;margin:0;font:inherit;font-weight:inherit;letter-spacing:inherit}
.brand-title em{font-style:normal;color:var(--accent);font-size:.84em}
.header-actions{min-width:0}
.tab{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.tab-icon{font-size:15px;line-height:1}
.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
.table-scroll::after{content:"";display:block;height:1px}
input:disabled{opacity:.86}

@media(max-width:720px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  header{position:sticky;top:0}
  .header-inner{padding:9px 10px;padding-top:calc(9px + env(safe-area-inset-top));gap:8px;align-items:center}
  .brand-mark{width:30px;height:30px;flex-basis:30px;border-radius:9px;font-size:18px}
  .brand-title{font-size:16px;display:block;line-height:1.08}
  .brand-title em{display:block;font-size:10px;margin-top:3px;color:#cbd9df;font-weight:750;letter-spacing:0}
  .header-actions{gap:5px}
  .header-btn{min-height:40px;padding:8px 9px;font-size:11px;border-radius:9px}
  .share-btn{font-size:0}
  .share-btn::after{content:"↗";font-size:15px}
  .manager-btn{font-size:0}
  .manager-btn::after{content:none}
  .manager-btn.unlocked::after{content:none}
  main{padding:12px 10px 18px}
  .tabs{position:fixed;z-index:30;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));margin:0;padding:5px;gap:4px;border:1px solid #344b57;border-radius:17px;background:rgba(12,23,30,.95);backdrop-filter:blur(18px);box-shadow:0 14px 36px rgba(0,0,0,.45)}
  .tab{flex:1;min-width:0;padding:8px 4px;border:0;background:transparent;border-radius:12px;flex-direction:column;gap:3px;font-size:10px;color:#95aab4}
  .tab-icon{font-size:17px}
  .tab.active{background:#f4c95d;color:#191e22;box-shadow:0 5px 16px rgba(244,201,93,.17)}
  .dbbar{margin:0 0 12px;padding:9px 10px;align-items:flex-start}
  .dbbar .dbtext{font-size:11px}
  .dbbtn{min-height:38px;padding:7px 8px;font-size:10px}
  .grid{gap:12px}
  .card{border-radius:14px}
  .card h2{font-size:14px;padding:12px 13px}
  .section{padding:13px}
  .form-grid,.form-grid.three,.form-grid.admin-two{gap:9px}
  label{font-size:11px;margin-bottom:5px}
  select,input,textarea{font-size:16px;min-height:44px;padding:10px 11px;border-radius:9px}
  textarea{min-height:120px}
  .item-hero{grid-template-columns:82px 1fr;gap:10px;padding:10px;margin-top:10px}
  .item-img{width:76px;height:76px;border-radius:12px}
  .item-name{font-size:18px;line-height:1.2;margin-bottom:4px}
  .sub{font-size:11px;line-height:1.5}
  .city{font-size:11px;margin-top:5px;padding:4px 6px;max-width:100%;flex-wrap:wrap}
  .city-tag{font-size:10px;padding:3px 6px}
  .stat-grid{gap:7px}
  .stat{padding:10px;border-radius:11px;min-width:0}
  .stat .k{font-size:10px}.stat .v{font-size:16px;word-break:break-word}
  .stat.big .v{font-size:23px}
  .note{font-size:11px;padding:9px 10px}
  .materials-table{min-width:700px}.refine-materials-table{min-width:570px}
  .materials-table th,.materials-table td,.refine-materials-table th,.refine-materials-table td,.market-table th,.market-table td{padding:9px 8px}
  .materials-table .matimg{width:40px;height:40px;flex-basis:40px}
  .refine-materials-table .matimg{width:38px;height:38px;flex-basis:38px}
  .market-toolbar{gap:9px}
  .market-actions{justify-content:stretch}.market-actions .smallbtn{flex:1;min-height:42px}
  .primarybtn,.secondarybtn,.dangerbtn,.preservebtn,.smallbtn{min-height:44px}
  .footer-note{padding:20px 8px;font-size:10px}
  .modal{padding:0;align-items:flex-end}
  .modal-card,.modal-card.wide{width:100%;max-height:94dvh;border-radius:18px 18px 0 0;border-bottom:0}
  .modal-head{padding:12px 13px;padding-top:calc(12px + env(safe-area-inset-top));align-items:center}
  .modal-title{font-size:15px}
  .modal-body{padding:13px 12px calc(16px + env(safe-area-inset-bottom))}
  .modal-close{width:40px;height:40px;flex:0 0 40px}
  .consent-summary{grid-template-columns:80px 1fr;gap:5px 8px;font-size:10px}
  .consent-check{font-size:11px}
  .policy-table{display:block;overflow-x:auto}.policy-table tbody{display:table;width:100%;min-width:540px}
  .admin-toolbar{grid-template-columns:1fr 1fr;gap:7px}
  .admin-table-wrap{-webkit-overflow-scrolling:touch}
  .admin-detail{padding:10px}
}

@media(max-width:390px){
  .header-btn{padding:7px 7px}
  .brand-title{font-size:14px}
  .brand-title em{font-size:9px}
  .stat-grid{grid-template-columns:1fr}
  .stat.big{grid-column:auto}
  .item-hero{grid-template-columns:68px 1fr}
  .item-img{width:64px;height:64px}
  .item-name{font-size:16px}
}


/* v0.7.2 — structured selectors + consumables validation + mobile density */
.lang-control{display:flex;align-items:center;gap:5px;border:1px solid #425866;background:#14242e;border-radius:10px;padding:0 7px;min-height:40px}
.lang-control .globe{font-size:14px;line-height:1}
.lang-control select{border:0;background:transparent;box-shadow:none;min-height:36px;padding:4px 22px 4px 2px;width:auto;font-size:12px;font-weight:850;color:#dce9ee}
.lang-control select:focus{box-shadow:none}
.consumable-materials-table th{position:static!important;top:auto!important;z-index:auto!important}
.consumable-materials-table{min-width:780px;table-layout:auto}
.consumable-materials-table th,.consumable-materials-table td{padding:10px;vertical-align:middle}
.consumable-materials-table .matcell{display:flex;align-items:center;gap:10px;min-width:210px}
.consumable-materials-table .matimg{width:44px;height:44px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#10222c;flex:0 0 44px}
.batch-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(111,195,255,.1);border:1px solid rgba(111,195,255,.28);color:#a9dcff;font-size:11px;font-weight:900;margin-top:6px}
.consumable-kind{display:inline-flex;align-items:center;gap:5px;font-weight:900}
.consumable-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.basis-card{border:1px solid #344b57;background:#101c24;border-radius:11px;padding:10px;font-size:11px;line-height:1.55;color:#c4d3d9}
.basis-card b{display:block;color:#eef5f7;margin-bottom:4px}
@media(max-width:720px){
  .lang-control{min-height:40px;padding:0 5px}.lang-control .globe{display:none}.lang-control select{font-size:11px;max-width:92px;padding-right:17px}
  .section{padding:11px 12px}.card h2{padding:10px 12px}.card[style*="margin-top:16px"]{margin-top:10px!important}
  .form-grid,.form-grid.three{gap:7px 8px}
  .item-hero{grid-template-columns:72px 1fr;padding:8px;gap:9px}
  .item-img{width:66px;height:66px}
  .consumable-materials-table{min-width:720px}
  .consumable-materials-table .matimg{width:38px;height:38px;flex-basis:38px}
  .consumable-help{grid-template-columns:1fr;gap:7px}
}
@media(max-width:390px){
  .tabs{left:5px;right:5px;gap:2px;padding:4px}.tab{padding:7px 2px;font-size:9px}.tab-icon{font-size:15px}
  .header-actions{gap:3px}.lang-control{max-width:88px}.lang-control select{max-width:78px}
}




/* v0.7.2 — craft selection polish / toggle premium / mobile polish */
.craft-select-grid select:disabled,
.consumable-select-grid select:disabled{
  opacity:.58;
  cursor:not-allowed;
  background:#10202a;
}
.premium-toggle{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  border:1px solid #36505e;
  border-radius:11px;
  background:#10202a;
  cursor:pointer;
  user-select:none;
}
.premium-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.toggle-track{
  width:46px;height:25px;border-radius:999px;
  background:#60333a;border:1px solid rgba(255,122,122,.42);
  padding:2px;display:inline-flex;align-items:center;
  transition:.18s ease;flex:0 0 46px;
}
.toggle-knob{
  width:19px;height:19px;border-radius:50%;
  background:#e8eef1;box-shadow:0 2px 6px rgba(0,0,0,.4);
  transform:translateX(0);transition:.18s ease;
}
.premium-toggle input:checked + .toggle-track{
  background:#245c42;border-color:rgba(80,216,144,.5);
}
.premium-toggle input:checked + .toggle-track .toggle-knob{
  transform:translateX(21px);
}
.toggle-state{font-size:12px;font-weight:900;color:#ffabab;line-height:1.3}
.premium-toggle input:checked ~ .toggle-state{color:#7cf0a8}
@media(max-width:720px){
  .craft-select-grid,.consumable-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .premium-toggle{min-height:42px;padding:6px 8px}
}
@media(max-width:350px){
  .craft-select-grid,.consumable-select-grid{grid-template-columns:1fr!important}
}


/* v0.7.2 — Craft selector polish */
.enchant-native{display:none!important}
.enchant-tabs{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.enchant-wait{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 11px;
  border:1px dashed #334b57;
  border-radius:9px;
  background:#10202a;
  color:var(--muted);
  font-size:12px;
}
.enchant-btn{
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  flex:0 0 42px;
  border-radius:50%;
  border:1px solid #3a4b55;
  background:#15252e;
  color:#cfd8dc;
  font-weight:900;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;
}
.enchant-btn:hover{transform:translateY(-1px) scale(1.03)}
.enchant-btn.active{transform:scale(1.06);box-shadow:0 0 0 2px rgba(255,255,255,.12) inset,0 3px 12px rgba(0,0,0,.22)}
.enchant-btn.ench-0{border-color:#66757d;color:#d5dde1}
.enchant-btn.ench-0.active{background:#34434b;border-color:#aab7bd}
.enchant-btn.ench-1{border-color:#63b97d;color:#9ee7b0}
.enchant-btn.ench-1.active{background:#214c32;border-color:#8be1a4;box-shadow:0 0 0 2px rgba(165,255,190,.12) inset,0 0 14px rgba(107,219,137,.14)}
.enchant-btn.ench-2{border-color:#62a9d6;color:#9bdcff}
.enchant-btn.ench-2.active{background:#204866;border-color:#8dd5ff;box-shadow:0 0 0 2px rgba(157,222,255,.12) inset,0 0 14px rgba(96,184,238,.15)}
.enchant-btn.ench-3{border-color:#a377d0;color:#d3a9ff}
.enchant-btn.ench-3.active{background:#4a2b66;border-color:#c99af5;box-shadow:0 0 0 2px rgba(218,181,255,.12) inset,0 0 14px rgba(174,109,231,.16)}
.enchant-btn.ench-4{border-color:#d5b447;color:#ffe07a}
.enchant-btn.ench-4.active{background:#594a18;border-color:#f0cf58;box-shadow:0 0 0 2px rgba(255,225,111,.12) inset,0 0 14px rgba(226,190,72,.16)}
.qty-control{display:flex;align-items:stretch;gap:6px}
.qty-control>input{min-width:0;flex:1}
.qty-quick{display:flex;gap:4px;flex:0 0 auto}
.qty-add{
  min-width:43px;
  height:44px;
  padding:0 7px;
  border-radius:9px;
  border:1px solid #3d5662;
  background:#142832;
  color:#dfe9ed;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.qty-add:hover{border-color:#cda84c;color:#ffe294}
@media(max-width:720px){
  .enchant-tabs{gap:6px;flex-wrap:nowrap}
  .enchant-btn{width:40px;min-width:40px;height:40px;min-height:40px;flex-basis:40px;padding:0;border-radius:50%}
  .craft-qty-field{grid-column:1/-1}
  .qty-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .qty-add{min-width:46px;height:42px}
}
@media(max-width:390px){
  .qty-control{grid-template-columns:1fr}
  .qty-quick{display:grid;grid-template-columns:repeat(3,1fr)}
  .qty-add{width:100%}
}


@media(max-width:360px){
  .enchant-tabs{gap:5px}
  .enchant-btn{width:36px;min-width:36px;height:36px;min-height:36px;flex-basis:36px;font-size:12px}
}


/* v0.7.2.3 — crafting calculation UX */
.calc-switch-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:12px;
}
.calc-switch-card{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid #304955;
  border-radius:12px;
  background:linear-gradient(135deg,#10212a,#0f1c24);
  cursor:pointer;
  user-select:none;
}
.calc-switch-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.calc-switch-copy strong{font-size:13px;color:#e7eff2}
.calc-switch-copy strong[data-ui-icon]{display:flex;align-items:center;gap:0;min-width:0}.calc-switch-copy strong[data-ui-icon]>.ui-icon-slot{width:15px;height:15px;margin-right:6px;flex:0 0 15px}
.calc-switch-copy small{font-size:10px;line-height:1.35;color:var(--muted)}
.ui-switch{position:relative;display:inline-flex;flex:0 0 auto}
.ui-switch input{position:absolute;opacity:0;pointer-events:none}
.ui-switch-track{
  width:46px;height:26px;padding:2px;
  display:flex;align-items:center;
  border-radius:999px;
  background:#2a3940;
  border:1px solid #465a63;
  transition:.18s ease;
}
.ui-switch-knob{
  width:20px;height:20px;border-radius:50%;
  background:#dce5e8;
  box-shadow:0 2px 6px rgba(0,0,0,.38);
  transform:translateX(0);
  transition:.18s ease;
}
.ui-switch input:checked + .ui-switch-track{
  background:#1f5d43;
  border-color:#3f9e70;
}
.ui-switch input:checked + .ui-switch-track .ui-switch-knob{transform:translateX(20px)}

.focus-config-panel{
  margin:3px 0 4px;
  padding:11px 12px;
  border:1px solid rgba(80,216,144,.2);
  border-radius:12px;
  background:rgba(80,216,144,.055);
}
.focus-config-title{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;margin-bottom:9px;
  font-size:11px;font-weight:900;color:#dce8e2;
}
.status-badge{
  padding:3px 7px;border-radius:999px;
  font-size:9px;font-weight:900;letter-spacing:.04em;
}
.status-on{color:#91ebb2;background:rgba(66,205,121,.11);border:1px solid rgba(66,205,121,.27)}
.focus-config-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.calc-subsection{
  padding-top:13px;
  margin-top:13px;
  border-top:1px solid rgba(83,111,123,.32);
}
.calc-subtitle{
  display:flex;align-items:center;gap:7px;
  margin-bottom:9px;
  font-size:12px;font-weight:900;color:#dce7eb;
}
.calc-subtitle-tag{
  padding:3px 7px;border-radius:999px;
  background:rgba(111,195,255,.09);
  color:#86cfff;
  font-size:9px;letter-spacing:.06em;text-transform:uppercase;
}

.calc-input-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.calc-input-item{min-width:0}
.calc-input-item>label{display:block}
.input-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:5px;
}
.input-label-row label{margin:0}
.input-mode-badge{
  flex:0 0 auto;
  padding:2px 6px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  border:1px solid transparent;
}
.input-mode-badge.auto{
  color:#8acdf5;
  background:rgba(85,176,231,.09);
  border-color:rgba(85,176,231,.2);
}
.input-mode-badge.manual{
  color:#ffe08a;
  background:rgba(224,185,72,.1);
  border-color:rgba(224,185,72,.23);
}
.input-with-suffix{
  position:relative;
  display:flex;
  align-items:center;
}
.input-with-suffix input{padding-right:42px;width:100%}
.input-with-suffix>span{
  position:absolute;
  right:11px;
  color:#8299a3;
  font-size:10px;
  font-weight:900;
  pointer-events:none;
}

.return-preview-card{
  padding:10px 11px;
  border-radius:11px;
  background:rgba(91,125,139,.085);
  margin-bottom:8px;
}
.return-preview-title{
  margin-bottom:7px;
  font-size:10px;color:var(--muted);font-weight:800;
}
.return-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}
.return-preview-grid>div{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:2px 8px;
}
.return-preview-grid>div+div{border-left:1px solid rgba(100,127,138,.28)}
.return-preview-grid span{font-size:10px;color:#94a9b2}
.return-preview-grid strong{font-size:14px;color:#e9f2f5}

.calc-primary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.calc-primary-card{
  min-height:76px;
  padding:12px;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(81,112,126,.14),rgba(46,72,83,.12));
  border:1px solid rgba(102,133,145,.13);
  display:flex;flex-direction:column;justify-content:center;gap:6px;
}
.calc-primary-card.accent{
  background:linear-gradient(145deg,rgba(67,180,112,.11),rgba(34,96,69,.1));
  border-color:rgba(78,197,126,.17);
}
.calc-primary-card span{font-size:10px;color:var(--muted)}
.calc-primary-card strong{
  font-size:24px;
  line-height:1;
  color:#f1f6f8;
  letter-spacing:-.02em;
}
.calc-primary-card.accent strong{color:#8defb0}

.calc-breakdown-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.calc-breakdown-chip{
  min-width:0;
  flex:1 1 90px;
  padding:8px 9px;
  border-radius:10px;
  background:rgba(77,105,117,.09);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:3px 8px;
}
.calc-breakdown-chip span{font-size:9px;color:var(--muted)}
.calc-breakdown-chip strong{font-size:13px;color:#e5eef1}
.calc-breakdown-chip small{
  grid-column:1/-1;
  font-size:8px;color:#78919c;
  text-align:right;
}

.focus-progress-card{
  margin-top:8px;
  padding:10px 11px;
  border-radius:12px;
  background:rgba(80,216,144,.055);
  border:1px solid rgba(80,216,144,.1);
}
.focus-progress-head,.focus-progress-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.focus-progress-head span{font-size:10px;color:var(--muted)}
.focus-progress-head strong{font-size:13px;color:#8beab0;white-space:nowrap}
.focus-progress-track{
  height:8px;
  margin:8px 0 7px;
  overflow:hidden;
  border-radius:999px;
  background:#15252d;
  box-shadow:inset 0 0 0 1px rgba(93,120,132,.28);
}
.focus-progress-fill{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#3bc97e,#8be6aa);
  transition:width .22s ease;
}
.focus-progress-foot{font-size:9px;color:var(--muted)}
.calc-compact-note{font-size:10px;line-height:1.55}

@media(max-width:720px){
  .calc-switch-row{grid-template-columns:1fr;gap:7px}
  .calc-switch-card{min-height:58px;padding:9px 10px}
  .focus-config-grid,.calc-input-grid,.calc-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-primary-card{min-height:70px;padding:11px}
}
@media(max-width:390px){
  .focus-config-grid,.calc-input-grid,.calc-primary-grid{grid-template-columns:1fr}
  .return-preview-grid>div{padding:2px 5px}
  .calc-primary-card{min-height:64px}
  .calc-primary-card strong{font-size:22px}
}


/* v0.7.2.4 — stable-layout principle: values change, geometry stays */
.craft-preview-slot{
  position:relative;
  height:170px;
  margin-top:14px;
}
.craft-preview-slot>.item-hero{
  height:100%;
  margin-top:0;
  box-sizing:border-box;
}
.craft-preview-empty{
  height:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(81,114,128,.42);
  border-radius:14px;
  background:rgba(9,22,29,.28);
}
.craft-preview-empty.hidden{display:none!important}

/* 3 material rows worth of space; 4+ rows can still grow naturally. */
.craft-materials-slot{
  min-height:246px;
  box-sizing:border-box;
}

/* Craft settings is no longer an almost-empty card. */
.station-fee-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.station-fee-stat{
  min-height:58px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(75,108,121,.09);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:3px 8px;
}
.station-fee-stat span{
  grid-column:1/-1;
  font-size:9px;
  color:var(--muted);
}
.station-fee-stat strong{
  font-size:15px;
  color:#e9f2f5;
}
.station-fee-stat small{
  font-size:9px;
  color:#8098a2;
}

/* OFF no longer means 'remove'. It means 'same place, dimmed'. */
.focus-config-panel,
.calc-input-item,
.calc-breakdown-chip,
.focus-progress-card,
.return-preview-grid>div{
  transition:opacity .16s ease,filter .16s ease,border-color .16s ease,background .16s ease;
}
.focus-config-panel.is-disabled,
.calc-input-item.is-disabled,
.calc-breakdown-chip.is-disabled,
.focus-progress-card.is-disabled,
.return-preview-grid>div.is-disabled{
  opacity:.36;
  filter:saturate(.45);
}
.focus-config-panel.is-disabled{
  border-color:rgba(92,113,122,.16);
  background:rgba(70,88,96,.035);
}
.status-off{
  color:#91a1a8;
  background:rgba(100,120,128,.08);
  border:1px solid rgba(100,120,128,.2);
}
.input-mode-badge.off{
  color:#8e9da3;
  background:rgba(100,120,128,.08);
  border-color:rgba(100,120,128,.18);
}
.calc-breakdown-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.calc-breakdown-chip{
  min-height:62px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  align-content:center;
}
.calc-breakdown-chip small{
  min-height:11px;
}
.breakdown-spacer{visibility:hidden}

/* Keep progress footprint even when Focus is OFF. */
.focus-progress-card{
  min-height:70px;
  box-sizing:border-box;
}
.focus-progress-card.is-disabled .focus-progress-fill{
  background:#66777e;
}

/* On desktop and mobile, these conditional sections never collapse. */
#focusConfigPanel,
#manualFocusReturnWrap,
#manualExtraWrap,
#focusedQtyReadout,
#extraCraftReadout,
#craftFocusProgressWrap{
  display:block;
}
#focusedQtyReadout,
#extraCraftReadout{
  display:grid;
}

@media(max-width:720px){
  .craft-preview-slot{height:120px;margin-top:10px}
  .craft-preview-slot>.item-hero{height:100%}
  .craft-materials-slot{min-height:222px}
  .station-fee-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-breakdown-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calc-breakdown-chip{padding:7px 6px;min-height:60px}
  .calc-breakdown-chip span{font-size:8px}
  .calc-breakdown-chip strong{font-size:12px}
}
@media(max-width:390px){
  .station-fee-summary{grid-template-columns:1fr}
  .calc-breakdown-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calc-breakdown-chip{padding:6px 5px;min-height:58px}
  .calc-breakdown-chip span{font-size:7.5px;line-height:1.2}
  .calc-breakdown-chip strong{font-size:11px}
  .calc-breakdown-chip small{font-size:7px}
}


/* v0.7.2.5 — hard geometry lock: craft sale + materials */

/* ④ 판매 설정 */
.craft-sales-card{align-self:start}
.craft-sales-card .section{box-sizing:border-box}
.craft-sales-card .form-grid.three{align-items:start}
.craft-sales-card .form-grid.three>div{min-width:0}
.craft-sales-card label{
  height:16px;min-height:16px;max-height:16px;
  line-height:16px;overflow:hidden;
}
.craft-sales-card .premium-wrap{
  height:102px;min-height:102px;max-height:102px;
  display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
}
.craft-sales-card .premium-toggle{
  height:44px;min-height:44px;max-height:44px;flex:0 0 44px;box-sizing:border-box;
}
.craft-sales-card .toggle-state{min-width:30px;white-space:nowrap}
.craft-sales-card .premium-tax-slot{
  height:30px;min-height:30px;max-height:30px;
  margin-top:5px;display:flex;align-items:center;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.2;
}
.craft-sales-card .sale-fee-slot{
  height:34px;min-height:34px;max-height:34px;
  margin-top:5px;display:flex;align-items:flex-start;
  overflow:hidden;line-height:1.25;
}
.craft-sales-card .note{
  height:48px;min-height:48px;max-height:48px;
  overflow:hidden;box-sizing:border-box;
}

/* ② 필요 재료 — 언어/행 수가 달라도 세로 geometry 고정 */
.craft-materials-slot{
  height:246px!important;
  min-height:246px!important;
  max-height:246px!important;
  overflow:auto!important;
  box-sizing:border-box;
}
.craft-materials-table{
  table-layout:fixed!important;
  width:100%;
  min-width:790px!important;
  margin:0;
}
.craft-materials-table thead tr{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
}
.craft-materials-table tbody tr{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
}
.craft-materials-table th{
  height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:6px 8px!important;line-height:1.15!important;
  vertical-align:middle!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box;
}
.craft-materials-table td{
  height:58px!important;min-height:58px!important;max-height:58px!important;
  padding:6px 8px!important;line-height:1.2!important;
  vertical-align:middle!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box;
}
.craft-materials-table .matcell{
  min-width:0!important;width:100%;height:46px;
  display:flex;align-items:center;gap:9px;overflow:hidden;
}
.craft-materials-table .matimg{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
}
.craft-materials-table .matcell span{
  min-width:0;flex:1 1 auto;display:block;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.craft-materials-table input{
  width:100%;min-width:0!important;
  height:40px;min-height:40px;max-height:40px;box-sizing:border-box;
}
.craft-materials-table th:nth-child(1),
.craft-materials-table td:nth-child(1){width:30%}
.craft-materials-table th:nth-child(2),
.craft-materials-table td:nth-child(2){width:9%}
.craft-materials-table th:nth-child(3),
.craft-materials-table td:nth-child(3){width:14%}
.craft-materials-table th:nth-child(4),
.craft-materials-table td:nth-child(4){width:9%}
.craft-materials-table th:nth-child(5),
.craft-materials-table td:nth-child(5){width:13%}
.craft-materials-table th:nth-child(6),
.craft-materials-table td:nth-child(6){width:15%}
.craft-materials-table th:nth-child(7),
.craft-materials-table td:nth-child(7){width:10%}

/* 선택 전/재료없음도 3행 몸통 높이 사용 */
.craft-materials-table tbody tr:only-child td.empty{
  height:174px!important;min-height:174px!important;max-height:174px!important;
  vertical-align:middle!important;white-space:normal!important;
}

@media(max-width:720px){
  .craft-sales-card .premium-wrap{
    height:100px;min-height:100px;max-height:100px;
  }
  .craft-sales-card .premium-tax-slot{
    height:29px;min-height:29px;max-height:29px;
  }
  .craft-sales-card .sale-fee-slot{
    height:32px;min-height:32px;max-height:32px;
  }
  .craft-sales-card .note{
    height:52px;min-height:52px;max-height:52px;
  }

  .craft-materials-slot{
    height:222px!important;min-height:222px!important;max-height:222px!important;
  }
  .craft-materials-table{min-width:760px!important}
  .craft-materials-table thead tr,
  .craft-materials-table th{
    height:40px!important;min-height:40px!important;max-height:40px!important;
  }
  .craft-materials-table tbody tr,
  .craft-materials-table td{
    height:54px!important;min-height:54px!important;max-height:54px!important;
  }
  .craft-materials-table .matcell{height:42px}
  .craft-materials-table .matimg{
    width:38px!important;height:38px!important;flex-basis:38px!important;
  }
  .craft-materials-table tbody tr:only-child td.empty{
    height:162px!important;min-height:162px!important;max-height:162px!important;
  }
}


/* v0.7.2.6 — material table fit: no inner scroll for normal recipes */

/* Let the card itself hold the content instead of creating a nested scrollbox. */
.craft-materials-slot{
  height:auto!important;
  min-height:278px!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:14px!important;
}

/* Fit all seven columns inside the actual card width. */
.craft-materials-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

/* Slightly tighter header/body cells. */
.craft-materials-table th{
  padding:6px 5px!important;
  font-size:10px!important;
}
.craft-materials-table td{
  padding:6px 5px!important;
  font-size:10px!important;
}

/* More room for item names; numeric columns are intentionally compact. */
.craft-materials-table th:nth-child(1),
.craft-materials-table td:nth-child(1){width:34%!important}
.craft-materials-table th:nth-child(2),
.craft-materials-table td:nth-child(2){width:7%!important}
.craft-materials-table th:nth-child(3),
.craft-materials-table td:nth-child(3){width:11%!important}
.craft-materials-table th:nth-child(4),
.craft-materials-table td:nth-child(4){width:7%!important}
.craft-materials-table th:nth-child(5),
.craft-materials-table td:nth-child(5){width:12%!important}
.craft-materials-table th:nth-child(6),
.craft-materials-table td:nth-child(6){width:14%!important}
.craft-materials-table th:nth-child(7),
.craft-materials-table td:nth-child(7){width:15%!important}

/* Purchase-price is an input, not a content column: keep it deliberately small. */
.craft-materials-table td:nth-child(6) input{
  width:68px!important;
  max-width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  padding:6px 7px!important;
  text-align:right;
  font-size:10px!important;
}

/* Purchase cost/result numbers stay on one line but use the space efficiently. */
.craft-materials-table td:nth-child(7){
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* Item cell stays compact. */
.craft-materials-table .matcell{
  gap:7px!important;
  height:46px!important;
}
.craft-materials-table .matimg{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
}

/* 1~3 rows keep a pleasant stable body height without scrollbars. */
.craft-materials-table tbody tr{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
}

/* Selection/empty state occupies roughly the same visual footprint. */
.craft-materials-table tbody tr:only-child td.empty{
  height:174px!important;
  min-height:174px!important;
  max-height:174px!important;
}

/* Remove browser scrollbars from this particular craft table container. */
.craft-materials-card .table-scroll{
  overflow:visible!important;
  scrollbar-width:none;
}
.craft-materials-card .table-scroll::-webkit-scrollbar{
  display:none;
}

@media(max-width:720px){
  .craft-materials-slot{
    min-height:264px!important;
    overflow:visible!important;
  }
  .craft-materials-table{
    min-width:0!important;
  }
  .craft-materials-table th{
    padding:5px 3px!important;
    font-size:9px!important;
    letter-spacing:-.02em;
  }
  .craft-materials-table td{
    padding:5px 3px!important;
    font-size:9px!important;
  }

  .craft-materials-table th:nth-child(1),
  .craft-materials-table td:nth-child(1){width:32%!important}
  .craft-materials-table th:nth-child(2),
  .craft-materials-table td:nth-child(2){width:7%!important}
  .craft-materials-table th:nth-child(3),
  .craft-materials-table td:nth-child(3){width:11%!important}
  .craft-materials-table th:nth-child(4),
  .craft-materials-table td:nth-child(4){width:7%!important}
  .craft-materials-table th:nth-child(5),
  .craft-materials-table td:nth-child(5){width:12%!important}
  .craft-materials-table th:nth-child(6),
  .craft-materials-table td:nth-child(6){width:15%!important}
  .craft-materials-table th:nth-child(7),
  .craft-materials-table td:nth-child(7){width:16%!important}

  .craft-materials-table td:nth-child(6) input{
    width:58px!important;
    height:36px!important;
    min-height:36px!important;
    padding:5px 5px!important;
    font-size:9px!important;
  }
  .craft-materials-table .matimg{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .craft-materials-table .matcell{
    gap:5px!important;
    height:42px!important;
  }
}

/* Extremely narrow phones still avoid a nested scrollbar; names truncate first. */
@media(max-width:420px){
  .craft-materials-table th{font-size:8px!important}
  .craft-materials-table td{font-size:8.5px!important}
  .craft-materials-table td:nth-child(6) input{
    width:52px!important;
    font-size:8.5px!important;
  }
  .craft-materials-table .matimg{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
  }
}


/* v0.7.2.7 — compact multilingual material-price UI */
.craft-materials-table th:nth-child(1),
.craft-materials-table td:nth-child(1){width:32%!important}
.craft-materials-table th:nth-child(2),
.craft-materials-table td:nth-child(2){width:7%!important}
.craft-materials-table th:nth-child(3),
.craft-materials-table td:nth-child(3){width:11%!important}
.craft-materials-table th:nth-child(4),
.craft-materials-table td:nth-child(4){width:7%!important}
.craft-materials-table th:nth-child(5),
.craft-materials-table td:nth-child(5){width:12%!important}
.craft-materials-table th:nth-child(6),
.craft-materials-table td:nth-child(6){width:17%!important}
.craft-materials-table th:nth-child(7),
.craft-materials-table td:nth-child(7){width:14%!important}

.craft-materials-table td:nth-child(6){text-align:center}
.craft-materials-table td:nth-child(6) input.matprice{
  width:88px!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:6px 8px!important;
  text-align:right;
  font-size:10px!important;
  font-variant-numeric:tabular-nums;
}
.craft-materials-table td:nth-child(6) input.matprice::placeholder{
  color:#6f8792;
  opacity:.9;
}
.craft-materials-table td:nth-child(7){
  text-align:right;
  font-variant-numeric:tabular-nums;
}

@media(max-width:720px){
  .craft-materials-table th:nth-child(1),
  .craft-materials-table td:nth-child(1){width:30%!important}
  .craft-materials-table th:nth-child(2),
  .craft-materials-table td:nth-child(2){width:7%!important}
  .craft-materials-table th:nth-child(3),
  .craft-materials-table td:nth-child(3){width:11%!important}
  .craft-materials-table th:nth-child(4),
  .craft-materials-table td:nth-child(4){width:7%!important}
  .craft-materials-table th:nth-child(5),
  .craft-materials-table td:nth-child(5){width:12%!important}
  .craft-materials-table th:nth-child(6),
  .craft-materials-table td:nth-child(6){width:18%!important}
  .craft-materials-table th:nth-child(7),
  .craft-materials-table td:nth-child(7){width:15%!important}

  .craft-materials-table td:nth-child(6) input.matprice{
    width:72px!important;
    font-size:9px!important;
  }
}

@media(max-width:420px){
  .craft-materials-table td:nth-child(6) input.matprice{
    width:64px!important;
    padding:5px 6px!important;
  }
}


/* v0.7.2.8 — final 3-row crafting-material layout */

/* Header 44 + 3 rows × 58 + bottom padding ~= 230px.
   No nested scrolling and no unused fourth-row space. */
.craft-materials-slot{
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  overflow:hidden!important;
  padding-bottom:12px!important;
}
.craft-materials-card .table-scroll{
  overflow:hidden!important;
}

/* Column geometry */
.craft-materials-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.craft-materials-table th:nth-child(1),
.craft-materials-table td:nth-child(1){width:32%!important}
.craft-materials-table th:nth-child(2),
.craft-materials-table td:nth-child(2){width:7%!important}
.craft-materials-table th:nth-child(3),
.craft-materials-table td:nth-child(3){width:12%!important}
.craft-materials-table th:nth-child(4),
.craft-materials-table td:nth-child(4){width:7%!important}
.craft-materials-table th:nth-child(5),
.craft-materials-table td:nth-child(5){width:13%!important}
.craft-materials-table th:nth-child(6),
.craft-materials-table td:nth-child(6){width:16%!important}
.craft-materials-table th:nth-child(7),
.craft-materials-table td:nth-child(7){width:13%!important}

/* Header and body use the exact same alignment rules. */
.craft-materials-table th:nth-child(1),
.craft-materials-table td:nth-child(1){
  text-align:left!important;
}
.craft-materials-table th:nth-child(2),
.craft-materials-table td:nth-child(2),
.craft-materials-table th:nth-child(3),
.craft-materials-table td:nth-child(3),
.craft-materials-table th:nth-child(4),
.craft-materials-table td:nth-child(4),
.craft-materials-table th:nth-child(5),
.craft-materials-table td:nth-child(5),
.craft-materials-table th:nth-child(6),
.craft-materials-table td:nth-child(6){
  text-align:center!important;
}
.craft-materials-table th:nth-child(7),
.craft-materials-table td:nth-child(7){
  text-align:right!important;
}

/* Unit-price input is centered exactly below the Unit header. */
.craft-materials-table td:nth-child(6) input.matprice{
  display:block!important;
  width:86px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  text-align:right!important;
}

/* Cost sits flush to the same right edge as its header. */
.craft-materials-table td:nth-child(7){
  padding-right:8px!important;
  font-variant-numeric:tabular-nums;
}

/* Empty/select state occupies the same three-row body footprint. */
.craft-materials-table tbody tr:only-child td.empty{
  height:174px!important;
  min-height:174px!important;
  max-height:174px!important;
}

@media(max-width:720px){
  /* Header 40 + 3 rows × 54 + bottom padding ~= 214px */
  .craft-materials-slot{
    height:214px!important;
    min-height:214px!important;
    max-height:214px!important;
    overflow:hidden!important;
  }

  .craft-materials-table th:nth-child(1),
  .craft-materials-table td:nth-child(1){width:30%!important}
  .craft-materials-table th:nth-child(2),
  .craft-materials-table td:nth-child(2){width:7%!important}
  .craft-materials-table th:nth-child(3),
  .craft-materials-table td:nth-child(3){width:12%!important}
  .craft-materials-table th:nth-child(4),
  .craft-materials-table td:nth-child(4){width:7%!important}
  .craft-materials-table th:nth-child(5),
  .craft-materials-table td:nth-child(5){width:13%!important}
  .craft-materials-table th:nth-child(6),
  .craft-materials-table td:nth-child(6){width:17%!important}
  .craft-materials-table th:nth-child(7),
  .craft-materials-table td:nth-child(7){width:14%!important}

  .craft-materials-table td:nth-child(6) input.matprice{
    width:70px!important;
    margin:0 auto!important;
  }
}


/* v0.7.2.9 — crafting numeric/profit final polish */

/* Net-profit card semantics */
.profit-card{
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.profit-card.profit-neutral{
  border-color:#315e78!important;
  background:linear-gradient(135deg,rgba(111,195,255,.08),rgba(80,216,144,.04))!important;
  box-shadow:none!important;
}
.profit-card.profit-positive{
  border-color:#41b873!important;
  background:linear-gradient(135deg,rgba(80,216,144,.16),rgba(244,201,93,.055))!important;
  box-shadow:0 0 0 1px rgba(80,216,144,.08) inset,0 0 18px rgba(80,216,144,.075)!important;
}
.profit-card.profit-positive .profit{
  color:var(--green)!important;
}
.profit-card.profit-negative{
  border-color:#d95757!important;
  background:linear-gradient(135deg,rgba(255,92,92,.15),rgba(99,28,34,.12))!important;
  box-shadow:0 0 0 1px rgba(255,100,100,.10) inset,0 0 20px rgba(255,74,74,.13)!important;
}
.profit-card.profit-negative .k{
  color:#ffaaaa!important;
}
.profit-card.profit-negative .profit{
  color:#ff7777!important;
  text-shadow:0 0 10px rgba(255,90,90,.20);
}

/* Every craft unit-price box has exactly the same geometry. */
.craft-materials-table td:nth-child(6) input.matprice{
  display:block!important;
  box-sizing:border-box!important;
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0 auto!important;
  padding:6px 8px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
  appearance:textfield;
}
.craft-materials-table td:nth-child(6) input.matprice::-webkit-inner-spin-button,
.craft-materials-table td:nth-child(6) input.matprice::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

@media(max-width:720px){
  .craft-materials-table td:nth-child(6) input.matprice{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
  }
}


/* v0.7.3.0 — refining UX aligned with crafting */

/* Selection */
.refine-select-grid select:disabled{opacity:.58;cursor:not-allowed;background:#10202a}
.ref-preview-slot{position:relative;height:154px;margin-top:14px}
.ref-preview-slot>.item-hero{height:100%;margin-top:0;box-sizing:border-box}
.ref-preview-empty{
  height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  border:1px dashed rgba(81,114,128,.42);border-radius:14px;background:rgba(9,22,29,.28)
}
.ref-preview-empty.hidden{display:none!important}
.ref-qty-add{
  min-width:48px;height:44px;padding:0 7px;border-radius:9px;border:1px solid #3d5662;
  background:#142832;color:#dfe9ed;font-size:11px;font-weight:900;cursor:pointer
}
.ref-qty-add:hover{border-color:#cda84c;color:#ffe294}

/* Enchant uses same color grammar as crafting. */
#refEnchantTabs{flex-wrap:nowrap}
#refEnchantTabs .enchant-btn{border-radius:50%}

/* Two rows are the refining recipe maximum in the current T4–T8 model. */
.refine-materials-slot{
  height:178px;min-height:178px;max-height:178px;overflow:hidden;box-sizing:border-box
}
.ref-materials-fixed{
  width:100%!important;min-width:0!important;table-layout:fixed!important
}
.ref-materials-fixed thead tr{height:42px!important}
.ref-materials-fixed tbody tr{height:58px!important;max-height:58px!important}
.ref-materials-fixed th{
  height:42px!important;padding:6px 6px!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important
}
.ref-materials-fixed td{
  height:58px!important;padding:6px 6px!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important
}
.ref-materials-fixed th:nth-child(1),.ref-materials-fixed td:nth-child(1){width:40%;text-align:left!important}
.ref-materials-fixed th:nth-child(2),.ref-materials-fixed td:nth-child(2){width:10%;text-align:center!important}
.ref-materials-fixed th:nth-child(3),.ref-materials-fixed td:nth-child(3){width:18%;text-align:center!important}
.ref-materials-fixed th:nth-child(4),.ref-materials-fixed td:nth-child(4){width:17%;text-align:center!important}
.ref-materials-fixed th:nth-child(5),.ref-materials-fixed td:nth-child(5){width:15%;text-align:right!important}
.ref-materials-fixed .matcell{min-width:0!important;width:100%;height:46px;display:flex;align-items:center;gap:8px;overflow:hidden}
.ref-materials-fixed .matcell span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ref-materials-fixed .matimg{width:40px;height:40px;flex:0 0 40px}
.ref-materials-fixed input.refmatprice{
  display:block;width:86px!important;min-width:86px!important;max-width:86px!important;height:38px!important;
  margin:0 auto!important;padding:6px 8px!important;text-align:right!important;font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;appearance:textfield
}
.ref-materials-fixed input.refmatprice::-webkit-inner-spin-button,
.ref-materials-fixed input.refmatprice::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ref-materials-fixed tbody tr:only-child td.empty{height:116px!important;max-height:116px!important;white-space:normal!important}

/* Sales geometry lock */
.refine-sales-card .premium-wrap{height:102px;min-height:102px;max-height:102px;overflow:hidden;display:flex;flex-direction:column}
.refine-sales-card .premium-toggle{height:44px;min-height:44px;max-height:44px;flex:0 0 44px}
.refine-sales-card .refine-premium-tax-slot{height:30px;min-height:30px;max-height:30px;margin-top:5px;overflow:hidden;white-space:nowrap}
.refine-sales-card .refine-sale-fee-slot{height:34px;min-height:34px;max-height:34px;margin-top:5px;overflow:hidden;line-height:1.25}
.refine-sales-card label{min-height:16px}

/* Calculation stability */
.refine-calc-card .focus-config-panel,
.refine-calc-card .calc-input-item,
.refine-calc-card .calc-breakdown-chip,
.refine-calc-card .focus-progress-card,
#refEstimatedFocusWrap{
  transition:opacity .16s ease,filter .16s ease
}
.refine-calc-card .is-disabled,
#refEstimatedFocusWrap.is-disabled{opacity:.36;filter:saturate(.45)}
.refine-calc-card .calc-breakdown-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
.refine-calc-card .calc-breakdown-chip{min-height:62px}
.refine-calc-card .focus-progress-card{min-height:70px}
.refine-calc-card .focus-progress-card.is-disabled .focus-progress-fill{background:#66777e}

@media(max-width:720px){
  .ref-preview-slot{height:116px;margin-top:10px}
  .refine-materials-slot{height:166px;min-height:166px;max-height:166px}
  .ref-materials-fixed thead tr,.ref-materials-fixed th{height:40px!important}
  .ref-materials-fixed tbody tr,.ref-materials-fixed td{height:54px!important;max-height:54px!important}
  .ref-materials-fixed .matimg{width:34px;height:34px;flex-basis:34px}
  .ref-materials-fixed .matcell{height:42px;gap:5px}
  .ref-materials-fixed input.refmatprice{width:70px!important;min-width:70px!important;max-width:70px!important}
  .ref-materials-fixed tbody tr:only-child td.empty{height:108px!important;max-height:108px!important}
}


/* v0.7.3.1 — refining final visual polish */

/* Force five enchant circles onto one row with exact same size as crafting. */
#refEnchantTabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  min-height:44px;
}
#refEnchantTabs .enchant-btn{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  flex:0 0 42px!important;
  border-radius:50%!important;
  padding:0!important;
}

/* Refining material ledger */
.ref-materials-fixed input.refmatprice{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  height:38px!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding:6px 8px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums;
}
.ref-materials-fixed td:nth-child(5){
  text-align:right!important;
  font-variant-numeric:tabular-nums;
}

/* Profit/ROI cards share the same profit-state language. */
#refProfitCard.profit-positive,
#refRoiCard.profit-positive{
  border-color:#41b873!important;
  background:linear-gradient(135deg,rgba(80,216,144,.16),rgba(244,201,93,.055))!important;
  box-shadow:0 0 0 1px rgba(80,216,144,.08) inset,0 0 18px rgba(80,216,144,.075)!important;
}
#refProfitCard.profit-negative,
#refRoiCard.profit-negative{
  border-color:#d95757!important;
  background:linear-gradient(135deg,rgba(255,92,92,.15),rgba(99,28,34,.12))!important;
  box-shadow:0 0 0 1px rgba(255,100,100,.10) inset,0 0 20px rgba(255,74,74,.13)!important;
}
#refProfitCard.profit-negative .k,
#refRoiCard.profit-negative .k{color:#ffaaaa!important}
#refProfitCard.profit-negative .v,
#refRoiCard.profit-negative .v{
  color:#ff7777!important;
  text-shadow:0 0 10px rgba(255,90,90,.20);
}
#refProfitCard.profit-positive .v,
#refRoiCard.profit-positive .v{color:var(--green)!important}

@media(max-width:720px){
  #refEnchantTabs{gap:6px!important}
  #refEnchantTabs .enchant-btn{
    width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;flex-basis:40px!important;
  }
  .ref-materials-fixed input.refmatprice{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
  }
}
@media(max-width:360px){
  #refEnchantTabs{gap:5px!important}
  #refEnchantTabs .enchant-btn{
    width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;flex-basis:36px!important;
  }
}


/* v0.7.4.1 — consumables calculator aligned with crafting/refining */
.consumable-preview-slot{position:relative;height:170px;margin-top:14px}
.consumable-preview-slot>.item-hero{height:100%;margin-top:0;box-sizing:border-box}
.consumable-preview-empty{height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(81,114,128,.42);border-radius:14px;background:rgba(9,22,29,.28)}
.consumable-preview-empty.hidden{display:none!important}
.consumable-materials-slot{min-height:246px;box-sizing:border-box}
.consumable-materials-card .table-scroll::-webkit-scrollbar{height:0}
.consumable-sales-card .premium-wrap{min-width:0}
.cons-station-summary .station-fee-stat strong.is-warning{color:#f4c95d}
#consFocusConfigPanel,#consManualFocusReturnWrap,#consManualExtraWrap,#consFocusedBatchesReadout,#consExtraReadout,#consFocusProgressWrap{display:block}
#consFocusedBatchesReadout,#consExtraReadout{display:grid}
#consProfitCard.profit-positive,#consRoiCard.profit-positive{border-color:rgba(80,216,144,.42);background:linear-gradient(135deg,rgba(80,216,144,.13),rgba(35,95,66,.08))}
#consProfitCard.profit-negative,#consRoiCard.profit-negative{border-color:rgba(255,122,122,.46);background:linear-gradient(135deg,rgba(255,122,122,.13),rgba(105,45,45,.08))}
#consProfitCard.profit-negative .k,#consRoiCard.profit-negative .k{color:#ffaaaa!important}
#consProfitCard.profit-positive .v,#consRoiCard.profit-positive .v{color:var(--green)!important}
#consProfitCard.profit-negative .v,#consRoiCard.profit-negative .v{color:#ff9b9b!important}
@media(max-width:720px){.consumable-preview-slot{height:120px;margin-top:10px}.consumable-materials-slot{min-height:222px}}



/* v0.7.4.2 — consumable selector fix + material table no horizontal scrollbar */
.consumable-materials-slot{
  height:auto!important;
  min-height:246px!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:0 12px 12px!important;
}
.consumable-materials-card .table-scroll{
  overflow:hidden!important;
  scrollbar-width:none!important;
}
.consumable-materials-card .table-scroll::-webkit-scrollbar{display:none!important}
.consumable-materials-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.consumable-materials-table th,
.consumable-materials-table td{
  box-sizing:border-box;
  padding:7px 5px!important;
  font-size:10px!important;
  line-height:1.2!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle!important;
}
.consumable-materials-table th:nth-child(1),
.consumable-materials-table td:nth-child(1){width:30%!important;text-align:left!important}
.consumable-materials-table th:nth-child(2),
.consumable-materials-table td:nth-child(2){width:9%!important;text-align:center!important}
.consumable-materials-table th:nth-child(3),
.consumable-materials-table td:nth-child(3){width:13%!important;text-align:center!important}
.consumable-materials-table th:nth-child(4),
.consumable-materials-table td:nth-child(4){width:8%!important;text-align:center!important}
.consumable-materials-table th:nth-child(5),
.consumable-materials-table td:nth-child(5){width:13%!important;text-align:center!important}
.consumable-materials-table th:nth-child(6),
.consumable-materials-table td:nth-child(6){width:15%!important;text-align:center!important}
.consumable-materials-table th:nth-child(7),
.consumable-materials-table td:nth-child(7){width:12%!important;text-align:right!important}
.consumable-materials-table .matcell{
  width:100%!important;
  min-width:0!important;
  display:flex;
  align-items:center;
  gap:7px!important;
  overflow:hidden;
}
.consumable-materials-table .matcell span{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.consumable-materials-table .matimg{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
}
.consumable-materials-table td:nth-child(6) input.matprice{
  display:block!important;
  box-sizing:border-box!important;
  width:76px!important;
  min-width:0!important;
  max-width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0 auto!important;
  padding:5px 7px!important;
  text-align:right!important;
  font-size:10px!important;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
  appearance:textfield;
}
.consumable-materials-table td:nth-child(6) input.matprice::-webkit-inner-spin-button,
.consumable-materials-table td:nth-child(6) input.matprice::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.consumable-materials-table tbody tr:only-child td.empty{
  height:174px!important;
  min-height:174px!important;
  white-space:normal!important;
  text-align:left!important;
}
@media(max-width:720px){
  .consumable-materials-slot{min-height:222px!important}
  .consumable-materials-table{min-width:0!important}
  .consumable-materials-table th{font-size:9px!important;padding:6px 3px!important;letter-spacing:-.02em}
  .consumable-materials-table td{font-size:9px!important;padding:6px 3px!important}
  .consumable-materials-table th:nth-child(1),
  .consumable-materials-table td:nth-child(1){width:28%!important}
  .consumable-materials-table th:nth-child(2),
  .consumable-materials-table td:nth-child(2){width:9%!important}
  .consumable-materials-table th:nth-child(3),
  .consumable-materials-table td:nth-child(3){width:13%!important}
  .consumable-materials-table th:nth-child(4),
  .consumable-materials-table td:nth-child(4){width:8%!important}
  .consumable-materials-table th:nth-child(5),
  .consumable-materials-table td:nth-child(5){width:13%!important}
  .consumable-materials-table th:nth-child(6),
  .consumable-materials-table td:nth-child(6){width:16%!important}
  .consumable-materials-table th:nth-child(7),
  .consumable-materials-table td:nth-child(7){width:13%!important}
  .consumable-materials-table .matimg{width:32px!important;height:32px!important;flex-basis:32px!important}
  .consumable-materials-table .matcell{gap:4px!important}
  .consumable-materials-table td:nth-child(6) input.matprice{width:62px!important;height:34px!important;min-height:34px!important;font-size:9px!important;padding:4px 5px!important}
}
@media(max-width:420px){
  .consumable-materials-table th{font-size:8px!important}
  .consumable-materials-table td{font-size:8.5px!important}
  .consumable-materials-table .matimg{width:28px!important;height:28px!important;flex-basis:28px!important}
  .consumable-materials-table td:nth-child(6) input.matprice{width:54px!important;font-size:8.5px!important;padding:4px!important}
}

/* v0.7.4.0 — market search/dashboard UX */
.market-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.market-title-row h2{margin:0}
.market-guide-btn{
  flex:0 0 auto;border:1px solid #3c5665;background:#152832;color:#cfe0e6;
  padding:7px 10px;border-radius:9px;font-size:11px;font-weight:850;cursor:pointer
}
.market-guide-btn:hover{border-color:var(--accent);color:#fff}

.market-search-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;align-items:end;margin-top:14px}
.market-search-box{min-width:0}
.market-search-input-wrap{position:relative}
.market-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;color:#7e99a5;font-size:20px;pointer-events:none}
#marketItemSearch{padding-left:38px!important;font-weight:800}
#marketItemSearch[readonly]{opacity:.72;cursor:default}
.market-search-help{font-size:10px;color:#718995;margin-top:5px;line-height:1.45}
.market-fetch-box .primarybtn{width:100%;height:44px}

.market-autocomplete{
  position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);
  max-height:360px;overflow:auto;background:#0c1820;border:1px solid #415866;
  border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.45);padding:5px
}
.market-autocomplete.hidden{display:none!important}
.market-search-result{
  width:100%;border:0;background:transparent;color:#e8f0f3;display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;
  text-align:left;padding:9px 10px;border-radius:9px;cursor:pointer
}
.market-search-result:hover,.market-search-result.active{background:#182c37}
.market-result-tier{
  display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:27px;
  border-radius:999px;background:#253946;border:1px solid #3f5a69;color:#d7e6eb;
  font-size:10px;font-weight:900
}
.market-result-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850}
.market-result-code{font-size:9px;color:#637d88;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.market-selected-item{
  min-height:72px;margin-top:11px;padding:9px 11px;border:1px solid #314a57;background:#0d1b23;
  border-radius:12px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center
}
.market-selected-item.is-empty{opacity:.6}
.market-selected-item img{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#111f28;border:1px solid #263e4a}
.market-selected-item.is-empty img{visibility:hidden}
.market-selected-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.market-selected-copy strong{font-size:14px;color:#f1f5f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-selected-copy span{font-size:10px;color:#8fa4ad}
.market-selected-copy code{font-size:9px;color:#607a86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.market-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.market-filter-group{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;border-radius:11px;background:#0d1a22;border:1px solid #263f4b}
.market-filter-label{flex:0 0 auto;font-size:10px;color:#8fa3ac;font-weight:850}
.market-tier-tabs,.market-enchant-tabs{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}
.market-tier-btn{
  min-width:42px;height:34px;padding:0 9px;border-radius:9px;border:1px solid #38515d;
  background:#14262f;color:#bdd0d7;font-size:10px;font-weight:900;cursor:pointer
}
.market-tier-btn.active{border-color:#dbb95b;background:rgba(219,185,91,.15);color:#ffe193;box-shadow:0 0 12px rgba(219,185,91,.09)}
.market-tier-btn:disabled,.market-enchant-btn:disabled{opacity:.25;cursor:not-allowed}
.market-enchant-btn{
  width:34px;min-width:34px;height:34px;border-radius:50%;border:1px solid #40535b;
  background:#17272e;color:#d2dce0;font-size:9px;font-weight:900;cursor:pointer;padding:0
}
.market-enchant-btn.ench-1{border-color:#5fbc76;color:#95e5a6}
.market-enchant-btn.ench-2{border-color:#5baed2;color:#8dd5f3}
.market-enchant-btn.ench-3{border-color:#9a75cf;color:#c8a9f1}
.market-enchant-btn.ench-4{border-color:#d4aa47;color:#ffe090}
.market-enchant-btn.active{transform:scale(1.09);box-shadow:0 0 12px currentColor;background:rgba(255,255,255,.05)}

.market-summary-best-buy{border-color:rgba(80,216,144,.34)!important;background:linear-gradient(135deg,rgba(80,216,144,.09),rgba(20,49,38,.04))!important}
.market-summary-best-sell{border-color:rgba(244,201,93,.34)!important;background:linear-gradient(135deg,rgba(244,201,93,.09),rgba(62,48,18,.04))!important}

.market-table td,.market-table th{text-align:center}
.market-table td.cityname{text-align:left}
.market-price-cell{position:relative}
.market-price-cell.price-stale .market-price,.market-price-cell.price-stale>.plain-market-price{opacity:.46}
.market-best-buy{
  background:linear-gradient(90deg,rgba(80,216,144,.06),rgba(80,216,144,.14))!important;
  box-shadow:inset 0 0 0 1px rgba(80,216,144,.16)
}
.market-best-sell{
  background:linear-gradient(90deg,rgba(244,201,93,.06),rgba(244,201,93,.14))!important;
  box-shadow:inset 0 0 0 1px rgba(244,201,93,.16)
}
.market-best-tag{
  display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;font-size:8px;font-weight:950;vertical-align:2px
}
.market-best-tag.buy{background:rgba(80,216,144,.16);border:1px solid rgba(80,216,144,.32);color:#79e4aa}
.market-best-tag.sell{background:rgba(244,201,93,.14);border:1px solid rgba(244,201,93,.30);color:#f7d36f}
.market-status{font-size:10px}
.market-status.fresh::before{content:""}
.market-status.warn::before{content:""}
.market-status.stale::before{content:""}
.market-status.none::before{content:""}
.market-status{gap:5px}
.market-row-stale td:not(.cityname){background-color:rgba(65,31,34,.035)}
.market-apply-recommended{
  border-color:#d7b857!important;color:#ffe08a!important;background:rgba(215,184,87,.10)!important;
  box-shadow:0 0 12px rgba(215,184,87,.07)
}
.market-apply-stale{opacity:.42!important}
.market-actions{justify-content:center;flex-wrap:nowrap}
.market-actions .smallbtn{white-space:nowrap}

.market-diagnostics{margin-top:8px;font-size:10px;color:#76909b}
.market-diagnostics summary{cursor:pointer}
.market-diagnostics input{height:36px}

.market-guide-bar{
  margin-top:10px;border:1px solid #293f4a;background:#0f1d25;border-radius:11px;padding:0 11px;color:#8da2ab;font-size:10px
}
.market-guide-bar summary{cursor:pointer;padding:9px 0;font-weight:800;color:#aabdc5}
.market-guide-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 0 10px}
.market-guide-compact span{padding:7px 8px;border-radius:8px;background:#13242d}
.market-guide-compact b{color:#dbe6ea}

.market-guide-dialog{
  width:min(620px,calc(100vw - 28px));border:1px solid #435a66;border-radius:15px;background:#0d1921;color:#dce7eb;padding:0;
  box-shadow:0 24px 70px rgba(0,0,0,.6)
}
.market-guide-dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}
.market-guide-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #263d48}
.market-guide-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 14px 15px}
.market-guide-dialog-body>div{padding:10px;border-radius:10px;background:#12232c;border:1px solid #263d48;display:flex;flex-direction:column;gap:4px}
.market-guide-dialog-body b{font-size:11px;color:#f2d173}.market-guide-dialog-body span{font-size:10px;color:#a8bac1;line-height:1.5}

@media(max-width:760px){
  .market-search-layout{grid-template-columns:1fr}
  .market-fetch-box .primarybtn{height:42px}
  .market-quick-grid{grid-template-columns:1fr}
  .market-filter-group{overflow-x:auto}
  .market-guide-compact{grid-template-columns:1fr 1fr}
  .market-guide-dialog-body{grid-template-columns:1fr}
  .market-title-row{align-items:flex-start}
  .market-guide-btn{font-size:9px;padding:6px 8px}
}
@media(max-width:430px){
  .market-search-result{grid-template-columns:auto minmax(0,1fr)}
  .market-result-code{display:none}
  .market-guide-compact{grid-template-columns:1fr}
}



/* v0.7.4.3 — consumable 5-row material lock + sales geometry lock */
.consumable-materials-slot{
  height:292px!important;
  min-height:292px!important;
  max-height:292px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.consumable-materials-table thead tr,
.consumable-materials-table th{
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
}
.consumable-materials-table tbody tr,
.consumable-materials-table td{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}
.consumable-materials-table tbody td{
  padding-top:5px!important;
  padding-bottom:5px!important;
}
.consumable-materials-table tbody tr:only-child td.empty{
  height:240px!important;
  min-height:240px!important;
  max-height:240px!important;
  vertical-align:middle!important;
}
.consumable-materials-table .cons-placeholder-row td{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0!important;
  pointer-events:none;
}

/* 판매 설정은 프리미엄/판매방식을 바꿔도 아래 카드 위치가 움직이지 않는다. */
.consumable-sales-card{align-self:start}
.consumable-sales-card .section{box-sizing:border-box}
.consumable-sales-card .form-grid.three{align-items:start}
.consumable-sales-card .form-grid.three>div{
  min-width:0;
  height:104px;
  min-height:104px;
  max-height:104px;
  overflow:hidden;
  box-sizing:border-box;
}
.consumable-sales-card label{
  height:16px;
  min-height:16px;
  max-height:16px;
  line-height:16px;
  overflow:hidden;
}
.consumable-sales-card .premium-wrap{
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-sizing:border-box;
}
.consumable-sales-card .premium-toggle{
  height:44px;
  min-height:44px;
  max-height:44px;
  flex:0 0 44px;
  box-sizing:border-box;
}
.consumable-sales-card .toggle-state{min-width:30px;white-space:nowrap}
.consumable-sales-card .premium-tax-slot{
  height:30px;
  min-height:30px;
  max-height:30px;
  margin-top:5px;
  display:flex;
  align-items:center;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  line-height:1.2;
}
.consumable-sales-card .sale-fee-slot{
  height:34px;
  min-height:34px;
  max-height:34px;
  margin-top:5px;
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  line-height:1.25;
}
.consumable-sales-card .note{
  height:48px;
  min-height:48px;
  max-height:48px;
  overflow:hidden;
  box-sizing:border-box;
}
@media(max-width:720px){
  .consumable-materials-slot{
    height:266px!important;
    min-height:266px!important;
    max-height:266px!important;
    padding-bottom:10px!important;
  }
  .consumable-materials-table thead tr,
  .consumable-materials-table th{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  .consumable-materials-table tbody tr,
  .consumable-materials-table td{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
  .consumable-materials-table tbody tr:only-child td.empty{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
  .consumable-materials-table .cons-placeholder-row td{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
  .consumable-sales-card .form-grid.three>div,
  .consumable-sales-card .premium-wrap{
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
  }
  .consumable-sales-card .premium-tax-slot{height:29px;min-height:29px;max-height:29px}
  .consumable-sales-card .sale-fee-slot{height:32px;min-height:32px;max-height:32px}
  .consumable-sales-card .note{height:52px;min-height:52px;max-height:52px}
}


/* v0.7.4.4 — consumable onboarding guide */
/* v0.7.4.5 — MANAGER quick filters + local DB/cache diagnostics */
.consumable-onboarding-card{overflow:hidden}
.consumable-onboarding-card .section{padding-top:12px}
.cons-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.cons-guide-head-copy{min-width:0}
.cons-guide-head-copy strong{display:block;font-size:12px;color:#e8f3f6;margin-bottom:3px}
.cons-guide-head-copy span{display:block;font-size:10px;color:#8fa7b1;line-height:1.45}
.cons-guide-clickhint{flex:0 0 auto;font-size:9px;color:#6f8c98;border:1px solid rgba(92,130,145,.28);border-radius:999px;padding:5px 8px;white-space:nowrap}
.consumable-quick-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cons-guide-card{appearance:none;-webkit-appearance:none;width:100%;height:104px;min-height:104px;max-height:104px;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:9px;row-gap:3px;align-items:start;text-align:left;padding:11px;border:1px solid #29434f;border-radius:12px;background:linear-gradient(180deg,rgba(20,43,54,.96),rgba(15,33,42,.96));color:inherit;cursor:pointer;box-sizing:border-box;overflow:hidden;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.cons-guide-card:hover{border-color:#4f8294;background:linear-gradient(180deg,rgba(24,51,63,.98),rgba(17,38,47,.98));transform:translateY(-1px)}
.cons-guide-card:focus-visible{outline:2px solid #69a8bd;outline-offset:2px}
.cons-guide-icon{grid-row:1/3;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;background:rgba(91,151,173,.12);border:1px solid rgba(91,151,173,.2)}
.cons-guide-copy{min-width:0}
.cons-guide-title{display:block;font-size:11px;font-weight:900;color:#dcebf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cons-guide-desc{display:block;margin-top:3px;font-size:9.5px;line-height:1.35;color:#9eb3bc;min-height:26px;max-height:26px;overflow:hidden}
.cons-guide-live{grid-column:2;display:block;align-self:end;min-width:0;font-size:9px;font-weight:800;color:#84c9df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cons-guide-target-flash{animation:consGuideFlash .75s ease}
@keyframes consGuideFlash{0%{box-shadow:0 0 0 0 rgba(91,176,205,.0)}35%{box-shadow:0 0 0 3px rgba(91,176,205,.32)}100%{box-shadow:0 0 0 0 rgba(91,176,205,.0)}}
.cons-field-hint{display:block;margin-top:4px;font-size:9px;line-height:1.3;color:#7f99a4;min-height:12px}
@media(max-width:720px){
  .cons-guide-head{align-items:center}
  .cons-guide-clickhint{display:none}
  .consumable-quick-guide{grid-template-columns:1fr}
  .cons-guide-card{height:82px;min-height:82px;max-height:82px;grid-template-columns:34px minmax(0,1fr);padding:9px}
  .cons-guide-icon{width:34px;height:34px;font-size:18px}
  .cons-guide-desc{min-height:24px;max-height:24px}
}


/* v0.7.4.6 — public daily visitors + 7-day MANAGER history */
.visitor-public-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #35505d;border-radius:999px;background:rgba(20,38,48,.86);color:#bcd0d8;font-size:11px;font-weight:800;white-space:nowrap}
.visitor-public-badge .visitor-dot{width:7px;height:7px;border-radius:50%;background:#50d890;box-shadow:0 0 8px rgba(80,216,144,.75);flex:0 0 7px}
.visitor-public-badge b{color:#eef7f9;font-size:12px;letter-spacing:.1px}
.visitor-public-badge.is-offline .visitor-dot{background:#6f8792;box-shadow:none}
.visitor-public-badge.is-offline b{color:#879ba4}
.admin-visitor-panel{margin:0 0 14px;border:1px solid #324c59;border-radius:14px;background:linear-gradient(180deg,rgba(17,34,43,.98),rgba(12,26,34,.98));padding:14px}
.admin-visitor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.admin-visitor-head b{font-size:13px;color:#e7f1f4}
.admin-visitor-head .sub{margin-top:3px}
.admin-visitor-today{flex:0 0 auto;text-align:right}
.admin-visitor-today .k{font-size:9px;color:#849da8;font-weight:800}
.admin-visitor-today .v{font-size:25px;font-weight:950;color:#72e5a2;line-height:1.05;margin-top:2px}
.admin-visitor-bars{display:grid;gap:7px}
.admin-visitor-row{display:grid;grid-template-columns:74px minmax(0,1fr) 68px;gap:9px;align-items:center}
.admin-visitor-date{font-size:10px;color:#9eb2bc;font-weight:750;white-space:nowrap}
.admin-visitor-track{height:9px;border-radius:999px;background:#172933;border:1px solid #2c4450;overflow:hidden}
.admin-visitor-fill{height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,#4e9ebc,#50d890);transition:width .22s ease}
.admin-visitor-value{text-align:right;color:#dce9ed;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
.admin-visitor-note{margin-top:10px;font-size:9.5px;line-height:1.45;color:#78929d}
@media(max-width:760px){.visitor-public-badge{padding:6px 8px}.visitor-public-badge>span:not(.visitor-dot){display:none}.admin-visitor-row{grid-template-columns:62px minmax(0,1fr) 58px}.admin-visitor-head{align-items:center}.admin-visitor-today .v{font-size:21px}}


/* v0.7.5.0 — HOME compact dashboard UX */
.home-shell{display:grid;gap:12px}
.home-banner-group,.home-mini-banner-group{display:flex;justify-content:center;width:100%}
.home-big-banner,.home-mini-banner{position:relative;overflow:hidden;border:1px solid #385361;background:linear-gradient(135deg,#193443,#10232d 55%,#1e3b47);box-shadow:var(--shadow);cursor:pointer}
.home-big-banner{width:min(1200px,100%);aspect-ratio:1200/180;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:0}
.home-big-banner::before,.home-mini-banner::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle,rgba(244,201,93,.18),transparent 48%);pointer-events:none}
.home-banner-placeholder{position:relative;z-index:1;text-align:center;padding:8px 14px;line-height:1.2}
.home-banner-placeholder strong{display:block;font-size:12px;font-weight:950;letter-spacing:.035em;color:#eef6f8}
.home-banner-placeholder span{display:block;margin-top:3px;color:#8fa9b4;font-size:9px;font-weight:750}
.home-core-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(1200px,100%);margin:0 auto}
.home-info-card{position:relative;border:1px solid #314b58;border-radius:14px;background:linear-gradient(180deg,#142630,#0f1e27);padding:12px 14px;min-height:92px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.home-info-card::after{content:"";position:absolute;right:-30px;top:-35px;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle,rgba(80,216,144,.07),transparent 67%);pointer-events:none}
.home-info-card.recommend::after{background:radial-gradient(circle,rgba(244,201,93,.08),transparent 67%)}
.home-info-card h3{margin:0 0 6px;font-size:13px}.home-info-card .home-muted{font-size:10px;color:#849eaa;line-height:1.4;align-self:start}.home-status-pill{display:inline-flex;width:max-content;margin-top:7px;padding:4px 7px;border-radius:999px;border:1px solid #3c5966;color:#b7cbd3;font-size:9px;font-weight:850}
.home-bonus-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}.home-bonus-item{display:inline-flex;align-items:center;gap:6px;border:1px solid #3a5662;border-radius:9px;background:#11252e;padding:6px 8px;color:#d9e7eb}.home-bonus-item b{font-size:10px}.home-bonus-item em{font-style:normal;font-size:10px;font-weight:950;color:#f4c95d}.home-bonus-raw{font-size:8.5px;color:#718a95;margin-top:5px;word-break:break-all}
.home-mini-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:12px;width:min(1200px,100%)}
.home-mini-banner{width:100%;aspect-ratio:594/167;border-radius:13px;display:flex;align-items:center;justify-content:center;padding:0}
.home-mini-banner strong{display:block;position:relative;z-index:1;font-size:11px;text-align:center}.home-mini-banner span{display:block;position:relative;z-index:1;margin-top:3px;color:#93abb5;font-size:8.5px;text-align:center}
.home-market-card{width:min(1200px,100%);margin:0 auto;border:1px solid #314b58;border-radius:16px;background:linear-gradient(180deg,#142630,#0f1e27);overflow:hidden}
.home-market-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #2c4450}
.home-market-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:190px}.home-market-head h3{margin:0;font-size:13px}.home-market-head .sub{margin-top:2px;font-size:9px}
.home-market-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.home-market-controls{display:flex;gap:5px;flex-wrap:wrap;padding:0}
.home-market-chip{border:1px solid #3b5663;background:#142833;color:#a9bec7;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;cursor:pointer;min-width:34px}.home-market-chip.active{background:#f4c95d;color:#20252a;border-color:#f4c95d}
.home-market-kind .home-market-chip{min-width:58px}
.home-market-list{padding:11px 14px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.home-market-row{min-width:0;border:1px solid rgba(52,76,87,.72);border-radius:10px;background:rgba(12,29,38,.72);padding:9px 10px;display:grid;gap:4px}
.home-market-name{font-size:9.5px;font-weight:850;color:#bcd0d7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-market-price{text-align:left;font-size:14px;font-weight:950;font-variant-numeric:tabular-nums;color:#eef7f9;line-height:1.15}.home-market-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.home-market-city{font-size:8px;color:#6ebddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-market-trend{font-size:8px;color:#7f98a4;white-space:nowrap}
.home-market-list .empty{grid-column:1/-1;padding:15px 0;text-align:center;color:#7e98a3;font-size:10px}
.home-market-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 14px 11px}.home-market-updated{font-size:8.5px;color:#7f98a4}.home-market-more{border:0;background:none;color:#7fc8e4;font-size:9px;font-weight:900;cursor:pointer;padding:4px}
.home-sponsor-entry{width:min(1200px,100%);margin:0 auto;border:1px dashed #6c5a2e;border-radius:12px;background:rgba(244,201,93,.045);padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.home-sponsor-entry strong{font-size:11px}.home-sponsor-entry span{display:block;margin-top:2px;color:#9caeb6;font-size:9px}.home-sponsor-entry button{border:1px solid rgba(244,201,93,.48);background:rgba(244,201,93,.1);color:#f5d878;border-radius:9px;padding:7px 10px;font-weight:900;font-size:9px;cursor:pointer}
@media(max-width:760px){.home-big-banner{width:100%;aspect-ratio:720/240}.home-core-grid{grid-template-columns:1fr}.home-info-card{min-height:86px}.home-mini-banners{grid-template-columns:1fr;width:100%}.home-mini-banner{width:100%;aspect-ratio:594/167}.home-market-top{align-items:flex-start;flex-direction:column}.home-market-toolbar{justify-content:flex-start}.home-market-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-sponsor-entry{align-items:flex-start;flex-direction:column}.admin-home-row{padding:10px}.tabs .tab[data-tab="home"]{order:-1}}
@media(max-width:390px){.home-market-list{grid-template-columns:1fr}.home-market-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.home-market-price{text-align:right}.home-market-meta{grid-column:1/-1}}

.admin-banner-panel{margin:0 0 14px;border:1px solid #3d5662;border-radius:14px;background:linear-gradient(180deg,rgba(18,37,47,.98),rgba(12,27,35,.98));padding:14px}.admin-banner-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.admin-banner-head b{font-size:13px}.admin-banner-head .sub{margin-top:3px}.admin-banner-r2{font-size:9.5px;font-weight:900;border:1px solid #3c5662;border-radius:999px;padding:5px 8px;color:#91a7b1}.admin-banner-r2.ok{color:#72e5a2;border-color:#377b5d}.admin-banner-r2.err{color:#ff9f9f;border-color:#7b4545}.admin-banner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-banner-editor{border:1px solid #2f4854;border-radius:12px;background:#13252f;padding:11px;min-width:0}.admin-banner-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.admin-banner-editor-head b{font-size:11px}.admin-banner-editor-head span{font-size:9px;color:#78929d}.admin-banner-preview{position:relative;width:100%;aspect-ratio:1200/180;border:1px dashed #405c68;border-radius:9px;background:#0e1d25;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.admin-banner-editor[data-banner-slot^="small"] .admin-banner-preview{aspect-ratio:594/167}.admin-banner-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.admin-banner-preview .empty{font-size:9px;color:#6f8995;text-align:center;padding:6px}.admin-banner-fallback{position:absolute;right:6px;bottom:5px;z-index:2;border-radius:999px;background:rgba(5,14,19,.78);padding:3px 6px;font-size:8px;color:#d3e0e4}.admin-banner-fields{display:grid;gap:7px}.admin-banner-fields label{font-size:9px;color:#8fa5ae;font-weight:800}.admin-banner-fields select,.admin-banner-fields input[type="text"],.admin-banner-fields input[type="url"]{width:100%;margin-top:4px;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:8px 9px;font-size:10px;outline:none}.admin-banner-fields input[type="file"]{width:100%;font-size:9px;color:#9cb0b9}.admin-banner-newtab{display:flex!important;align-items:center;gap:7px;color:#9eb1b9!important}.admin-banner-newtab input{accent-color:#50d890}.admin-banner-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.admin-banner-actions button{border:1px solid #3b5663;background:#162b35;color:#c8d9df;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer}.admin-banner-actions button.primary{background:#f4c95d;color:#20252a;border-color:#f4c95d}.admin-banner-actions button.danger{color:#ffabab;border-color:#70464a}.admin-banner-editor-status{min-height:15px;margin-top:7px;font-size:8.8px;color:#7f98a3;line-height:1.35}.admin-banner-editor-status.ok{color:#72e5a2}.admin-banner-editor-status.err{color:#ff9e9e}.admin-banner-help{margin-top:10px;font-size:9px;line-height:1.5;color:#78929d}.admin-banner-help b{color:#aec1c8}
@media(max-width:980px){.admin-banner-grid{grid-template-columns:1fr}.admin-banner-preview{max-height:150px}}


/* v0.7.5.1 — sponsor-ready workflow + manager tabs + safer banner rendering */
.home-banner-langbar{width:min(1200px,100%);margin:0 auto -4px;display:flex;justify-content:flex-end;align-items:center;gap:7px;color:#7895a1;font-size:9px}.home-banner-langbar select{border:1px solid #324e5b;background:#10242d;color:#c8d9df;border-radius:999px;padding:5px 8px;font-size:9px}
.home-banner-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05090b}.home-banner-media img{width:100%;height:100%;object-fit:contain;display:block}.home-big-banner,.home-mini-banner{background:#05090b}.home-big-banner::before,.home-mini-banner::before{display:none}
.admin-banner-preview{background:#05090b}.admin-banner-preview img{object-fit:contain}
.manager-section-nav{position:sticky;top:0;z-index:8;display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px;padding:8px;border:1px solid #2c4652;border-radius:12px;background:rgba(9,24,32,.96);backdrop-filter:blur(8px)}.manager-section-nav button{border:1px solid #36515e;background:#132833;color:#aac0c8;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:900;cursor:pointer}.manager-section-nav button.active{background:#f4c95d;color:#20252a;border-color:#f4c95d}[data-manager-pane].manager-pane-hidden{display:none!important}
.sponsor-modal-card{max-width:920px}.sponsor-form{display:grid;gap:12px}.sponsor-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sponsor-form label{font-size:10px;color:#92aab4;font-weight:800}.sponsor-form input,.sponsor-form select,.sponsor-form textarea{width:100%;margin-top:5px;border:1px solid #35505d;border-radius:9px;background:#0f2029;color:#e0ecef;padding:9px 10px;font-size:10px}.sponsor-form small{display:block;margin-top:4px;color:#718c98;font-size:8.5px;line-height:1.4}.sponsor-form .checkline{display:flex;align-items:flex-start;gap:8px}.sponsor-form .checkline input{width:auto;margin-top:2px;accent-color:#f4c95d}.sponsor-form .checkline.strong{color:#e4d08b}.sponsor-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sponsor-upload-grid label{border:1px solid #314b58;border-radius:11px;background:#112630;padding:10px}.sponsor-payment-card{border:1px solid #66572c;border-radius:12px;background:rgba(244,201,93,.055);padding:12px}.sponsor-payment-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sponsor-payment-head span{color:#f4c95d;font-size:10px;font-weight:900}.sponsor-bank-info{margin:8px 0 4px;font-size:13px;font-weight:950;color:#eef4f6}.sponsor-policy{border:1px solid #4b4650;border-radius:12px;background:#111f28;overflow:hidden}.sponsor-policy summary{cursor:pointer;padding:10px 12px;font-size:11px;font-weight:950;color:#e1d1a0}.sponsor-policy-body{padding:0 12px 11px;color:#9fb2ba;font-size:9.5px;line-height:1.6}.sponsor-policy-body ul{margin:6px 0 0;padding-left:18px}.sponsor-policy-body b{color:#e9f1f3}
.admin-sponsor-panel{margin-bottom:14px;border:1px solid #3d5662;border-radius:14px;background:linear-gradient(180deg,rgba(18,37,47,.98),rgba(12,27,35,.98));padding:14px}.admin-sponsor-head,.admin-sponsor-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-sponsor-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.admin-sponsor-settings label,.sponsor-review-grid label{font-size:9px;color:#8fa5ae;font-weight:800}.admin-sponsor-settings input,.admin-sponsor-filter select,.sponsor-review-grid input,.sponsor-review-grid select,.sponsor-review-grid textarea{width:100%;margin-top:4px;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:8px 9px;font-size:10px}.admin-sponsor-settings .wide,.sponsor-review-grid .wide{grid-column:1/-1}.admin-sponsor-settings .admin-sponsor-notify{display:flex;align-items:flex-start;gap:8px;color:#b9ccd3!important}.admin-sponsor-settings .admin-sponsor-notify input{width:auto;margin:1px 0 0;accent-color:#f4c95d}.admin-sponsor-settings .admin-sponsor-notify span{display:block;line-height:1.45}.admin-sponsor-settings .admin-sponsor-notify small{display:block;margin-top:2px;color:#78929d;font-weight:500}.admin-sponsor-list{display:grid;gap:7px;margin-top:10px}.admin-sponsor-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;border:1px solid #2e4854;border-radius:10px;background:#10242d;padding:9px 10px;cursor:pointer}.admin-sponsor-item:hover{border-color:#4d7383}.admin-sponsor-id{font-weight:950;color:#f4c95d}.admin-sponsor-main b{font-size:10px}.admin-sponsor-main span{display:block;margin-top:2px;color:#77919c;font-size:8.5px}.admin-sponsor-status-pill{border:1px solid #3b5662;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;color:#b9ccd3}.admin-sponsor-period{font-size:8.5px;color:#8199a3}.admin-sponsor-detail{margin-top:12px;border-top:1px solid #304a56;padding-top:12px}.admin-sponsor-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.admin-sponsor-meta .box{border:1px solid #29434f;border-radius:9px;background:#0f212a;padding:8px}.admin-sponsor-meta .k{font-size:8px;color:#75909c}.admin-sponsor-meta .v{margin-top:3px;font-size:9.5px;color:#d7e4e8;word-break:break-all}.admin-sponsor-previews{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:10px 0}.admin-sponsor-previews>div{border:1px solid #29434f;border-radius:10px;background:#05090b;padding:6px}.admin-sponsor-previews b{display:block;margin:0 0 5px;color:#8ca5af;font-size:8px}.admin-sponsor-previews img{width:100%;height:160px;object-fit:contain;background:#000;border-radius:7px}.sponsor-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.admin-sponsor-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.admin-sponsor-actions button{border:1px solid #3a5663;background:#152b35;color:#c7d8dd;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer}.admin-sponsor-actions .approve{border-color:#397a5c;color:#72e5a2}.admin-sponsor-actions .hold{border-color:#74612d;color:#f4c95d}.admin-sponsor-actions .reject{border-color:#75474b;color:#ffabab}
.manager-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:3px;padding:0 5px;border-radius:999px;background:#ff6f74;color:#fff;font-size:8px;font-weight:950}.admin-sponsor-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0}.admin-sponsor-chip{border:1px solid #304d5a;border-radius:10px;background:#102630;color:#c6d9df;padding:8px;text-align:left;cursor:pointer}.admin-sponsor-chip:hover{border-color:#567b8b}.admin-sponsor-chip .k{display:block;font-size:8px;color:#829da8}.admin-sponsor-chip .v{display:block;margin-top:2px;font-size:15px;font-weight:950;color:#eef7f9}.admin-sponsor-chip.attention .v{color:#f3cf64}.admin-sponsor-chip.live .v{color:#72e5a2}.admin-sponsor-filter{display:grid;grid-template-columns:minmax(180px,1fr) 190px auto;gap:7px;align-items:center;margin-top:10px}.admin-sponsor-filter input,.admin-sponsor-filter select{width:100%;margin:0;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:8px 9px;font-size:10px}.admin-sponsor-filter .secondarybtn{white-space:nowrap}.admin-sponsor-archive-hint{margin-top:6px;color:#78929d;font-size:8.5px}.admin-sponsor-fold{margin-top:10px;border:1px solid #2e4854;border-radius:11px;background:#0e2029;overflow:hidden}.admin-sponsor-fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;color:#b9ccd3;font-size:9.5px;font-weight:900;cursor:pointer}.admin-sponsor-fold>summary::-webkit-details-marker{display:none}.admin-sponsor-fold>summary:after{content:'펼치기';color:#718c97;font-size:8px}.admin-sponsor-fold[open]>summary:after{content:'접기'}.admin-sponsor-fold-body{padding:0 10px 10px;border-top:1px solid #263f4a}.admin-sponsor-fold .admin-sponsor-price-wrap,.admin-sponsor-fold .admin-sponsor-comp{margin:10px 0 0}.admin-sponsor-manual{margin-top:9px;border-top:1px dashed #35505d;padding-top:8px}.admin-sponsor-manual>summary{cursor:pointer;color:#8fa5ae;font-size:8.5px;font-weight:900}.admin-sponsor-manual .admin-sponsor-actions{margin-top:7px}.admin-sponsor-empty-note{padding:14px;border:1px dashed #304b57;border-radius:10px;color:#829ba5;text-align:center;font-size:9px}
@media(max-width:760px){.admin-sponsor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sponsor-filter{grid-template-columns:1fr}.admin-sponsor-chip:last-child{grid-column:1/-1}}

@media(max-width:760px){.home-banner-langbar{padding:0 4px}.home-big-banner{aspect-ratio:8/1}.home-mini-banner{aspect-ratio:4.272/1}.sponsor-grid.two,.sponsor-upload-grid,.admin-sponsor-settings,.admin-sponsor-meta,.sponsor-review-grid{grid-template-columns:1fr}.admin-sponsor-previews{grid-template-columns:1fr}.admin-sponsor-item{grid-template-columns:auto 1fr}.admin-sponsor-status-pill,.admin-sponsor-period{grid-column:2}.manager-section-nav{overflow-x:auto;flex-wrap:nowrap}.manager-section-nav button{white-space:nowrap}}


/* v0.7.5.4 — default banner copy + footer legal notice + last-confirmed daily bonus */
.home-banner-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 16px!important}
.home-banner-placeholder strong{font-size:16px!important;letter-spacing:.08em!important}
.home-mini-banner .home-banner-placeholder strong{font-size:13px!important}
.home-banner-placeholder .home-banner-default-label{font-size:10px;color:#fff;font-weight:900;line-height:1.2;letter-spacing:.04em}
.home-banner-placeholder .home-banner-size{font-size:18px!important;color:#fff!important;font-weight:950;line-height:1.15;letter-spacing:.06em!important}
.home-recommend-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.home-recommend-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #4c4931;border-radius:999px;background:#1e2727;color:#f4d36b;font-size:9px;font-weight:900}
@media(max-width:760px){.home-banner-placeholder strong{font-size:16px!important}.home-mini-banner .home-banner-placeholder strong{font-size:15px!important}.home-banner-placeholder .home-banner-default-label{font-size:10px}.home-banner-placeholder .home-banner-size{font-size:16px!important}.home-big-banner{aspect-ratio:720/240!important}.home-mini-banner{aspect-ratio:720/220!important}}


/* v0.7.7.0 — dynamic-card geometry stabilization + city-market handoff */
.calculator-market-jump-row{display:flex;justify-content:flex-end;margin-top:9px}
.calculator-market-jump{border:1px solid #3b6170;background:#102a34;color:#aee0ef;border-radius:9px;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}
.calculator-market-jump:hover{border-color:#67aabd;color:#effaff}
.calculator-market-jump:focus-visible{outline:2px solid rgba(111,192,220,.35);outline-offset:2px}

/* HOME quick cards: language/content changes no longer alter the row height. */
.home-action-card{height:78px!important;min-height:78px!important;max-height:78px!important;overflow:hidden}
.home-action-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-action-card small{min-height:24px;max-height:24px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* LIVE DAILY DATA / CALCULATOR PICK: loading → result must not resize the pair. */
.home-info-card{height:190px!important;min-height:190px!important;max-height:190px!important;grid-template-rows:auto auto minmax(0,1fr) auto!important}
#homeBonusList,#homeRecommendBody{height:80px;min-height:80px;max-height:80px;overflow:hidden}
.home-card-bottom{height:28px;min-height:28px;max-height:28px;margin-top:8px!important}
.home-bonus-items{max-height:52px;overflow:hidden}
.home-bonus-raw{margin-top:3px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-recommend-best{max-height:80px;overflow:hidden}
.home-recommend-best-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-recommend-best-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:27px}
.home-recommend-best-profit{flex-wrap:nowrap!important;white-space:nowrap;overflow:hidden}
.home-recommend-scan-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* HOME market: loading/error used to be one row, then 5 price cards expanded the whole card. */
.home-market-list{height:130px;min-height:130px;max-height:130px;overflow:hidden!important}
.home-market-row{height:105px!important;min-height:105px!important;max-height:105px!important;overflow:hidden}
.home-market-list>.empty{grid-column:1/-1!important;display:flex;align-items:center;justify-content:center;height:100%;min-height:0!important;padding:0 12px!important}

/* Full market: summary values and the initial 1-row table no longer jump to a taller result state. */
.market-summary .stat{height:104px;min-height:104px;max-height:104px;overflow:hidden}
.market-summary .stat .k{min-height:29px;max-height:29px;overflow:hidden;line-height:1.25}
.market-summary .stat .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-summary .stat .sub{min-height:20px;max-height:34px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.market-main-card .api-state{height:40px;min-height:40px;max-height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55}
.market-table-scroll{height:450px;min-height:450px;max-height:450px;overflow:auto!important}

/* Calculator result stat cards reserve label space so live number updates do not reflow rows. */
.stat-grid .stat{min-height:92px}
.stat-grid .stat .k{min-height:30px;line-height:1.3}
.stat-grid .stat .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-grid .stat.big{min-height:108px}

/* Login status reserves two lines; longer security errors may still expand intentionally. */
#managerStatus{min-height:38px}

@media(max-width:760px){
  .home-action-card{height:70px!important;min-height:70px!important;max-height:70px!important}
  .home-info-card{height:190px!important;min-height:190px!important;max-height:190px!important}
  .home-market-list{height:357px;min-height:357px;max-height:357px}
  .home-market-row{height:104px!important;min-height:104px!important;max-height:104px!important}
  .market-table-scroll{height:438px;min-height:438px;max-height:438px}
}
@media(max-width:390px){
  .home-action-card{height:60px!important;min-height:60px!important;max-height:60px!important}
  .home-market-list{height:525px;min-height:525px;max-height:525px}
  .home-market-row{height:92px!important;min-height:92px!important;max-height:92px!important}
}

/* v0.7.8.1 — HOME public-launch scale */
@media(min-width:761px){
  #homeView.home-shell{width:100%;max-width:1200px;margin:0 auto;gap:18px!important}
  .home-quick-actions,.home-core-grid,.home-mini-banners,.home-market-card,.home-sponsor-entry,.home-banner-langbar{width:min(1200px,100%)!important}
  .home-action-card{min-height:86px!important;padding:14px 15px!important}
  .home-action-card .icon{font-size:25px!important}.home-action-card b{font-size:13px!important}.home-action-card small{font-size:10px!important}
  .home-info-card{min-height:132px!important;padding:17px 18px!important}
  .home-info-card h3{font-size:15px!important}.home-info-card .home-muted{font-size:11px!important}
  .home-market-top{padding:17px 18px!important}.home-market-list{padding:13px 16px 10px!important}
  .home-sponsor-entry{padding:12px 15px!important}.home-sponsor-entry strong{font-size:12px!important}.home-sponsor-entry span{font-size:10px!important}
}

/* v0.7.8.1 sponsor public release */
.sponsor-section-title{font-weight:900;font-size:13px;color:#f3cf64;margin:8px 0 2px}.sponsor-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.sponsor-span-2{grid-column:1/-1}.sponsor-offer-card{border:1px solid rgba(243,207,100,.42);background:rgba(243,207,100,.06);border-radius:13px;padding:14px;display:grid;gap:8px}.sponsor-offer-price{display:flex;align-items:end;justify-content:space-between;gap:12px}.sponsor-offer-price span{font-size:12px;color:var(--muted);font-weight:800}.sponsor-offer-price strong{font-size:24px;color:#f3cf64;letter-spacing:-.02em}.sponsor-offer-queue{font-size:12px;line-height:1.55;color:#d7e4e8}.sponsor-pay-later{font-size:12px;line-height:1.6;padding:9px 10px;border-radius:9px;background:rgba(20,49,60,.72)}.sponsor-upload-preview{margin-top:8px;border:1px solid var(--line);border-radius:9px;background:#0a1d25;padding:7px;min-height:60px;display:flex;align-items:center;justify-content:center}.sponsor-upload-preview img{display:block;max-width:100%;max-height:150px;object-fit:contain}.sponsor-final-summary{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(8,26,34,.58);font-size:12px;line-height:1.65}.sponsor-final-summary .sum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sponsor-final-summary .sum-box{border-radius:8px;background:rgba(255,255,255,.035);padding:8px}.sponsor-final-summary .k{font-size:10px;color:var(--muted);font-weight:800}.sponsor-final-summary .v{font-weight:900;margin-top:2px;overflow-wrap:anywhere}.sponsor-turnstile-wrap{min-height:68px;padding:8px 0}.sponsor-email-guide{font-size:11px;line-height:1.65;border:1px solid rgba(79,173,209,.25);background:rgba(79,173,209,.06);padding:10px 12px;border-radius:10px;color:#c7d9df}.sponsor-email-guide span{color:var(--muted)}.sponsor-resend-box{margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);font-size:11px;line-height:1.6}.sponsor-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.sponsor-metrics .box{text-align:center}.sponsor-metrics .v{font-size:16px}.sponsor-submit-complete{display:grid;gap:8px}.sponsor-submit-complete strong{color:#f3cf64}@media(max-width:760px){.sponsor-grid.three{grid-template-columns:1fr}.sponsor-final-summary .sum-grid{grid-template-columns:1fr}.sponsor-offer-price{align-items:flex-start;flex-direction:column}.sponsor-offer-price strong{font-size:22px}}

/* v0.7.8.1 — compact mobile live result bar */
.mobile-result-bar{display:none}
@media(max-width:720px){
  /* The live-result bar sits above the fixed bottom navigation instead of sharing bottom:0. */
  body.has-mobile-result-bar{padding-bottom:calc(var(--mobile-nav-height,58px) + var(--mobile-result-height,50px) + 32px + env(safe-area-inset-bottom))}
  .mobile-result-bar{position:fixed;left:8px;right:8px;bottom:calc(var(--mobile-nav-height,58px) + 16px + env(safe-area-inset-bottom));z-index:70;display:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid #3b5966;border-radius:13px;background:rgba(10,27,35,.96);box-shadow:0 10px 30px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
  .mobile-result-bar.is-visible{display:grid}
  .mobile-result-bar .mrb-label{min-width:0;font-size:9px;color:#82a0ab;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-result-bar .mrb-profit{font-size:14px;font-weight:1000;font-variant-numeric:tabular-nums;white-space:nowrap;color:#dce9ed}
  .mobile-result-bar .mrb-roi{font-size:12px;font-weight:1000;font-variant-numeric:tabular-nums;white-space:nowrap;color:#a7bbc3}
  .mobile-result-bar.profit-positive{border-color:rgba(80,216,144,.55)}.mobile-result-bar.profit-positive .mrb-profit,.mobile-result-bar.profit-positive .mrb-roi{color:#64e59c}
  .mobile-result-bar.profit-negative{border-color:rgba(255,112,112,.58)}.mobile-result-bar.profit-negative .mrb-profit,.mobile-result-bar.profit-negative .mrb-roi{color:#ff8585}
}

/* v0.7.8.1 — public mobile touch targets */
@media(max-width:720px){
  #sponsorInfoModal input:not([type="checkbox"]),#sponsorInfoModal select,#sponsorInfoModal textarea,#sponsorStatusModal input:not([type="checkbox"]),#sponsorStatusModal select{min-height:44px}
  #sponsorInfoModal .primarybtn,#sponsorInfoModal .secondarybtn,#sponsorStatusModal .primarybtn,#sponsorStatusModal .secondarybtn{min-height:44px}
  .tabs .tab{min-height:44px}
}

.sponsor-fit-choice{display:block;margin-top:7px!important;font-size:9px!important;color:#8fa5ae!important}.sponsor-fit-choice select{width:100%;margin-top:4px;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:7px 8px;font-size:10px}.sponsor-upload-preview,.sponsor-asset-review-grid>div,.admin-sponsor-previews>div{background:#05090b}.sponsor-upload-preview img,.sponsor-asset-review-grid img,.admin-sponsor-previews img{width:100%;height:100%;object-fit:contain}.admin-sponsor-previews b span{font-weight:800;color:#8fa5ae}

/* v0.7.8.2 block 2 */
/* v0.7.5.4 — responsive default banner copy and stable daily bonus */
.home-shell{gap:16px!important}.home-quick-actions{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-action-card{min-height:76px;border:1px solid #314b58;border-radius:14px;background:linear-gradient(180deg,#142630,#0f1e27);color:#dce8ec;padding:12px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.home-action-card:hover{border-color:#557484;transform:translateY(-1px)}.home-action-card .icon{font-size:22px}.home-action-card b{display:block;font-size:12px;color:#f1f6f8}.home-action-card small{display:block;margin-top:4px;font-size:9px;color:#819aa6;line-height:1.3}.home-action-card em{font-style:normal;color:#f4c95d;font-size:16px;font-weight:900}
.home-big-banner{aspect-ratio:1200/180!important;border-radius:16px!important}.home-mini-banner{aspect-ratio:594/167!important;border-radius:15px!important}.home-banner-media img{object-fit:contain}.home-banner-placeholder span{font-size:9px!important}.home-core-grid{gap:14px!important}.home-info-card{min-height:122px!important;padding:15px 16px!important;border-radius:16px!important}.home-info-card.production{border-color:#315968;background:linear-gradient(145deg,#16313a,#10232c)}.home-info-card.recommend{border-color:#554d32;background:linear-gradient(145deg,#1b2c32,#191f22)}.home-card-kicker{font-size:8px;font-weight:950;letter-spacing:.12em;color:#5faac4;margin-bottom:5px}.home-info-card.recommend .home-card-kicker{color:#d4ad48}.home-info-card h3{font-size:14px!important;margin-bottom:8px!important}.home-info-card .home-muted{font-size:10.5px!important;line-height:1.5!important}.home-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.home-card-age{font-size:8.5px;color:#77929e}.home-inline-action{border:0;background:none;color:#f4d36b;font-size:9px;font-weight:900;cursor:pointer;padding:4px 0}.home-bonus-item{padding:7px 9px!important}
.home-bonus-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;min-width:0;position:relative;z-index:2}.home-bonus-title-row h3{margin:0!important;min-width:0}.home-bonus-server-wrap{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;min-width:0}.home-bonus-server-mode{font-size:7.5px;font-weight:850;color:#6f96a7;white-space:nowrap}.home-bonus-server-control{position:relative;display:inline-flex;align-items:center}.home-bonus-server-control::after{content:"▾";position:absolute;right:8px;top:50%;transform:translateY(-52%);font-size:8px;color:#9bc9d9;pointer-events:none}.home-bonus-server-select{appearance:none;-webkit-appearance:none;border:1px solid #3b6574;border-radius:999px;background:#102a34;color:#dcebf0;min-width:94px;height:28px;padding:0 23px 0 9px;font-size:9px;font-weight:900;line-height:28px;cursor:pointer;outline:none}.home-bonus-server-select:hover{border-color:#5790a4}.home-bonus-server-select:focus-visible{border-color:#6fc0dc;box-shadow:0 0 0 2px rgba(111,192,220,.14)}.home-mini-banners{gap:14px!important}.home-market-card{border-radius:18px!important}.home-market-top{padding:15px 16px!important}.home-market-head h3{font-size:15px!important}.home-market-head .sub{font-size:9.5px!important;margin-top:4px!important}.home-market-list{padding:14px 16px 11px!important;gap:10px!important}.home-market-row{min-height:105px!important;border-radius:13px!important;padding:12px 12px!important;grid-template-rows:auto auto 1fr;box-shadow:inset 0 1px rgba(255,255,255,.02)}.home-market-name{font-size:10px!important}.home-market-price{font-size:18px!important;margin-top:2px}.home-market-silver{font-size:8.5px;color:#879ea8;font-weight:800;margin-left:4px}.home-market-city{font-size:8.5px!important;color:#74c4e0!important}.home-market-meta{align-items:flex-end!important}.home-market-trend{font-size:9px!important;font-weight:900!important}.home-market-trend.up{color:#69dfa0!important}.home-market-trend.down{color:#ff8b8b!important}.home-market-trend.flat{color:#8fa4ad!important}.home-market-fresh{font-size:8px;color:#718b96;margin-top:4px}.home-market-foot{padding:7px 16px 13px!important}.home-sponsor-entry{padding:12px 14px!important}.home-fansite-footer{margin:18px 6px 4px;padding:0 8px;color:#718b96;font-size:9px;line-height:1.65;text-align:center}.header-btn.share-btn{border-color:#35637a;background:rgba(75,165,205,.08);color:#9ed7ef}.header-btn.suggest-btn{background:rgba(244,201,93,.11)!important}
.admin-banner-slot-tabs{display:flex;gap:7px;margin-bottom:12px}.admin-banner-slot-tabs button,.admin-banner-lang-tabs button{border:1px solid #385360;background:#112630;color:#99afb9;border-radius:9px;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer}.admin-banner-slot-tabs button.active,.admin-banner-lang-tabs button.active{background:#f4c95d;color:#20252a;border-color:#f4c95d}.admin-banner-grid{grid-template-columns:1fr!important}.admin-banner-editor{padding:14px!important}.admin-banner-editor-head b{font-size:13px!important}.admin-banner-lang-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.admin-banner-preview-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:12px}.admin-banner-variant{border:1px solid #2f4854;border-radius:11px;background:#10212a;padding:10px}.admin-banner-variant-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.admin-banner-variant-head b{font-size:10px}.admin-banner-variant-head span{font-size:8.5px;color:#78929d}.admin-banner-preview{aspect-ratio:1200/180!important;margin-bottom:6px!important}.admin-banner-preview.small{aspect-ratio:594/167!important}.admin-banner-preview.mobile{aspect-ratio:3/1!important}.admin-banner-editor[data-banner-slot^="small"] .admin-banner-preview.mobile{aspect-ratio:720/220!important}.admin-banner-preview img{object-fit:contain}.admin-banner-image-meta{min-height:26px;font-size:8.5px;line-height:1.35;color:#78919c;margin-bottom:7px}.admin-banner-image-meta.warn{color:#f2c76a}.admin-banner-variant>label{display:block;font-size:9px;color:#8fa5ae;font-weight:800}.admin-banner-variant>button{margin-top:7px;border:1px solid #3b5663;background:#162b35;color:#c8d9df;border-radius:8px;padding:6px 8px;font-size:8.5px;font-weight:900;cursor:pointer}.admin-banner-fields.compact{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:10px}.admin-banner-fields.compact .admin-banner-newtab{padding-bottom:7px}
@media(max-width:760px){.home-shell{gap:12px!important}.home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-action-card{min-height:68px;padding:10px}.home-big-banner{aspect-ratio:3/1!important}.home-mini-banner{aspect-ratio:3.27/1!important}.home-info-card{min-height:112px!important}.home-market-row{min-height:104px!important}.admin-banner-preview-grid{grid-template-columns:1fr}.admin-banner-fields.compact{grid-template-columns:1fr}.admin-banner-fields.compact .admin-banner-newtab{padding-bottom:0}}
@media(max-width:390px){.home-action-card small{display:none}.home-action-card{min-height:58px}.home-market-list{grid-template-columns:1fr!important}.home-market-row{min-height:92px!important}}

/* v0.7.8.2 block 3 */
/* v0.7.5.7 — instant daily bonus paint + stacked bonus lines + live profit pick */
.home-bonus-items{display:grid!important;gap:3px!important;margin-top:1px!important}
.home-bonus-item{display:flex!important;align-items:baseline!important;gap:6px!important;border:0!important;border-radius:0!important;background:transparent!important;padding:1px 0!important;color:#d9e7eb!important}
.home-bonus-item em{font-style:normal;font-size:10.5px!important;font-weight:950!important;color:#f4c95d!important;min-width:34px}
.home-bonus-item b{font-size:10.5px!important}
.home-recommend-best{display:grid;gap:4px;margin-top:1px}
.home-recommend-best-name{font-size:12px;font-weight:950;color:#f1f6f7;line-height:1.25}
.home-recommend-best-meta{font-size:9px;color:#91a8b2;line-height:1.45}
.home-recommend-best-profit{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:1px}
.home-recommend-best-profit strong{font-size:14px;color:#72e5a2;font-variant-numeric:tabular-nums}
.home-recommend-best-profit strong.negative{color:#ff9b9b}
.home-recommend-best-profit span{font-size:9px;color:#d3b85e;font-weight:900}
.home-recommend-scan-note{font-size:8.3px;color:#718b96;margin-top:1px}

/* v0.7.8.2 block 4 */
/* v0.7.7.0 — anonymous daily production-bonus reports + manager review */
.home-bonus-bottom-left{display:flex;align-items:center;gap:7px;min-width:0}.home-bonus-report-btn{border:1px solid #3b6675;background:#102a34;color:#bfe4ef;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:900;cursor:pointer;white-space:nowrap}.home-bonus-report-btn:hover{border-color:#66a8bd;color:#eefaff}.home-bonus-report-btn:focus-visible{outline:2px solid rgba(111,192,220,.35);outline-offset:2px}
.bonus-report-modal-card{max-width:650px}.bonus-report-form{display:grid;gap:12px}.bonus-report-form>label,.bonus-report-row label{font-size:10px;color:#93aab4;font-weight:850}.bonus-report-form select,.bonus-report-form input[type="number"],.bonus-report-form input[type="file"]{width:100%;margin-top:5px;border:1px solid #35505d;border-radius:9px;background:#0f2029;color:#e0ecef;padding:9px 10px;font-size:10px}.bonus-report-grid{display:grid;gap:9px}.bonus-report-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px;align-items:end}.bonus-report-percent{position:relative}.bonus-report-percent input{padding-right:28px!important}.bonus-report-percent span{position:absolute;right:10px;bottom:10px;color:#8ea6b0;font-size:9px;font-weight:900}.bonus-report-note{border:1px solid #2e4c59;border-radius:11px;background:#10252e;padding:10px 11px;color:#8fa9b3;font-size:9px;line-height:1.55}.bonus-report-note b{color:#d7e9ee}.bonus-report-status{min-height:18px}.bonus-report-server-summary{display:flex;align-items:center;gap:7px;color:#82a0ab;font-size:9px}
.admin-bonus-report-panel{margin-bottom:14px;border:1px solid #3d5662;border-radius:14px;background:linear-gradient(180deg,rgba(18,37,47,.98),rgba(12,27,35,.98));padding:14px}.admin-bonus-report-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-bonus-report-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0}.admin-bonus-report-controls select{border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:8px 9px;font-size:10px}.admin-bonus-summary{border:1px solid #2f4b57;border-radius:11px;background:#0f222b;padding:10px 11px;margin-bottom:10px;font-size:9.5px;color:#a8bdc5;line-height:1.55}.admin-bonus-summary b{color:#edf4f6}.admin-bonus-groups{display:grid;gap:8px}.admin-bonus-group{border:1px solid #2f4a56;border-radius:11px;background:#10242d;padding:10px 11px}.admin-bonus-group.confirmed{border-color:#4b8a68;box-shadow:inset 0 0 0 1px rgba(89,190,130,.1)}.admin-bonus-group-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-bonus-group-title{font-size:11px;color:#ecf3f5;font-weight:950}.admin-bonus-group-meta{margin-top:4px;color:#78939e;font-size:8.5px}.admin-bonus-group-count{border:1px solid #45606b;border-radius:999px;padding:4px 7px;color:#f1cf69;font-size:8px;font-weight:950;white-space:nowrap}.admin-bonus-group-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.admin-bonus-group-actions button{border:1px solid #3d5965;background:#142a34;color:#c7d9de;border-radius:8px;padding:6px 8px;font-size:8.5px;font-weight:900;cursor:pointer}.admin-bonus-group-actions .confirm{border-color:#3d8060;color:#76e5a5}.admin-bonus-group-actions .delete{border-color:#71474b;color:#ffaaa9}.admin-bonus-samples{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.admin-bonus-sample{display:inline-flex;align-items:center;gap:5px;border:1px solid #2d4651;border-radius:999px;padding:4px 7px;color:#87a2ad;font-size:7.8px}.admin-bonus-sample button{border:0;background:transparent;color:#7fd0eb;font:inherit;font-weight:900;cursor:pointer;padding:0}.admin-bonus-empty{padding:18px 10px;text-align:center;color:#78919c;font-size:9.5px}
@media(max-width:760px){.bonus-report-row{grid-template-columns:minmax(0,1fr) 96px}.home-bonus-bottom-left{gap:5px}.home-bonus-report-btn{padding:5px 7px}.admin-bonus-report-head{align-items:flex-start}.admin-bonus-group-top{gap:7px}}

/* v0.7.8.2 block 5 */
.bonus-report-file-field>label{font-size:10px;color:#93aab4;font-weight:850}.bonus-report-file-field>small{display:block;margin-top:5px}.localized-file-control{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}.localized-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.localized-file-button{flex:0 0 auto;border:1px solid #3d5965;border-radius:8px;background:#17303a;color:#dce9ed;padding:8px 11px;font:inherit;font-size:9.5px;font-weight:900;cursor:pointer}.localized-file-button:hover{border-color:#5d7b87}.localized-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8fa7b1;font-size:9.5px}.submit-complete-card{max-width:430px;text-align:center}.submit-complete-icon{font-size:34px;line-height:1;margin:4px 0 12px}.submit-complete-message{margin-top:10px;color:#9fb3bb;font-size:11px;line-height:1.65;white-space:pre-line}.submit-complete-actions{justify-content:center;margin-top:18px}.submit-complete-actions .primarybtn{min-width:110px}

/* v0.7.8.2 block 6 */
.home-sponsor-actions{display:flex;gap:7px;flex-wrap:wrap}.home-sponsor-actions button:first-child{border-color:#3b6271;background:#102a34;color:#b9dbe8}.sponsor-status-card{max-width:680px}.sponsor-status-lookup{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.sponsor-status-lookup label{font-size:10px;color:#91a8b2;font-weight:800}.sponsor-status-lookup input{width:100%;margin-top:5px;border:1px solid #35505d;border-radius:9px;background:#0f2029;color:#e0ecef;padding:9px}.sponsor-status-body{margin-top:12px;border:1px solid #304b57;border-radius:12px;background:#0e212a;padding:12px}.sponsor-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sponsor-status-grid .box{border:1px solid #29434f;border-radius:9px;padding:9px;background:#102730}.sponsor-status-grid .k{font-size:8px;color:#78929d}.sponsor-status-grid .v{margin-top:3px;font-size:10px;font-weight:850}.sponsor-pay-box{margin-top:10px;padding:12px;border:1px solid #6a592d;border-radius:10px;background:rgba(244,201,93,.06)}.sponsor-pay-box input{width:100%;margin:7px 0;border:1px solid #3a5965;border-radius:8px;background:#0f2029;color:#e2edf0;padding:8px}.sponsor-asset-review{margin-top:10px;border:1px solid #29434f;border-radius:10px;background:#0c2029;padding:10px}.sponsor-asset-review-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;font-size:10px}.sponsor-asset-review-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:8px}.sponsor-asset-review-grid>div{border:1px solid #29434f;border-radius:8px;background:#091a21;padding:7px;min-width:0}.sponsor-asset-review-grid b{display:block;font-size:9px;color:#819ba5;margin-bottom:5px}.sponsor-asset-review-grid img{width:100%;max-height:140px;object-fit:contain;display:block}.sponsor-asset-link{margin-top:8px;font-size:10px;overflow-wrap:anywhere}.sponsor-asset-link a{color:#8fd5ef}.sponsor-pay-confirm{display:flex;align-items:flex-start;gap:8px;margin:10px 0 8px;padding:9px;border:1px solid rgba(243,207,100,.28);border-radius:9px;background:rgba(243,207,100,.04);font-size:10px;line-height:1.55}.sponsor-pay-confirm input{width:auto!important;margin:2px 0 0!important;accent-color:#f3cf64}.sponsor-cancel-box{margin-top:10px;padding:11px;border:1px solid #70464a;border-radius:10px;background:rgba(180,65,72,.06);font-size:10px;line-height:1.55}.sponsor-cancel-box b{color:#ffb2b2}.sponsor-cancel-box button{margin-top:8px;border:1px solid #75474b;background:#2a171b;color:#ffc0c0;border-radius:8px;padding:8px 10px;font-weight:900;cursor:pointer}.sponsor-cancel-box button:disabled{opacity:.55;cursor:default}.sponsor-image-meta.warn{color:#f0c56b}.sponsor-image-meta.ok{color:#74dfa2}.sponsor-auto-card .sponsor-bank-info{font-size:11px}.admin-email-panel{margin-bottom:14px;border:1px solid #3d5662;border-radius:14px;background:linear-gradient(180deg,rgba(18,37,47,.98),rgba(12,27,35,.98));padding:14px}.admin-email-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-email-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.admin-email-grid label{font-size:9px;color:#8fa5ae;font-weight:800}.admin-email-grid input,.admin-email-grid select{width:100%;margin-top:4px;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:8px}.admin-email-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.admin-email-preview{margin-top:10px;border:1px solid #304b57;border-radius:12px;background:#eef3f5;min-height:180px;max-height:560px;overflow:auto}.admin-email-preview iframe{width:100%;height:520px;border:0;background:white}.admin-email-log-wrap{margin-top:12px;max-height:320px;overflow:auto}.suggestion-reply-zone{margin-top:14px;padding:12px;border:1px solid #35505d;border-radius:12px;background:#10242d}.suggestion-reply-zone textarea{width:100%;margin-top:9px;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:9px}.manager-pane-hidden{display:none!important}@media(max-width:760px){.sponsor-status-lookup,.sponsor-status-grid,.admin-email-grid,.sponsor-asset-review-grid{grid-template-columns:1fr}.home-sponsor-actions{width:100%}.home-sponsor-actions button{flex:1}}

/* v0.7.8.2 block 7 */
.admin-sponsor-price-wrap{margin:10px 0 12px;padding:12px;border:1px solid #314b58;border-radius:12px;background:#0f222b}.admin-sponsor-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.admin-sponsor-price-lang{border:1px solid #29434f;border-radius:10px;padding:10px;background:#102730}.admin-sponsor-price-lang>b{font-size:10px;color:#f3cf64}.admin-sponsor-price-row{display:grid;grid-template-columns:34px repeat(3,minmax(0,1fr));gap:6px;align-items:end;margin-top:8px}.admin-sponsor-price-row>span{font-size:9px;color:#8da4ae;padding-bottom:9px}.admin-sponsor-price-row label{font-size:8px;color:#7f99a4}.admin-sponsor-price-row input{width:100%;margin-top:3px;border:1px solid #35505d;border-radius:7px;background:#0f2029;color:#dce9ed;padding:7px}@media(max-width:760px){.admin-sponsor-pricing-grid{grid-template-columns:1fr}}

/* v0.7.8.2 block 8 */
.admin-sponsor-comp{margin:10px 0;padding:10px;border:1px solid #5d512d;border-radius:11px;background:rgba(244,201,93,.05)}.admin-sponsor-comp>b{display:block;color:#f3cf64;font-size:10px}.admin-sponsor-comp .sub{display:block;margin-top:3px}.admin-sponsor-comp select,.admin-sponsor-comp input{border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:7px 8px;font-size:9px}.admin-sponsor-comp input{min-width:190px;flex:1}


/* v0.7.8.2 FINAL r2: home visual hierarchy — sponsor + daily bonus + recommendation image */
.home-big-banner.is-sponsored,.home-mini-banner.is-sponsored{
  border-color:rgba(244,201,93,.72)!important;
  box-shadow:0 0 0 1px rgba(244,201,93,.12),0 12px 34px rgba(0,0,0,.32),0 0 26px rgba(244,201,93,.09)!important;
}
.home-big-banner.is-sponsored.is-link:hover,.home-mini-banner.is-sponsored.is-link:hover{
  border-color:rgba(255,219,112,.92)!important;
  box-shadow:0 0 0 1px rgba(244,201,93,.2),0 14px 38px rgba(0,0,0,.36),0 0 34px rgba(244,201,93,.14)!important;
}
.home-info-card.production{
  border-color:#3f7f91!important;
  background:linear-gradient(145deg,#173944,#102730)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 9px 28px rgba(0,0,0,.18),0 0 24px rgba(71,170,199,.07)!important;
}
.home-info-card.production::before{
  content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#67d8ef,#f4c95d);opacity:.88;pointer-events:none
}
.home-info-card.production .home-card-kicker{
  color:#7bdcf3!important;font-size:8.5px!important;display:flex;align-items:center;gap:6px
}
.home-info-card.production .home-card-kicker::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#69e1b0;box-shadow:0 0 0 3px rgba(105,225,176,.09),0 0 10px rgba(105,225,176,.45);flex:0 0 auto
}
.home-info-card.production h3{font-size:16px!important;letter-spacing:-.015em}
.home-bonus-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:3px!important;max-height:none!important;overflow:visible!important}
.home-bonus-item{
  align-items:center!important;gap:8px!important;min-height:36px!important;padding:7px 9px!important;
  border:1px solid rgba(79,139,158,.5)!important;border-radius:10px!important;
  background:rgba(5,22,29,.34)!important
}
.home-bonus-item em{font-size:12px!important;min-width:39px!important;color:#ffd96e!important;text-shadow:0 0 12px rgba(244,201,93,.14)}
.home-bonus-item b{font-size:11px!important;color:#eef8fa!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-info-card.recommend{
  border-color:#665d38!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 9px 28px rgba(0,0,0,.16),0 0 22px rgba(244,201,93,.045)!important
}
.home-info-card.recommend h3{font-size:15px!important}
.home-recommend-best{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;margin-top:0!important}
.home-recommend-image-wrap{
  width:76px;height:76px;border:1px solid rgba(244,201,93,.28);border-radius:13px;
  background:radial-gradient(circle at 50% 42%,rgba(244,201,93,.1),rgba(4,14,18,.55));
  display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.035)
}
.home-recommend-image{width:70px;height:70px;object-fit:contain;display:block;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28))}
.home-recommend-image-wrap.image-error{display:none}
.home-recommend-image-wrap.image-error+.home-recommend-copy{grid-column:1/-1}
.home-recommend-copy{min-width:0;display:grid;gap:3px}
.home-recommend-best-name{font-size:12.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-recommend-best-profit strong{font-size:15px!important}
@media(max-width:760px){
  .home-bonus-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  .home-bonus-item{min-height:31px!important;padding:5px 8px!important}
  .home-info-card.production h3{font-size:15px!important}
  .home-recommend-best{grid-template-columns:64px minmax(0,1fr)!important;gap:9px!important}
  .home-recommend-image-wrap{width:64px;height:64px;border-radius:11px}
  .home-recommend-image{width:60px;height:60px}
}

/* v0.7.9.2 · shared server / UTC analytics / mobile market readability */
.home-bonus-reset{margin:-1px 0 8px;font-size:8.5px;line-height:1.45;color:#7898a5;font-weight:750;white-space:normal}
.admin-visitor-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:2px 0 12px}
.admin-visitor-summary-card{min-width:0;border:1px solid #2d4955;border-radius:11px;background:rgba(12,31,40,.82);padding:10px 9px;text-align:center}
.admin-visitor-summary-card .k{font-size:8.5px;color:#849da8;font-weight:850;white-space:nowrap}
.admin-visitor-summary-card .v{margin-top:4px;font-size:20px;line-height:1;font-weight:950;color:#e6f1f4;font-variant-numeric:tabular-nums}
.admin-visitor-summary-card small{display:block;margin-top:4px;font-size:7.5px;color:#617f8c;font-weight:800}
.admin-visitor-summary-card.today .v{color:#72e5a2}.admin-visitor-summary-card.asia .v{color:#77cde8}.admin-visitor-summary-card.europe .v{color:#c4a6ff}.admin-visitor-summary-card.americas .v{color:#f0c56b}
.admin-visitor-sample{min-height:13px;margin:-5px 1px 9px;font-size:8px;color:#698793;text-align:right}
.admin-visitor-chart-title{font-size:9px;color:#9eb2bc;font-weight:900;margin:0 0 7px}
.admin-visitor-note{margin-top:10px;border-top:1px solid rgba(54,78,89,.55);padding-top:8px;font-size:9px;line-height:1.55;color:#78929d}
.admin-visitor-note summary{cursor:pointer;color:#8ca8b3;font-weight:850;list-style:none}.admin-visitor-note summary::-webkit-details-marker{display:none}.admin-visitor-note>div{padding-top:7px}
@media(max-width:860px){.admin-visitor-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.admin-visitor-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-visitor-summary-card.today{grid-column:1/-1}.admin-visitor-summary-card .v{font-size:18px}.admin-visitor-sample{text-align:left}}
@media(max-width:760px){
  .home-market-row{height:auto!important;min-height:108px!important;max-height:none!important;overflow:visible!important}
  .home-market-meta{align-items:flex-start!important;flex-wrap:wrap!important;row-gap:3px!important}
  .home-market-city{flex:1 1 58%;min-width:0}
  .home-market-trend{flex:0 1 auto;max-width:100%;white-space:normal!important;line-height:1.25;text-align:right}
  .home-market-fresh{line-height:1.25}
}
@media(max-width:390px){
  .home-market-row{height:auto!important;min-height:96px!important;max-height:none!important}
  .home-market-meta{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%}
  .home-market-trend{justify-self:end;white-space:nowrap!important}
}

/* v0.7.9.2 FINAL touch fix: reliable home-market hit targets */
.home-market-chip{min-height:34px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.home-market-more{min-height:34px;padding:7px 8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:760px){
  .home-market-chip{min-height:42px;min-width:42px;padding:8px 10px}
  .home-market-kind .home-market-chip{min-width:68px}
  .home-market-more{min-height:42px;padding:9px 10px}
}

/* v0.7.9.3 — segmented 7-day analytics + home market carousel */
.admin-visitor-section{padding:12px 0 14px;border-top:1px solid rgba(49,75,88,.55)}
.admin-visitor-section:first-of-type{border-top:0;padding-top:0}
.admin-visitor-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 9px}
.admin-visitor-section-head b{font-size:11px;color:#dce9ed}
.admin-visitor-section-head span{font-size:8px;color:#718b96;text-align:right}
.admin-visitor-summary-grid.overall{grid-template-columns:repeat(2,minmax(0,1fr));max-width:410px}
.admin-visitor-summary-grid.language{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-visitor-summary-grid.server{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-visitor-summary-card.lang-ko .v{color:#75d8ff}
.admin-visitor-summary-card.lang-en .v{color:#72e5a2}
.admin-visitor-summary-card.lang-ja .v{color:#f0c56b}
.admin-visitor-summary-card.lang-zh .v{color:#ff9eaa}
.admin-visitor-legend{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap;margin:-3px 1px 7px;font-size:8px;color:#829ba6;font-weight:850}
.admin-visitor-legend span{display:inline-flex;align-items:center;gap:5px}
.admin-visitor-legend span::before{content:"";width:8px;height:8px;border-radius:3px;background:#607d89;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.admin-visitor-legend .lang-ko::before,.admin-visitor-legend .ko::before{background:#48a9d1}
.admin-visitor-legend .lang-en::before,.admin-visitor-legend .en::before{background:#50d890}
.admin-visitor-legend .lang-ja::before,.admin-visitor-legend .ja::before{background:#d6ae4c}
.admin-visitor-legend .lang-zh::before,.admin-visitor-legend .zh::before{background:#d66f82}
.admin-visitor-legend .asia::before{background:#50bfe7}
.admin-visitor-legend .europe::before{background:#9d7ddd}
.admin-visitor-legend .americas::before{background:#d5aa49}
.admin-visitor-bars.segmented{gap:7px}
.admin-visitor-row.segmented-row{grid-template-columns:74px minmax(0,1fr) 68px}
.admin-visitor-track.segmented{display:flex;height:11px;overflow:hidden;background:#152832;border:1px solid #2c4450}
.admin-visitor-track.segmented.untracked{align-items:center;justify-content:center;color:#607985;font-size:7px;border-style:dashed;background:rgba(16,34,43,.55)}
.admin-visitor-segment{display:block;height:100%;min-width:0;transition:width .22s ease}
.admin-visitor-segment.lang-ko{background:#48a9d1}.admin-visitor-segment.lang-en{background:#50d890}.admin-visitor-segment.lang-ja{background:#d6ae4c}.admin-visitor-segment.lang-zh{background:#d66f82}
.admin-visitor-segment.asia{background:#50bfe7}.admin-visitor-segment.europe{background:#9d7ddd}.admin-visitor-segment.americas{background:#d5aa49}
.admin-visitor-value.segmented-value{font-size:9px;color:#9fb4bd}
.home-market-list{will-change:transform,opacity}
.home-market-list.is-carousel-changing{animation:homeMarketCarouselIn .36s cubic-bezier(.22,.8,.3,1)}
@keyframes homeMarketCarouselIn{0%{opacity:.2;transform:translateX(18px)}100%{opacity:1;transform:translateX(0)}}
.home-market-chip{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.home-market-chip:active{transform:scale(.96)}
@media(max-width:760px){
  .admin-visitor-section-head{align-items:flex-start;flex-direction:column;gap:3px}
  .admin-visitor-section-head span{text-align:left}
  .admin-visitor-summary-grid.language,.admin-visitor-summary-grid.server{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-visitor-summary-grid.server .admin-visitor-summary-card:last-child{grid-column:1/-1}
  .admin-visitor-legend{justify-content:flex-start;gap:8px}
  .admin-visitor-row.segmented-row{grid-template-columns:62px minmax(0,1fr) 48px}
}
.admin-visitor-stack{display:flex;height:100%;min-width:0;overflow:hidden;border-radius:999px;transition:width .22s ease}
.admin-visitor-stack.empty{background:rgba(96,121,133,.25)}
@media(prefers-reduced-motion:reduce){.home-market-list.is-carousel-changing{animation:none}.admin-visitor-stack,.admin-visitor-segment,.home-market-chip{transition:none}}


/* v0.7.9.4 — product UI polish: calmer motion, five-city market range, consistent interaction */
:root{
  --ui-radius-sm:10px;--ui-radius-md:14px;--ui-radius-lg:18px;
  --ui-transition-fast:150ms;--ui-transition-content:240ms;--ui-ease:cubic-bezier(.2,.72,.28,1);
  --ui-focus:0 0 0 3px rgba(111,195,255,.14);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,select,input,textarea{font-family:inherit}
button:not(:disabled),.home-action-card,.home-inline-action,.header-btn,.secondarybtn,.dangerbtn,.preservebtn,.dbbtn{
  transition:transform var(--ui-transition-fast) ease,border-color var(--ui-transition-fast) ease,background-color var(--ui-transition-fast) ease,color var(--ui-transition-fast) ease,box-shadow var(--ui-transition-fast) ease,opacity var(--ui-transition-fast) ease;
}
button:not(:disabled):active,.home-action-card:active,.header-btn:active{transform:scale(.985)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ui-focus)}
.card,.home-info-card,.home-market-card{box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.018)}
.ui-view-enter{animation:uiViewEnter .16s var(--ui-ease)}
@keyframes uiViewEnter{from{opacity:.88;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.modal.ui-modal-enter{animation:uiBackdropIn .18s ease both}.modal.ui-modal-enter .modal-card{animation:uiModalIn .2s var(--ui-ease) both}
@keyframes uiBackdropIn{from{background:rgba(1,7,11,.25);backdrop-filter:blur(0)}to{background:rgba(1,7,11,.76);backdrop-filter:blur(6px)}}
@keyframes uiModalIn{from{opacity:0;transform:translateY(8px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}
.home-info-card.production .home-card-kicker::before{animation:uiLivePulse 3s ease-in-out infinite}
@keyframes uiLivePulse{0%,100%{opacity:.75;box-shadow:0 0 0 3px rgba(105,225,176,.07),0 0 8px rgba(105,225,176,.28)}50%{opacity:1;box-shadow:0 0 0 4px rgba(105,225,176,.10),0 0 12px rgba(105,225,176,.42)}}
.home-recommend-best{animation:uiRecommendIn .2s var(--ui-ease)}
@keyframes uiRecommendIn{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}
.home-recommend-image{transition:transform .18s var(--ui-ease),opacity .18s ease}.home-recommend-best:hover .home-recommend-image{transform:scale(1.025)}

/* Calm live-market motion: automatic transitions are slower and smaller; manual input feels immediate. */
.home-market-list{will-change:opacity,transform;contain:layout paint}
.home-market-list.is-carousel-auto{animation:homeMarketAutoIn .30s var(--ui-ease)}
.home-market-list.is-carousel-manual{animation:homeMarketManualIn .19s var(--ui-ease)}
@keyframes homeMarketAutoIn{from{opacity:.84;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}
@keyframes homeMarketManualIn{from{opacity:.9;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}
.home-market-list.is-carousel-changing{animation:none!important}
.home-market-card{border-color:#355360!important;background:linear-gradient(180deg,#142932,#0d1d25)!important}
.home-market-top{background:linear-gradient(180deg,rgba(24,46,57,.82),rgba(16,35,44,.54))}
.home-market-head h3{letter-spacing:-.018em}
.home-market-head .sub{color:#8fa9b4!important;font-size:10px!important;line-height:1.45}
.home-market-chip{font-size:10px!important;letter-spacing:.01em}
.home-market-chip.active{box-shadow:0 4px 14px rgba(244,201,93,.14)}
.home-market-list{height:auto!important;min-height:154px!important;max-height:none!important;overflow:visible!important;align-items:stretch}
.home-market-row{height:auto!important;min-height:146px!important;max-height:none!important;overflow:visible!important;gap:5px!important;padding:12px!important;border-color:rgba(62,91,104,.72)!important;background:linear-gradient(180deg,rgba(12,31,40,.9),rgba(10,25,33,.78))!important}
.home-market-row:hover{border-color:rgba(88,128,144,.78)!important;background:linear-gradient(180deg,rgba(15,36,46,.94),rgba(10,26,34,.84))!important}
.home-market-name{font-size:11px!important;color:#c6d7dd!important;font-weight:900!important;letter-spacing:-.01em}
.home-market-price{font-size:19px!important;letter-spacing:-.025em}
.home-market-silver{font-size:9px!important;margin-left:5px!important}
.home-market-meta{min-height:18px;align-items:center!important}
.home-market-city{font-size:9px!important;color:#75c8e5!important}
.home-market-trend{font-size:9.5px!important;line-height:1.25!important}
.home-market-prev{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid rgba(58,83,94,.54);font-size:9px;color:#7f98a4}
.home-market-prev strong{font-size:10px;color:#b8cbd2;font-variant-numeric:tabular-nums}
.home-market-range{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin-top:1px}
.home-market-range>span{min-width:0;border:1px solid rgba(53,76,87,.62);border-radius:8px;background:rgba(17,39,48,.56);padding:5px 6px;display:grid;grid-template-columns:auto 1fr;column-gap:4px;align-items:baseline}
.home-market-range em{font-style:normal;font-size:7.5px;font-weight:950;letter-spacing:.03em;color:#7d98a3}
.home-market-range b{justify-self:end;font-size:9px;font-weight:950;font-variant-numeric:tabular-nums;color:#dce8ec;white-space:nowrap}
.home-market-range small{grid-column:1/-1;margin-top:1px;font-size:7.5px;line-height:1.15;color:#66818d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-market-range .low{border-color:rgba(80,216,144,.22)}.home-market-range .low em,.home-market-range .low b{color:#70dfa1}
.home-market-range .high{border-color:rgba(244,201,93,.23)}.home-market-range .high em,.home-market-range .high b{color:#e9c866}
.home-market-range .spread{grid-template-columns:1fr;text-align:right}.home-market-range .spread em,.home-market-range .spread b{justify-self:end}.home-market-range .spread b{color:#9fb5be}
.home-market-fresh{font-size:8.5px!important;margin-top:auto!important;color:#6e8995!important}
.home-market-empty-note{font-size:9px;line-height:1.45;color:#708b96;margin-top:4px}
.home-market-row.trend-up{box-shadow:inset 0 1px rgba(255,255,255,.018),inset 0 -1px rgba(80,216,144,.025)}
.home-market-row.trend-down{box-shadow:inset 0 1px rgba(255,255,255,.018),inset 0 -1px rgba(255,122,122,.025)}
.home-market-foot{border-top:1px solid rgba(47,72,83,.48);padding-top:10px!important}
.home-market-updated{font-size:9px!important}.home-market-more{font-size:10px!important;border-radius:8px!important}.home-market-more:hover{background:rgba(111,195,255,.07)}

/* Skeletons reserve the final card shape, improving perceived speed without a distracting shimmer. */
.home-market-skeleton{pointer-events:none;position:relative;overflow:hidden}
.home-market-skeleton span,.home-market-skeleton strong,.home-market-skeleton i,.home-market-skeleton small{display:block;border-radius:999px;background:#1c3540}
.home-market-skeleton span{width:48%;height:10px}.home-market-skeleton strong{width:68%;height:20px;margin-top:4px}.home-market-skeleton i{width:100%;height:10px;margin-top:4px}.home-market-skeleton i+ i{width:82%}.home-market-skeleton small{width:38%;height:8px;margin-top:auto}
.home-market-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.035) 45%,transparent 70%);transform:translateX(-100%);animation:uiSkeleton 1.8s ease-in-out infinite}
@keyframes uiSkeleton{50%,100%{transform:translateX(100%)}}

/* Typography/readability cleanup for the most frequently scanned home content. */
.home-recommend-best-meta{font-size:10px!important;line-height:1.45!important}.home-recommend-scan-note{font-size:9px!important;line-height:1.45}.home-recommend-best-profit span{font-size:10px!important}
.home-card-age,.home-status-pill{font-size:9px!important}.home-inline-action,.home-bonus-report-btn{font-size:9.5px!important;min-height:34px;padding:7px 10px!important}
.home-info-card{border-radius:var(--ui-radius-lg)!important}

@media(max-width:760px){
  .modal.ui-modal-enter .modal-card{animation:uiSheetIn .2s var(--ui-ease) both}
  @keyframes uiSheetIn{from{opacity:.75;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  .home-market-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-height:0!important;gap:8px!important}
  .home-market-row{min-height:154px!important;padding:10px!important}
  .home-market-range{grid-template-columns:1fr 1fr}.home-market-range .spread{grid-column:1/-1;grid-template-columns:auto 1fr;text-align:left}.home-market-range .spread em{justify-self:start}.home-market-range .spread b{justify-self:end}
  .home-market-name{font-size:10.5px!important}.home-market-price{font-size:18px!important}.home-market-city{font-size:9px!important}.home-market-trend{font-size:9px!important}
}
@media(max-width:390px){
  .home-market-list{grid-template-columns:1fr!important}
  .home-market-row{min-height:142px!important;grid-template-columns:1fr!important;align-items:stretch!important}
  .home-market-price{text-align:left!important}.home-market-meta{grid-column:auto!important;display:flex!important}.home-market-range{grid-template-columns:1fr 1fr auto}.home-market-range .spread{grid-column:auto;grid-template-columns:1fr;text-align:right}.home-market-range .spread em,.home-market-range .spread b{justify-self:end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ui-view-enter,.modal.ui-modal-enter,.modal.ui-modal-enter .modal-card,.home-info-card.production .home-card-kicker::before,.home-recommend-best,.home-market-list.is-carousel-auto,.home-market-list.is-carousel-manual,.home-market-skeleton::after{animation:none!important}button,.home-recommend-image{transition:none!important}}


/* v0.7.9.5 — site-native SVG UI icons; Albion game/image assets are intentionally untouched. */
.ui-icon-sprite{pointer-events:none}
.ui-icon-slot{display:inline-flex;align-items:center;justify-content:center;width:1.12em;height:1.12em;margin-right:.42em;vertical-align:-.16em;color:currentColor;flex:0 0 auto}
.ui-icon{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.tab-icon[data-ui-icon] .ui-icon-slot,.home-action-card .icon[data-ui-icon] .ui-icon-slot,.globe[data-ui-icon] .ui-icon-slot,.lock-icon[data-ui-icon] .ui-icon-slot,.submit-complete-icon[data-ui-icon] .ui-icon-slot,.cons-guide-icon[data-ui-icon] .ui-icon-slot{margin-right:0;width:100%;height:100%;vertical-align:0}
.tab-icon[data-ui-icon]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}
.tab-icon[data-ui-icon] .ui-icon{width:17px;height:17px}
.home-action-card .icon[data-ui-icon]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#75cde2}
.home-action-card .icon[data-ui-icon] .ui-icon{width:25px;height:25px;stroke-width:1.7}
.globe[data-ui-icon]{display:inline-flex;width:16px;height:16px;color:#8fc8d9}
.globe[data-ui-icon] .ui-icon{width:15px;height:15px}
.home-bonus-title-row h3[data-ui-icon] .ui-icon-slot,.home-market-head h3[data-ui-icon] .ui-icon-slot,.home-info-card.recommend h3[data-ui-icon] .ui-icon-slot{color:#6dc8dc}
.home-info-card.production h3[data-ui-icon] .ui-icon-slot{color:#f4c95d}
.home-sponsor-entry strong[data-ui-icon] .ui-icon-slot{color:#e8c86b}
.manager-login .lock-icon[data-ui-icon]{width:42px;height:42px;margin:0 auto 8px;color:#91bbcb;font-size:initial}
.submit-complete-icon[data-ui-icon]{width:48px;height:48px;margin-left:auto;margin-right:auto;color:#64d99a;font-size:initial}
.cons-guide-icon[data-ui-icon]{color:#78ccdf;font-size:initial}
[data-ui-icon="warning"]>.ui-icon-slot{color:#efc75b}
[data-ui-icon="check"]>.ui-icon-slot{color:#68dda0}
[data-ui-icon="x"]>.ui-icon-slot,[data-ui-icon="trash"]>.ui-icon-slot{color:#ff8585}
[data-ui-icon="shield"]>.ui-icon-slot{color:#8bb8ff}
[data-ui-icon="heart"]>.ui-icon-slot,[data-ui-icon="money"]>.ui-icon-slot{color:#efcc73}
.manager-btn::after{content:none!important}
.market-status::before{content:""!important;display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;box-shadow:0 0 0 2px rgba(255,255,255,.035)}
.market-status.fresh::before{background:#50d890}.market-status.warn::before{background:#f4c95d}.market-status.stale::before{background:#ef7373}.market-status.none::before{background:#82959d}
@media(max-width:760px){.manager-btn{font-size:0!important;display:inline-flex;align-items:center;justify-content:center}.manager-btn>.ui-icon-slot{font-size:16px;margin:0;width:17px;height:17px}.tab-icon[data-ui-icon]{width:17px;height:17px}.tab-icon[data-ui-icon] .ui-icon{width:16px;height:16px}}

/* v0.8.0 — Personal local profile + productivity UX. Public navigation remains five tabs. */
.header-btn.my-info-btn{border-color:#365866;background:rgba(111,195,255,.055);color:#b9dce8}
.header-btn.my-info-btn:hover{border-color:#5d91a3;background:rgba(111,195,255,.09);color:#eef8fb}

/* Personal settings modal */
.my-info-card{width:min(900px,100%);max-height:min(92dvh,920px)}
.my-info-body{display:grid;gap:12px}
.my-info-section{border:1px solid #2f4a57;border-radius:14px;background:#0e2029;overflow:hidden}
.my-info-section:not(details){padding:14px}
.my-info-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.my-info-section-head b{font-size:12px;color:#e1edf1}
.my-info-section-head span{max-width:58%;font-size:9px;line-height:1.45;color:#78939e;text-align:right}
.my-info-grid{align-items:end}
.my-info-grid label{font-size:10px}
.my-info-grid select,.my-info-grid input{min-height:40px;padding:9px 10px;font-size:11px}
.my-info-check-wrap{display:flex;align-items:center;min-height:40px}
.my-info-check-wrap .checkline{display:flex;align-items:center;gap:8px;margin:0;color:#b7cad2;font-size:10px}
.my-info-check-wrap input{width:auto;min-height:auto;accent-color:var(--accent)}
.my-info-inline-status{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;margin-top:11px;padding:9px 10px;border:1px solid #294550;border-radius:10px;background:#10252e}
.my-info-inline-status span{font-size:9px;color:#8da5af}.my-info-inline-status b{font-size:10px;color:#79d5ef}.my-info-inline-status small{font-size:8.5px;color:#718b96;text-align:right}
.my-info-actions{margin-top:11px}
.my-info-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.my-info-lists h4{margin:0 0 7px;font-size:10px;color:#a9c0c9}
.profile-saved-list{display:grid;gap:6px;min-height:54px}
.profile-saved-list .empty{padding:14px 8px;border:1px dashed #2f4c58;border-radius:9px;font-size:9px}
.profile-saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 9px;border:1px solid #304d59;border-radius:10px;background:#112731}
.profile-saved-row .profile-saved-copy{min-width:0}
.profile-saved-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#dce9ed}
.profile-saved-row small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#738e99}
.profile-saved-row .profile-saved-actions{display:flex;gap:5px}
.profile-saved-row button{border:1px solid #35525e;border-radius:8px;background:#17303a;color:#b9ced6;padding:6px 8px;font-size:8.5px;font-weight:900;cursor:pointer}
.profile-saved-row button:hover{border-color:#5c8290;color:#fff}
.my-info-backup{padding:0!important}
.my-info-backup>summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:11px;font-weight:900;color:#c9dce3}
.my-info-backup>summary::-webkit-details-marker{display:none}
.my-info-backup>summary::after{content:'+';float:right;color:#6fa9bb;font-size:15px;line-height:.8}
.my-info-backup[open]>summary::after{content:'−'}
.my-info-backup-body{padding:0 14px 14px;border-top:1px solid #294550}
.my-info-backup-body p,.my-info-code-note{font-size:9px;line-height:1.55;color:#7f99a4}
.my-info-code-actions{display:flex;gap:7px;margin:9px 0 11px}
.my-info-backup textarea{width:100%;resize:vertical;border:1px solid #35515e;border-radius:10px;background:#10242d;color:#dce9ed;padding:10px;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.my-info-backup textarea:focus{border-color:#6fc3ff;box-shadow:0 0 0 3px rgba(111,195,255,.10);outline:none}

/* Quick search remains a shortcut, not another navigation item. */
.quick-search-card{width:min(720px,100%)}
.quick-search-input{height:46px;font-size:13px!important}
.quick-search-results{display:grid;gap:7px;margin-top:10px;max-height:56vh;overflow:auto}
.quick-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #304c59;border-radius:11px;background:#102630;padding:9px 10px}
.quick-search-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:#e2edf1}
.quick-search-row small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#708b96}
.quick-search-row>div:last-child{display:flex;gap:6px}
.quick-search-row button{border:1px solid #3a5966;border-radius:8px;background:#17313b;color:#c5d9e0;padding:7px 9px;font-size:8.5px;font-weight:900;white-space:nowrap;cursor:pointer}
.quick-search-row button:hover{border-color:#62a0b6;color:#fff}

/* Seven-city crafting comparison */
.craft-city-compare-card{overflow:hidden}
.craft-city-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#192a36;border-bottom:1px solid var(--line)}
.craft-city-compare-head h2{padding:0!important;background:none!important;border:0!important}
.craft-city-compare-head .sub{margin-top:3px;font-size:9px;line-height:1.45}
.craft-city-compare-head .secondarybtn{flex:0 0 auto;min-height:34px}
.craft-city-compare-state{padding:9px 16px;border-bottom:1px solid #29424e;background:#10232c;color:#83a0aa;font-size:9px}
.craft-city-compare-scroll{overflow:auto}
.craft-city-compare-table{min-width:720px}
.craft-city-compare-table th{top:0}
.craft-city-compare-table td{font-variant-numeric:tabular-nums}
.craft-city-compare-table tr.is-best{background:rgba(80,216,144,.055)}
.craft-city-compare-table tr.is-best td:first-child{color:#67dda0;font-weight:950}
.craft-city-compare-table .city-specialty{display:inline-flex;margin-left:5px;border:1px solid rgba(244,201,93,.28);border-radius:999px;padding:2px 5px;color:#e9ca6f;font-size:7.5px;font-weight:900;vertical-align:1px}
.craft-city-compare-table .partial{color:#e8c76d}.craft-city-compare-table .complete{color:#73dca0}
.craft-city-compare-note{padding:9px 16px 12px;border-top:1px solid #29424e;color:#718b96;font-size:8.5px;line-height:1.5}

/* Desktop floating summary — intentionally compact and collapses away on mobile. */
.desktop-result-dock{position:fixed;right:18px;bottom:18px;z-index:65;display:none;align-items:center;gap:10px;max-width:min(620px,calc(100vw - 36px));padding:8px 9px 8px 12px;border:1px solid #3a5966;border-radius:13px;background:rgba(9,25,33,.95);box-shadow:0 12px 34px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
.desktop-result-dock.is-visible{display:flex}
.drd-main{display:grid;grid-template-columns:auto auto auto;grid-template-areas:'label invest invest' 'profit profit roi';column-gap:8px;align-items:baseline;min-width:172px}
.drd-main>span{grid-area:label;font-size:8px;color:#78949f}.drd-main>b{grid-area:invest;font-size:8px;color:#91a9b2;font-weight:850}.drd-main>strong{grid-area:profit;font-size:16px;color:#e5eef1;font-variant-numeric:tabular-nums}.drd-main>em{grid-area:roi;font-size:10px;color:#a8bbc2;font-style:normal;font-weight:950;font-variant-numeric:tabular-nums}
.desktop-result-dock.profit-positive{border-color:rgba(80,216,144,.48)}.desktop-result-dock.profit-positive .drd-main>strong,.desktop-result-dock.profit-positive .drd-main>em{color:#65df9e}
.desktop-result-dock.profit-negative{border-color:rgba(255,122,122,.48)}.desktop-result-dock.profit-negative .drd-main>strong,.desktop-result-dock.profit-negative .drd-main>em{color:#ff8a8a}
.drd-actions{display:flex;gap:5px;border-left:1px solid #2e4854;padding-left:8px}
.drd-actions button{display:inline-flex;align-items:center;gap:3px;border:1px solid #334f5b;border-radius:8px;background:#132b35;color:#a9c0c9;padding:6px 7px;font-size:8px;font-weight:900;cursor:pointer}
.drd-actions button:hover,.drd-actions button.is-active{border-color:#5b8da0;color:#f0f7f9}.drd-actions button.is-active{color:#efcb67;border-color:rgba(244,201,93,.45)}
.drd-actions .ui-icon-slot{margin-right:0;width:12px;height:12px}

/* Mobile result bar: three tiny jump targets + one compact live result. */
@media(max-width:720px){
  .desktop-result-dock{display:none!important}
  .mobile-result-bar{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;padding:7px 8px!important}
  .mrb-jumps{display:flex;gap:4px;align-items:center}
  .mrb-jumps button{border:1px solid #34505d;border-radius:7px;background:#142b35;color:#9cb3bc;padding:6px 7px;font-size:8px;font-weight:900;cursor:pointer}
  .mrb-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;min-width:0}
  .mobile-result-bar .mrb-label{font-size:8px!important}.mobile-result-bar .mrb-profit{font-size:13px!important}.mobile-result-bar .mrb-roi{font-size:10.5px!important}
  .my-info-lists{grid-template-columns:1fr}.my-info-section-head{display:block}.my-info-section-head span{display:block;max-width:none;margin-top:3px;text-align:left}
  .my-info-inline-status{grid-template-columns:auto auto}.my-info-inline-status small{grid-column:1/-1;text-align:left}
  .craft-city-compare-head{align-items:flex-start}.craft-city-compare-head .sub{max-width:36ch}.craft-city-compare-head .secondarybtn span:last-child{display:none}
  .quick-search-row{grid-template-columns:1fr}.quick-search-row>div:last-child{justify-content:flex-start}
}
@media(max-width:430px){.mrb-jumps button{padding:6px 5px;font-size:7.5px}.mrb-result{gap:5px}.mobile-result-bar .mrb-label{display:none}.my-info-card{max-height:94dvh}}

/* Exact Silver value on hover/tap while list/card values stay compact (K/M/B). */
[data-exact-silver]{cursor:help}
.exact-silver-tip{position:fixed;z-index:150;max-width:calc(100vw - 16px);pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease;border:1px solid #486775;border-radius:8px;background:#08151c;color:#e8f1f4;padding:6px 8px;box-shadow:0 8px 22px rgba(0,0,0,.34);font-size:9px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.exact-silver-tip.show{opacity:1;transform:none}

/* Manager visitor-day detail / CSV action — v0.8.0 visibly exposes day drill-down. */
.admin-visitor-head-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.admin-visitor-interaction-hint{margin:-2px 0 11px;padding:7px 9px;border:1px solid rgba(111,195,255,.19);border-radius:9px;background:rgba(111,195,255,.045);color:#86a8b5;font-size:8.5px;line-height:1.45}
.admin-visitor-day-detail{margin-top:11px;border:1px solid #3b5965;border-radius:12px;background:linear-gradient(180deg,#112a34,#0d2028);padding:11px;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.admin-visitor-detail-placeholder{color:#78939e;font-size:8.5px;text-align:center;padding:7px 4px}
.admin-visitor-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #294550;color:#9ab1ba}.admin-visitor-detail-head>div{min-width:0}.admin-visitor-detail-head b{display:block;font-size:9.5px;color:#dce9ed}.admin-visitor-detail-head span{display:block;margin-top:2px;font-size:8px;color:#708d98}.admin-visitor-detail-head strong{color:#f3cf69;font-size:17px;font-variant-numeric:tabular-nums}
.admin-visitor-detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:9px;margin-top:9px}.admin-visitor-detail-columns section{min-width:0}.admin-visitor-detail-columns h4{margin:0 0 6px;color:#9db4bd;font-size:8.5px}
.admin-visitor-mix-grid{display:grid;gap:6px}.admin-visitor-mix-grid.language{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-visitor-mix-grid.server{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-visitor-mix-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'label value' 'pct pct';gap:2px 5px;align-items:baseline;border:1px solid #294650;border-radius:9px;background:#0c2028;padding:7px 8px;min-width:0}.admin-visitor-mix-card span{grid-area:label;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7f9aa5;font-size:7.8px}.admin-visitor-mix-card b{grid-area:value;color:#d7e6eb;font-size:9.5px;font-variant-numeric:tabular-nums}.admin-visitor-mix-card small{grid-area:pct;color:#688590;font-size:7px}.admin-visitor-mix-card.lang-ko{border-color:rgba(87,178,220,.27)}.admin-visitor-mix-card.lang-en{border-color:rgba(102,211,166,.24)}.admin-visitor-mix-card.lang-ja{border-color:rgba(241,194,94,.24)}.admin-visitor-mix-card.lang-zh{border-color:rgba(202,140,235,.24)}.admin-visitor-mix-card.asia{border-color:rgba(94,201,224,.27)}.admin-visitor-mix-card.europe{border-color:rgba(111,155,241,.24)}.admin-visitor-mix-card.americas{border-color:rgba(238,184,88,.24)}
.admin-visitor-detail-untracked{grid-column:1/-1;border:1px dashed #34515c;border-radius:9px;padding:9px;text-align:center;color:#708a95;font-size:8px}
#adminVisitorCsvBtn{margin:0;white-space:nowrap}
.admin-visitor-row[role="button"]{cursor:pointer;border-radius:8px;transition:background .12s ease,box-shadow .12s ease}.admin-visitor-row[role="button"]:hover{background:rgba(111,195,255,.035)}.admin-visitor-row[role="button"].is-selected{background:rgba(111,195,255,.075);box-shadow:inset 2px 0 #6dc8dc}.admin-visitor-row[role="button"]:focus-visible{outline:2px solid rgba(111,195,255,.56);outline-offset:2px;border-radius:8px}
@media(max-width:900px){.admin-visitor-detail-columns{grid-template-columns:1fr}.admin-visitor-head{align-items:flex-start}.admin-visitor-head-actions{margin-left:auto}}
@media(max-width:700px){.admin-visitor-mix-grid.language{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-visitor-mix-grid.server{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-visitor-head{flex-direction:column}.admin-visitor-head-actions{margin-left:0}}
@media(prefers-reduced-motion:reduce){.exact-silver-tip{transition:none}}
.compact-silver{font-variant-numeric:tabular-nums}
.personal-basis-chip{display:inline-flex;align-items:center;margin-left:5px;padding:2px 5px;border:1px solid rgba(111,195,255,.28);border-radius:999px;background:rgba(111,195,255,.07);color:#8dd3ef;font-size:7.5px;font-weight:900;white-space:nowrap}
.city-specialty-badge{display:inline-flex;margin-left:4px;padding:2px 5px;border:1px solid rgba(244,201,93,.28);border-radius:999px;color:#e7c665;font-size:7.5px;font-weight:900;vertical-align:1px}
.city-data-pill{display:inline-flex;padding:3px 6px;border:1px solid #34505c;border-radius:999px;font-size:7.5px;font-weight:900;white-space:nowrap}.city-data-pill.full{border-color:rgba(80,216,144,.26);color:#70dba0}.city-data-pill.partial{border-color:rgba(244,201,93,.28);color:#e6c76f}
.ac-toast{position:fixed;left:50%;bottom:24px;z-index:180;max-width:min(92vw,560px);pointer-events:none;opacity:0;transform:translate(-50%,8px);transition:opacity .16s ease,transform .16s ease;border:1px solid #3d5a66;border-radius:10px;background:rgba(8,21,28,.97);color:#e4eef1;padding:8px 11px;box-shadow:0 10px 30px rgba(0,0,0,.36);font-size:9.5px;font-weight:850;text-align:center}.ac-toast.show{opacity:1;transform:translate(-50%,0)}.ac-toast.warn{border-color:rgba(244,201,93,.45);color:#efd57e}
@media(max-width:720px){.ac-toast{bottom:calc(var(--mobile-nav-height,58px) + var(--mobile-result-height,50px) + 30px + env(safe-area-inset-bottom))}}
.header-btn.profile-btn{border-color:#365866;background:rgba(111,195,255,.055);color:#b9dce8}.header-btn.profile-btn:hover{border-color:#5d91a3;background:rgba(111,195,255,.09);color:#eef8fb}.header-btn.profile-btn .header-btn-icon{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){.header-btn.profile-btn .header-btn-label{display:none}.header-btn.profile-btn{padding-inline:9px}}


/* v0.8.0 mobile-fit hotfix — restore the v0.7.9.5 mobile density while keeping v0.8.0 features. */
@media(max-width:720px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main{width:100%;max-width:100%;padding:12px 10px 18px}
  .grid,.card,.section,.home-shell,.home-core-grid,.home-market-card,.craft-city-compare-card,.craft-city-compare-scroll{min-width:0;max-width:100%}
  .header-inner{width:100%;max-width:100%;padding:9px 10px;padding-top:calc(9px + env(safe-area-inset-top));gap:8px}
  .brand{flex:1 1 auto;min-width:0}
  .header-actions{flex:0 0 auto;min-width:0;gap:5px}
  .header-btn.profile-btn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
  .header-btn.profile-btn .header-btn-icon{margin:0}

  /* Keep the original bottom-navigation footprint. */
  .tabs{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));padding:5px;gap:4px;border-radius:17px}
  .tab{min-height:44px;padding:8px 4px;gap:3px;font-size:10px}
  .tab-icon{font-size:17px}

  /* The extra jump controls must not make the v0.8.0 live-result bar feel larger than before. */
  .mobile-result-bar{left:8px!important;right:8px!important;bottom:calc(var(--mobile-nav-height,58px) + 16px + env(safe-area-inset-bottom))!important;min-height:46px;grid-template-columns:auto minmax(0,1fr)!important;gap:6px!important;padding:6px 7px!important;border-radius:13px!important}
  .mrb-jumps{display:flex;gap:3px;align-items:center;min-width:0;flex:0 0 auto}
  .mrb-jumps button{min-width:0;min-height:30px;padding:5px 6px;font-size:7.5px;line-height:1;border-radius:7px;white-space:nowrap}
  .mrb-result{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;min-width:0}
  .mobile-result-bar .mrb-label{font-size:8px!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-result-bar .mrb-profit{font-size:13px!important;white-space:nowrap}
  .mobile-result-bar .mrb-roi{font-size:10.5px!important;white-space:nowrap}

  /* New v0.8.0 content may scroll inside itself, but it must never widen the page. */
  .craft-city-compare-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .craft-city-compare-table{min-width:720px;max-width:none}
  .my-info-card,.quick-search-card{width:100%;max-width:100%}
  .my-info-body,.my-info-section,.profile-saved-row,.quick-search-row{min-width:0}

  /* Preserve the established mobile banner proportions. */
  .home-big-banner{width:100%;aspect-ratio:720/240!important}
  .home-mini-banner{width:100%;aspect-ratio:720/220!important}
}
@media(max-width:430px){
  .header-inner{gap:6px}
  .header-actions{gap:3px}
  .header-btn.profile-btn{width:36px;min-width:36px;height:40px}
  .mrb-jumps{gap:2px}
  .mrb-jumps button{padding:5px 4px;font-size:7px}
  .mrb-result{gap:4px}
  .mobile-result-bar .mrb-label{display:none}
}
@media(max-width:390px){
  .tabs{left:5px;right:5px;gap:2px;padding:4px}
  .tab{padding:7px 2px;font-size:9px}
  .tab-icon{font-size:15px}
  .brand-title{font-size:14px}
  .brand-title em{font-size:9px}
}

/* v0.8.0 — mobile layout correction
   Wide internal tables (notably the 7-city crafting comparison) must scroll inside
   their card and must never participate in the outer calculator grid's min-content width. */
@media(max-width:900px){
  .grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .grid>*{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:720px){
  html,body,main{max-width:100%;overflow-x:hidden}
  #craftView,#refineView,#consumableView,#marketView{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #craftView>*,#refineView>*,#consumableView>*,#marketView>*{
    min-width:0!important;
    max-width:100%!important;
  }
  .form-grid>*,.craft-select-grid>*,.consumable-select-grid>*{
    min-width:0!important;
  }

  /* The seven-city table keeps its desktop-readable width, but only its own
     viewport scrolls horizontally. It can no longer widen the whole page. */
  .craft-city-compare-card{
    width:100%;
    max-width:100%;
    min-width:0!important;
    overflow:hidden!important;
  }
  .craft-city-compare-scroll{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .craft-city-compare-table{
    width:720px;
    min-width:720px!important;
    max-width:none!important;
  }

  /* Header: on phone widths the wordmark no longer gets squeezed underneath
     the controls. Keep only the A mark and reserve the remaining row for tools. */
  .brand-title{display:none!important}
  .brand{
    flex:0 0 30px!important;
    width:30px!important;
    min-width:30px!important;
    gap:0!important;
  }
  .header-inner{
    justify-content:flex-start!important;
    min-width:0;
  }
  .header-actions{
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:flex-end!important;
  }
}

@media(max-width:340px){
  .header-inner{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .brand{flex-basis:28px!important;width:28px!important;min-width:28px!important}
  .brand-mark{width:28px!important;height:28px!important;flex-basis:28px!important}
  .header-actions{gap:2px!important}
  .visitor-public-badge{padding-left:4px!important;padding-right:4px!important}
  .lang-control{max-width:76px!important;padding-left:3px!important;padding-right:3px!important}
  .lang-control select{max-width:68px!important;padding-right:14px!important}
  .header-btn.profile-btn{width:30px!important;min-width:30px!important}
  .share-btn,.suggest-btn,.manager-btn{padding-left:5px!important;padding-right:5px!important}
}


/* v0.8.0 MANAGER language analytics hotfix — show partial coverage instead of looking broken. */
.admin-visitor-legend .unknown::before{background:#607985}
.admin-visitor-segment.unknown{background:#607985}
.admin-visitor-stack.partial{box-shadow:inset 0 0 0 1px rgba(244,201,93,.18)}
.admin-visitor-value.segmented-value.partial{color:#e5c66a}
.admin-visitor-mix-card.unknown{border-color:rgba(120,145,156,.32);background:#10242c}
.admin-visitor-mix-card.unknown b{color:#a9bbc2}
.admin-visitor-coverage{display:inline-flex;align-items:center;gap:4px;margin-left:5px;padding:2px 5px;border:1px solid #385560;border-radius:999px;color:#8ea8b2;font-size:7px;font-weight:900;vertical-align:1px}
.admin-visitor-coverage.partial{border-color:rgba(244,201,93,.3);color:#e4c66d;background:rgba(244,201,93,.045)}
.admin-visitor-coverage.complete{border-color:rgba(80,216,144,.27);color:#72dca0;background:rgba(80,216,144,.04)}

/* v0.8.0 production bonus user-confirmation UX */
.bonus-report-detected-summary{border:1px solid #2f4d59;border-radius:10px;background:#0d222b;padding:9px 10px;color:#9fb7c0;font-size:9.5px;line-height:1.5}
.bonus-report-quick-grid{display:grid;gap:8px}.bonus-report-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #2f4b57;border-radius:11px;background:#10242d;padding:10px 11px}.bonus-report-quick-category{min-width:0;display:grid;gap:3px}.bonus-report-quick-category small{color:#78949f;font-size:8.5px;font-weight:850}.bonus-report-quick-category strong{color:#edf5f7;font-size:11px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bonus-report-percent-buttons{display:flex;gap:6px}.bonus-report-percent-buttons button{min-width:52px;border:1px solid #3b5965;border-radius:9px;background:#142b35;color:#a9c0c8;padding:8px 10px;font-size:10px;font-weight:950;cursor:pointer}.bonus-report-percent-buttons button:hover{border-color:#5b8291;color:#eef9fb}.bonus-report-percent-buttons button.selected{border-color:#56a47a;background:#18392c;color:#8bf0b2;box-shadow:inset 0 0 0 1px rgba(118,229,165,.12)}
.bonus-report-correction-toggle{justify-self:start;border:0;background:transparent;color:#77cbe6;padding:2px 0;font-size:9.5px;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.bonus-report-correction-panel{border:1px solid #4c5961;border-radius:11px;background:#121f25;padding:10px 11px}.bonus-report-correction-title{color:#d8e7eb;font-size:10px;font-weight:900;margin-bottom:8px}.bonus-report-correction-help{margin-top:7px;color:#819aa4;font-size:8.7px;line-height:1.5}
.admin-bonus-source-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid #31515e;border-radius:10px;background:#0f222b;padding:9px 10px;margin-bottom:9px;color:#a9bec6;font-size:9.5px}.admin-bonus-source-summary b{color:#82d4ef}.admin-bonus-source-summary span{display:block;flex-basis:100%;color:#758f99;font-size:8.5px}.admin-bonus-manual{border:1px solid #455662;border-radius:11px;background:#12242c;padding:10px 11px;margin-bottom:10px}.admin-bonus-manual-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}.admin-bonus-manual-title b{color:#eef4f6;font-size:10px}.admin-bonus-manual-title span{color:#8099a3;font-size:8.5px}.admin-bonus-manual-grid{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:7px;margin-bottom:8px}.admin-bonus-manual-grid label{display:grid;gap:4px;color:#91aab3;font-size:8.5px}.admin-bonus-manual-grid select{width:100%;border:1px solid #35505d;border-radius:8px;background:#0f2029;color:#dce9ed;padding:7px 8px;font-size:9px}.admin-bonus-manual>.secondarybtn{font-size:8.8px;padding:7px 9px}
@media(max-width:760px){.bonus-report-quick-row{grid-template-columns:1fr}.bonus-report-percent-buttons{width:100%}.bonus-report-percent-buttons button{flex:1;min-height:40px}.admin-bonus-manual-grid{grid-template-columns:minmax(0,1fr) 78px}}
.bonus-report-correction-panel .bonus-report-row{display:block}.bonus-report-correction-panel .bonus-report-row+ .bonus-report-row{margin-top:7px}

/* v0.8.0 fast-home: keep unconfirmed AODP recommendations useful without implying 20%. */
.bonus-assumed-chip{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border:1px solid rgba(229,178,73,.38);border-radius:999px;background:rgba(229,178,73,.10);color:#d9bb78;font-size:10px;font-weight:800;line-height:1.35;vertical-align:1px;white-space:nowrap}
@media(max-width:720px){.bonus-assumed-chip{margin-left:3px;padding:1px 5px;font-size:9px}}

/* v0.8.1 · announcement manager + resilient stale production-bonus layout */
.announcement-card{max-width:640px!important}
.announcement-head{align-items:flex-start}
.announcement-kicker{font-size:9px;font-weight:950;letter-spacing:.16em;color:#6fc8de;margin-bottom:5px}
.announcement-body-wrap{padding-top:16px}
.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;font-size:13px;line-height:1.75;color:#dce9ed;max-height:min(52vh,520px);overflow:auto;padding:2px 2px 6px}
.announcement-updated{margin-top:12px;font-size:9px;color:#718b96}
.announcement-actions{justify-content:flex-end;flex-wrap:wrap}
.admin-announcement-panel{border:1px solid #2c4c59;border-radius:14px;background:rgba(10,28,36,.72);padding:14px;margin-bottom:12px}
.admin-announcement-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.admin-announcement-head .sub{margin-top:4px}
.announcement-enabled-toggle{flex:0 0 auto}
.admin-announcement-lang-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.admin-announcement-lang-tabs button{border:1px solid #31515e;background:#102832;color:#9db6c0;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer}
.admin-announcement-lang-tabs button.active{border-color:#62aeca;color:#eefaff;background:#163845}
.admin-announcement-editor{display:grid;gap:10px}
.admin-announcement-editor label{display:grid;gap:6px;font-size:9px;font-weight:850;color:#8fa8b2}
.admin-announcement-editor input,.admin-announcement-editor textarea{width:100%;box-sizing:border-box}
.admin-announcement-editor textarea{resize:vertical;min-height:150px;line-height:1.55}
.admin-announcement-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* Previous-day fallback text and long localized bonus labels must never collide. */
.home-info-card.production{min-width:0!important;overflow:hidden!important}
.home-bonus-items{min-width:0!important}
.home-bonus-item{min-width:0!important;max-width:100%!important;align-items:flex-start!important}
.home-bonus-item em{flex:0 0 auto!important;line-height:1.35!important}
.home-bonus-item b{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:keep-all!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.home-bonus-raw{max-width:100%!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important;line-height:1.45!important}
.home-card-bottom{min-width:0!important;flex-wrap:wrap!important;align-items:flex-start!important}
.home-bonus-bottom-left{min-width:0!important;max-width:100%!important;flex-wrap:wrap!important}
.home-status-pill{max-width:100%!important;white-space:normal!important;line-height:1.35!important}
.home-card-age{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important;text-align:right}
@media(max-width:760px){
  .announcement-card{width:min(94vw,640px)!important}
  .announcement-actions>*{flex:1 1 140px}
  .home-bonus-items{grid-template-columns:1fr!important}
  .home-card-age{width:100%!important;text-align:left!important}
}

/* v0.8.5 — simple line-heart floating support icon + in-page Smart Button */
.donation-fab{
  position:fixed;left:18px;bottom:18px;z-index:90;
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(91,169,194,.58);background:rgba(16,34,43,.96);color:#75cde2;
  box-shadow:0 12px 30px rgba(0,0,0,.38),inset 0 0 0 1px rgba(117,205,226,.06);
  backdrop-filter:blur(12px);cursor:pointer;overflow:visible;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease
}
.donation-fab:hover{
  transform:translateY(-2px) scale(1.035);border-color:#f4c95d;background:rgba(22,38,45,.98);color:#f4c95d;
  box-shadow:0 15px 34px rgba(0,0,0,.43),0 0 0 3px rgba(244,201,93,.07)
}
.donation-fab:active{transform:translateY(0) scale(.97)}
.donation-fab:focus-visible{outline:2px solid #f4c95d;outline-offset:3px}
.donation-fab-icon{width:24px;height:24px;stroke-width:1.75;transition:transform .16s ease}
.donation-fab:hover .donation-fab-icon{transform:scale(1.04)}
.donation-fab::after{
  content:attr(data-label);position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%) translateX(-4px);
  padding:6px 9px;border:1px solid #36505e;border-radius:8px;background:rgba(13,29,38,.97);color:#dce9ee;
  font-size:11px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.28);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s ease
}
.donation-fab:hover::after,.donation-fab:focus-visible::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.donation-card{width:min(460px,calc(100vw - 28px));overflow:hidden}
.donation-head{background:linear-gradient(180deg,rgba(244,201,93,.07),transparent)}
.donation-kicker{font-size:10px;font-weight:950;letter-spacing:.16em;color:#e9c65f;margin-bottom:4px}
.donation-body{text-align:center;padding-top:18px}
.donation-heart{
  width:54px;height:54px;border-radius:17px;margin:0 auto 12px;
  display:grid;place-items:center;color:#75cde2;
  border:1px solid rgba(91,169,194,.36);background:rgba(91,169,194,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.2)
}
.donation-heart-icon{width:27px;height:27px;stroke-width:1.75}
.donation-description{margin:0 auto 16px;max-width:390px;color:#d9e6eb;font-size:13px;line-height:1.7}
.donation-currency-note{font-size:11px;color:#9fb4be;margin-bottom:12px}
.donation-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.donation-amount{
  min-height:48px;border:1px solid #36505e;background:#12212b;color:#e9f1f4;border-radius:11px;
  cursor:pointer;font-size:16px;font-weight:950;transition:.15s ease
}
.donation-amount:hover{border-color:#6a8492;transform:translateY(-1px)}
.donation-amount.active{border-color:#f4c95d;background:rgba(244,201,93,.12);color:#ffe28a;box-shadow:0 0 0 1px rgba(244,201,93,.14) inset}
.donation-custom-label{display:block;text-align:left;margin:2px 0 12px;color:#a9bdc6;font-size:11px;font-weight:850}
.donation-custom-label>span{display:block;margin-bottom:6px}
.donation-custom-wrap{display:flex;align-items:center;border:1px solid #36505e;background:#13242e;border-radius:10px;overflow:hidden}
.donation-custom-wrap>span{padding:0 0 0 13px;color:#f4c95d;font-weight:950;font-size:15px}
.donation-custom-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;padding-left:8px!important}
.donation-paypal-buttons{width:100%;min-height:45px;position:relative;z-index:1}
.donation-paypal-buttons iframe{border-radius:10px!important}
.donation-status{margin-top:8px;min-height:0}
.donation-policy-note{margin-top:12px;padding-top:11px;border-top:1px solid rgba(78,104,118,.45);font-size:10.5px;color:#829aa5;line-height:1.65;text-align:left}
.donation-result{margin:0 0 14px;padding:12px 13px;border:1px solid rgba(80,216,144,.35);background:rgba(80,216,144,.08);border-radius:11px;color:#baf4d1;font-size:12px;line-height:1.65;text-align:left}
.donation-result.error{border-color:rgba(255,122,122,.35);background:rgba(255,122,122,.07);color:#ffc2c2}
@media(max-width:760px){
  .donation-fab{left:12px;bottom:calc(var(--mobile-nav-height,58px) + 18px + env(safe-area-inset-bottom));width:46px;height:46px;z-index:75}
  .donation-fab-icon{width:22px;height:22px}
  .donation-fab::after{display:none}
}
@media(max-width:560px){
  .donation-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .donation-card{width:min(94vw,460px)}
}


/* v0.8.5 — specialization / Focus Cost Efficiency */
.focus-spec-section{margin-top:10px;padding-top:10px;border-top:1px solid rgba(83,111,123,.28)}
.focus-spec-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid rgba(86,194,232,.16);border-radius:10px;background:rgba(61,139,168,.045);cursor:pointer}
.focus-spec-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.focus-spec-toggle-copy strong{display:flex;align-items:center;gap:6px;font-size:11px;color:#dce9ee}
.focus-spec-toggle-copy small{font-size:9px;line-height:1.45;color:#8099a4}
.focus-spec-panel{margin-top:8px;padding:9px;border:1px solid rgba(86,194,232,.16);border-radius:10px;background:rgba(8,23,31,.34);transition:opacity .16s ease,filter .16s ease}
.focus-spec-panel.is-disabled{opacity:.38;filter:saturate(.45)}
.focus-spec-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:8px}
.focus-spec-toolbar>label{min-width:0}.focus-spec-toolbar>label>span{display:block;margin-bottom:5px;font-size:9px;color:var(--muted)}
.focus-spec-toolbar select{min-height:34px}
.focus-spec-kpi{min-width:92px;min-height:34px;padding:5px 9px;border:1px solid rgba(85,208,145,.22);border-radius:9px;background:rgba(63,171,114,.055);display:flex;flex-direction:column;justify-content:center;align-items:flex-end}
.focus-spec-kpi span{font-size:8px;color:#7f9ca7}.focus-spec-kpi strong{font-size:14px;color:#86e7ae}
.focus-spec-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.focus-spec-fields .calc-input-item label,.focus-fce-direct label{font-size:9px;line-height:1.35}
.focus-spec-fields .calc-input-item small{display:block;margin-top:4px;font-size:8px;color:#78909a}
.focus-span-2{grid-column:1/-1}
.focus-fce-direct{margin-top:3px}
.focus-spec-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:8px;padding-top:7px;border-top:1px dashed rgba(83,111,123,.3)}
.focus-spec-summary span{font-size:8px;line-height:1.5;color:#78919c;max-width:68%}.focus-spec-summary strong{font-size:10px;color:#f6cc58;text-align:right;white-space:nowrap}
.focus-cost-auto{border-color:rgba(246,204,88,.35)!important;background:rgba(246,204,88,.055)!important;color:#f6d977!important}
@media(max-width:560px){.focus-spec-toolbar{grid-template-columns:1fr}.focus-spec-kpi{align-items:flex-start}.focus-spec-fields{grid-template-columns:1fr}.focus-span-2{grid-column:auto}.focus-spec-summary{flex-direction:column}.focus-spec-summary span{max-width:none}.focus-spec-summary strong{text-align:left}}


/* v0.8.5 — desktop balance: seven-city comparison lives in the main/left craft column.
   On mobile the existing single-column order and inner table scroll behavior remain intact. */
@media(min-width:901px){
  #craftView>div:first-child .craft-city-compare-card{margin-top:16px}
}


/* v0.8.6 — personal memo / worksheet */
.memo-fab{position:fixed;right:18px;bottom:18px;z-index:90;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(91,169,194,.58);background:rgba(16,34,43,.96);color:#75cde2;box-shadow:0 12px 30px rgba(0,0,0,.38),inset 0 0 0 1px rgba(117,205,226,.06);backdrop-filter:blur(12px);cursor:pointer;overflow:visible;transition:bottom .18s ease,transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
body.has-desktop-result-dock .memo-fab{bottom:82px}
.memo-fab:hover{transform:translateY(-2px) scale(1.035);border-color:#62c5d8;background:rgba(22,38,45,.98);color:#a7edf7;box-shadow:0 15px 34px rgba(0,0,0,.43),0 0 0 3px rgba(98,197,216,.07)}
.memo-fab:active{transform:translateY(0) scale(.97)}.memo-fab:focus-visible{outline:2px solid #75cde2;outline-offset:3px}.memo-fab-icon{width:24px;height:24px;stroke-width:1.75}
.memo-fab::after{content:attr(data-label);position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%) translateX(4px);padding:6px 9px;border:1px solid #36505e;border-radius:8px;background:rgba(13,29,38,.97);color:#dce9ee;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.memo-fab:hover::after,.memo-fab:focus-visible::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.memo-workspace-card{width:min(1280px,calc(100vw - 28px));max-height:min(92dvh,940px);overflow:hidden}.memo-workspace-head{background:linear-gradient(180deg,rgba(91,169,194,.075),transparent)}.memo-kicker{font-size:9px;font-weight:950;letter-spacing:.16em;color:#6fc7dc;margin-bottom:4px}.memo-workspace-body{padding:12px;overflow:auto}.memo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.memo-tabs,.memo-toolbar-actions,.memo-sheet-actions>div,.memo-text-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.memo-tabs{padding:3px;border:1px solid #304d5a;border-radius:10px;background:#0d2029}.memo-tabs button,.memo-toolbar-actions button{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#8ea8b3;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer}.memo-tabs button.active{border-color:#477182;background:#17333e;color:#e3f1f5}.memo-toolbar-actions button{border-color:#34515e;background:#132b35;color:#afc5cd}.memo-toolbar-actions button:hover,.memo-tabs button:hover{color:#fff;border-color:#598092}.memo-toolbar .ui-icon-slot{width:14px;height:14px;margin:0}
.memo-workspace-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.memo-workspace-card.calc-open .memo-workspace-layout{grid-template-columns:minmax(0,1fr) 310px}.memo-workspace-main{min-width:0}.memo-pane{min-width:0;border:1px solid #2d4854;border-radius:13px;background:#0e222b;overflow:hidden}.memo-sheet-actions,.memo-text-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid #294550;background:#112832}.memo-sheet-actions button,.memo-text-actions button{min-height:32px}.memo-save-state{font-size:8px;color:#6d8e99;font-weight:850;white-space:nowrap}.memo-save-state.saving{color:#e1bd59}.memo-table-scroll{max-width:100%;overflow:auto}.memo-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:9px}.memo-table th,.memo-table td{border-right:1px solid #294450;border-bottom:1px solid #294450;min-width:118px;max-width:240px;padding:0;background:#0f242d}.memo-table th{position:sticky;top:0;z-index:2;height:38px;background:#17303a;color:#a9c0c9;font-size:8px;font-weight:950}.memo-table th:first-child,.memo-table td:first-child{min-width:42px;width:42px;text-align:center}.memo-table th:last-child,.memo-table td:last-child{min-width:42px;width:42px;text-align:center;border-right:0}.memo-col-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;height:38px}.memo-col-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-col-edit{flex:0 0 auto;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:#607f8b;cursor:pointer}.memo-col-edit:hover{background:#203c47;color:#c9e0e7}.memo-cell-input{width:100%;height:37px;border:0!important;border-radius:0!important;background:transparent!important;color:#d9e7eb!important;padding:0 8px!important;font-size:9px!important;box-shadow:none!important;outline:none}.memo-cell-input:focus{background:#17313b!important;box-shadow:inset 0 0 0 1px #5592a7!important}.memo-cell-input.numeric{text-align:right;font-variant-numeric:tabular-nums}.memo-cell-formula{display:flex;align-items:center;justify-content:flex-end;height:37px;padding:0 8px;color:#8ee0b0;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memo-row-delete{width:26px;height:26px;border:1px solid #4b3a3e;border-radius:7px;background:#251d22;color:#b8878e;cursor:pointer}.memo-row-delete:hover{border-color:#a95765;color:#ff9cac}.memo-empty{padding:26px;text-align:center;color:#78949e;font-size:10px}.memo-mobile-rows{display:none}.memo-summary-list{display:flex;gap:7px;flex-wrap:wrap;padding:10px;border-top:1px solid #294550;background:#0c1f27}.memo-summary-card{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:6px;min-width:150px;border:1px solid #335360;border-radius:10px;background:#132b35;padding:7px 8px}.memo-summary-card span{font-size:8px;color:#7f9ba6}.memo-summary-card strong{font-size:11px;color:#dcebee;font-variant-numeric:tabular-nums}.memo-summary-card button{width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:#688793;cursor:pointer}.memo-summary-card button:hover{background:#1e3b46;color:#d9ebf0}
.memo-textarea{display:block;width:100%;min-height:360px;resize:vertical;border:0;background:#0e222b;color:#dce8ec;padding:15px;font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none}.memo-textarea:focus{box-shadow:inset 0 0 0 1px #47788b}.memo-calculator-panel{display:none;border:1px solid #365563;border-radius:13px;background:#102630;overflow:hidden;position:sticky;top:0}.memo-workspace-card.calc-open .memo-calculator-panel{display:block}.memo-calc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid #2d4854;background:#142d37}.memo-calc-head>div{display:grid;gap:2px}.memo-calc-head b{display:flex;align-items:center;gap:5px;color:#e1edf0;font-size:10px}.memo-calc-head span{font-size:8px;color:#76929d}.memo-calc-close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#839ca6;font-size:18px;cursor:pointer}.memo-calc-close:hover{background:#203c47;color:#fff}.memo-number-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 10px 0}.memo-number-mode button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;border:1px solid #33515e;border-radius:8px;background:#132b35;color:#8ea8b3;font-size:9px;font-weight:900;cursor:pointer}.memo-number-mode button.active{border-color:#63bfd2;background:#173b46;color:#dff8fc;box-shadow:inset 0 0 0 1px rgba(99,191,210,.13)}.memo-calc-label{display:block;padding:10px 10px 4px;color:#829ca6;font-size:8px;font-weight:900}.memo-calc-input{width:calc(100% - 20px);margin:0 10px;border:1px solid #365764;border-radius:9px;background:#0b1c24;color:#e6f0f3;padding:10px;font:11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.memo-calc-result{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 10px;padding:9px 10px;border:1px solid #2d4b57;border-radius:9px;background:#0d2028}.memo-calc-result span{font-size:8px;color:#76909a}.memo-calc-result strong{font-size:17px;color:#dff2f5;font-variant-numeric:tabular-nums}.memo-calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:2px 10px 8px}.memo-calc-keys button{min-height:38px;border:1px solid #36515d;border-radius:8px;background:#1b3540;color:#d2e0e5;font-size:11px;font-weight:900;cursor:pointer}.memo-calc-keys button:hover{border-color:#5d8594;background:#23424e}.memo-calc-keys .wide{grid-column:span 2}.memo-calc-keys .equals{border-color:#5baec0;background:#1a5560;color:#effdff}.memo-calc-error{min-height:18px;padding:0 10px;color:#ff9292;font-size:8px}.memo-calc-to-memo{width:calc(100% - 20px);margin:0 10px 10px}.memo-config-card{width:min(520px,calc(100vw - 28px))}.memo-config-body{display:grid;gap:10px}.memo-config-section{display:grid;gap:10px}.memo-config-section>label,.memo-formula-config>label{display:grid;gap:5px;color:#8fa7b1;font-size:9px;font-weight:900}.memo-config-section input[type=text],.memo-config-section select,.memo-config-section textarea{width:100%;border:1px solid #35515e;border-radius:9px;background:#0f232c;color:#dce9ed;padding:9px 10px;font-size:10px;outline:none}.memo-config-section input:focus,.memo-config-section select:focus,.memo-config-section textarea:focus{border-color:#67a8bd;box-shadow:0 0 0 3px rgba(103,168,189,.09)}.memo-formula-config{display:grid;gap:9px;border:1px solid #2e4b57;border-radius:11px;background:#10252e;padding:10px}.memo-formula-help{font-size:8px;line-height:1.5;color:#718e99}.memo-formula-tokens{display:flex;gap:5px;flex-wrap:wrap}.memo-formula-tokens button{border:1px solid #365461;border-radius:7px;background:#17303a;color:#aac0c8;padding:5px 7px;font-size:8px;font-weight:850;cursor:pointer}.memo-formula-tokens button:hover{border-color:#62a2b8;color:#fff}.memo-formula-preview{min-height:34px;border:1px solid #2c4854;border-radius:9px;background:#0b1d25;padding:8px 9px;color:#8bdcab;font-size:9px;line-height:1.45}.memo-primary-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;border:1px solid #2e4b57;border-radius:9px;background:#10252e;padding:9px}.memo-primary-check input{accent-color:#62bdd0}.memo-config-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center}.memo-config-actions button{min-height:34px}.memo-mobile-card{border:1px solid #31505c;border-radius:11px;background:#102630;overflow:hidden}.memo-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px}.memo-mobile-card-title{min-width:0}.memo-mobile-card-title b{display:block;color:#e0ecef;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-mobile-card-title span{display:block;margin-top:3px;color:#758f9a;font-size:8px}.memo-mobile-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 10px 10px}.memo-mobile-kv{min-width:0;border:1px solid #294651;border-radius:8px;background:#0d212a;padding:7px}.memo-mobile-kv span{display:block;color:#6f8c97;font-size:7.5px}.memo-mobile-kv b{display:block;margin-top:2px;color:#d8e6ea;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-mobile-kv b.positive{color:#7de0a8}.memo-mobile-kv b.negative{color:#ff9393}.memo-mobile-details{border-top:1px solid #294550}.memo-mobile-details summary{cursor:pointer;padding:8px 10px;color:#8aa5ae;font-size:8px;font-weight:900}.memo-mobile-edit{display:grid;gap:8px;padding:0 10px 10px}.memo-mobile-field{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;align-items:center}.memo-mobile-field>span{color:#7d99a4;font-size:8px}.memo-mobile-field .memo-cell-input{height:34px;border:1px solid #31505c!important;border-radius:8px!important;background:#0c1f27!important}.memo-mobile-field .memo-cell-formula{height:34px;border:1px solid #294954;border-radius:8px;background:#0c1f27}.memo-mobile-delete{width:30px;height:30px;border:1px solid #4b3a3e;border-radius:8px;background:#251d22;color:#b8878e;cursor:pointer}
@media(max-width:900px){.memo-workspace-card.calc-open .memo-workspace-layout{grid-template-columns:1fr}.memo-calculator-panel{position:static}}
@media(max-width:720px){.memo-fab{right:12px;bottom:calc(var(--mobile-nav-height,58px) + 18px + env(safe-area-inset-bottom));width:46px;height:46px;z-index:75}.memo-fab::after{display:none}body.has-mobile-result-bar .memo-fab{bottom:calc(var(--mobile-nav-height,58px) + var(--mobile-result-height,50px) + 34px + env(safe-area-inset-bottom))}.memo-fab-icon{width:22px;height:22px}.memo-workspace-card{width:100%;max-height:94dvh}.memo-workspace-body{padding:9px}.memo-toolbar{align-items:stretch;flex-direction:column}.memo-tabs,.memo-toolbar-actions{width:100%}.memo-tabs button{flex:1}.memo-toolbar-actions button{flex:1;justify-content:center}.memo-desktop-sheet{display:none}.memo-mobile-rows{display:grid;gap:8px;padding:9px}.memo-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.memo-summary-card{min-width:0}.memo-sheet-actions{align-items:flex-start;flex-direction:column}.memo-sheet-actions>div{width:100%}.memo-sheet-actions button{flex:1}.memo-save-state{align-self:flex-end}.memo-textarea{min-height:320px;font-size:10px}.memo-primary-check{font-size:8.5px!important}.memo-config-card{width:100%}.memo-mobile-field{grid-template-columns:82px minmax(0,1fr)}}
@media(max-width:430px){.memo-summary-list{grid-template-columns:1fr}.memo-mobile-primary{grid-template-columns:1fr 1fr}.memo-toolbar-actions button span:last-child{display:inline}.memo-workspace-head .sub{max-width:31ch}}


/* v0.8.8 — Excel-style personal sheet. Overrides the old card worksheet. */
.sheet-workspace-card{width:min(1480px,calc(100vw - 22px));max-height:min(94dvh,980px);overflow:hidden}
.sheet-workspace-body{padding:10px;overflow:hidden}
.sheet-commandbar{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 9px;margin-bottom:8px;border:1px solid #294956;border-radius:11px;background:#10252e}
.sheet-command-main,.sheet-command-format{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sheet-command-format{margin-left:auto}.sheet-commandbar .secondarybtn{min-height:32px;padding:6px 8px;font-size:8.5px}.sheet-format-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;min-height:32px;border:1px solid #365460;border-radius:8px;background:#142c35;color:#a8bec6;padding:6px 8px;font-size:8.5px;font-weight:900;cursor:pointer}.sheet-format-btn:hover{border-color:#5e8492;color:#eef9fb}.sheet-format-btn .ui-icon-slot{width:14px;height:14px;margin:0}.sheet-number-toggle{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;width:58px;height:32px;padding:2px;border:1px solid #2f7865;border-radius:999px;background:#145943;color:#9ec9bd;cursor:pointer;isolation:isolate;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.sheet-number-toggle:hover{border-color:#4aa58b;box-shadow:0 0 0 2px rgba(74,165,139,.08)}.sheet-number-toggle:focus-visible{outline:2px solid #73c9b2;outline-offset:2px}.sheet-number-toggle-icon{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;pointer-events:none;transition:color .18s ease,opacity .18s ease}.sheet-number-toggle-icon .ui-icon-slot{width:13px;height:13px;margin:0}.sheet-number-toggle-icon.compact{color:#174b3b}.sheet-number-toggle-icon.full{color:#c2ddd5}.sheet-number-toggle-knob{position:absolute;z-index:1;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#d6e6e5;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .2s cubic-bezier(.2,.8,.2,1),background .18s ease}.sheet-number-toggle[data-mode="full"]{background:#173c45;border-color:#3a6670}.sheet-number-toggle[data-mode="full"] .sheet-number-toggle-knob{transform:translateX(26px)}.sheet-number-toggle[data-mode="full"] .sheet-number-toggle-icon.compact{color:#9db8b0}.sheet-number-toggle[data-mode="full"] .sheet-number-toggle-icon.full{color:#254f57}.sheet-commandbar .memo-save-state{margin-left:2px}
.sheet-workspace-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.memo-workspace-card.calc-open .sheet-workspace-layout{grid-template-columns:minmax(0,1fr) 310px}.sheet-main{min-width:0;border:1px solid #294956;border-radius:11px;background:#0c1e26;overflow:hidden}.sheet-formula-row{display:grid;grid-template-columns:72px 34px minmax(0,1fr);align-items:center;border-bottom:1px solid #294956;background:#102731}.sheet-name-box{height:36px;display:flex;align-items:center;justify-content:center;border-right:1px solid #294956;color:#b4c9d0;font:900 9px ui-monospace,SFMono-Regular,Consolas,monospace;background:#142d37}.sheet-fx-mark{height:36px;display:flex;align-items:center;justify-content:center;color:#6fbfd2;font:italic 900 12px Georgia,serif;border-right:1px solid #294956}.sheet-formula-input{width:100%;height:36px;border:0!important;border-radius:0!important;background:#0e222b!important;color:#e0edf0!important;padding:0 10px!important;font:10px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;outline:none;box-shadow:none!important}.sheet-formula-input:focus{background:#122c36!important;box-shadow:inset 0 0 0 1px #4e8395!important}.sheet-formula-tools{display:flex;align-items:center;gap:4px;min-height:34px;padding:4px 6px;border-bottom:1px solid #294956;background:#0e232c;overflow-x:auto;white-space:nowrap}.sheet-formula-tools button{flex:0 0 auto;min-width:30px;height:27px;border:1px solid #314f5b;border-radius:6px;background:#142c35;color:#9fb6bf;padding:3px 7px;font-size:8px;font-weight:900;cursor:pointer}.sheet-formula-tools button:hover{border-color:#5d8796;color:#effbff}.sheet-formula-tools .ui-icon-slot{width:12px;height:12px}.sheet-tool-divider{flex:0 0 1px;height:20px;background:#2e4c58;margin:0 2px}.sheet-formula-hint{font-size:7.5px;color:#6f8b96;margin-left:3px}
.sheet-viewport{width:100%;max-height:min(62dvh,610px);overflow:auto;overscroll-behavior:contain;background:#0b1d25;outline:none}.sheet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:9px}.sheet-grid th,.sheet-grid td{box-sizing:border-box;border-right:1px solid #29444f;border-bottom:1px solid #29444f}.sheet-grid thead th{position:sticky;top:0;z-index:5;width:118px;min-width:118px;height:29px;background:#17313b;color:#88a6b1;text-align:center;font:900 8px ui-monospace,SFMono-Regular,Consolas,monospace;user-select:none}.sheet-grid .sheet-corner{left:0;z-index:7;width:42px;min-width:42px;background:#132a33}.sheet-grid tbody th{position:sticky;left:0;z-index:4;width:42px;min-width:42px;height:31px;background:#142d36;color:#7896a1;text-align:center;font:900 8px ui-monospace,SFMono-Regular,Consolas,monospace;user-select:none}.sheet-grid th.range-head{background:#20505d;color:#e3f8fc}.sheet-grid td{position:relative;width:118px;min-width:118px;height:31px;background:#0d2129;color:#dbe8ec;padding:0}.sheet-grid td.selected::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:rgba(78,150,172,.08);border:1px solid rgba(83,170,194,.45);z-index:1}.sheet-grid td.active-cell::after{inset:-2px;border:2px solid #65c3d7;background:transparent;z-index:2}.sheet-cell-input{position:relative;z-index:0;display:block;width:100%;height:30px;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;padding:0 7px!important;font:9px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace!important;outline:none;box-shadow:none!important;text-overflow:ellipsis}.sheet-cell-input:focus{background:rgba(34,73,86,.72)!important;color:inherit!important}.sheet-statusbar{display:flex;align-items:center;gap:12px;min-height:29px;padding:5px 8px;border-top:1px solid #294956;background:#10252e;color:#7c99a3;font-size:7.7px}.sheet-statusbar #sheetSelectionStatus{color:#b9cdd3;font-weight:900;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.sheet-statusbar #sheetSelectionSummary{color:#7fd4aa;font-weight:850}.sheet-statusbar .sheet-help{margin-left:auto;text-align:right}
.sheet-color-popover{position:fixed;z-index:1300;padding:10px;border:1px solid #42616e;border-radius:12px;background:#102630;box-shadow:0 18px 45px rgba(0,0,0,.5)}.sheet-color-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.sheet-color-head strong{font-size:10px;color:#e1edf0}.sheet-color-head button{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#8ba2ab;font-size:17px;cursor:pointer}.sheet-color-head button:hover{background:#1c3944;color:#fff}.sheet-color-section{display:grid;gap:5px;margin-top:7px}.sheet-color-section>span{font-size:7.5px;color:#78949f;font-weight:850}.sheet-color-swatches{display:flex;gap:5px;flex-wrap:wrap;min-height:26px}.sheet-swatch{width:25px;height:25px;border:1px solid #55717b;border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}.sheet-swatch:hover{outline:2px solid #69b9ce;outline-offset:1px}.sheet-no-colors{color:#607e89;font-size:9px}.sheet-color-custom{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:6px;margin-top:9px}.sheet-color-custom input[type=color]{width:38px;height:32px;padding:2px;border:1px solid #365561;border-radius:7px;background:#0d2028}.sheet-color-custom input[type=text]{min-width:0;border:1px solid #365561;border-radius:7px;background:#0d2028;color:#dce9ed;padding:6px 8px;font:9px ui-monospace,SFMono-Regular,Consolas,monospace}.sheet-color-actions{display:flex;gap:6px;margin-top:8px}.sheet-color-actions button{flex:1;justify-content:center}.sheet-color-hint{margin-top:7px;color:#6f8d98;font-size:7.5px;line-height:1.45}
.memo-calculator-panel{display:none;border:1px solid #365563;border-radius:11px;background:#102630;overflow:hidden;position:sticky;top:0}.memo-workspace-card.calc-open .memo-calculator-panel{display:block}.memo-calculator-panel .memo-calc-label{padding-top:12px}.memo-calc-result strong{font-variant-numeric:tabular-nums}
@media(max-width:980px){.sheet-command-format{margin-left:0}.sheet-commandbar{align-items:flex-start}.memo-workspace-card.calc-open .sheet-workspace-layout{grid-template-columns:1fr}.memo-calculator-panel{position:static}.sheet-viewport{max-height:54dvh}}
@media(max-width:720px){.sheet-workspace-card{width:100%;max-height:95dvh}.sheet-workspace-body{padding:7px}.sheet-commandbar{padding:6px;gap:6px}.sheet-command-main,.sheet-command-format{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:1px}.sheet-command-main>button,.sheet-command-format>button,.sheet-number-toggle{flex:0 0 auto}.sheet-commandbar .memo-save-state{width:100%;text-align:right}.sheet-formula-row{grid-template-columns:56px 30px minmax(0,1fr)}.sheet-name-box,.sheet-fx-mark,.sheet-formula-input{height:40px}.sheet-formula-input{font-size:16px!important}.sheet-formula-tools{min-height:42px}.sheet-formula-tools button{height:34px;min-width:36px;font-size:9px}.sheet-formula-hint{display:none}.sheet-viewport{max-height:52dvh;-webkit-overflow-scrolling:touch}.sheet-grid thead th{width:104px;min-width:104px;height:32px}.sheet-grid .sheet-corner,.sheet-grid tbody th{width:38px;min-width:38px}.sheet-grid td{width:104px;min-width:104px;height:38px}.sheet-cell-input{height:37px;font-size:16px!important;padding:0 7px!important}.sheet-statusbar{position:sticky;bottom:0;z-index:8;flex-wrap:wrap}.sheet-statusbar .sheet-help{display:none}.sheet-color-popover{left:8px!important;right:8px;width:auto!important;max-width:none}.memo-calculator-panel .memo-calc-input{font-size:16px}}

/* v0.8.9 personal spreadsheet workspace upgrades */
.sheet-workspace-card{width:min(1540px,calc(100vw - 18px));max-height:min(95dvh,1020px)}
.sheet-workspace-body{display:flex;flex-direction:column;min-height:0}
.sheet-commandbar{flex:0 0 auto}
.sheet-commandbar button.active,.sheet-format-btn.active{border-color:#6cc9b0!important;background:#174438!important;color:#dff9f0!important;box-shadow:inset 0 0 0 1px rgba(108,201,176,.14)}
.sheet-commandbar button:disabled{opacity:.35;cursor:default}
.sheet-font-size-wrap{display:inline-flex;align-items:center;height:32px;border:1px solid #365460;border-radius:8px;background:#142c35;color:#a8bec6;overflow:hidden;font-size:9px;font-weight:900}
.sheet-font-size-wrap>span{padding:0 5px 0 7px}.sheet-font-size-wrap select{height:30px;border:0!important;border-left:1px solid #365460!important;border-radius:0!important;background:#102630!important;color:#dbe8ec!important;padding:0 5px!important;font-size:9px!important;min-width:48px;outline:none}
.sheet-workspace-layout{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1fr)}
.memo-workspace-card.note-open .sheet-workspace-layout{grid-template-columns:minmax(0,1fr) 280px}
.memo-workspace-card.calc-open .sheet-workspace-layout{grid-template-columns:minmax(0,1fr) 310px}
.memo-workspace-card.note-open.calc-open .sheet-workspace-layout{grid-template-columns:minmax(0,1fr) 270px 300px}
.memo-note-panel,.memo-calculator-panel{display:none;min-width:0;border:1px solid #365563;border-radius:11px;background:#102630;overflow:hidden;position:sticky;top:0}
.memo-workspace-card.note-open .memo-note-panel{display:flex;flex-direction:column;min-height:360px}
.memo-workspace-card.calc-open .memo-calculator-panel{display:block}
.memo-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #31515d;background:#14303a}.memo-side-head>div{display:grid;gap:2px}.memo-side-head b{display:flex;align-items:center;gap:6px;color:#d9edf1;font-size:10px}.memo-side-head b .ui-icon-slot{width:14px;height:14px}.memo-side-head span{color:#718f9a;font-size:7.5px}.memo-note-text{flex:1 1 auto;resize:none;min-height:310px;width:100%;border:0!important;border-radius:0!important;background:#0d222b!important;color:#dce9ed!important;padding:12px!important;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace!important;outline:none;box-shadow:none!important}.memo-note-text:focus{background:#102a34!important}
.sheet-main{display:flex;flex-direction:column;min-height:0}
.sheet-viewport{flex:1 1 auto;min-height:260px;max-height:min(64dvh,650px);touch-action:pan-x pan-y;user-select:none}
.sheet-grid{user-select:none}
.sheet-grid th,.sheet-grid td{position:relative}
.sheet-grid thead th,.sheet-grid tbody th{overflow:visible}
.sheet-col-resizer{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:20}.sheet-row-resizer{position:absolute;left:0;bottom:-3px;width:100%;height:7px;cursor:row-resize;z-index:20}
.sheet-col-resizer:hover,.sheet-row-resizer:hover{background:rgba(101,195,215,.35)}
.sheet-data-cell{overflow:visible}.sheet-data-cell.locked-cell::before{content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;border-radius:50%;background:#c5a45e;opacity:.65;z-index:3;pointer-events:none}
.sheet-cell-input{font-size:inherit!important;text-align:inherit!important;white-space:inherit;overflow:hidden;text-overflow:ellipsis;cursor:cell;caret-color:#c8f1fa}.sheet-cell-input:focus{cursor:text;white-space:pre-wrap;overflow:auto;text-overflow:clip}
.sheet-grid td.selected::after{z-index:2}.sheet-grid td.active-cell::after{z-index:3}
.sheet-fill-handle{position:absolute;right:-4px;bottom:-4px;width:8px;height:8px;border-radius:2px;background:#73d3e4;border:1px solid #0b1d25;z-index:8;cursor:crosshair;pointer-events:auto}
.sheet-grid td.formula-ref::before{content:"";position:absolute;inset:1px;border:2px dashed #61c7d8;z-index:4;pointer-events:none}.sheet-grid td.formula-ref-1::before{border-color:#f0b45a}.sheet-grid td.formula-ref-2::before{border-color:#b99bff}.sheet-grid td.formula-ref-3::before{border-color:#7edfa8}
.sheet-grid td.frozen-row-cell,.sheet-grid td.frozen-col-cell{background:#102731}
.sheet-tabs-row{display:flex;align-items:center;gap:4px;padding:5px 7px;border-top:1px solid #294956;background:#0e232c;min-height:34px}.sheet-tab-list{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:thin}.sheet-tab{flex:0 0 auto;max-width:150px;height:27px;padding:0 10px;border:1px solid #314f5b;border-radius:7px 7px 2px 2px;background:#132a33;color:#839da6;font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.sheet-tab.active{background:#1a4450;border-color:#5b9aaa;color:#e6f7fa}.sheet-tab-add,.sheet-tab-tool{height:27px;border:1px solid #314f5b;border-radius:7px;background:#142c35;color:#9fb6bf;font-size:8px;font-weight:900;cursor:pointer}.sheet-tab-add{width:28px;font-size:15px}.sheet-tab-tool{padding:0 8px}.sheet-tab-add:hover,.sheet-tab-tool:hover{border-color:#5d8796;color:#effbff}
.sheet-storage-usage{margin-left:auto;color:#668590;font-variant-numeric:tabular-nums}.sheet-storage-usage.warn{color:#f0b45a;font-weight:900}.sheet-statusbar .sheet-help{margin-left:0}
.sheet-find-popover,.sheet-mini-popover{position:fixed;z-index:1320;padding:10px;border:1px solid #42616e;border-radius:12px;background:#102630;box-shadow:0 18px 45px rgba(0,0,0,.5)}.sheet-find-popover{width:330px;display:grid;gap:7px}.sheet-find-head{display:flex;align-items:center;justify-content:space-between}.sheet-find-head strong{font-size:10px;color:#e1edf0}.sheet-find-head button{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#8ba2ab;font-size:17px;cursor:pointer}.sheet-find-popover input{width:100%;height:34px;border:1px solid #365561!important;border-radius:7px!important;background:#0d2028!important;color:#dce9ed!important;padding:0 9px!important;font-size:10px!important}.sheet-find-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.sheet-find-actions button,.sheet-mini-popover button{min-height:30px;border:1px solid #365561;border-radius:7px;background:#142c35;color:#a8bec6;font-size:8px;font-weight:900;cursor:pointer}.sheet-find-actions button:hover,.sheet-mini-popover button:hover{border-color:#5e8492;color:#eef9fb}.sheet-find-status{min-height:16px;color:#6f8d98;font-size:8px}.sheet-mini-popover{width:180px;display:grid;gap:5px}.sheet-mini-popover button{text-align:left;padding:0 9px}
.sheet-color-popover.hidden,.sheet-find-popover.hidden,.sheet-mini-popover.hidden{display:none!important}
.sheet-number-toggle{flex:0 0 auto}
.memo-workspace-card .modal-head{flex:0 0 auto}
.memo-workspace-card .modal-close{position:relative;z-index:2}

@media(max-width:1180px){.memo-workspace-card.note-open.calc-open .sheet-workspace-layout{grid-template-columns:minmax(0,1fr) 250px}.memo-workspace-card.note-open.calc-open .memo-calculator-panel{grid-column:1/-1;position:static}.memo-workspace-card.note-open.calc-open .memo-note-panel{position:static}}
@media(max-width:980px){.memo-workspace-card.note-open .sheet-workspace-layout,.memo-workspace-card.calc-open .sheet-workspace-layout,.memo-workspace-card.note-open.calc-open .sheet-workspace-layout{grid-template-columns:1fr}.memo-note-panel,.memo-calculator-panel{position:static}.memo-workspace-card.note-open.calc-open .memo-calculator-panel{grid-column:auto}.sheet-tab-tool{display:none}.sheet-viewport{max-height:52dvh}}
@media(max-width:720px){.sheet-workspace-card{max-height:96dvh}.sheet-command-main,.sheet-command-format{scrollbar-width:none}.sheet-command-main::-webkit-scrollbar,.sheet-command-format::-webkit-scrollbar{display:none}.sheet-font-size-wrap{flex:0 0 auto;height:38px}.sheet-font-size-wrap select{height:36px;font-size:14px!important}.sheet-format-btn{min-height:38px}.sheet-viewport{min-height:240px;max-height:48dvh}.sheet-grid thead th{height:32px}.sheet-grid tbody th{height:38px}.sheet-tabs-row{position:sticky;bottom:0;z-index:8}.sheet-tab{height:34px;font-size:10px}.sheet-tab-add{height:34px;width:34px}.sheet-statusbar{position:static}.sheet-storage-usage{margin-left:0}.memo-note-text{min-height:180px;font-size:16px!important}.sheet-find-popover{left:8px!important;right:8px!important;width:auto!important;max-width:none}.sheet-mini-popover{max-width:calc(100vw - 16px)}.sheet-cell-input{font-size:inherit!important}}

/* v0.8.9 MANAGER visitor analytics tabs + personal sheet usage */
.admin-visitor-analytics{padding-top:14px}
.admin-visitor-analytics-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 14px;border:1px solid #365563;border-radius:10px;background:#0e232c;overflow:hidden}
.admin-visitor-analytics-tabs button{min-width:0;height:34px;border:0;border-right:1px solid #365563;background:transparent;color:#7f9aa5;font-size:9px;font-weight:900;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.admin-visitor-analytics-tabs button:last-child{border-right:0}
.admin-visitor-analytics-tabs button:hover{color:#c8dde4;background:rgba(75,135,151,.09)}
.admin-visitor-analytics-tabs button.active{color:#e7f7f2;background:#1a4a3e;box-shadow:inset 0 -2px #69d6ad}
.admin-visitor-analytics-tabs button:focus-visible{outline:2px solid #72cbd7;outline-offset:-2px}
.admin-visitor-analytics-pane[hidden]{display:none!important}
.admin-visitor-summary-grid.sheet-usage{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-visitor-summary-grid.sheet-usage .v.time{font-size:16px;white-space:nowrap}
.admin-visitor-row.sheet-usage-row{grid-template-columns:74px minmax(0,1fr) 76px}
.admin-visitor-track.sheet-usage-track{position:relative;height:17px;background:#142933}
.admin-visitor-fill.sheet-usage-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#4b94b0,#53c88f);opacity:.68}
.admin-visitor-track.sheet-usage-track>span{position:absolute;inset:0 7px;display:flex;align-items:center;justify-content:flex-end;color:#c2d6dc;font-size:7px;font-weight:850;white-space:nowrap;text-shadow:0 1px 2px #09151b;pointer-events:none}
.admin-visitor-value.sheet-usage-value{display:grid;gap:1px;justify-items:end;line-height:1.05}
.admin-visitor-value.sheet-usage-value b{font-size:10px;color:#e2f0f3}
.admin-visitor-value.sheet-usage-value small{font-size:7px;color:#6f8d98;font-weight:800}
@media(max-width:860px){.admin-visitor-summary-grid.sheet-usage{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.admin-visitor-analytics-tabs button{height:38px;font-size:8px;padding:0 5px}.admin-visitor-summary-grid.sheet-usage{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-visitor-summary-grid.sheet-usage .admin-visitor-summary-card:first-child{grid-column:1/-1}.admin-visitor-summary-grid.sheet-usage .v.time{font-size:14px}.admin-visitor-row.sheet-usage-row{grid-template-columns:62px minmax(0,1fr) 60px}.admin-visitor-track.sheet-usage-track>span{font-size:6.5px;inset:0 5px}}


/* v0.8.9.1 — workspace chrome cleanup */
.memo-workspace-head{display:flex;align-items:flex-start;gap:12px}
.memo-workspace-head>div:first-child{min-width:0;flex:1 1 auto}
.memo-workspace-head-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}
.memo-panel-toggle{width:34px;height:34px;padding:0;border:1px solid #365563;border-radius:9px;background:#132b35;color:#8daab4;display:grid;place-items:center;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}
.memo-panel-toggle .ui-icon-slot,.memo-panel-toggle>.ui-icon{width:16px;height:16px;margin:0}
.memo-panel-toggle:hover{border-color:#5c8b9a;color:#e4f5f8;background:#183742}
.memo-panel-toggle.active{border-color:#62bfd3;background:#1a4652;color:#dcf8fc;box-shadow:inset 0 0 0 1px rgba(98,191,211,.16)}
.memo-panel-toggle:focus-visible{outline:2px solid #75cde2;outline-offset:2px}
/* Sheet tabs must occupy real layout space; never float over the status/footer area. */
.sheet-tabs-row{position:static!important;bottom:auto!important;z-index:auto!important;flex:0 0 auto}
.sheet-statusbar{flex:0 0 auto}
@media(max-width:720px){
  .memo-workspace-head{align-items:center}
  .memo-workspace-head .sub{display:none}
  .memo-workspace-head-actions{gap:4px}
  .memo-panel-toggle{width:36px;height:36px;border-radius:9px}
  .memo-workspace-head .modal-close{width:36px;height:36px}
  .sheet-tabs-row{position:static!important;bottom:auto!important}
}


/* v0.8.9.2 — compact sheet management menu */
.sheet-manage-wrap{position:relative;display:flex;align-items:center;margin-right:3px;padding-right:8px;border-right:1px solid #2d4d58}
.sheet-manage-toggle{color:#8faab3}
.sheet-manage-toggle[aria-expanded="true"]{border-color:#62bfd3;background:#1a4652;color:#dcf8fc}
.sheet-manage-menu{position:absolute;right:7px;top:calc(100% + 8px);z-index:1450;width:214px;padding:6px;border:1px solid #3a5a66;border-radius:11px;background:#0f242d;box-shadow:0 18px 46px rgba(0,0,0,.52);display:grid;gap:3px}
.sheet-manage-menu.hidden{display:none!important}
.sheet-manage-item{width:100%;min-height:36px;display:flex;align-items:center;gap:8px;border:0;border-radius:8px;background:transparent;color:#b8cbd1;padding:8px 10px;text-align:left;font-size:9px;font-weight:850;cursor:pointer}
.sheet-manage-item .ui-icon-slot,.sheet-manage-item>.ui-icon{width:15px;height:15px;flex:0 0 auto;margin:0}
.sheet-manage-item:hover,.sheet-manage-item:focus-visible{background:#18333d;color:#f0fafc;outline:none}
.sheet-manage-item.warning{color:#e6bd73}.sheet-manage-item.warning:hover,.sheet-manage-item.warning:focus-visible{background:#352c20;color:#ffd48c}
.sheet-manage-item.danger{color:#ef8f98}.sheet-manage-item.danger:hover,.sheet-manage-item.danger:focus-visible{background:#3a2027;color:#ffb4bc}
.sheet-manage-divider{height:1px;background:#2b4955;margin:3px 4px}
@media(max-width:720px){.sheet-manage-wrap{padding-right:6px;margin-right:1px}.sheet-manage-menu{left:50%;right:auto;top:calc(100% + 7px);transform:translateX(-50%);width:min(260px,calc(100vw - 28px));padding:8px;border-radius:13px}.sheet-manage-item{min-height:42px;font-size:10px}.sheet-manage-item .ui-icon-slot,.sheet-manage-item>.ui-icon{width:17px;height:17px}}

.memo-workspace-head{position:relative;z-index:30;overflow:visible}
