:root{--green:#39c6a3;--pink:#f26d99;--line:#e9edf1;--text:#30343b;--muted:#89919c;--bg:#f5f6f8}*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.muted{color:var(--muted);font-size:13px}.primary{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eefbf8,#f7f8fb 48%,#fff0f5)}.login-card{width:390px;padding:38px 42px;background:#fff;border-radius:12px;box-shadow:0 16px 50px #50607022;text-align:center}.brand-mark{margin:auto;width:58px;height:58px;border-radius:18px;background:var(--green);color:#fff;font-size:32px;line-height:58px}.login-card h1{margin:18px 0 4px}.login-card p{margin:0 0 26px;color:var(--muted)}.login-card label{display:flex;align-items:center;border:1px solid #dfe3e8;border-radius:5px;margin:14px 0;padding:0 12px}.login-card label span{width:45px;color:#69717d}.login-card input{width:100%;border:0;outline:0;padding:13px;background:transparent}.login-card button{width:100%;border:0;border-radius:5px;background:var(--green);color:#fff;padding:13px;margin:8px 0 18px;cursor:pointer}.login-card small{color:#a0a6ae}.app{min-width:1100px}.topbar{position:fixed;z-index:5;top:0;left:0;right:0;height:54px;display:flex;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 4px #222000}.logo{width:150px;padding:16px 22px;font-weight:700;color:#16a781;border-right:1px solid var(--line)}#topNav{display:flex;flex:1}#topNav button{min-width:58px;border:0;background:white;color:#555;cursor:pointer;padding:3px 12px;font-size:12px}#topNav button.active{background:var(--green);color:#fff}#topNav button i{display:block;font-style:normal;font-size:17px;margin-bottom:2px}.top-actions{display:flex;align-items:center;gap:15px;font-size:13px;padding-right:18px;white-space:nowrap}.task{padding:7px 12px;border-radius:6px;background:var(--green);color:#fff}.sidebar{position:fixed;top:54px;bottom:0;left:0;width:150px;background:#fff;border-right:1px solid var(--line);overflow:auto}.sidebar h2{height:48px;margin:0;padding:16px 24px;font-size:16px;border-bottom:1px solid var(--line)}.side-group{padding:7px 0}.side-group strong{display:block;padding:8px 18px;font-size:14px;font-weight:500}.side-group button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 34px;color:#69717d;cursor:pointer}.side-group button:hover,.side-group button.active{color:var(--green);background:#effbf8}.main{padding:54px 0 0 150px;min-height:100vh}.crumb{height:48px;background:#fff;border-bottom:1px solid var(--line);padding:15px 22px;font-size:14px}#content{padding:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px}.panel h3{margin:0 0 14px;font-size:18px}.dashboard{display:grid;grid-template-columns:minmax(680px,1fr) 300px;gap:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{position:relative;border:1px solid var(--line);padding:15px 12px;height:150px;border-radius:8px}.metric b{display:block;font-size:24px;margin-bottom:18px}.metric i{position:absolute;right:12px;top:13px;width:44px;height:44px;border-radius:50%;background:#fde7ee;color:#fff;text-align:center;line-height:44px;font-style:normal}.metric p{font-size:14px}.metric small{color:#777;line-height:1.7}.charts{display:grid;grid-template-columns:1.1fr 1.2fr;gap:18px;margin-top:20px}.fake-chart{height:270px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-end;justify-content:space-around;padding:30px}.bar{width:42px;background:linear-gradient(#73d6be,#39c6a3);border-radius:5px 5px 0 0}.donut{width:150px;height:150px;border-radius:50%;margin:30px auto;background:conic-gradient(#94c33c 0 35%,#5e8fe5 35% 67%,#9056c5 67%);position:relative}.donut:after{content:"0\A 总人数";white-space:pre;position:absolute;inset:32px;background:#fff;border-radius:50%;display:grid;place-items:center;text-align:center}.todos .todo{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:13px;border-radius:6px;margin:8px 0}.todo:nth-child(2){background:#fff8ed}.todo:nth-child(3){background:#eff7ff}.todo:nth-child(4){background:#effcf1}.todo:nth-child(5){background:#fff0f5}.todo em{font-style:normal;color:var(--pink)}.banner{margin-top:12px;height:78px;border-radius:5px;background:linear-gradient(120deg,#072965,#0965bb);color:#fff;display:grid;place-items:center;font-size:20px}.quick{margin-top:14px}.quick button{border:0;background:#f1fbf8;color:#168e72;margin:6px;padding:15px 18px;border-radius:5px;cursor:pointer}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.toolbar>div{display:flex;gap:8px}.toolbar button,.filters button,.filters input,.filters select,.toolbar select,.toolbar input,.report-grid input{border:1px solid #dfe3e8;border-radius:3px;background:#fff;padding:8px 11px}.filters{display:flex;align-items:center;gap:8px;padding:12px;background:#fafbfc;border:1px solid #eef0f3;margin-bottom:14px}.filters input,.filters select{min-width:140px}.filters #search{margin-left:auto;min-width:220px}.status-tabs{display:flex;border-bottom:1px solid var(--line);margin:-16px -16px 15px}.status-tabs button{border:0;background:#fff;padding:14px 22px;cursor:pointer}.status-tabs .active{color:var(--green);border-bottom:2px solid var(--green)}.check-row{display:flex;gap:12px;font-size:13px}.check-row label{white-space:nowrap}.table-wrap{overflow:auto;border:1px solid var(--line)}.table-wrap table{min-width:900px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#fafbfc;color:#606875;white-space:nowrap;font-weight:500}td{color:#555}.link-btn{border:0;background:none;color:#149f80;cursor:pointer}.block{display:block;margin-top:4px;color:var(--muted)}.no-data{text-align:center!important;height:150px;color:#aaa}.pager{text-align:right;color:#777;padding:14px}.pager b{display:inline-block;color:#fff;background:var(--green);padding:4px 9px}.tag{display:inline-block;padding:3px 8px;border-radius:10px;font-size:12px}.tag.green{background:#e7f8f3;color:#159b79}.tag.red{background:#fff0f2;color:#dc5572}.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.summary-row>div,.mall-stats>div{background:#fff;border:1px solid var(--line);padding:18px}.summary-row small,.summary-row b,.mall-stats span,.mall-stats b{display:block}.summary-row b,.mall-stats b{font-size:23px;margin-top:8px}.notice{padding:12px;background:#fff8e6;color:#9a741d;margin:12px 0}.calendar-board{display:grid;grid-template-columns:80px repeat(3,1fr);border:1px solid var(--line)}.cal-head,.cal-time{padding:12px;background:#fafbfc;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.cal-time{background:#fff;color:#888}.cal-cell{height:64px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px}.booking{height:100%;background:#e7f8f3;border-left:3px solid var(--green);padding:8px;color:#187f68;font-size:13px}.campaign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.campaign{position:relative;border:1px solid var(--line);border-radius:6px;padding:20px}.campaign>.tag{position:absolute;right:14px;top:14px}.campaign>b{font-size:28px;color:var(--pink)}.campaign footer{text-align:left;padding:15px 0 0}.campaign footer button{margin-right:8px;border:1px solid #ddd;background:#fff;padding:6px 12px}.mall-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.mall-stats span{color:#888;margin-top:6px}.report-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.report-grid>div{border:1px solid var(--line);padding:18px}.line-chart{height:220px;display:flex;align-items:flex-end;gap:13px;border-left:1px solid #ddd;border-bottom:1px solid #ddd;padding:18px}.line-chart i{flex:1;min-width:8px;background:linear-gradient(#45d3ae,#9ae6d3);border-radius:3px 3px 0 0}.report-donut:after{content:'收入'}.config{max-width:850px}.config>label{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.config>label span>*{display:block}.config>label small{color:#999;margin-top:5px}.config>label input{width:42px;height:22px}.config-actions{padding:20px;text-align:right}footer{text-align:center;color:#999;font-size:12px;padding:20px}.modal{position:fixed;inset:0;background:#0005;display:grid;place-items:center;z-index:10}.modal-card{width:440px;background:#fff;border-radius:8px;padding:24px}.modal-card h3{margin-top:0}.modal-card label{display:block;margin:12px 0}.modal-card input{width:100%;padding:10px;margin-top:5px;border:1px solid #dfe3e8;border-radius:4px}.modal-actions{text-align:right;margin-top:18px}.modal-actions button{margin-left:8px;padding:8px 15px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.toast{position:fixed;z-index:30;top:72px;left:50%;transform:translateX(-50%);background:#263238e8;color:#fff;padding:11px 20px;border-radius:5px;box-shadow:0 5px 25px #0003}
.cashier-mode .sidebar,.cashier-mode .crumb,.cashier-mode .main>footer{display:none}.cashier-mode .main{padding-left:0}.cashier-mode #content{padding:70px 14px 14px}.cashier-mode .logo{width:120px}.cashier{display:grid;grid-template-columns:48% 52%;height:calc(100vh - 90px);gap:12px}.cash-left,.goods{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.cash-tabs{display:flex;border-bottom:1px solid var(--line)}.cash-tabs button{flex:1;border:0;background:#fff;padding:14px 3px;font-size:12px}.cash-tabs .active{color:var(--green);border-bottom:2px solid var(--green)}.customer-search{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line);align-items:center}.customer-search input{flex:1;padding:9px;border:1px solid #ddd}.customer-search button{border:1px solid #ddd;background:#fff;padding:9px}.cart{flex:1;overflow:auto}.cart>div{display:grid;grid-template-columns:1fr auto 24px;gap:8px;padding:14px;border-bottom:1px solid var(--line)}.cart .cart-empty{display:grid;place-items:center;height:100%;color:#aaa}.cart button{border:0;background:none}.cash-total{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:16px}.cash-total b,.goods-grid b{color:var(--pink)}.cash-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px}.cash-actions button{padding:13px;border:1px solid #ddd;background:#fff}.goods-head{display:flex;align-items:center;gap:18px;padding:14px;border-bottom:1px solid var(--line)}.goods-head input{margin-left:auto;padding:9px;border:1px solid #ddd;width:220px}.categories{display:flex;gap:6px;padding:10px;overflow:auto}.categories button{white-space:nowrap;border:0;background:#f5f6f8;padding:7px 11px;border-radius:15px}.categories .active{background:var(--green);color:#fff}.goods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px;overflow:auto}.goods-grid button{height:92px;border:1px solid var(--line);background:#fff;text-align:left;padding:12px;display:flex;flex-direction:column;justify-content:space-between}.goods-grid button:hover{border-color:var(--green)}
@media(max-width:1180px){.top-actions span:not(.task){display:none}.dashboard{grid-template-columns:1fr}.todos{display:none}.campaign-grid{grid-template-columns:repeat(2,1fr)}}

/* 2026 visual redesign and eight-step theme system */
html[data-theme="snow"]{--page:#e9edf0;--surface:#fbfcfd;--surface-2:#f0f3f5;--surface-3:#dce2e7;--ink:#1b2228;--sub:#56626d;--stroke:#c8d0d7;--brand:#435f74;--brand-2:#afc1ce;--brand-soft:#d6e0e7;--hot:#bf465f;--shadow:0 11px 32px rgba(20,28,36,.09);--nav:#11161c;--nav-ink:#b8c1cb;--nav-strong:#f7f9fb;--nav-sub:#8793a0;--nav-stroke:#29313a;--nav-hover:#1c242d;--nav-field:#0c1117}
html[data-theme="mist"]{--page:#dce6ec;--surface:#f7fafb;--surface-2:#e9f0f4;--surface-3:#d2dfe7;--ink:#1d2c36;--sub:#566b78;--stroke:#bfd0da;--brand:#3e748d;--brand-2:#8fb8ca;--brand-soft:#cee1e9;--hot:#bd526f;--shadow:0 12px 34px rgba(31,51,64,.10);--nav:#101820;--nav-ink:#b3c2cc;--nav-strong:#f3f8fa;--nav-sub:#7f939f;--nav-stroke:#263540;--nav-hover:#1a2833;--nav-field:#0b1218}
html[data-theme="sand"]{--page:#e6ddcf;--surface:#fbf7ef;--surface-2:#f0e7d9;--surface-3:#ddcdb8;--ink:#2d271f;--sub:#66594c;--stroke:#cebba3;--brand:#965f20;--brand-2:#c8974f;--brand-soft:#e8d3b2;--hot:#b34f53;--shadow:0 12px 34px rgba(67,50,30,.11);--nav:#1a1611;--nav-ink:#c8bcae;--nav-strong:#fffaf2;--nav-sub:#958675;--nav-stroke:#382f25;--nav-hover:#292219;--nav-field:#120f0b}
html[data-theme="jade"]{--page:#d9e7e1;--surface:#f7fbf9;--surface-2:#e6f0eb;--surface-3:#cbded4;--ink:#1a2d26;--sub:#566d64;--stroke:#bdd4c8;--brand:#1f725c;--brand-2:#64a992;--brand-soft:#c8e1d6;--hot:#bd526d;--shadow:0 12px 35px rgba(25,65,52,.10);--nav:#0e1916;--nav-ink:#b3c7c0;--nav-strong:#f2faf7;--nav-sub:#7e9990;--nav-stroke:#263a34;--nav-hover:#182923;--nav-field:#09110f}
html[data-theme="ocean"]{--page:#d8e5ed;--surface:#f6fafc;--surface-2:#e4eef4;--surface-3:#c9dce7;--ink:#192e3c;--sub:#536d7e;--stroke:#b9cedb;--brand:#256889;--brand-2:#6ca8c5;--brand-soft:#c9deea;--hot:#bd536f;--shadow:0 13px 36px rgba(25,57,78,.11);--nav:#0c1720;--nav-ink:#afc2cf;--nav-strong:#f2f8fc;--nav-sub:#7891a1;--nav-stroke:#243746;--nav-hover:#162936;--nav-field:#081117}
html[data-theme="dusk"]{--page:#171724;--surface:#212131;--surface-2:#2a2a3d;--surface-3:#35354a;--ink:#f2f1f8;--sub:#aaa8bb;--stroke:#3b3a50;--brand:#7168b7;--brand-2:#aaa3df;--brand-soft:#312d50;--hot:#ea7596;--shadow:0 16px 44px rgba(0,0,0,.26);--nav:#0f0f18;--nav-ink:#b8b4c8;--nav-strong:#f7f5fb;--nav-sub:#858198;--nav-stroke:#2c2a3b;--nav-hover:#1d1b2a;--nav-field:#0a0a10}
html[data-theme="ink"]{--page:#111418;--surface:#1a1e24;--surface-2:#232931;--surface-3:#2c343e;--ink:#f2f4f6;--sub:#a6aeb8;--stroke:#333b45;--brand:#637a99;--brand-2:#a6bad1;--brand-soft:#293546;--hot:#e36d90;--shadow:0 18px 48px rgba(0,0,0,.34);--nav:#090c10;--nav-ink:#b2bac5;--nav-strong:#f6f7f9;--nav-sub:#7c8794;--nav-stroke:#252b33;--nav-hover:#171c23;--nav-field:#06080b}
html[data-theme="void"]{--page:#070a10;--surface:#10151e;--surface-2:#171e29;--surface-3:#202936;--ink:#f5f7fa;--sub:#9aa6b6;--stroke:#252e3b;--brand:#52d5b4;--brand-2:#78e2c8;--brand-soft:#173e38;--hot:#ff658e;--shadow:0 18px 54px rgba(0,0,0,.48);--nav:#0c1119;--nav-ink:#acb7c6;--nav-strong:#f5f7fa;--nav-sub:#7f8b9b;--nav-stroke:#252e3b;--nav-hover:#171e29;--nav-field:#070b11}
html[data-theme="tattoo"]{--page:#0d0f12;--surface:#17191d;--surface-2:#202329;--surface-3:#2a2e35;--ink:#f3efe9;--sub:#aaa39a;--stroke:#38383b;--brand:#a84440;--brand-2:#e4a68f;--brand-soft:#3a2021;--hot:#d7a45e;--shadow:0 18px 50px rgba(0,0,0,.42);--nav:#08090b;--nav-ink:#bbb2aa;--nav-strong:#f5f0e9;--nav-sub:#837b75;--nav-stroke:#302d2c;--nav-hover:#1b1818;--nav-field:#050607}
html[data-theme="shanshui"]{--page:#e7e9e5;--surface:#f8f8f4;--surface-2:#eff1ed;--surface-3:#e0e4df;--ink:#222a27;--sub:#63706a;--stroke:#d3d9d4;--brand:#416f60;--brand-2:#8cb6a7;--brand-soft:#d9e6e0;--hot:#a9534c;--shadow:0 12px 34px rgba(37,53,47,.09);--nav:#f5f6f2;--nav-ink:#222a27;--nav-strong:#17201d;--nav-sub:#63706a;--nav-stroke:#d3d9d4;--nav-hover:#e9ede8;--nav-field:#eef1ed}
html[data-theme="oilink"]{--page:#ece7dc;--surface:#fbf7ed;--surface-2:#f3eee2;--surface-3:#e4dccd;--ink:#181a19;--sub:#66635c;--stroke:#d7cfbf;--brand:#244864;--brand-2:#89a8bb;--brand-soft:#dce5e9;--hot:#ad3f35;--shadow:0 12px 36px rgba(40,36,29,.10);--nav:#171918;--nav-ink:#d0cdc4;--nav-strong:#fffaf0;--nav-sub:#928f87;--nav-stroke:#343633;--nav-hover:#262927;--nav-field:#101211}
html[data-theme="landscape"]{--page:#e8f0ea;--surface:#f9fbf9;--surface-2:#eef4ef;--surface-3:#dce8df;--ink:#213029;--sub:#64756a;--stroke:#d2dfd6;--brand:#3f7959;--brand-2:#8dbc9b;--brand-soft:#d9e9de;--hot:#bf6e51;--shadow:0 12px 34px rgba(30,66,45,.09);--nav:#173026;--nav-ink:#bdd0c4;--nav-strong:#f2faf5;--nav-sub:#87a092;--nav-stroke:#304c40;--nav-hover:#234336;--nav-field:#10251d}
html[data-theme="alien"]{--page:#050711;--surface:#0d1220;--surface-2:#151d2c;--surface-3:#1e293a;--ink:#f0f5ff;--sub:#94a7bc;--stroke:#29364b;--brand:#765cf2;--brand-2:#55efd0;--brand-soft:#251d55;--hot:#ff5fd1;--shadow:0 20px 58px rgba(0,0,0,.52);--nav:#02040a;--nav-ink:#afbad1;--nav-strong:#f2f5ff;--nav-sub:#7886a0;--nav-stroke:#222a42;--nav-hover:#11172a;--nav-field:#03050c}
html[data-theme="tattoo"],html[data-theme="alien"]{color-scheme:dark}

/* The expanded theme catalog must remain usable on shorter front-desk screens. */
.theme-panel{display:flex;flex-direction:column;overflow:hidden}
.theme-grid{min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--stroke) transparent}

html{color-scheme:light}html[data-theme="dusk"],html[data-theme="ink"],html[data-theme="void"]{color-scheme:dark}body{background:var(--page);color:var(--ink);transition:background .25s ease,color .25s ease}.app{min-width:1240px}.topbar{height:72px;background:color-mix(in srgb,var(--nav) 94%,transparent);border-color:var(--stroke);box-shadow:0 4px 24px rgba(25,33,48,.05);backdrop-filter:blur(16px)}.logo{width:232px;height:72px;padding:0 20px;display:flex;align-items:center;gap:11px;color:var(--ink);border-color:var(--stroke)}.logo-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--brand-2),var(--brand));box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 30%,transparent)}.logo>span:last-child{display:flex;flex-direction:column}.logo b{font-size:15px;letter-spacing:.04em}.logo small{font-weight:400;color:var(--sub);font-size:10px;margin-top:2px}#topNav{align-items:center;gap:4px;padding:0 12px;overflow:hidden}#topNav button{height:50px;min-width:62px;padding:4px 9px;border-radius:14px;background:transparent;color:var(--nav-ink);transition:.18s ease}#topNav button:hover{background:var(--surface-2);color:var(--ink)}#topNav button.active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 12%,transparent)}#topNav button i{font-size:16px}.top-actions{color:var(--sub);gap:10px;padding-right:18px}.task{background:var(--brand-soft);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 15%,transparent);border-radius:12px}.theme-toggle{width:36px;height:36px;border:1px solid var(--stroke);border-radius:11px;background:var(--surface-2);color:var(--ink);font-size:19px;cursor:pointer}.user-pill{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid var(--stroke);border-radius:14px}.user-pill i{width:28px;height:28px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border-radius:9px;font-style:normal}.sidebar{top:72px;width:232px;background:var(--nav);border-color:var(--stroke);padding:16px 12px}.sidebar h2{height:auto;padding:8px 10px 17px;margin:0 0 8px;border:0;font-size:18px}.side-group{padding:5px 0}.side-group strong{padding:10px 12px;color:var(--sub);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.side-group button{padding:10px 13px;border-radius:10px;color:var(--nav-ink);font-size:13px}.side-group button:hover,.side-group button.active{background:var(--brand-soft);color:var(--brand)}.side-group button.active{font-weight:600}.main{padding:72px 0 0 232px}.crumb{height:58px;padding:19px 28px;background:color-mix(in srgb,var(--surface) 80%,transparent);border-color:var(--stroke);color:var(--sub)}#pageTitle{font-weight:600;color:var(--ink)}#content{padding:24px 28px}.panel,.cash-left,.goods{background:var(--surface);border-color:var(--stroke);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:20px}.metric{height:158px;background:linear-gradient(150deg,var(--surface),var(--surface-2));border-color:var(--stroke);border-radius:16px}.metric i{background:var(--brand-soft);color:var(--brand)}.metric small,.muted{color:var(--sub)}.bar{background:linear-gradient(var(--brand-2),var(--brand))}.donut{background:conic-gradient(var(--brand) 0 38%,#5b8def 38% 68%,var(--hot) 68%)}.donut:after{background:var(--surface)}.todo:nth-child(n){background:var(--surface-2)}.todo em,.cash-total b,.goods-grid b{color:var(--hot)}.banner{background:linear-gradient(125deg,color-mix(in srgb,var(--brand) 75%,#051a35),var(--brand))}.quick button{background:var(--brand-soft);color:var(--brand)}.filters{background:var(--surface-2);border-color:var(--stroke);border-radius:14px}.filters input,.filters select,.toolbar button,.toolbar input,.toolbar select,.report-grid input,.customer-search input,.customer-search button,.goods-head input{background:var(--surface);border-color:var(--stroke);color:var(--ink);border-radius:10px}.status-tabs{border-color:var(--stroke)}.status-tabs button{background:transparent;color:var(--sub)}.status-tabs .active{color:var(--brand);border-color:var(--brand)}.table-wrap{border-color:var(--stroke);border-radius:13px}table{background:var(--surface)}th{background:var(--surface-2);color:var(--sub)}th,td{border-color:var(--stroke)}td{color:var(--ink)}.link-btn{color:var(--brand)}.pager{color:var(--sub)}.pager b{background:var(--brand);border-radius:7px}.tag.green{background:var(--brand-soft);color:var(--brand)}.summary-row>div,.mall-stats>div,.report-grid>div,.campaign{background:var(--surface-2);border-color:var(--stroke);border-radius:14px}.notice{background:color-mix(in srgb,#e9a23b 14%,var(--surface));color:color-mix(in srgb,#e9a23b 80%,var(--ink));border-radius:12px}.cal-head{background:var(--surface-2)}.cal-time{background:var(--surface);color:var(--sub)}.calendar-board,.cal-head,.cal-time,.cal-cell{border-color:var(--stroke)}.booking{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.line-chart{border-color:var(--stroke)}.line-chart i{background:linear-gradient(var(--brand-2),var(--brand))}.config>label{border-color:var(--stroke)}.campaign footer{background:transparent}.campaign footer button{background:var(--surface);border-color:var(--stroke);color:var(--ink);border-radius:8px}.login-page{background:radial-gradient(circle at 25% 15%,var(--brand-soft),transparent 34%),linear-gradient(145deg,var(--page),var(--surface-2))}.login-card{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(18px);color:var(--ink)}.login-card label{border-color:var(--stroke);background:var(--surface-2)}.login-card input{color:var(--ink)}.login-card p,.login-card small{color:var(--sub)}.brand-mark{background:linear-gradient(145deg,var(--brand-2),var(--brand))}.modal{background:rgba(0,0,0,.55)}.modal-card{background:var(--surface);color:var(--ink);border:1px solid var(--stroke);box-shadow:var(--shadow)}.modal-card input{background:var(--surface-2);border-color:var(--stroke);color:var(--ink)}footer{color:var(--sub)}

.theme-panel{position:fixed;z-index:50;top:0;right:0;width:390px;height:100vh;padding:26px;background:var(--surface);color:var(--ink);border-left:1px solid var(--stroke);box-shadow:-20px 0 60px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .26s ease}.theme-panel.open{transform:translateX(0)}.theme-panel-head{display:flex;justify-content:space-between;align-items:center}.theme-panel-head small{color:var(--brand);font-weight:700;letter-spacing:.12em}.theme-panel-head h2{margin:5px 0 0;font-size:25px}.theme-panel-head button{width:38px;height:38px;border:1px solid var(--stroke);background:var(--surface-2);color:var(--ink);border-radius:12px;font-size:23px;cursor:pointer}.theme-panel>p{color:var(--sub);font-size:13px;margin:15px 0 22px}.theme-grid{display:grid;gap:10px}.theme-card{position:relative;display:grid;grid-template-columns:92px 1fr 22px;gap:13px;align-items:center;width:100%;padding:12px;border:1px solid var(--stroke);border-radius:15px;background:var(--surface-2);color:var(--ink);text-align:left;cursor:pointer;transition:.18s}.theme-card:hover{transform:translateX(-3px);border-color:var(--brand)}.theme-card.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.theme-card>span:nth-child(2){display:flex;flex-direction:column}.theme-card small{color:var(--sub);margin-top:3px}.theme-card em{color:var(--brand);font-style:normal;font-weight:800}.theme-preview{height:42px;display:grid;grid-template-columns:1.4fr 1fr .7fr;border-radius:10px;overflow:hidden;border:1px solid rgba(127,127,127,.16)}.theme-preview i{display:block}.theme-backdrop{position:fixed;z-index:49;inset:0;background:rgba(3,7,15,.36);opacity:0;pointer-events:none;transition:.25s}.theme-backdrop.open{opacity:1;pointer-events:auto}

.cashier-mode .main{padding-top:72px}.cashier-mode #content{padding:18px}.cashier-mode .logo{width:232px}.cashier{height:calc(100vh - 108px);gap:16px}.cash-tabs,.customer-search,.cash-total,.goods-head{border-color:var(--stroke)}.cash-tabs button,.cash-actions button,.goods-grid button{background:var(--surface);border-color:var(--stroke);color:var(--ink)}.cash-tabs .active{color:var(--brand);border-color:var(--brand)}.cart>div{border-color:var(--stroke)}.categories button{background:var(--surface-2);color:var(--sub)}.categories .active{background:var(--brand);color:#fff}.goods-grid button{border-radius:13px}.goods-grid button:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow)}
@media(max-width:1360px){.logo{width:205px}.sidebar{width:205px}.main{padding-left:205px}#topNav button{min-width:54px;padding-inline:7px}.top-actions>span:not(.task):not(.user-pill){display:none}}
.lang-toggle{height:36px;min-width:38px;padding:0 9px;border:1px solid var(--stroke);border-radius:11px;background:var(--surface-2);color:var(--ink);font-weight:700;cursor:pointer}.login-card{position:relative}.login-card .login-lang{position:absolute;right:18px;top:18px;width:auto;min-width:38px;height:34px;margin:0;padding:0 9px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink);font-weight:700;cursor:pointer}html[lang="en"] body{font-family:Inter,"Segoe UI",Arial,sans-serif}html[lang="en"] #topNav button{font-size:10px;line-height:1.05;min-width:64px}html[lang="en"] .side-group button{font-size:12px}html[lang="en"] .sidebar h2{font-size:16px}html[lang="en"] .top-actions{font-size:12px}
html[lang="en"] .donut:after{content:"0\A Total"}html[lang="en"] .report-donut:after{content:"Revenue"}

/* Navigation architecture: primary modules left, secondary actions top */
.topbar{z-index:20}.logo{width:208px;min-width:208px}.top-actions{margin-left:auto}#topNav{position:fixed;z-index:18;left:0;top:72px;bottom:auto;width:208px;height:calc(100vh - 72px);display:flex;flex:none;flex-direction:column;align-items:stretch;gap:5px;padding:18px 12px;background:var(--nav);border-right:1px solid var(--stroke);overflow-x:hidden;overflow-y:auto}#topNav button{width:100%;height:48px;min-height:48px;display:grid;grid-template-columns:30px 1fr;align-items:center;text-align:left;padding:0 14px;border-radius:12px;font-size:13px}#topNav button i{margin:0;font-size:17px;text-align:center}#topNav button.active{background:linear-gradient(100deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 45%,transparent));box-shadow:inset 3px 0 0 var(--brand)}
.sidebar{z-index:16;top:72px;left:208px;right:0;bottom:auto;width:auto;height:90px;display:flex;align-items:stretch;padding:0 18px;background:color-mix(in srgb,var(--surface) 95%,transparent);border-right:0;border-bottom:1px solid var(--stroke);box-shadow:0 5px 18px rgba(20,32,50,.04);overflow:hidden}.sidebar h2{width:166px;min-width:166px;height:auto;margin:0;padding:0 20px 0 8px;display:flex;align-items:center;border-right:1px solid var(--stroke);font-size:17px}.sidebar #sideNav{flex:1;display:flex;align-items:center;gap:8px;padding:9px 0 9px 16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.side-group{height:100%;display:flex;align-items:center;gap:5px;padding:0 8px 0 0;border-right:1px solid var(--stroke);white-space:nowrap}.side-group:last-child{border-right:0}.side-group strong{padding:0 7px;color:var(--sub);font-size:10px;letter-spacing:.06em}.side-group button{width:auto;min-width:max-content;padding:9px 12px;border-radius:10px;text-align:center}.side-group button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 16%,transparent)}
.main{padding:162px 0 0 208px}.crumb{height:52px;padding:17px 28px}.cashier-mode #topNav{display:flex}.cashier-mode .sidebar{display:flex}.cashier-mode .main{padding:162px 0 0 208px}.cashier-mode #content{padding:18px}.cashier-mode .logo{width:208px;min-width:208px}.cashier-mode .cashier{height:calc(100vh - 198px)}
html[lang="en"] #topNav button{min-width:0;width:100%;font-size:12px;line-height:1.1}html[lang="en"] .sidebar h2{font-size:15px}html[lang="en"] .side-group strong{font-size:9px}html[lang="en"] .side-group button{font-size:11px;padding-inline:10px}
@media(max-width:1360px){.logo{width:188px;min-width:188px}#topNav{width:188px}.sidebar{left:188px}.main{padding-left:188px}.cashier-mode .main{padding-left:188px}.cashier-mode .logo{width:188px;min-width:188px}.sidebar h2{width:145px;min-width:145px;padding-left:3px}}

button,input,select{transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.user-pill{background:var(--surface-2);color:var(--ink);cursor:pointer}.login-error{min-height:18px;margin:0 0 8px;color:#d84f68;font-size:13px}.link-btn.danger{color:#d8566f}.data-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.data-tool-grid article{min-height:190px;padding:20px;border:1px solid var(--stroke);border-radius:16px;background:var(--surface-2)}.data-tool-grid article b{display:block;font-size:17px}.data-tool-grid article p{min-height:48px;color:var(--sub);font-size:13px;line-height:1.6}.data-tool-grid article button{padding:9px 14px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer}.data-tool-grid .danger-zone{border-color:color-mix(in srgb,#dc5069 35%,var(--stroke))}.data-tool-grid .danger-zone button{border-color:#dc5069;color:#dc5069}.modal-card input:invalid:not(:placeholder-shown){border-color:#dc5069}.table-wrap tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:900px){.app{min-width:900px}.data-tool-grid{grid-template-columns:1fr}}

.help-toggle{height:36px;padding:0 12px;border:1px solid var(--stroke);border-radius:11px;background:var(--surface-2);color:var(--ink);cursor:pointer}.help-toggle:hover{border-color:var(--brand);color:var(--brand)}.help-panel{position:fixed;z-index:60;top:0;right:0;width:min(520px,92vw);height:100vh;padding:26px;background:var(--surface);color:var(--ink);border-left:1px solid var(--stroke);box-shadow:-20px 0 60px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .26s ease;overflow:auto}.help-panel.open{transform:translateX(0)}.help-panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--stroke)}.help-panel-head small{color:var(--brand);font-weight:700;letter-spacing:.1em}.help-panel-head h2{margin:5px 0 0;font-size:25px}.help-panel-head button{width:38px;height:38px;border:1px solid var(--stroke);background:var(--surface-2);color:var(--ink);border-radius:12px;font-size:23px;cursor:pointer}.help-context{margin:18px 0;padding:14px 16px;border-radius:14px;background:var(--brand-soft);color:var(--brand);font-weight:700}.help-section{padding:16px 0;border-bottom:1px solid var(--stroke)}.help-section h3{margin:0 0 9px;font-size:14px}.help-section p,.help-section li{color:var(--sub);font-size:13px;line-height:1.75}.help-section ul,.help-section ol{margin:0;padding-left:20px}.help-data-flow{display:grid;gap:7px}.help-data-flow span{padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);font-size:12px}.help-source{display:inline-flex;margin-top:16px;padding:10px 13px;border-radius:10px;background:var(--brand);color:#fff;text-decoration:none}.help-backdrop{position:fixed;z-index:59;inset:0;background:rgba(3,7,15,.38);opacity:0;pointer-events:none;transition:.25s}.help-backdrop.open{opacity:1;pointer-events:auto}.status-actions{display:flex;gap:5px;flex-wrap:wrap}.status-actions .link-btn{padding:2px 0}.relation-note{margin-bottom:14px;padding:12px 14px;border-left:3px solid var(--brand);border-radius:0 10px 10px 0;background:var(--brand-soft);color:var(--sub);font-size:13px;line-height:1.6}.permission-grid{display:grid;grid-template-columns:220px 1fr;gap:16px}.role-list,.permission-matrix{border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2);padding:14px}.role-list button{display:block;width:100%;margin:5px 0;padding:11px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.role-list button.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.permission-matrix label{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--stroke)}
.backend-status{padding:6px 9px;border:1px solid var(--stroke);border-radius:10px;font-size:11px;background:var(--surface-2);color:var(--sub)}.backend-status.online{color:#13896f;background:color-mix(in srgb,#32c59d 12%,var(--surface));border-color:color-mix(in srgb,#32c59d 32%,var(--stroke))}.backend-status.connecting{color:#9a741d}.backend-status.error{color:#d8566f}

/* Source-matched settings pages */
.spec-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.spec-groups article{padding:16px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.spec-groups article>div{display:flex;align-items:center;justify-content:space-between}.spec-groups h4{margin:0}.spec-groups span{display:inline-block;margin:10px 6px 0 0;padding:7px 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface)}
.tag-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tag-groups article{padding:18px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.tag-groups article>div{display:flex;justify-content:space-between;align-items:center}.tag-groups article>button{margin:6px;padding:9px 12px;background:var(--surface)}.tag-groups article>button small{display:block;margin-top:4px;color:var(--sub)}.warning-config{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.warning-config section{border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2);overflow:hidden}.warning-config h4{margin:0;padding:15px;border-bottom:1px solid var(--stroke)}.segment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.segment-grid article{padding:18px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.segment-grid article>span{color:var(--brand);font-weight:800}.segment-grid h4{margin:12px 0 6px}.segment-grid p{min-height:42px;color:var(--sub);font-size:13px}.empty-campaign{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed var(--stroke);border-radius:14px;background:var(--surface-2)}.empty-campaign p{color:var(--sub)}.status-tabs.minor{margin:0 0 14px}@media(max-width:1200px){.segment-grid{grid-template-columns:repeat(2,1fr)}.warning-config{grid-template-columns:1fr}}
.crm-home{display:grid;gap:16px}.crm-home>section{padding:18px;border:1px solid var(--stroke);border-radius:15px;background:var(--surface-2)}.crm-home h4{margin:0 0 14px}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-strip article{display:flex;flex-direction:column;gap:7px;padding:16px;border-radius:12px;background:var(--surface)}.metric-strip b{font-size:28px;color:var(--brand)}.metric-strip small{color:var(--sub)}.performance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.performance-grid div{display:flex;justify-content:space-between;padding:12px;border-radius:10px;background:var(--surface)}.crm-two{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}.crm-two>div{padding:16px;border-radius:12px;background:var(--surface)}.crm-two ol{margin:0;padding-left:22px}.crm-two li{display:flex;justify-content:space-between;padding:10px}.target-ring{width:160px;height:160px;margin:auto;border:18px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;display:grid;place-items:center;font-size:28px}.target-ring small{display:block;max-width:100px;text-align:center;color:var(--sub);font-size:11px}.quick-filter{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--sub)}.quick-filter button{border:1px solid var(--stroke);border-radius:16px;background:var(--surface-2);color:var(--ink);padding:6px 10px}@media(max-width:1200px){.metric-strip,.performance-grid{grid-template-columns:repeat(2,1fr)}}
.source-page .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.source-page .page-head h3{margin:0 0 5px}.source-page .page-head p{margin:0;color:var(--sub);font-size:13px}.source-page button,.source-page input,.source-page select,.source-page textarea{border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink);padding:8px 11px}.source-page button{cursor:pointer}.integration-cards,.auth-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.integration-cards article,.auth-cards article,.bind-card{padding:18px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.integration-cards h4,.auth-cards h4{margin:12px 0 6px}.integration-cards p,.auth-cards p,.brand-setting p{min-height:42px;color:var(--sub);font-size:13px;line-height:1.6}.brand-setting{max-width:900px}.logo-upload{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:12px;border:1px dashed var(--stroke);border-radius:14px;background:var(--surface-2)}.logo-demo,.auth-logo{display:grid;place-items:center;flex:none;width:92px;height:68px;border-radius:14px;background:linear-gradient(145deg,var(--brand-2),var(--brand));color:#fff;font-size:32px;font-weight:800}.logo-upload input{display:none}.setting-field{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid var(--stroke)}.setting-field>span:first-child{display:flex;flex-direction:column;gap:4px}.setting-field small{color:var(--sub);font-weight:400}.setting-field>input[type=checkbox]{width:42px;height:22px}.setting-field>input:not([type=checkbox]),.setting-field>select{width:290px}.commission-layout{display:grid;grid-template-columns:190px 1fr;gap:16px}.commission-layout aside{padding:12px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.commission-layout aside h4{padding:0 8px}.commission-layout aside button{display:block;width:100%;margin:4px 0;text-align:left;background:transparent;border-color:transparent}.commission-layout aside button.active{background:var(--brand-soft);color:var(--brand)}.commission-layout td input{width:80px}.schedule-grid{display:grid;grid-template-columns:130px repeat(14,minmax(55px,1fr));overflow:auto;border:1px solid var(--stroke);border-radius:13px}.schedule-grid>*{min-width:55px;padding:10px 5px;border:0;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke);border-radius:0!important;text-align:center}.schedule-grid>b{background:var(--surface-2);color:var(--sub)}.schedule-name{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left!important}.shift{color:var(--brand)!important;background:var(--brand-soft)!important}.shift.rest{color:var(--sub)!important;background:var(--surface-2)!important}.auth-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-cards article{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px}.auth-logo{width:64px;height:64px;font-size:20px}.mini-program{display:grid;grid-template-columns:1fr 210px;gap:28px;align-items:center;padding:26px;border:1px solid var(--stroke);border-radius:16px;background:var(--surface-2)}.mini-copy dl{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:13px}.mini-copy dt{color:var(--sub)}.mini-copy dd{margin:0}.qr-demo{aspect-ratio:1;display:grid;place-items:center;text-align:center;border:14px solid var(--surface);border-radius:16px;background:repeating-conic-gradient(var(--ink) 0 25%,var(--surface) 0 50%) 0/22px 22px;color:var(--brand);font-weight:800;text-shadow:0 0 5px var(--surface)}.setting-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-groups section,.secret-form,.receipt-options{border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2);overflow:hidden}.setting-groups h4,.receipt-options h4{margin:0;padding:15px 16px;border-bottom:1px solid var(--stroke)}.setting-groups textarea{width:calc(100% - 30px);min-height:90px;margin:15px}.setting-groups .setting-field{padding-block:11px}.setting-groups .setting-field>span:last-child{display:flex;align-items:center;gap:8px}.process-steps{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:16px 0}.process-steps div{padding:12px 6px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2);text-align:center}.process-steps b,.process-steps span{display:block}.process-steps b{color:var(--brand);font-size:18px}.process-steps span{margin-top:4px;color:var(--sub);font-size:11px}.process-steps .active{border-color:var(--brand);background:var(--brand-soft)}.bind-card{margin-bottom:15px}.bind-card>div{display:flex;gap:8px}.bind-card input{min-width:320px}.secret-form{max-width:860px}.receipt-layout{display:grid;grid-template-columns:1fr 330px;gap:22px}.receipt-preview{padding:26px;border:1px solid var(--stroke);border-radius:5px;background:#fff;color:#222;font-family:monospace;box-shadow:0 12px 30px #0001}.receipt-preview h4,.receipt-preview p{text-align:center}.receipt-preview div{display:flex;justify-content:space-between;padding:7px 0}.receipt-preview small{display:block;margin-top:26px;text-align:center}.source-page .toolbar>button+.source-page .toolbar>button{margin-left:7px}@media(max-width:1200px){.setting-groups{grid-template-columns:1fr}.process-steps{grid-template-columns:repeat(4,1fr)}.integration-cards{grid-template-columns:1fr 1fr}}
.source-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px}.source-tabs button{border:0;border-radius:8px 8px 0 0;background:transparent}.source-tabs button.active{color:var(--brand);border-bottom:2px solid var(--brand);background:var(--brand-soft)}
.voucher-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.3fr);gap:16px}.voucher-picker,.voucher-editor{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.voucher-picker h4,.voucher-editor h4{margin:0 0 12px}.compact-fields,.voucher-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.voucher-fields label{display:grid;gap:6px;color:var(--muted);font-size:12px}.inline-search,.barcode-search{display:flex;gap:8px;margin:8px 0}.inline-search input,.barcode-search input{flex:1}.voucher-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px}.voucher-total span{margin-right:auto}.filters.dense{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));align-items:center}.split-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form.narrow{max-width:560px}.inventory-options{max-width:760px}.inventory-options>label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.inventory-options fieldset{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:12px}.mall-builder{display:grid;grid-template-columns:180px minmax(260px,360px) 1fr;gap:20px}.mall-builder aside,.mall-builder section{display:flex;flex-direction:column;gap:8px}.phone-preview{min-height:520px;border:8px solid #273142;border-radius:28px;background:var(--surface);padding:16px}.phone-banner{height:150px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:white;font-weight:700}.phone-nav,.phone-products{margin-top:14px;padding:18px 10px;border:1px dashed var(--line);border-radius:10px;text-align:center}
.cashier-sub{display:grid;gap:16px}.recharge-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;margin-top:20px}.recharge-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.package-select{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:18px 0}.package-select button{display:grid;text-align:left;gap:8px;padding:18px}.package-select em{color:var(--brand);font-size:20px;font-style:normal}

/* Dual left navigation: primary modules + secondary actions */
.topbar{padding-left:0}.logo{width:118px;min-width:118px;padding:0 10px;gap:8px;justify-content:center;background:var(--nav)}.logo small{display:none}.logo b{font-size:13px}.top-actions{margin-left:auto}
#topNav{position:fixed;z-index:18;left:0;top:72px;bottom:auto;width:118px;height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:9px 8px;background:#0b102b;border-right:1px solid #202746;overflow-x:hidden;overflow-y:auto}
#topNav button{width:100%;height:54px;min-width:0;min-height:54px;display:grid;grid-template-columns:1fr;grid-template-rows:22px 18px;place-items:center;padding:5px 3px;border-radius:8px;text-align:center;color:#c6cbda;font-size:13px;line-height:1.05}
#topNav button:hover{background:#171e3d;color:#fff}#topNav button i{margin:0;font-size:18px;line-height:22px;text-align:center}#topNav button.active{background:var(--brand);color:#fff;box-shadow:none}#topNav button.active i{color:#fff}
.sidebar{z-index:17;top:72px;left:118px;right:auto;bottom:0;width:248px;height:auto;display:block;padding:0 14px 18px;background:var(--surface);border-right:1px solid var(--stroke);border-bottom:0;box-shadow:5px 0 18px rgba(20,32,50,.04);overflow-x:hidden;overflow-y:auto}
.sidebar h2{width:auto;min-width:0;height:62px;margin:0 -14px 10px;padding:0 22px;display:flex;align-items:center;border-right:0;border-bottom:1px solid var(--stroke);font-size:19px}
.sidebar #sideNav{display:block;padding:0;overflow:visible}.side-group{height:auto;display:block;padding:2px 0 7px;border-right:0;white-space:normal}.side-group strong{display:block;padding:11px 7px 7px;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}.side-group button{display:block;width:100%;min-width:0;margin:2px 0;padding:10px 12px 10px 29px;border-radius:8px;text-align:left;font-size:13px}.side-group button.active{box-shadow:none}
html,body{overflow-x:hidden}.app{min-width:0}.logo{background:#0b102b;color:#fff;border-color:#202746}.logo b{color:#fff}.main,.cashier-mode .main{padding:72px 0 0 366px}.cashier-mode .sidebar{display:block}.cashier-mode .logo{width:118px;min-width:118px}.cashier-mode .cashier{height:calc(100vh - 126px)}
html[lang="en"] #topNav button{width:100%;min-width:0;font-size:10px;line-height:1.05}html[lang="en"] .sidebar h2{font-size:17px}html[lang="en"] .side-group strong{font-size:12px}html[lang="en"] .side-group button{font-size:12px;padding:9px 8px 9px 22px}
@media(max-width:1360px){.logo,.cashier-mode .logo{width:108px;min-width:108px}#topNav{width:108px}.sidebar{left:108px;width:228px}.main,.cashier-mode .main{padding-left:336px}.sidebar h2{width:auto;min-width:0;padding-left:18px}}
@media(max-width:1100px){.dashboard{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.charts,.report-grid{grid-template-columns:1fr}.top-actions{gap:6px}.top-actions .task{display:none}#content{padding:18px}.voucher-layout,.mall-builder{grid-template-columns:1fr}.recharge-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier{grid-template-columns:1fr;height:auto}.cash-left,.goods{min-height:520px}}
.side-group .group-toggle,.side-group .group-label{display:flex;width:100%;align-items:center;gap:7px;margin:0;padding:11px 7px 7px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:0;text-align:left;cursor:pointer}.side-group .group-label{cursor:default}.side-group .group-toggle:hover{background:var(--surface-2);color:var(--brand)}.group-caret{width:12px;display:inline-grid;place-items:center;color:var(--sub);font-size:15px;line-height:1;transform:rotate(0);transition:transform .16s ease}.side-group.collapsed .group-caret{transform:rotate(-90deg)}.side-group.collapsed .group-items{display:none}.group-items{display:block}.group-items>button{display:block;width:100%}
html[lang="en"] .side-group .group-toggle,html[lang="en"] .side-group .group-label{font-size:12px}
.store-page{display:grid;gap:16px}.store-page-head{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 2px}.store-page-head h3{margin:4px 0 6px;font-size:26px}.store-page-head p{max-width:760px;margin:0;color:var(--sub);font-size:13px}.store-page-head .eyebrow{color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.16em}.store-page-head>button{padding:10px 17px;border:0;border-radius:11px}.store-tabs{display:flex;gap:4px;border-bottom:1px solid var(--stroke)}.store-tabs button{padding:12px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--sub);cursor:pointer}.store-tabs button.active{border-color:var(--brand);color:var(--brand);font-weight:700}.store-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.store-summary article{padding:18px;border:1px solid var(--stroke);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}.store-summary span,.store-summary b,.store-summary small{display:block}.store-summary span{color:var(--sub);font-size:12px}.store-summary b{margin:7px 0 5px;font-size:28px}.store-summary small{color:var(--sub);font-size:11px}.store-list-panel{padding:0;overflow:hidden}.store-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid var(--stroke)}.store-toolbar>div{display:flex;gap:8px}.store-toolbar input,.store-toolbar select,.store-toolbar button{height:38px;padding:0 12px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.store-toolbar input{width:240px}.store-list-panel .table-wrap{border:0;border-radius:0}.store-list-panel table{min-width:960px}.store-list-panel code,.store-detail code{padding:3px 7px;border-radius:7px;background:var(--surface-2);color:var(--brand)}.store-actions{display:flex;gap:5px}.store-actions button,.org-node button{padding:5px 8px;border:0;border-radius:7px;background:var(--surface-2);color:var(--brand);cursor:pointer}.store-footer{display:flex;justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid var(--stroke);color:var(--sub);font-size:11px}.organization-panel{padding:0;overflow:hidden}.organization-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--stroke)}.organization-head h4{margin:0 0 5px;font-size:18px}.organization-head p{margin:0;color:var(--sub);font-size:12px}.organization-head button{padding:9px 13px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.org-tree{padding:25px;background:var(--surface-2)}.org-node{position:relative;padding:16px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface)}.org-node span,.org-node b,.org-node small{display:block}.org-node>b{margin:5px 0;font-size:15px}.org-node small{color:var(--sub);font-size:11px}.org-node.headquarters{max-width:360px;margin:auto;text-align:center;border-color:color-mix(in srgb,var(--brand) 35%,var(--stroke))}.org-node.headquarters>span{color:var(--brand);font-size:11px;font-weight:700}.org-line{width:1px;height:32px;margin:auto;background:var(--stroke)}.org-tree>section{padding:18px;border:1px solid var(--stroke);border-radius:16px;background:var(--surface)}.org-tree>section>header{display:flex;justify-content:space-between;margin-bottom:14px}.org-tree>section>header span{color:var(--sub);font-size:12px}.org-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.org-node .status-dot{position:absolute;right:13px;top:13px;width:8px;height:8px;border-radius:50%;background:#d65b72}.org-node .status-dot.active{background:#25b88f}.org-node button{margin-top:11px}.empty-state{padding:40px;text-align:center;color:var(--sub)}.store-modal .modal-card{width:min(680px,90vw)}.modal-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-title span{color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.14em}.modal-title h3{margin:4px 0 0}.modal-title button{width:34px;height:34px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface-2);color:var(--ink);font-size:20px}.store-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.store-form-grid label{display:grid;gap:6px;margin:0;color:var(--sub);font-size:12px}.store-form-grid .wide{grid-column:1/-1}.store-form-grid input,.store-form-grid select{width:100%;height:42px;padding:0 11px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}.store-form-note{margin-top:16px;padding:12px;border-radius:10px;background:var(--brand-soft);color:var(--sub);font-size:11px}.store-detail-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.store-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.store-detail dl>div{padding:13px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2)}.store-detail dl .wide{grid-column:1/-1}.store-detail dt{color:var(--sub);font-size:11px}.store-detail dd{margin:5px 0 0}.store-detail-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.store-detail-links span{padding:11px;border-radius:9px;background:var(--brand-soft);color:var(--brand);text-align:center;font-size:11px}@media(max-width:1100px){.store-summary{grid-template-columns:repeat(2,1fr)}.org-branches{grid-template-columns:1fr}.store-toolbar{align-items:flex-start;flex-direction:column}.store-toolbar>div{flex-wrap:wrap}.store-form-grid{grid-template-columns:1fr}.store-form-grid .wide{grid-column:auto}}
.store-record-page{display:grid;gap:15px}.store-record-nav{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:12px}.store-record-nav button{padding:7px 10px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.store-profile-head{display:flex;justify-content:space-between;align-items:center}.store-profile-head h3{margin:4px 0 7px;font-size:24px}.store-profile-head p{margin:0;color:var(--sub)}.store-profile-head code{padding:3px 7px;border-radius:6px;background:var(--surface-2);color:var(--brand)}.store-profile-head>div:last-child{display:flex;align-items:center;gap:10px}.store-profile-head button{padding:9px 14px;border:0;border-radius:9px}.store-record-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:15px}.record-section-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.record-section-title h4,.record-section-title h3{margin:0}.record-section-title>span,.record-section-title>div+span{color:var(--sub);font-size:11px}.record-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.record-data-grid>div{padding:13px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);min-width:0}.record-data-grid .wide{grid-column:span 3}.record-data-grid dt{color:var(--sub);font-size:11px}.record-data-grid dd{margin:6px 0 0;overflow-wrap:anywhere}.record-data-grid.system{grid-template-columns:2fr 1fr 1fr 1fr}.store-side-card .business-switch{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--stroke);font-size:12px}.business-switch b{padding:3px 7px;border-radius:9px;background:#f8dfe5;color:#b94f69;font-size:10px}.business-switch b.on{background:var(--brand-soft);color:var(--brand)}.store-side-card>button{width:100%;margin-top:15px;padding:9px;border:1px solid #d65b72;border-radius:9px;background:transparent;color:#d65b72}.store-page-editor{max-width:900px}.store-page-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.store-page-form-grid label{display:grid;gap:7px;color:var(--sub);font-size:12px}.store-page-form-grid .wide{grid-column:1/-1}.store-page-form-grid input,.store-page-form-grid select{width:100%;height:43px;padding:0 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}.store-page-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.store-page-form-actions button{padding:9px 16px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}@media(max-width:1100px){.store-record-grid{grid-template-columns:1fr}.record-data-grid,.record-data-grid.system{grid-template-columns:repeat(2,minmax(0,1fr))}.record-data-grid .wide{grid-column:1/-1}.store-page-form-grid{grid-template-columns:1fr}.store-page-form-grid .wide{grid-column:auto}}
.store-page-form-grid .store-person-name{grid-column:1}.store-page-form-grid .store-person-phone{grid-column:2}@media(max-width:1100px){.store-page-form-grid .store-person-name,.store-page-form-grid .store-person-phone{grid-column:auto}}
@media(max-width:1100px){.voucher-layout,.split-tables,.mall-builder{grid-template-columns:1fr}.filters.dense{grid-template-columns:repeat(2,minmax(0,1fr))}.recharge-form,.package-select{grid-template-columns:1fr}}

/* Shared record interactions for all business modules. */
.enhancer-modal{z-index:90}.enhancer-modal .modal-card{width:min(820px,92vw);max-height:88vh;overflow:auto}.enhancer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.enhancer-form-grid label{display:grid;gap:7px;color:var(--sub);font-size:12px}.enhancer-form-grid input,.enhancer-form-grid select{width:100%;height:42px;padding:0 11px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}.enhancer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.enhancer-detail-grid>div{padding:13px;border:1px solid var(--stroke);border-radius:11px;background:var(--surface-2);min-width:0}.enhancer-detail-grid dt{color:var(--sub);font-size:11px}.enhancer-detail-grid dd{margin:6px 0 0;overflow-wrap:anywhere}.enhancer-card-detail{display:grid;gap:8px}.enhancer-card-detail p{margin:0;padding:11px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface-2);color:var(--ink)}.enhancer-record-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.enhancer-record-cards article{display:grid;gap:7px;padding:15px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2)}.enhancer-record-cards span{display:flex;justify-content:space-between;gap:10px;color:var(--sub);font-size:12px}.enhancer-record-cards button{justify-self:start}.enhancer-completed{border-color:var(--brand)!important;color:var(--brand)!important}table tbody tr:not(.no-data){cursor:default}table tbody tr[hidden]{display:none}@media(max-width:760px){.enhancer-form-grid,.enhancer-detail-grid{grid-template-columns:1fr}.enhancer-record-cards{grid-template-columns:1fr}}
.logo-symbol.has-image,.brand-mark.has-image,.logo-demo.has-image{background-size:contain;background-repeat:no-repeat;background-position:center;color:transparent;background-color:var(--surface-2)}
.logo-upload button+button{margin-left:8px}
.audit-page{display:grid;gap:16px}.audit-toolbar{align-items:flex-start}.audit-toolbar h3{margin-bottom:6px}.danger-text{color:#d8566f!important}.audit-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.audit-summary article{padding:16px;border:1px solid var(--stroke);border-radius:14px;background:linear-gradient(145deg,var(--surface),var(--surface-2))}.audit-summary span,.audit-summary b,.audit-summary small{display:block}.audit-summary span{color:var(--sub);font-size:12px}.audit-summary b{margin:7px 0 3px;font-size:26px}.audit-summary small{color:var(--sub);font-size:11px}.audit-filters{margin-bottom:0}.audit-filters #auditSearch{margin-left:0;flex:1;min-width:320px}.audit-table table{min-width:1180px}.audit-table code{padding:3px 7px;border-radius:7px;background:var(--surface-2);color:var(--brand);white-space:nowrap}.audit-table small{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sub)}.audit-risk{display:inline-block;min-width:34px;padding:3px 8px;border-radius:999px;text-align:center;font-size:12px;font-weight:700}.audit-risk.high{background:#fff0f2;color:#d8566f}.audit-risk.medium{background:#fff7e6;color:#b66a00}.audit-risk.low{background:var(--brand-soft);color:var(--brand)}@media(max-width:1200px){.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters{flex-wrap:wrap}.audit-filters #auditSearch{min-width:260px}}

.permission-page{display:grid;gap:16px}.permission-toolbar{align-items:flex-start}.permission-toolbar h3{margin-bottom:6px}.permission-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.permission-tree-layout{grid-template-columns:210px minmax(0,1fr);align-items:start}.permission-tree-layout .role-list{position:sticky;top:88px}.permission-tree-layout .role-list button small{display:block;margin-top:4px;color:var(--sub);font-size:11px;font-weight:400}.permission-tree-area{min-width:0}.permission-source-note{margin-bottom:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--stroke));border-radius:12px;background:var(--brand-soft);color:var(--sub);font-size:12px;line-height:1.6}.permission-domain-grid{display:grid;grid-template-columns:repeat(4,minmax(245px,1fr));gap:12px;padding:0;border:0;background:transparent}.permission-domain{min-width:0;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2);overflow:hidden}.permission-domain header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid var(--stroke);background:var(--surface)}.permission-domain h4{margin:0;font-size:15px}.permission-domain small{display:block;margin-top:3px;color:var(--sub);font-size:11px}.permission-domain header label{display:inline-flex;align-items:center;gap:6px;color:var(--sub);font-size:12px;white-space:nowrap}.permission-tree{height:620px;overflow:auto;padding:8px}.permission-node-row{display:flex;align-items:center;gap:4px;min-height:32px;padding-left:calc(var(--depth)*15px);border-radius:8px}.permission-node-row:hover{background:var(--surface)}.permission-toggle{width:22px;height:24px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--sub);font-size:16px;line-height:1;cursor:pointer}.permission-toggle:disabled{opacity:.35;cursor:default}.permission-node-label{min-width:0;flex:1;display:flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;line-height:1.35;cursor:pointer}.permission-node-label input{flex:0 0 auto}.permission-node-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-node-label small{flex:0 0 auto;min-width:22px;padding:1px 6px;border-radius:999px;background:var(--surface);color:var(--sub);font-size:10px;text-align:center}.permission-children{margin-left:0}.permission-domain input[type="checkbox"]{accent-color:var(--brand)}@media(max-width:1500px){.permission-domain-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.permission-tree{height:460px}}@media(max-width:1050px){.permission-tree-layout{grid-template-columns:1fr}.permission-tree-layout .role-list{position:static}.permission-domain-grid{grid-template-columns:1fr}.permission-tree{height:380px}}

/* Account and permission management */
.account-permission-page{display:grid;gap:16px}.account-head{display:flex;justify-content:space-between;align-items:flex-start}.account-head h3{margin:4px 0 6px}.account-head p{margin:0;color:var(--sub);line-height:1.6}.account-tabs{margin:0}.permission-tab-shell{margin-bottom:16px}.account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.account-summary article{padding:18px;border:1px solid var(--stroke);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.account-summary span,.account-summary small{display:block;color:var(--sub)}.account-summary b{display:block;margin:8px 0 4px;font-size:26px;color:var(--ink)}.account-filters input{min-width:260px}.account-table table{min-width:1180px}.account-table code,.account-role-page code{padding:2px 6px;border-radius:7px;background:var(--surface-2);color:var(--ink)}.account-role-page .toolbar{align-items:flex-start}.account-editor{width:min(760px,92vw)}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account-form-grid label{margin:0}.account-form-grid label.wide{grid-column:1/-1}.account-form-grid input,.account-form-grid select{width:100%;margin-top:7px;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}.modal-title .eyebrow,.eyebrow{display:block;color:var(--brand);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.modal-title h3{margin:3px 0 0}.modal-title button{cursor:pointer}.link-btn.danger{color:#d8566f}@media(max-width:1280px){.account-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.account-summary,.account-form-grid{grid-template-columns:1fr}.account-form-grid label.wide{grid-column:auto}.account-head{display:grid;gap:12px}}
.role-permission-preset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.role-permission-preset label{display:flex;align-items:center;gap:7px;margin:0;padding:10px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);font-size:12px}.role-permission-preset input{accent-color:var(--brand)}@media(max-width:760px){.role-permission-preset{grid-template-columns:1fr}}
.permission-mode-tabs{margin-top:-4px}.permission-level-page{display:grid;gap:16px}.permission-level-card{padding:0;overflow:hidden}.permission-level-card .toolbar{padding:18px 20px;margin:0;border-bottom:1px solid var(--stroke)}.permission-level-card .toolbar input{min-width:260px;height:38px;padding:0 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--ink)}.permission-level-card .toolbar button{height:38px}.permission-level-card .table-wrap{border:0;border-radius:0}.permission-level-card table{min-width:980px}.permission-level-card th{text-align:center}.permission-level-card td{text-align:center}.permission-level-card td:nth-child(1),.permission-level-card td:nth-child(5){text-align:left}.permission-level-card .pager{border-top:1px solid var(--stroke)}.permission-level-card .link-btn{margin:0 4px}
.permission-hierarchy-note{margin:0 0 12px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--brand) 35%,var(--stroke));border-radius:12px;background:var(--surface-2);color:var(--sub);font-size:12px}.permission-hierarchy-note b{color:var(--brand)}

/* Commission settings */
.commission-page{display:grid;gap:16px}.commission-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.commission-head h3{margin:4px 0 6px}.commission-head p{max-width:820px;margin:0;color:var(--sub);line-height:1.6}.commission-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.commission-head-actions select,.commission-head-actions button{height:38px;padding:0 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--ink)}.commission-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.commission-summary article{padding:17px;border:1px solid var(--stroke);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}.commission-summary span,.commission-summary small{display:block;color:var(--sub)}.commission-summary b{display:block;margin:7px 0 4px;font-size:22px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commission-tabs{margin:0}.commission-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.commission-roles{position:sticky;top:88px;display:grid;gap:8px;align-self:start}.commission-roles h4{margin:0 0 8px}.commission-roles button{display:grid;gap:4px;width:100%;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.commission-roles button:hover,.commission-roles button.active{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 24%,var(--stroke));color:var(--brand)}.commission-roles small{color:var(--sub);font-size:11px}.commission-work{min-width:0}.commission-work .toolbar{align-items:flex-start}.commission-work .toolbar h3{margin-bottom:6px}.commission-table table{min-width:1050px}.commission-table input,.commission-table select,.stage-table input,.commission-options input,.commission-options select,.split-grid input{height:36px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.commission-table input[type="number"]{width:92px}.commission-table td span,.stage-table td span{margin-left:5px;color:var(--sub)}.commission-table small{display:block;max-width:260px;color:var(--sub);line-height:1.45}.commission-note{margin-top:14px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--stroke));border-radius:12px;background:var(--brand-soft);color:var(--sub);font-size:12px;line-height:1.6}.split-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.split-grid label,.commission-options label{position:relative;display:grid;gap:10px;padding:16px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.split-grid b,.commission-options b{display:block}.split-grid small,.commission-options small{display:block;margin-top:4px;color:var(--sub);font-size:11px;line-height:1.45}.split-grid input{width:100%;padding-right:32px}.split-grid em{position:absolute;right:25px;bottom:25px;color:var(--sub);font-style:normal}.commission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.commission-options label{grid-template-columns:1fr auto;align-items:center}.commission-options input[type="checkbox"]{width:20px;height:20px;accent-color:var(--brand)}.commission-options input[type="number"],.commission-options select{min-width:150px}.stage-table table{min-width:900px}.stage-table input{width:100%}.stage-table input[type="number"]{width:120px}.commission-batch{width:min(520px,92vw)}.commission-batch label{display:grid;gap:7px}.commission-batch input{width:100%;height:40px;padding:0 11px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}@media(max-width:1280px){.commission-summary{grid-template-columns:repeat(2,1fr)}.split-grid,.commission-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.commission-head{display:grid}.commission-layout{grid-template-columns:1fr}.commission-roles{position:static}.commission-summary,.split-grid,.commission-options{grid-template-columns:1fr}}
.split-preview b{display:block;margin-bottom:4px;color:var(--ink)}.split-preview p{margin:0 0 10px}.split-present{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.split-present label{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--stroke);border-radius:999px;background:var(--surface)}.split-present input{accent-color:var(--brand)}#splitPreviewResult{display:flex;flex-wrap:wrap;gap:8px}#splitPreviewResult span{padding:6px 10px;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--brand) 18%,var(--stroke))}#splitPreviewResult b{display:inline;color:var(--brand)}
.commission-stage-work{display:grid;gap:12px}.stage-action-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.stage-action-row button{height:36px;padding:0 13px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--brand)}.stage-scheme-card{display:grid;grid-template-columns:minmax(260px,0.8fr) minmax(420px,1.8fr);gap:18px;padding:18px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface)}.stage-scheme-info{display:grid;align-content:start;gap:14px;color:var(--ink)}.stage-scheme-info p{margin:0}.stage-scheme-info b{display:inline-block;min-width:112px}.hint-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--sub);color:var(--surface);font-size:11px}.stage-scheme-main{display:grid;gap:12px}.stage-selected{color:var(--sub)}.stage-selected b{color:var(--ink)}.stage-display-table table{min-width:680px}.stage-display-table td,.stage-display-table th{text-align:left}.stage-scheme-modal{width:min(980px,94vw)}@media(max-width:1100px){.stage-scheme-card{grid-template-columns:1fr}}
.stage-design-modal{width:min(1280px,96vw);padding:0;border-radius:0}.stage-design-title{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--stroke)}.stage-design-title h3{margin:0;font-size:22px;font-weight:500}.stage-design-title button{border:0;background:transparent;color:var(--sub);font-size:28px}.stage-business-types{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:26px 28px 16px}.stage-business-types b{margin-right:10px}.stage-business-types label{display:inline-flex;align-items:center;gap:6px}.stage-business-types input{width:22px;height:22px;accent-color:var(--brand)}.stage-design-modal>h4{margin:18px 28px;font-size:18px;font-weight:500}.stage-design-box{margin:0 28px 10px;padding:28px 30px;border:1px solid var(--stroke)}.stage-design-options{display:flex;align-items:center;gap:14px;padding:10px 0 22px}.stage-design-options.border{border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:16px 0}.stage-design-options>span{min-width:100px}.stage-design-options label{display:inline-flex;align-items:center;gap:7px}.stage-design-options input[type=radio]{width:20px;height:20px;accent-color:var(--brand)}.switch-line input{display:none}.switch-line em{position:relative;width:58px;height:34px;border-radius:999px;background:var(--stroke)}.switch-line em:after{content:"";position:absolute;left:3px;top:3px;width:28px;height:28px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #0002}.switch-line input:checked+em{background:var(--brand)}.switch-line input:checked+em:after{left:27px}.stage-design-head{display:grid;grid-template-columns:100px 520px 180px 60px;gap:18px;margin-top:16px;color:var(--sub);text-align:center}.stage-design-row{display:grid;grid-template-columns:100px 180px 126px 180px 180px 60px;gap:8px;align-items:center;margin:18px 0}.stage-design-row b{font-size:18px}.stage-design-row input{height:46px;padding:0 12px;border:1px solid var(--stroke);border-radius:6px;background:var(--surface);color:var(--ink);font-size:16px}.stage-design-row>span{text-align:center}.stage-design-row label{display:grid;grid-template-columns:1fr 42px;align-items:center}.stage-design-row label span{grid-column:1 / -1;margin-bottom:8px;text-align:left;color:var(--ink)}.stage-design-row label input{border-radius:6px 0 0 6px}.stage-design-row label em{height:46px;display:grid;place-items:center;border:1px solid var(--stroke);border-left:0;border-radius:0 6px 6px 0;color:var(--sub);font-style:normal}.icon-delete{border:0;background:transparent;color:var(--ink);font-size:16px}.add-stage-link{border:0;background:transparent;color:var(--brand);font-size:16px}.stage-design-modal .modal-actions{padding:22px 34px}.stage-design-modal .modal-actions button{min-width:120px;height:48px}@media(max-width:1100px){.stage-design-head{display:none}.stage-design-row{grid-template-columns:1fr 1fr}.stage-design-row>span{display:none}}
.schedule-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.schedule-summary article{padding:15px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.schedule-summary span,.schedule-summary small{display:block;color:var(--sub)}.schedule-summary b{display:block;margin:6px 0;color:var(--ink);font-size:22px}.schedule-toolbar input[type=month]{height:36px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.schedule-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.schedule-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid var(--stroke);background:var(--surface)}.schedule-badge small{color:var(--sub)}.schedule-board{display:grid;grid-template-columns:170px repeat(var(--days),minmax(72px,1fr));overflow:auto;border:1px solid var(--stroke);border-radius:14px;background:var(--surface)}.schedule-board>*{min-width:72px;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}.schedule-corner,.schedule-day,.schedule-person{position:sticky;left:0;z-index:2;background:var(--surface-2);padding:12px;text-align:left}.schedule-corner{top:0;z-index:4;font-weight:700}.schedule-day{position:sticky;top:0;z-index:3;display:grid;place-items:center;text-align:center;color:var(--sub);font-weight:600}.schedule-day small{display:block;margin-top:3px}.schedule-person{display:grid;gap:3px}.schedule-person b{color:var(--ink)}.schedule-person small{color:var(--sub)}.schedule-cell{display:grid;gap:3px;place-items:center;min-height:58px;padding:8px;border:0;background:var(--surface);color:var(--ink);cursor:pointer}.schedule-cell b{font-size:13px}.schedule-cell small{font-size:10px;color:var(--sub)}.shift-M{background:#e8fff7!important;color:#0f9d7a!important}.shift-D{background:#eef8ff!important;color:#2378c3!important}.shift-N{background:#fff6e6!important;color:#b36b00!important}.shift-R{background:#f2f4f7!important;color:#7a8491!important}.shift-L{background:#fff0f0!important;color:#c64040!important}.schedule-template-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.schedule-template-panel h4{grid-column:1/-1;margin:0}.schedule-template-panel article{padding:12px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2)}.schedule-template-panel b,.schedule-template-panel span,.schedule-template-panel small{display:block}.schedule-template-panel small{color:var(--sub)}.shift-choice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.shift-choice button{display:grid;gap:5px;min-height:72px;border:1px solid var(--stroke);border-radius:12px}.shift-choice button.active{outline:2px solid var(--brand)}@media(max-width:1200px){.schedule-summary{grid-template-columns:repeat(2,1fr)}.schedule-template-panel,.shift-choice{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.schedule-summary{grid-template-columns:1fr}}
.attendance-summary{margin-top:12px}.attendance-links{display:flex;gap:8px;align-items:center;margin:12px 0}.attendance-links button{height:36px;padding:0 13px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--ink)}.attendance-links button.active{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 28%,var(--stroke));color:var(--brand)}.attendance-filters input[type=month]{height:38px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}
.target-summary{margin-top:12px}.target-filters input[type=month]{height:38px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.target-table table{min-width:1120px}.target-table td small{color:var(--sub)}.target-table td b{color:var(--ink)}.target-progress{position:relative;min-width:110px;height:30px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--stroke)}.target-progress span{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--brand-2),var(--brand));border-radius:999px}.target-progress b{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:12px}.target-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.target-editor-grid label{display:grid;gap:7px}.target-editor-grid input{height:40px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface-2);color:var(--ink)}@media(max-width:760px){.target-editor-grid{grid-template-columns:1fr}}
.payroll-mode{display:flex;align-items:center;gap:10px;margin:0 0 14px}.payroll-mode .muted{color:var(--sub);font-size:12px}.payroll-filters input[type=month]{height:38px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.payroll-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.payroll-cards article{padding:18px;border:1px solid var(--stroke);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}.payroll-cards span,.payroll-cards small{display:block;color:var(--sub)}.payroll-cards b{display:block;margin:8px 0 5px;font-size:24px;color:var(--ink)}.payroll-table table{min-width:1500px}.payroll-table td small{display:block;margin-top:4px;color:var(--sub);font-size:11px;line-height:1.5}.payroll-table td b{color:var(--ink)}.payroll-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.payroll-rules h4{grid-column:1/-1;margin:0}.payroll-rules div{padding:14px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2);color:var(--sub);line-height:1.6}.payroll-rules span{display:block;margin-bottom:6px;color:var(--brand);font-weight:800}.salary-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.salary-editor-grid label{display:grid;gap:7px;color:var(--sub);font-size:12px}.salary-editor-grid .wide{grid-column:1/-1}.salary-editor-grid input{height:40px;padding:0 10px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface-2);color:var(--ink)}@media(max-width:1200px){.payroll-cards,.payroll-rules{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.payroll-cards,.payroll-rules,.salary-editor-grid{grid-template-columns:1fr}.salary-editor-grid .wide{grid-column:auto}}
.consumption-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.consumption-overview article{padding:16px;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.consumption-overview span,.consumption-overview small{display:block;color:var(--sub)}.consumption-overview b{display:block;margin:7px 0;font-size:24px;color:var(--brand)}.consumption-settings h4 small{display:block;margin-top:5px;color:var(--sub);font-size:12px;font-weight:400;line-height:1.5}.consumption-settings .setting-field{align-items:flex-start;min-height:66px}.consumption-settings .setting-field>span:first-child{max-width:calc(100% - 190px)}.consumption-settings .setting-field small{line-height:1.55}.consumption-settings .setting-field>input,.consumption-settings .setting-field>select{margin-top:2px;flex:none}.consumption-settings section.wide{grid-column:1/-1}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px}.impact-grid span{display:block;padding:14px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface)}.impact-grid b{display:block;margin-bottom:6px;color:var(--brand)}@media(max-width:1200px){.consumption-overview,.impact-grid{grid-template-columns:1fr 1fr}.consumption-settings .setting-field>span:first-child{max-width:calc(100% - 310px)}}@media(max-width:860px){.consumption-overview,.impact-grid{grid-template-columns:1fr}.consumption-settings .setting-field{align-items:center}.consumption-settings .setting-field>span:first-child{max-width:calc(100% - 90px)}.consumption-settings .setting-field>input:not([type=checkbox]),.consumption-settings .setting-field>select{width:210px}}
.consumption-field-help{margin:14px 15px 0;color:var(--sub);font-size:12px;line-height:1.55}
.user-pill-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.user-pill-copy b{font-size:12px}.user-pill-copy small{margin-top:3px;color:var(--brand);font-size:9px;font-weight:600}
.organization-standard{display:flex;align-items:center;justify-content:center;gap:7px;padding:15px 20px;border-bottom:1px solid var(--stroke);overflow:auto}.organization-standard span{flex:none;padding:7px 10px;border:1px solid var(--stroke);border-radius:999px;background:var(--surface);font-size:11px;font-weight:700}.organization-standard i{color:var(--sub);font-style:normal}.organization-skip-note{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:18px 22px 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand) 25%,var(--stroke));border-radius:12px;background:var(--brand-soft)}.organization-skip-note b{grid-row:1/3;color:var(--brand)}.organization-skip-note span{font-weight:700}.organization-skip-note small{color:var(--sub)}.org-flex-tree{padding:24px;background:var(--surface-2)}.hierarchy-node{display:flex;flex-direction:column;align-items:center;width:100%}.hierarchy-card{min-width:220px;padding:14px 18px;border:1px solid var(--stroke);border-radius:13px;background:var(--surface);text-align:center;box-shadow:0 6px 20px rgba(20,50,60,.05)}.hierarchy-card span,.hierarchy-card b,.hierarchy-card small{display:block}.hierarchy-card span{color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.08em}.hierarchy-card b{margin:5px 0}.hierarchy-card small{color:var(--sub)}.level-country_hq>.hierarchy-card{border-color:var(--brand);background:var(--brand-soft)}.level-district>.hierarchy-card{min-width:150px}.hierarchy-connector{width:1px;height:24px;background:var(--stroke)}.hierarchy-children{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:14px;width:100%}.hierarchy-children:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:var(--stroke)}.hierarchy-children>.hierarchy-node,.hierarchy-children>.hierarchy-store{position:relative;padding-top:18px}.hierarchy-children>.hierarchy-node:before,.hierarchy-children>.hierarchy-store:before{content:"";position:absolute;top:0;left:50%;width:1px;height:18px;background:var(--stroke)}.hierarchy-store{min-width:150px;padding:13px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface)}.hierarchy-store span,.hierarchy-store small,.hierarchy-store b,.hierarchy-store em{display:block}.hierarchy-store small{color:var(--brand);font-size:10px}.hierarchy-store b{margin:5px 0}.hierarchy-store em{max-width:190px;color:var(--sub);font-size:10px;font-style:normal}.hierarchy-store button,.organization-unassigned button{margin-top:9px;padding:6px 9px;border:0;border-radius:7px;background:var(--brand-soft);color:var(--brand)}.organization-unassigned{margin:0 22px 22px;padding:16px;border:1px dashed var(--stroke);border-radius:13px}.organization-unassigned header{display:flex;justify-content:space-between}.organization-unassigned header div{display:flex;flex-direction:column;gap:4px}.organization-unassigned small{color:var(--sub)}.organization-unassigned>div{display:flex;gap:10px;margin-top:12px}.organization-unassigned article{padding:12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface)}.organization-unassigned article b,.organization-unassigned article small{display:block}@media(max-width:1200px){.hierarchy-children{flex-wrap:wrap}.hierarchy-children:before{display:none}.hierarchy-children>.hierarchy-node{width:auto;min-width:30%}.organization-standard{justify-content:flex-start}}
.organization-directory-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto;gap:10px;padding:18px 22px;border-bottom:1px solid var(--stroke)}.organization-directory-toolbar input,.organization-directory-toolbar select,.organization-directory-toolbar button{height:42px;padding:0 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink)}#organizationDirectoryResults{padding:20px 22px 24px}.organization-breadcrumb{display:flex;align-items:center;gap:7px;overflow:auto;margin-bottom:14px}.organization-breadcrumb button{flex:none;padding:5px 8px;border:0;background:transparent;color:var(--brand);cursor:pointer}.organization-breadcrumb button:disabled{color:var(--ink);font-weight:800;cursor:default}.organization-breadcrumb i{color:var(--sub);font-style:normal}.organization-current{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:15px 17px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2)}.organization-current span{color:var(--brand);font-size:10px;font-weight:800}.organization-current h5{margin:4px 0;font-size:18px}.organization-current small{color:var(--sub)}.organization-current button{padding:7px 10px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface);color:var(--ink)}.organization-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.organization-directory-card{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2)}.organization-directory-card>span{color:var(--brand);font-size:10px;font-weight:800}.organization-directory-card>b{margin:6px 0;font-size:14px}.organization-directory-card>small{display:-webkit-box;min-height:32px;overflow:hidden;color:var(--sub);font-size:10px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.organization-directory-card>em{margin-top:8px;color:var(--sub);font-size:10px;font-style:normal}.organization-directory-card>button{align-self:flex-start;margin-top:11px;padding:6px 9px;border:0;border-radius:7px;background:var(--brand-soft);color:var(--brand);cursor:pointer}.organization-directory-card.store{border-color:color-mix(in srgb,var(--brand) 35%,var(--stroke))}.organization-result-head{display:flex;justify-content:space-between;margin-bottom:12px}.organization-result-limit{margin-top:12px;color:var(--sub);font-size:11px}@media(max-width:1200px){.organization-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.organization-directory-toolbar{grid-template-columns:1fr}.organization-directory-grid{grid-template-columns:1fr 1fr}}
/* 商品 / 项目管理 */
.project-page{display:flex;flex-direction:column;gap:18px}
.project-summary{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px}
.product-summary{grid-template-columns:repeat(6,minmax(130px,1fr))}
.project-summary article{background:linear-gradient(180deg,#f6fffc,#fff);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow-soft)}
.project-summary span{display:block;color:var(--muted);font-size:13px}
.project-summary b{display:block;margin:6px 0;font-size:28px;color:var(--text)}
.project-summary small{color:var(--muted)}
.project-filters{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) minmax(180px,1.2fr) auto auto;gap:12px;align-items:center;background:#f7fbfa;border:1px solid var(--line);border-radius:18px;padding:14px}
.project-filters select,.project-filters input,.project-form-grid input,.project-form-grid select,.project-form-grid textarea{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;color:var(--text);font:inherit}
.project-form-grid textarea{height:90px;padding:10px 12px;resize:vertical}
.project-table table{min-width:1480px}
.product-table table{min-width:1780px}
.package-table table{min-width:1620px}
.stored-card-table table{min-width:1760px}
.category-table table{min-width:1450px}
.brand-table table{min-width:1560px}
.bodypart-table table{min-width:1580px}
.spec-table table{min-width:1700px}
.tag-table table{min-width:1580px}
.service-category-table table{min-width:1840px}
.package-category-table table{min-width:1840px}
.room-bed-table table{min-width:1900px}
.product-v2-table table{min-width:2100px}.product-v2-modal .project-modal{max-width:min(1180px,94vw)}.product-v2-form{grid-template-columns:repeat(4,minmax(0,1fr))}.product-v2-import{padding:22px}.product-v2-import p{margin:0 0 14px}.product-v2-import textarea,.product-v2-bulk textarea{display:block;width:100%;box-sizing:border-box;min-height:340px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;font:14px/1.55 Consolas,"Courier New",monospace;resize:vertical;white-space:pre;overflow:auto}.product-v2-import .project-modal-actions{padding:18px 0 0}.product-v2-mini-actions{display:flex;flex-wrap:wrap;gap:6px}.product-v2-danger{color:#d8566f}.product-v2-ok{color:#149f80}.product-v2-stock-low{background:color-mix(in srgb,#e9a23b 12%,transparent)}
.attendance-qr-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;align-items:start}.attendance-qr-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f3fbf8);text-align:center}.attendance-qr-grid{display:grid;grid-template-columns:repeat(25,1fr);gap:2px;width:min(300px,76vw);aspect-ratio:1;margin:0 auto 16px;padding:14px;border:10px solid #fff;border-radius:18px;background:#fff;box-shadow:0 14px 34px #18392e1f}.attendance-qr-grid i{display:block;border-radius:2px;background:#eef6f2}.attendance-qr-grid i.on{background:#13241f}.attendance-token{margin:12px 0;padding:10px;border:1px dashed var(--line);border-radius:12px;background:#fff;color:var(--sub);font:12px/1.45 Consolas,"Courier New",monospace;word-break:break-all;text-align:left}.empty-qr{display:grid;place-items:center;min-height:260px;margin-bottom:16px;border:1px dashed var(--line);border-radius:18px;color:var(--sub);background:#fff}.section-title{margin:22px 0 10px}.attendance-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.attendance-links button.active{background:var(--brand);color:#fff;border-color:var(--brand)}@media(max-width:1100px){.attendance-qr-layout{grid-template-columns:1fr}}
.tag-color{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:8px;vertical-align:middle;border:1px solid rgba(0,0,0,.08)}
.mini-input{width:72px;height:32px;border:1px solid var(--line);border-radius:10px;text-align:center;background:#fff;color:var(--text)}
.project-table td small{display:block;color:var(--muted);margin-top:4px}
.project-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;background:#eef3f1;color:var(--muted);white-space:nowrap}
.project-pill.ok{background:#e4f8f1;color:#0a9f79}
.project-pill.warn{background:#fff3df;color:#c47a00}
.project-pill.off{background:#f1f2f4;color:#7b858d}
.project-relations{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}
.project-relations h4{margin:0 0 12px}
.project-relations div{display:flex;gap:12px;padding:9px 0;border-top:1px dashed var(--line);color:var(--muted)}
.project-relations div:first-of-type{border-top:0}
.project-relations span{min-width:86px;color:var(--brand);font-weight:800}
.project-modal-backdrop{position:fixed;inset:0;background:rgba(9,20,28,.38);z-index:1000;display:flex;align-items:center;justify-content:center;padding:30px}
.project-modal{width:min(980px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(9,20,28,.28)}
.project-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.project-modal-head h3{margin:0}
.project-modal-head button{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:24px;line-height:1}
.project-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px}
.project-form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px}
.project-form-grid label span{font-weight:700;color:var(--text)}
.project-form-grid .wide{grid-column:1/-1}
.project-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px}
.project-detail-grid div{border:1px solid var(--line);border-radius:14px;padding:13px;background:#f8fbfa}
.project-detail-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.project-detail-grid b{font-size:15px}
.project-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;padding:0 22px 22px}
@media(max-width:1200px){.project-summary{grid-template-columns:repeat(2,1fr)}.project-filters{grid-template-columns:repeat(2,1fr)}.project-form-grid,.project-detail-grid{grid-template-columns:1fr}}
.source-project-page{display:flex;flex-direction:column;gap:14px}.source-project-actions{margin-bottom:0}.source-project-filters{grid-template-columns:repeat(5,minmax(130px,1fr));padding:12px;border-radius:8px}.source-project-table table{min-width:1420px}.source-project-table th,.source-project-table td{white-space:nowrap}.source-project-table .project-name-btn{font-weight:600}.source-project-table .project-yes{color:#ff6b18}.project-source-modal{width:min(1320px,96vw);border-radius:6px}.source-project-form{padding:18px 22px}.source-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-bottom:0}.source-project-grid>label{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:12px;min-height:66px;padding:10px 16px;border-bottom:1px solid var(--line)}.source-project-grid>label:nth-child(odd){border-right:1px solid var(--line)}.source-project-grid>label>span{font-weight:600;color:var(--text)}.source-project-grid i{color:#e44;font-style:normal}.source-project-grid input,.source-project-grid select,.source-project-grid textarea,.source-card-table input,.source-card-table select{width:100%;height:40px;box-sizing:border-box;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 10px;color:var(--text);font:inherit}.source-project-grid textarea{height:84px;padding:10px;resize:vertical}.source-project-grid small{grid-column:2;color:var(--muted)}.source-project-grid .wide{grid-column:1/-1;border-right:0}.money-input,.inline-field{display:flex;align-items:center;gap:8px}.money-input b{font-weight:500}.inline-field em{font-style:normal;white-space:nowrap}.check-label,.switch-line{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:8px!important;padding:0!important;border:0!important;min-height:auto!important}.check-label input,.switch-line input{width:auto;height:auto}.switch-line span{font-weight:400!important;color:var(--muted)!important}.source-project-section{border:1px solid var(--line);border-top:0;padding:16px}.source-project-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.source-card-table{min-width:920px}.source-card-table th,.source-card-table td{padding:9px}.source-card-table .card-unit{font-weight:600}.lower-grid{border-top:0}.project-image-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-image-box input{width:auto}.source-project-form>.project-modal-actions{padding:18px 0 0}.project-source-modal .project-detail-grid{padding:22px}.project-source-modal>h4{padding:0 22px}.project-source-modal>.table-wrap{margin:0 22px 18px}@media(max-width:1100px){.source-project-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}.source-project-grid{grid-template-columns:1fr}.source-project-grid>label:nth-child(odd){border-right:0}.source-project-grid .wide{grid-column:auto}.project-source-modal{width:96vw}}
@media(max-width:1200px){.product-summary{grid-template-columns:repeat(2,1fr)}}

/* AI bridge */
.ai-bridge-page{display:grid;grid-template-rows:minmax(260px,1fr) auto;gap:14px;height:calc(100dvh - 210px);min-height:440px;min-width:0}.ai-bridge-page>section{min-width:0;padding:18px;border:1px solid var(--stroke);border-radius:16px;background:var(--surface)}.ai-chat-panel{display:flex;flex-direction:column;min-height:0}.ai-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--stroke)}.ai-chat-head h3{margin:0;font-size:18px;color:var(--ink)}.ai-chat-head .tag{flex-shrink:0}.ai-answer{box-sizing:border-box;flex:1;min-height:0;overflow:auto;padding:16px 0;color:var(--ink);line-height:1.8;overflow-wrap:anywhere;scrollbar-gutter:stable}.ai-answer pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--ink)}.ai-answer .ai-empty{display:grid;place-content:center;min-height:0;height:100%;margin:0;color:var(--sub);text-align:center}.ai-asked{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--stroke)}.ai-answer-sources{margin-top:22px;color:var(--sub);font-size:13px}.ai-answer-sources summary{cursor:pointer;width:fit-content}.ai-answer-sources code{display:inline-block;max-width:100%;margin:3px 6px 0 0;padding:2px 5px;background:var(--surface-2);color:var(--ink);border-radius:4px;white-space:normal;overflow-wrap:anywhere}.ai-chat-input{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;color:var(--ink)}.ai-chat-input>label{font-weight:700}.ai-chat-input textarea{box-sizing:border-box;width:100%;min-width:0;min-height:80px;max-height:160px;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink);font:inherit;line-height:1.6;resize:vertical}.ai-chat-input textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ai-chat-input>footer{padding:0;margin:0;border:0;background:transparent;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-chat-input small{color:var(--sub);line-height:1.5}.ai-chat-input button{flex-shrink:0;min-width:100px;min-height:42px}.ai-chat-input button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.ai-bridge-page{height:auto;min-height:0;grid-template-rows:minmax(260px,50dvh) auto}.ai-bridge-page>section{padding:14px}.ai-chat-input>footer{flex-wrap:wrap}.ai-chat-input button{margin-left:auto}}
.ai-turn+.ai-turn{margin-top:24px;padding-top:18px;border-top:1px solid var(--stroke)}.ai-narrative{max-width:920px}.ai-narrative p{margin:0 0 12px}.ai-narrative h4{margin:22px 0 8px;color:var(--ink);font-size:16px}.ai-narrative h4:first-child{margin-top:0}.ai-narrative ul,.ai-narrative ol{margin:0 0 14px;padding-left:24px}.ai-narrative li{margin:0 0 8px;padding-left:3px}.ai-narrative .ai-conclusion{margin:0 0 18px;padding:12px 14px;border-left:4px solid var(--brand);border-radius:7px;background:var(--surface-2);font-size:16px}.ai-query-data{min-width:0;margin:16px 0}.ai-query-data h4{color:var(--ink)}.ai-query-data dl>div{display:flex;flex-wrap:wrap;gap:8px}.ai-query-data dd{margin:0;font-weight:700}.ai-query-data summary{cursor:pointer}.ai-query-data .table-wrap{max-width:100%;overflow:auto}.ai-query-data td{color:var(--ink)}

