/* Q哥 · Jade Atelier — visual-only layer, no changes to application logic */
:root{color-scheme:light;--bg:#f2f5ef;--panel:#fffefa;--panel2:#f1f6ef;--text:#123e34;--muted:#62776d;--line:#d6e1d7;--accent:#15533e;--accent2:#e3eee6;--good:#1c7054;--warn:#a27a39;--shadow:0 12px 32px rgba(19,61,43,.09)}
body{background:#f2f5ef!important;color:#123e34;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif}
#app{background:radial-gradient(ellipse 68% 24% at 95% 0%,rgba(164,205,174,.24),transparent),linear-gradient(160deg,#fbfcf8 0%,#f0f5ee 54%,#eaf1e9 100%)!important}
.shell{max-width:1720px;padding:24px clamp(16px,3vw,48px) 42px}
.topbar{padding:17px 23px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:linear-gradient(115deg,rgba(255,255,255,.96),rgba(237,245,237,.84));box-shadow:0 14px 35px #173d2920,inset 0 1px 0 #fff;margin-bottom:17px;position:relative;overflow:hidden}
.topbar:after{content:"";position:absolute;right:-20px;top:-95px;width:300px;height:230px;border-radius:50%;background:radial-gradient(circle at 36% 42%,#d6f3df99,#9fc6a633 40%,transparent 67%);pointer-events:none}
.brand,.top-actions{position:relative;z-index:1}.logo{width:62px;height:62px;border-radius:18px;background:radial-gradient(circle at 32% 22%,#c4e6ce 0%,#368269 38%,#0d4336 80%);box-shadow:inset 0 2px 3px #ffffffad,inset 0 -5px 9px #0a302c88,0 5px 12px #0e4b3936;color:#fff;font-size:27px;font-family:Georgia,serif;text-shadow:0 2px 3px #143b32}
.eyebrow{font-size:13px;letter-spacing:.08em;color:#ad8645}.title{font-size:clamp(24px,2.5vw,37px);font-weight:850;color:#104333;letter-spacing:.025em}.subtitle{color:#648276}
.btn,.control,.tab{transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.btn{border:1px solid #cbdccc;background:linear-gradient(#fff,#f5f9f3);color:#174735;border-radius:11px;box-shadow:inset 0 1px #fff,0 2px 5px #123f3210;font-weight:700}.btn.primary{background:linear-gradient(180deg,#3a8466 0%,#185940 45%,#0c4436 100%);color:#fff;border:1px solid #29644d;box-shadow:inset 0 1px 1px #ffffff90,0 5px 12px #123f3233}.btn:hover{filter:none;transform:translateY(-1px);box-shadow:0 7px 16px #17493524}
.tabs{background:#fffdf8d9;border:1px solid #d9e4d8;border-radius:16px;padding:6px 8px;box-shadow:0 6px 16px #17402f0e;gap:5px;overflow-x:auto}.tab{border-radius:11px;border:1px solid transparent;padding:12px 16px;color:#5d7469}.tab.active{color:#fff;background:linear-gradient(180deg,#39836a,#0e4938);border-color:#2d6e54;box-shadow:inset 0 1px 1px #ffffff70,0 4px 10px #12463136}.tab:not(.active):hover{background:#e8f0e8;color:#174c3b}
.notice{background:#f0f7f0;border-color:#d6e6d6;color:#305e4a}.notice small{color:#6d8176}
.metrics{gap:14px;margin-top:20px;margin-bottom:24px}.metric,.panel,.shop-card{border:1px solid #d7e2d8;background:linear-gradient(150deg,#ffffff 0%,#f8fbf6 75%,#f2f6ef 100%);box-shadow:0 10px 26px #153f2b13,inset 0 1px 0 #fff;border-radius:17px}.metric{padding:20px 20px 20px 92px;min-height:132px;position:relative;display:flex;flex-direction:column;justify-content:center}.metric:before{content:"✦";position:absolute;left:19px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:57px;height:57px;border-radius:50%;color:#d5b977;font-size:28px;background:radial-gradient(circle at 30% 25%,#d4ebd9,#6ba68c 40%,#164b3c 75%);border:4px solid #f5faf3;box-shadow:inset 0 2px 4px #ffffffb0,inset 0 -5px 8px #153b32aa,0 4px 12px #1c5a4040;text-shadow:0 2px 3px #153b32}.metric:nth-child(2):before{content:"◆"}.metric:nth-child(3):before{content:"⬡"}.metric:nth-child(4):before{content:"▤"}.metric-label{font-size:14px;color:#536c60}.metric-value{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(29px,2.4vw,39px)!important;line-height:1.1;color:#104a39;margin:5px 0}.metric-foot{font-size:11px;color:#74897c}
.section-head h2{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(21px,2vw,29px);color:#124637}.section-head p{color:#6e8277}.control{border-color:#d4dfd5;border-radius:10px;background:#fffefa;color:#244b3e}.control:focus-visible,.btn:focus-visible,.tab:focus-visible{outline:3px solid #bd9b5c;outline-offset:2px}
#view-dashboard .excel-sheet-panel{background:transparent;border:0;box-shadow:none;overflow:visible;padding:0}
#view-dashboard .excel-sheet{grid-template-columns:repeat(5,minmax(205px,1fr));gap:10px;overflow-x:auto;background:transparent;align-items:stretch;padding:3px 0 10px}
#view-dashboard .excel-region-block{min-width:205px;border:1px solid #bfd6c4;border-radius:15px;overflow:hidden;background:#fffefa;box-shadow:0 10px 20px #174b3020, inset 0 1px #fff;position:relative}
#view-dashboard .excel-region-title{position:relative;background:linear-gradient(150deg,#428a70,#0c4b39 65%,#0a352c);border:0;color:#fff;font-size:clamp(16px,1.4vw,21px);letter-spacing:.12em;text-align:left;padding:15px 8px 14px 61px;text-shadow:0 2px 4px #092e26;min-height:58px}
#view-dashboard .excel-region-title:before{content:"✦";position:absolute;left:10px;top:7px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 28% 24%,#d9f4de,#77b599 39%,#1c6650 70%,#0d4435);border:2px solid #b6d2b8;box-shadow:inset 0 2px 3px #ffffffab,inset 0 -4px 6px #07382c99,0 3px 8px #072e2677;color:#f2d69b;font-size:23px;text-shadow:0 2px 3px #174b37}
#view-dashboard .excel-region-title:before{content:attr(data-emblem)}
#view-dashboard .excel-region-total{background:#1a5b45;border:0;color:#fff;font-size:11px}#view-dashboard .excel-region-total span{border-color:#ffffff24}
#view-dashboard .excel-shop-block{border-bottom:1px solid #e0e9dc}#view-dashboard .excel-shop-head{background:#f6edda;border-bottom-color:#dfd6c0;color:#294d3b}#view-dashboard .excel-shop-head span{border-color:#e6e1d2}#view-dashboard .excel-shop-head span:first-child{background:linear-gradient(90deg,#f2dfb5,#f8eed9);color:#3d523c;font-weight:850}
#view-dashboard .excel-person-row{font-size:12px;min-height:29px;color:#254538}#view-dashboard .excel-person-row span{border-color:#e9eee6;padding:5px 4px}#view-dashboard .excel-person-row span:first-child{background:#faf8ef;color:#35574b}#view-dashboard .excel-person-row:nth-child(even) span:not(:first-child){background:#f7faf5}
#view-dashboard .excel-shop-total{background:#eef4e9;color:#1b513c;border-top-color:#cfddcf}#view-dashboard .excel-shop-total span:first-child{background:#e6efdf}#view-dashboard .excel-region-grand{background:linear-gradient(180deg,#267156,#0d4a39);color:#fff}#view-dashboard .excel-empty{color:#657c6e}
.shop-grid{gap:14px}.shop-card{padding:17px;position:relative;overflow:hidden}.shop-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a78548,#d9c28e,#2c795e)}.shop-name{font-family:Georgia,"Noto Serif TC",serif;font-size:19px;color:#174b3b}.shop-stats strong{color:#155440;font-size:24px}.pill{background:#e9f1e7;color:#286148}.rank{background:linear-gradient(#f5e7c7,#c5a464);color:#624a24;border-radius:50%}.bar span{background:#2b8160}
#view-dashboard th{background:#e2ece2;color:#214f3d;border-color:#cbdacc}#view-dashboard td{border-color:#e0e9e0}#view-dashboard tbody tr:hover td{background:#f1f7ef}#view-dashboard .excel-region td{background:#dcece1!important;color:#174b38}#view-dashboard .excel-shop td{background:#f4f0e2!important;color:#3c583f}#view-dashboard .excel-total td{background:#eff5ec!important}#view-dashboard .excel-grand td{background:#dcefe5!important}
#cloudGate{background:radial-gradient(circle at 80% 15%,#d8e9d8,#f5f7ef 60%)!important;color:#184a3b!important}#cloudGate .gatebox{border-color:#cdddcf;background:linear-gradient(#fffefa,#f1f7f0);box-shadow:0 20px 45px #15453226}#cloudGate .gatebox button{background:linear-gradient(#37836a,#0c4a38)}#cloudGate .gatebox a{color:#186548}#cloudGate .gatebox input{border-color:#d4e2d7}#cloudGate .cloudnote{background:#e8f2e9;border-color:#cfe2d3;color:#2b5b46}
@media(max-width:1200px){#view-dashboard .excel-sheet{grid-template-columns:repeat(5,minmax(205px,1fr))}.metric{padding-left:76px}.metric:before{left:12px;width:49px;height:49px}}
@media(max-width:900px){.shell{padding:15px}.topbar{padding:15px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#view-dashboard .excel-sheet{grid-template-columns:repeat(5,minmax(205px,1fr))}}
@media(max-width:560px){.shell{padding:10px}.topbar{padding:13px}.logo{width:48px;height:48px}.title{font-size:22px}.tabs{padding:5px}.tab{padding:10px 12px}.metrics{gap:8px}.metric{min-height:105px;padding:12px 9px 12px 59px}.metric:before{left:8px;width:42px;height:42px;font-size:19px}.metric-value{font-size:28px!important}.metric-label{font-size:12px}.metric-foot{font-size:10px}.shop-grid{grid-template-columns:1fr}.section-head{gap:8px}#view-dashboard .excel-sheet{grid-template-columns:repeat(5,minmax(205px,1fr))}}
@media(prefers-reduced-motion:reduce){.btn,.control,.tab{transition:none}}

/* 2026-10-20: Restore region data layout; scoped to dashboard only. */
#view-dashboard #excelSheet.excel-sheet{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;align-items:start!important;overflow-x:auto!important;min-width:0!important}
#view-dashboard #excelSheet>.excel-region-block{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
#view-dashboard #excelSheet .excel-region-total,#view-dashboard #excelSheet .excel-shop-head,#view-dashboard #excelSheet .excel-person-row,#view-dashboard #excelSheet .excel-shop-total,#view-dashboard #excelSheet .excel-region-grand{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr) minmax(0,.8fr)!important;align-items:center!important;width:100%!important;gap:0!important}
#view-dashboard #excelSheet .excel-region-total>span,#view-dashboard #excelSheet .excel-shop-head>span,#view-dashboard #excelSheet .excel-person-row>span,#view-dashboard #excelSheet .excel-shop-total>span,#view-dashboard #excelSheet .excel-region-grand>span{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:5px 3px!important;margin:0!important}
#view-dashboard #excelSheet .excel-person-row>span:first-child,#view-dashboard #excelSheet .excel-shop-head>span:first-child,#view-dashboard #excelSheet .excel-shop-total>span:first-child{text-align:left!important;padding-left:6px!important}
#view-dashboard #excelSheet .excel-person-row>span:not(:first-child),#view-dashboard #excelSheet .excel-shop-total>span:not(:first-child),#view-dashboard #excelSheet .excel-region-grand>span:not(:first-child){text-align:right!important;font-variant-numeric:tabular-nums!important}
#view-dashboard #excelSheet .excel-shop-block{display:block!important;min-width:0!important}
@media(max-width:1250px){#view-dashboard #excelSheet.excel-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:850px){#view-dashboard #excelSheet.excel-sheet{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){#view-dashboard #excelSheet.excel-sheet{grid-template-columns:minmax(0,1fr)!important}}

/* Animal pictograms replace the region-name text inside jade seals. */
#view-dashboard .excel-region-title:before{font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji",sans-serif!important;font-size:32px!important;line-height:1!important;letter-spacing:0!important;text-shadow:0 1px 2px #143e2a!important}