.page-btn{margin:0 4px;padding:6px 10px;border:1px solid var(--border,#dce8e4);border-radius:10px;background:#fff;color:var(--text,#1d3430);cursor:pointer}.page-btn.active{background:var(--primary,#18b894);border-color:var(--primary,#18b894);color:#fff}.page-btn:disabled{opacity:.45;cursor:not-allowed}

/* Source-audited product management */
.product-source-page{padding:20px;overflow:hidden}.product-source-toolbar,.product-source-batch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.product-source-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:0 0 14px;padding:15px;background:#f5faf9;border:1px solid #e1ece9;border-radius:10px}.product-source-filters select,.product-source-filters input{min-width:0}.product-source-table{overflow:auto;border:1px solid #e6eeec;border-radius:8px}.product-source-table table{min-width:1380px}.product-source-table th{white-space:nowrap;background:#edf2f6;color:#354a46}.product-source-table td{white-space:nowrap}.product-source-special{color:#ff641c;font-weight:700}.product-source-pager{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:16px}.product-source-pages{display:flex;gap:5px}.product-source-pages button{min-width:34px;height:34px;padding:0;border:1px solid #dbe7e4;background:#fff}.product-source-pages button.active{background:#18ad90;color:#fff;border-color:#18ad90}.product-source-dialog{width:min(1320px,94vw);max-height:92vh;overflow:auto}.product-source-form{padding:4px 2px 20px}.product-source-form .ps-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:15px;border-bottom:1px solid #e4ecea}.product-source-form .ps-row>label,.product-source-form label>span{font-weight:700;color:#283c38}.product-source-form .ps-row div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.product-source-form small{display:block;color:#7d8e8a;font-weight:400;margin-top:5px}.product-source-form .ps-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px 24px;padding:18px 15px}.product-source-form .ps-grid label{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px}.product-source-form .ps-grid label small{grid-column:2}.product-source-form .ps-grid label.wide{grid-column:1/-1}.product-source-form input,.product-source-form select,.product-source-form textarea,.ps-choice select{width:100%;box-sizing:border-box}.product-source-form .ps-unit-spec-group{margin:0 15px 18px;padding:14px 16px 12px;border:1px solid #a9d7cc;border-radius:12px;background:#f3fbf8}.product-source-form .ps-unit-spec-group legend{padding:0 8px;color:#128c75;font-size:15px;font-weight:800}.product-source-form .ps-unit-spec-controls{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:24px}.product-source-form .ps-unit-spec-controls label{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px}.product-source-form .ps-unit-spec-group>small{margin:9px 0 0 150px;color:#5f7771}.product-source-form .ps-section{padding:16px 15px;border-top:1px solid #e4ecea}.product-source-form .ps-section h4{margin:0 0 8px}.product-source-form .ps-section p{color:#6f817d}.product-source-form .ps-section table input,.product-source-form .ps-section table select{min-width:88px}.product-source-form .ps-bottom{border-top:1px solid #e4ecea}.product-source-import{width:100%;height:340px;box-sizing:border-box;font-family:Consolas,monospace;line-height:1.55;white-space:pre;overflow:auto}.ps-choice{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center;margin:20px 0}@media(max-width:1100px){.product-source-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.product-source-form .ps-grid,.product-source-form .ps-unit-spec-controls{grid-template-columns:1fr}.product-source-form .ps-unit-spec-group>small{margin-left:0}}

/* Four receipt formats: 54mm, 80mm, A5 and A4 */
.four-ledger-principle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;padding:16px;border:1px solid var(--stroke);border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),var(--surface))}.four-ledger-principle>div{display:grid;gap:7px;padding:14px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface)}.four-ledger-principle span{color:var(--brand);font-size:12px;font-weight:800}.four-ledger-principle b{line-height:1.5}.four-ledger-principle small{color:var(--sub);line-height:1.5}.four-ledger-principle>p{grid-column:1/-1;margin:2px 0 0;text-align:center;color:var(--brand);font-weight:800}@media(max-width:1100px){.four-ledger-principle{grid-template-columns:repeat(2,1fr)}}
.receipt-brand{display:flex;align-items:baseline;justify-content:center;gap:8px;letter-spacing:0}.receipt-brand span{font-size:25px;font-weight:900;letter-spacing:3px}.receipt-brand i{font-size:12px;font-style:normal;font-weight:800;letter-spacing:1.5px}.receipt-slogan{display:grid!important;gap:2px!important;margin:7px 0 12px;padding:7px 5px!important;border-top:1px solid #333;border-bottom:1px solid #333;text-align:center}.receipt-slogan b{font-size:11px;letter-spacing:1px}.receipt-slogan span{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2px}.receipt-54mm .receipt-brand{display:grid;gap:1px}.receipt-54mm .receipt-brand span{font-size:18px}.receipt-54mm .receipt-brand i{font-size:8px}.receipt-54mm .receipt-slogan{margin:5px 0 8px;padding:5px 2px!important}.receipt-54mm .receipt-slogan b{font-size:9px}.receipt-54mm .receipt-slogan span{font-size:7px}.receipt-a5 .receipt-brand span,.receipt-a4 .receipt-brand span{font-size:30px}.receipt-a5 .receipt-brand i,.receipt-a4 .receipt-brand i{font-size:14px}.receipt-a5 .receipt-slogan b,.receipt-a4 .receipt-slogan b{font-size:13px}.receipt-a5 .receipt-slogan span,.receipt-a4 .receipt-slogan span{font-size:9px}
.receipt-preview .receipt-package{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin-top:12px;padding:12px;border:1px solid #aaa;background:#f7f7f7}.receipt-package>b{grid-column:1/-1;padding-bottom:6px;border-bottom:1px solid #bbb}.receipt-package>span{color:#555}.receipt-package>strong{text-align:right}.receipt-package-left{font-size:16px}
.receipt-preview .receipt-meta{display:grid;padding:0}.receipt-preview .receipt-rule{display:block;padding:0}.receipt-preview .receipt-row{display:grid}.receipt-preview .receipt-total{display:grid;padding:0}.receipt-preview .receipt-detail{display:flex}.receipt-preview .receipt-sign{display:grid;padding:0}
.receipt-plan-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.source-page .receipt-plan{position:relative;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;min-height:112px;padding:16px;text-align:left;border:1px solid var(--stroke);border-radius:14px;background:var(--surface-2)}.source-page .receipt-plan:hover{border-color:var(--brand)}.source-page .receipt-plan.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 16%,transparent)}.receipt-plan>b{grid-row:1/3;display:grid;place-items:center;align-self:start;min-width:48px;height:48px;border-radius:12px;background:var(--surface);color:var(--brand);font-size:17px}.receipt-plan>span{font-weight:800}.receipt-plan>small{color:var(--sub);line-height:1.45}.receipt-plan>em{position:absolute;right:10px;bottom:8px;color:var(--brand);font-size:11px;font-style:normal}.receipt-layout{grid-template-columns:minmax(340px,460px) minmax(360px,1fr);align-items:start}.receipt-options>label{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-bottom:1px solid var(--stroke)}.receipt-options>label select,.receipt-options>label input:not([type=checkbox]){width:220px}.receipt-plan-note{display:grid;gap:4px;margin:14px;padding:13px;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.receipt-plan-note span{font-size:12px;line-height:1.5}.receipt-preview-stage{display:flex;justify-content:center;overflow:auto;min-height:560px;padding:24px;border:1px dashed var(--stroke);border-radius:14px;background:var(--surface-2)}.receipt-preview{box-sizing:border-box;width:302px;min-height:520px;margin:0;padding:22px;border:1px solid #d9d9d9;border-radius:2px;background:#fff;color:#161616;font-family:"Microsoft YaHei",Arial,sans-serif;font-size:12px;box-shadow:0 12px 30px #00000014}.receipt-preview header{text-align:center}.receipt-preview header h4{margin:4px 0;font-size:15px}.receipt-preview header p{margin:4px 0 12px}.receipt-brand{font-size:23px;font-weight:900;letter-spacing:4px}.receipt-meta{display:grid;gap:5px;line-height:1.45}.receipt-rule{margin:10px 0;border-top:1px dashed #555}.receipt-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 58px 62px;gap:6px;padding:5px 0;text-align:right}.receipt-row>span:first-child{text-align:left}.receipt-head{font-weight:700}.receipt-total{display:grid;grid-template-columns:1fr auto;gap:7px}.receipt-total span{text-align:left}.receipt-due{font-size:15px}.receipt-detail{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:9px;border-top:1px dashed #999}.receipt-sign{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:42px}.receipt-sign span{padding-bottom:18px;border-bottom:1px solid #888}.receipt-preview footer{display:grid;gap:5px;margin-top:24px;text-align:center}.receipt-preview footer small{margin:0}.receipt-54mm{width:204px;min-height:430px;padding:14px 10px;font-size:10px}.receipt-54mm .receipt-brand{font-size:18px}.receipt-54mm .receipt-row{grid-template-columns:minmax(0,1fr) 26px 48px 50px;gap:2px}.receipt-54mm .receipt-due{font-size:13px}.receipt-80mm{width:302px}.receipt-a5{width:430px;min-height:608px;padding:34px;font-size:13px}.receipt-a4{width:595px;min-height:760px;padding:48px;font-size:14px}.receipt-a5 .receipt-brand,.receipt-a4 .receipt-brand{font-size:28px}.receipt-a5 .receipt-row,.receipt-a4 .receipt-row{grid-template-columns:minmax(0,1fr) 70px 90px 90px;padding:9px 0}.receipt-a4 .receipt-meta{grid-template-columns:1fr 1fr}.receipt-a4 .receipt-total{margin-left:auto;width:310px}.receipt-a4 .receipt-sign{margin-top:72px}@media(max-width:1200px){.receipt-plan-list{grid-template-columns:repeat(2,1fr)}.receipt-layout{grid-template-columns:1fr}.receipt-preview-stage{justify-content:flex-start}}@media print{body *{visibility:hidden}.receipt-preview,.receipt-preview *{visibility:visible}.receipt-preview{position:absolute;left:0;top:0;box-shadow:none;border:0}.receipt-54mm{width:54mm}.receipt-80mm{width:80mm}.receipt-a5{width:148mm;min-height:210mm}.receipt-a4{width:210mm;min-height:297mm}}

/* Parameter settings: organization-aware store directory */
.store-access-scope{display:grid;grid-template-columns:1fr auto;gap:14px 22px;align-items:start;margin-bottom:16px;padding:22px;border-left:4px solid var(--primary)}
.store-access-scope h4{margin:4px 0 6px;font-size:20px}.store-access-scope p{margin:0;color:var(--muted);line-height:1.65}
.store-parent-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.store-parent-cards article{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.store-parent-cards article span,.store-parent-cards article small{color:var(--muted)}.store-parent-cards article b{font-size:16px}
.store-readonly-note{display:block;margin-top:16px;padding:11px 12px;border-radius:10px;background:var(--soft);color:var(--muted);text-align:center}
.applicable-store-picker{grid-column:1/-1;display:block;min-width:0;margin:4px 0;padding:14px 16px 16px;border:1px solid var(--stroke,var(--line));border-radius:12px;background:var(--surface-2,#f8fbfc);color:var(--ink,var(--text));overflow:hidden;isolation:isolate}
.applicable-store-picker-title{margin:0 0 11px;font-size:14px;font-weight:700;line-height:1.4;color:var(--ink,var(--text))}
.applicable-store-picker-title i{color:#e24b55;font-style:normal}
.applicable-store-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--sub,var(--muted));font-size:13px}
.applicable-store-picker-head label{display:inline-flex!important;flex:0 0 auto;align-items:center!important;gap:7px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;cursor:pointer;font-weight:600;color:var(--ink,var(--text))}
.applicable-store-picker-head input{flex:0 0 auto;width:16px!important;height:16px!important;margin:0!important;accent-color:var(--brand,#159d91)}
.applicable-store-picker-head label span{display:inline!important;width:auto!important;color:inherit!important;white-space:nowrap}
.applicable-store-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:9px;min-width:0}
.applicable-store-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;min-width:0;min-height:44px!important;margin:0!important;padding:10px 12px!important;border:1px solid var(--stroke,var(--line))!important;border-radius:9px;background:var(--surface,#fff)!important;cursor:pointer}
.applicable-store-option:has(input:checked){border-color:var(--brand,#159d91)!important;background:var(--brand-soft,#edf9f7)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand,#159d91) 20%,transparent)}

/* Accessible organization parent picker */
.organization-parent-picker{position:relative}.organization-parent-combobox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.organization-parent-combobox input{min-width:0}.organization-parent-combobox button{padding-inline:13px}.organization-parent-selected{display:block;padding:9px 11px;border:1px solid var(--stroke,var(--line));border-radius:9px;background:var(--brand-soft,var(--soft));color:var(--ink,var(--text));font-size:13px;line-height:1.45}.organization-parent-listbox{position:absolute;z-index:80;top:calc(100% - 25px);left:0;right:0;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--stroke,var(--line));border-radius:12px;background:var(--surface,#fff);box-shadow:0 16px 40px #0002}.organization-parent-listbox button{display:grid;width:100%;gap:3px;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink,var(--text));text-align:left}.organization-parent-listbox button:hover,.organization-parent-listbox button.active{background:var(--brand-soft,var(--soft));outline:2px solid color-mix(in srgb,var(--brand) 30%,transparent)}.organization-parent-listbox button small{color:var(--sub,var(--muted));line-height:1.45}.organization-parent-listbox button[aria-selected=true] b{color:var(--brand)}.organization-parent-empty{margin:0;padding:16px;text-align:center;color:var(--sub,var(--muted))}
.applicable-store-option input{width:16px!important;height:16px;margin:0;accent-color:#159d91}
.applicable-store-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;color:var(--ink,var(--text))!important}
.applicable-store-option small{color:var(--sub,var(--muted))!important;white-space:nowrap}
.applicable-store-note{display:block;margin-top:10px;color:var(--sub,var(--muted))!important;line-height:1.5}
.applicable-store-empty{margin:0;color:#c0444d}
.store-record-nav .store-organization-back{display:inline-flex;align-items:center;gap:7px;border-color:color-mix(in srgb,var(--brand) 48%,var(--stroke));background:var(--brand-soft);color:var(--brand);font-weight:750}.store-record-nav .store-organization-back:hover,.store-record-nav .store-organization-back:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.store-organization-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.store-record-nav .store-organization-back+button{background:var(--surface);color:var(--ink)}
@media(max-width:760px){.applicable-store-picker-head{align-items:flex-start;flex-direction:column}.applicable-store-options{grid-template-columns:1fr}}
.project-image-preview{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.project-image-preview img{width:76px;height:76px;object-fit:cover;border:1px solid var(--line);border-radius:8px}
.project-detail-images{padding:20px 22px 0}
.project-detail-images h4{margin:0 0 12px}
.project-detail-images>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.project-detail-images img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:#f5f7f7}
.staff-avatar{display:inline-grid;place-items:center;overflow:hidden;object-fit:cover;border-radius:50%;background:linear-gradient(145deg,#d9f3ee,#b9ddd8);color:#126e65;font-weight:800;border:2px solid #fff;box-shadow:0 0 0 1px var(--stroke)}
.staff-avatar.list{width:46px;height:46px}.staff-avatar.editor{width:92px;height:92px;font-size:28px}
.staff-avatar-editor>div{display:flex;align-items:center;gap:14px;margin-top:8px}.staff-avatar-editor input{width:auto}.staff-avatar-editor>small,.staff-photo-editor>small{display:block;margin-top:8px;color:var(--sub)}
.staff-photo-editor>#staffPhotoPreview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:9px 0}
.staff-photo-editor>#staffPhotoPreview:empty{display:none}.staff-photo-editor img{display:block;width:100%;height:150px;object-fit:cover;border:1px solid var(--stroke);border-radius:12px;background:var(--surface-2)}
.staff-photo-editor input{margin-top:8px}
.staff-stars{display:inline-block;color:#f3ad18;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 0 rgba(126,80,0,.12)}
.account-form-grid textarea{width:100%;min-height:110px;margin-top:7px;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-2);color:var(--ink);font:inherit;resize:vertical;box-sizing:border-box}
.toast{position:fixed;z-index:100000;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;min-width:280px;max-width:min(520px,calc(100vw - 32px));background:#263238f2;color:#fff;padding:16px 22px;border-radius:10px;box-shadow:0 12px 42px #0005;text-align:left}
.toast>b{grid-row:1 / span 2;font-size:22px;color:#72e3c5}
.toast>span{display:block;font-size:16px;font-weight:700;line-height:1.4}
.toast>small{display:block;margin-top:2px;color:#d7e3e6;font-size:13px;line-height:1.35}

/* Product management: controls on the left, results on the right. */
.product-source-page{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start;overflow:visible}
.product-source-control{position:sticky;top:calc(var(--quiet-primary-height,64px) + var(--quiet-secondary-height,104px) + 70px);min-width:0;max-height:calc(100vh - 254px);padding:15px;border:1px solid var(--stroke,#dce8e4);border-radius:12px;background:var(--surface-2,#f5faf9);overflow:auto;scrollbar-width:thin}
.product-source-control-title{margin:0 0 14px;padding:0 2px 13px;border-bottom:1px solid var(--stroke,#dce8e4)}
.product-source-control-title small,.product-source-results-title small{display:block;margin-bottom:4px;color:var(--brand,#18ad90);font-size:10px;font-weight:800;letter-spacing:.14em}
.product-source-control-title h3,.product-source-results-title h3{margin:0;color:var(--ink,#1d3430);font-size:18px}
.product-source-control-title span,.product-source-results-title>span{display:block;margin-top:5px;color:var(--sub,#6f817d);font-size:11px}
.product-source-control .product-source-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.product-source-control .product-source-toolbar button{width:100%;min-width:0;min-height:38px;margin:0;padding:8px 9px;white-space:normal}
.product-source-control .product-source-toolbar .primary,.product-source-control .product-source-toolbar button:nth-child(5){grid-column:1/-1}
.product-source-control .product-source-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:12px}
.product-source-control .product-source-filters>select,.product-source-control .product-source-filters>input{grid-column:1/-1;width:100%;min-height:38px}
.product-source-control .product-source-filters>button{width:100%;min-height:36px;margin:0}
.product-source-control .product-source-batch{display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding-top:12px;border-top:1px solid var(--stroke,#dce8e4)}
.product-source-control .product-source-batch button{width:100%;min-height:36px;margin:0;text-align:left}
.product-source-results{min-width:0;padding:15px;border:1px solid var(--stroke,#dce8e4);border-radius:12px;background:var(--surface,#fff)}
.product-source-results-title{min-height:46px;margin:0 0 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.product-source-results-title>span{margin-top:20px;white-space:nowrap}
.product-source-results #productSourceTable{min-width:0}
.product-source-results .product-source-pager{margin-bottom:0}
@media(max-width:1220px){
 .product-source-page{grid-template-columns:1fr}
 .product-source-control{position:static;max-height:none;display:grid;grid-template-columns:220px minmax(280px,1fr) minmax(190px,.7fr);gap:12px;align-items:start}
 .product-source-control-title{margin:0;padding:2px 12px 2px 2px;border:0;border-right:1px solid var(--stroke,#dce8e4)}
 .product-source-control .product-source-toolbar,.product-source-control .product-source-filters,.product-source-control .product-source-batch{margin:0}
 .product-source-control .product-source-batch{padding:0 0 0 12px;border-top:0;border-left:1px solid var(--stroke,#dce8e4)}
}
@media(max-width:860px){
 .product-source-control{display:block}
 .product-source-control-title{margin-bottom:12px;padding:0 0 12px;border-right:0;border-bottom:1px solid var(--stroke,#dce8e4)}
 .product-source-control .product-source-toolbar,.product-source-control .product-source-filters{margin-bottom:12px}
 .product-source-control .product-source-batch{padding:12px 0 0;border-left:0;border-top:1px solid var(--stroke,#dce8e4)}
}

/* Project package/card specifications: make the total session count explicit. */
.source-project-section>header>div{display:grid;gap:3px}
.source-project-section>header small{color:var(--muted);font-weight:400}
.source-card-table{min-width:1040px}
.source-card-table .card-type-head,.source-card-table .card-type-cell{width:84px;min-width:84px;max-width:84px}.source-card-table .card-type{width:84px;min-width:84px;padding-left:7px;padding-right:24px}
.source-card-table .card-count-head,.source-card-table .card-count-cell{width:86px;min-width:86px;max-width:86px}.source-card-table .card-count-field{display:grid;grid-template-columns:62px 18px;align-items:center;gap:4px;width:84px;min-width:84px}.source-card-table .card-count{min-width:0;padding-left:7px;padding-right:5px}
.source-card-table .card-count-field span{color:var(--muted);font-weight:700}
.source-card-table .card-count.invalid{border-color:#ef5d67!important;box-shadow:0 0 0 2px rgb(239 93 103 / 18%)}
.source-card-table .card-unit{min-width:112px}
.ai-dashboard-context{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line,#d8e3de);border-radius:12px;background:#f3faf7}
.ai-dashboard-context header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ai-dashboard-context p,.ai-dashboard-context small{display:block;margin:7px 0 0;color:#52665e}
.ai-dashboard-context details{margin-top:8px}.ai-dashboard-context pre{white-space:pre-wrap;margin:8px 0 0}
