*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;color:#0f172a;background:#f1f5f9}
a{color:inherit;text-decoration:none;cursor:pointer}
/* ===== bar: identical to bar-demo-v5 ===== */
#hk{position:fixed;top:0;left:0;right:0;z-index:1000}
.login #hk{display:none}
.b1{height:44px;background:#000;color:#fff;display:flex;align-items:center;padding:0 12px;font-weight:600;font-size:13px;letter-spacing:.04em}
.hawk{width:24px;height:24px;border-radius:5px;background:linear-gradient(135deg,#f5b73b,#b7791f);display:grid;place-items:center;color:#000;font-weight:900;font-size:12px;margin-right:10px;cursor:pointer}
.hawk.on{box-shadow:0 0 0 2px #f5b73b}
.b1 .ap{padding:0 11px;height:44px;display:flex;align-items:center}.b1 .ap:hover{color:#f5b73b}.b1 .ap.on{color:#f5b73b;box-shadow:inset 0 -2px #f5b73b}
.sp{flex:1}.car{font-size:9px;margin-left:4px;opacity:.8}
.dd{position:relative;display:flex;align-items:stretch}.dd>.bt{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;display:flex;align-items:center;gap:6px;padding:0 11px;cursor:pointer;height:100%}
.b1 .dd>.bt{height:44px}.b1 .dd>.bt:hover{color:#f5b73b}.b1 .dd>.bt.on{color:#f5b73b;box-shadow:inset 0 -2px #f5b73b}
.menu{display:none;position:absolute;top:100%;left:0;background:#fff;color:#0f172a;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.22);min-width:200px;padding:6px;letter-spacing:0;font-weight:500;z-index:1001}
.menu.r{left:auto;right:0}.dd.open>.menu{display:block}
.mi{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;border:0;background:none;padding:9px 10px;border-radius:6px;font:500 13px inherit;font-family:inherit;cursor:pointer;color:#0f172a;text-align:left;white-space:nowrap}
.mi:hover{background:#f1f5f9}.mi small{color:#64748b;font-size:11px}.mh{font-size:11px;color:#64748b;padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.ue{padding:2px 10px;font-weight:600}.un{padding:0 10px 6px;color:#64748b;font-size:12.5px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}
.user{display:flex;align-items:center;gap:8px;font-weight:500;letter-spacing:0;border-left:1px solid #222;border-right:1px solid #222;margin:8px 0;height:28px!important}
.av{width:24px;height:24px;border-radius:50%;background:#f5b73b;color:#000;display:grid;place-items:center;font-weight:800;font-size:11px}
.en1{background:#f5b73b;color:#111;border:0;border-radius:6px;font:700 12px inherit;font-family:inherit;cursor:pointer;padding:5px 10px;margin:0 6px;white-space:nowrap}.en1:hover{background:#fff}
.lo{background:none;border:0;color:#fff;font:600 13px inherit;font-family:inherit;cursor:pointer;padding:0 12px;height:44px;white-space:nowrap}.lo:hover{color:#f5b73b}
.b2{height:38px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:stretch;padding:0 8px;font-weight:600;font-size:12.5px;letter-spacing:.04em;color:#1e293b}
.b2 .ap,.b2 .dd>.bt{display:flex;align-items:center;padding:0 10px;border-right:1px solid #eef2f7;white-space:nowrap}
.b2 .ap.on,.b2 .dd>.bt.on{color:#b45309;box-shadow:inset 0 -2px #b45309}
.b2 .ap:hover,.b2 .dd>.bt:hover{color:#b45309}
.gear{border:0!important}
#page{padding-top:82px;position:relative;min-height:100vh}
.login #page{padding-top:0}
#wm{position:fixed;inset:82px 0 0 0;pointer-events:none;z-index:500;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='240'%3E%3Ctext x='50%25' y='55%25' text-anchor='middle' font-family='Arial,sans-serif' font-size='72' font-weight='900' fill='%23ef4444' fill-opacity='0.13' transform='rotate(-30 180 120)'%3EDEMO%3C/text%3E%3C/svg%3E")}
.login #wm{inset:0}

/* ===== SGO v2: Google Sheets look, system fonts only ===== */
body{background:#f9fbfd;overflow:hidden;display:flex;flex-direction:column;height:100vh}
#app{flex:1;min-height:0;display:flex;flex-direction:column}
#page{padding-top:0;height:auto;flex:1;min-height:0;display:flex;flex-direction:column}
.login #page{padding-top:0}
.ds{background:#f8fafc;border-bottom:1px solid #e2e8f0}
.ds .b{border-color:#dadce0}
.en1{background:#f5b73b;color:#111;border:0;border-radius:6px;font:700 12px inherit;font-family:inherit;cursor:pointer;padding:5px 10px;margin:0 6px;white-space:nowrap}
.en1:hover{background:#fff3c4}
.ic{width:20px;height:20px;flex:none;fill:currentColor}.ic .s{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ic .s.b{stroke-width:2.4}.ic .s.d{stroke-dasharray:1.6 2.2;stroke-width:1.3}
/* demo strip */
.ds{flex:none;height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#fff8e1;border-bottom:1px solid #f1d78a;font:500 12.5px system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:#3c3c3c;white-space:nowrap;overflow:hidden}
.ds .tag{background:#ef4444;color:#fff;font-weight:800;font-size:10.5px;letter-spacing:.08em;border-radius:4px;padding:2px 6px}
.ds .seg{display:inline-flex;border:1px solid #d6c27a;border-radius:7px;overflow:hidden}.ds .seg button{border:0;background:#fff;padding:4px 10px;font:600 12px inherit;font-family:inherit;cursor:pointer;color:#3c3c3c}.ds .seg button.on{background:#3c3c3c;color:#fff}
.ds .b{padding:4px 10px;border-radius:7px;border:1px solid #d6c27a;background:#fff;font:600 12px inherit;font-family:inherit;cursor:pointer;color:#222}.ds .b:hover{background:#fffbeb}
.ds .b.pri{background:#0f9d58;border-color:#0f9d58;color:#fff}.ds .b.red{color:#b3261e;border-color:#f2b8b5}.ds .b.grn{background:#188038;border-color:#188038;color:#fff}
.ds .stt{display:flex;align-items:center;gap:6px;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px #dcfce7}.dot.off{background:#dc2626;box-shadow:0 0 0 3px #fee2e2}.dot.busy{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7;animation:pl .7s infinite alternate}@keyframes pl{to{opacity:.35}}
.ds .net{margin-left:auto;display:flex;gap:6px}.ds .net span{border:1px solid #e5d9a8;border-radius:999px;padding:2px 9px;background:#fff}.ds .net .g0 b{color:#16a34a}
.cnb{flex:none;display:none;align-items:center;gap:12px;padding:6px 12px;background:#e6f4ea;border-bottom:1px solid #b7dfc3;font:13px system-ui,sans-serif;color:#0d3b1e}.cnb.show{display:flex}
.cnb .big{font:800 22px system-ui,sans-serif;color:#188038;display:flex;align-items:baseline;gap:6px}.cnb .big small{font-size:12px;font-weight:600}
.cnb b{margin-right:6px}
/* layout */
.wrap{flex:1;display:flex;min-height:0;position:relative}
.wrap.split .ed{flex:1 1 0}.wrap .ed.g{display:none}.wrap.split .ed.g{display:flex}
.lane{display:none;flex:none;width:26px;background:#eef1f4;position:relative;border-left:1px solid #dadce0;border-right:1px solid #dadce0}.wrap.split .lane{display:block}
.lane .rail{position:absolute;left:12px;top:0;bottom:0;width:2px;background:repeating-linear-gradient(#9aa0a6 0 6px,transparent 6px 12px)}.lane.off .rail{background:repeating-linear-gradient(#ea4335 0 6px,transparent 6px 12px);opacity:.5}
.lane .lbl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);font:700 10px system-ui;color:#5f6368;letter-spacing:.1em;text-transform:uppercase;background:#eef1f4;padding:0 6px;white-space:nowrap}
.lane .x{display:none;position:absolute;top:calc(50% + 40px);left:4px;color:#d93025;font:700 14px system-ui}.lane.off .x{display:block}
.pkt{position:absolute;left:5px;width:16px;height:16px;border-radius:50%;background:#0f9d58;box-shadow:0 0 0 3px rgba(15,157,88,.25);top:45%}
.pkt.lr{animation:lr .6s ease-in-out forwards}.pkt.rl{animation:rl .6s ease-in-out forwards;background:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.25)}
@keyframes lr{from{transform:translateX(-14px);opacity:0}50%{opacity:1}to{transform:translateX(14px);opacity:0}}@keyframes rl{from{transform:translateX(14px);opacity:0}50%{opacity:1}to{transform:translateX(-14px);opacity:0}}
.logp{flex:none;height:170px;border-top:1px solid #dadce0;background:#fff;display:none;flex-direction:column;font:12.5px system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans CJK SC",sans-serif}.logp.show{display:flex}
.logp .lh{display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid #eee}.logp .lh b{font-size:13px}.logp .lh small{color:#5f6368}.logp .lh button{margin-left:auto}
.logp .lb{overflow:auto;flex:1}.logp table{width:100%;border-collapse:collapse}.logp th,.logp td{text-align:left;padding:3px 10px;border-bottom:1px solid #f1f3f4;white-space:nowrap}.logp th{color:#5f6368;font-weight:600;position:sticky;top:0;background:#fff}
.logp .side{font-weight:700;font-size:11px;padding:1px 6px;border-radius:4px}.logp .side.g{background:#e8f0fe;color:#1a56c4}.logp .side.s{background:#e6f4ea;color:#137333}
.logp .old{color:#a50e0e;text-decoration:line-through}.logp .new{color:#137333;font-weight:600}.logp .emp{padding:14px;color:#5f6368}.logp .rule{padding:4px 12px;color:#5f6368;border-top:1px solid #eee}
.sp_{font-weight:600;font-size:11.5px;padding:1px 7px;border-radius:999px;background:#f1f3f4}.sp_.synced,.sp_.resynced{background:#e6f4ea;color:#137333}.sp_.pending{background:#fef7e0;color:#b06000}.sp_.queued{background:#fce8e6;color:#a50e0e}.sp_.won{background:#e8f0fe;color:#1a56c4}.sp_.lost{background:#f1f3f4;color:#5f6368}
/* editor (Sheets look) */
.ed{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:#f9fbfd;font-family:Roboto,Arial,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:#1f1f1f;position:relative}
.cap{display:none;flex:none;height:24px;align-items:center;gap:8px;padding:0 10px;font:600 11.5px system-ui,sans-serif;color:#fff;background:#5f6368;white-space:nowrap;overflow:hidden}.wrap.split .cap{display:flex}.ed.s .cap{background:#0f9d58}.cap small{font-weight:500;opacity:.9}.cap .who{margin-left:auto}
.ed.off.g .cap{background:#b3261e}
.trow{flex:none;display:flex;align-items:center;padding:6px 16px 0 10px;height:64px;gap:4px}
.trow .logo{width:40px;height:40px;flex:none;margin-right:6px}
.tcol{display:flex;flex-direction:column;min-width:0;flex:1}
.tline{display:flex;align-items:center;gap:2px;height:28px}
.title{font-size:18px;color:#1f1f1f;border:1px solid transparent;border-radius:4px;padding:1px 6px;outline:0;background:transparent;font-family:inherit;min-width:40px;max-width:320px;width:auto}
.title:hover{border-color:#c4c7c5}.title:focus{border-color:#0b57d0;border-width:2px;padding:0 5px}
.tib{width:32px;height:28px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:#444746;cursor:pointer;padding:0}.tib:hover{background:rgba(68,71,70,.08)}
.mbar{display:flex;align-items:center;height:26px;margin-left:-1px}
.mbar>button{border:0;background:none;font:14px inherit;font-family:inherit;color:#1f1f1f;padding:2px 7px;border-radius:4px;cursor:pointer;height:24px}.mbar>button:hover,.mbar>button.open{background:rgba(68,71,70,.08)}
.trr{display:flex;align-items:center;gap:4px;flex:none}
.rib{width:40px;height:40px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:#444746;cursor:pointer}.rib:hover{background:rgba(68,71,70,.08)}.rib .ic{width:24px;height:24px}
.share{display:flex;align-items:center;height:40px;border-radius:20px;background:#c2e7ff;color:#001d35;overflow:hidden;margin-left:4px}
.share button{border:0;background:none;color:inherit;font:500 14px inherit;font-family:inherit;height:40px;display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 14px 0 16px}.share button:hover{background:rgba(0,29,53,.08)}.share .sc{padding:0 10px;border-left:1px solid rgba(0,29,53,.18)}.share .ic{width:18px;height:18px}
.av2{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font:600 14px Roboto,Arial,sans-serif;margin-left:10px;flex:none}
/* toolbar */
.tbar{flex:none;margin:6px 8px 8px;height:40px;background:#edf2fa;border-radius:24px;display:flex;align-items:center;padding:0 8px;gap:1px;position:relative;min-width:0}
.tbar .ti{flex:none;height:28px;min-width:28px;border:0;background:none;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:2px;color:#444746;cursor:pointer;padding:0 3px;font:14px inherit;font-family:inherit}
.tbar .ti:hover{background:rgba(68,71,70,.08)}.tbar .ti.on{background:#d3e3fd;color:#041e49}.tbar .ti .ic{width:20px;height:20px}.tbar .ti .cr{width:16px;height:16px;margin-left:-3px}
.tbar .sep{flex:none;width:1px;height:20px;background:#c7c7c7;margin:0 4px}
.tbar .menus{padding:0 10px 0 6px;gap:6px;color:#1f1f1f;background:#fff;border-radius:16px;height:28px;margin-right:4px}.tbar .menus .ic{width:18px;height:18px}
.tbar .txt{font-size:14px;color:#444746;padding:0 6px}.tbar .num{font-size:13px;letter-spacing:-.02em;font-weight:500}
.tbar .font{width:96px;justify-content:space-between;padding:0 4px 0 8px;overflow:hidden;white-space:nowrap}.tbar .font span{overflow:hidden;text-overflow:ellipsis}
.tbar .fsz{display:flex;align-items:center;flex:none}.tbar .fsz input{width:34px;height:24px;border:1px solid #747775;border-radius:4px;text-align:center;font:14px inherit;font-family:inherit;color:#1f1f1f;background:transparent;margin:0 2px}
.tbar .tc{flex-direction:column;gap:0;padding-top:2px}.tbar .tc .bar_{width:18px;height:4px;margin-top:-3px;border-radius:1px}
.tbar .ovf{margin-left:auto}.tbar .hide{flex:none;margin-left:auto}
.tbar .ovf+.hide{margin-left:4px}
/* formula bar */
.fbar{flex:none;display:flex;align-items:center;height:30px;background:#fff;border-top:1px solid #c4c7c5;border-bottom:1px solid #c4c7c5;font-size:14px}
.fbar.hid{display:none}
.nbox{width:96px;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 10px;border-right:1px solid #c4c7c5;color:#1f1f1f;font-size:14px}.nbox input{width:60px;border:0;outline:0;font:inherit;background:transparent}.nbox .ic{width:16px;height:16px;color:#444746}
.fxl{padding:0 8px 0 12px;color:#444746;font:italic 15px Georgia,"Times New Roman",serif;border-right:1px solid #c4c7c5;height:100%;display:flex;align-items:center;width:38px}
.fbar .fxi{flex:1;border:0;outline:0;font:14px Arial,"Noto Sans CJK SC",sans-serif;padding:0 10px;height:100%;color:#1f1f1f;background:transparent}
/* grid */
.gw{flex:1;overflow:auto;position:relative;background:#fff;outline:0;min-height:0}
.gz{position:relative;width:max-content}
.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font:13.3333px Arial,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:#000;user-select:none}
.grid td{height:21px;max-height:21px;padding:0 3px;border-right:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;white-space:nowrap;overflow:hidden;vertical-align:bottom;line-height:17px;box-sizing:border-box;position:relative}
.grid.nogl td{border-color:transparent}
.grid td.ov{overflow:visible}.grid td.n{text-align:right}.grid td.bo{text-align:center}.grid td.wr{white-space:normal;word-break:break-word;height:auto;max-height:none}
.grid td.er::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 6px 6px 0;border-color:transparent #d93025 transparent transparent}
.grid th{background:#f8f9fa;color:#444746;font:500 11px Roboto,Arial,sans-serif;border-right:1px solid #c4c7c5;border-bottom:1px solid #c4c7c5;padding:0;position:sticky;z-index:4;box-sizing:border-box}
.grid th.ch{top:0;height:24px;text-align:center}.grid th.rh{left:0;width:46px;text-align:center;font-size:11px}
.grid th.cor{top:0;left:0;z-index:6;width:46px;height:24px;border-right:4px solid #c4c7c5;border-bottom:4px solid #c4c7c5}
.grid th.hs{background:#d3e3fd;color:#041e49;font-weight:700}.grid th.ha{background:#0b57d0;color:#fff}
.grid td.fz{position:sticky;z-index:2;background:#fff}
.grid td.fzb{box-shadow:inset 0 -3px 0 #c4c7c5}.grid td.fzr{box-shadow:inset -3px 0 0 #c4c7c5}
.grid tr.fhd td{background:#e6f4ea}
.grid td .fb{position:absolute;right:2px;bottom:2px;width:15px;height:15px;border-radius:3px;background:#188038;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:1}.grid td .fb .ic{width:12px;height:12px}
.grid td .fb.act{background:#0b57d0}
.grid td input.cb{margin:0;width:14px;height:14px;accent-color:#0b57d0;vertical-align:middle;cursor:pointer}
.grid td.cbc{text-align:center}
.grid .fl{animation:fl 1.2s ease-out}@keyframes fl{0%{background:#fde293}100%{background:transparent}}
.sel{position:absolute;pointer-events:none;z-index:3;border:1px solid #0b57d0;background:rgba(11,87,208,.08)}
.acb{position:absolute;pointer-events:none;z-index:3;border:2px solid #0b57d0}
.fh{position:absolute;width:7px;height:7px;background:#0b57d0;border:1px solid #fff;z-index:5;cursor:crosshair;box-sizing:content-box}
.fillp{position:absolute;pointer-events:none;z-index:3;border:1px dashed #5f6368}
.paintp{position:absolute;pointer-events:none;z-index:3;border:1px dashed #0b57d0}
.cedit{position:absolute;z-index:7;border:2px solid #0b57d0;background:#fff;font:13.3333px Arial,"Noto Sans CJK SC",sans-serif;padding:1px 2px;outline:0;box-shadow:0 2px 6px rgba(60,64,67,.3);resize:none;overflow:hidden;white-space:pre;line-height:17px}
.acp{position:absolute;z-index:8;background:#fff;border-radius:4px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15),0 1px 2px rgba(60,64,67,.3);padding:6px 0;font:13px Roboto,Arial,sans-serif;min-width:200px}
.acp div{padding:4px 14px;cursor:pointer}.acp div.on,.acp div:hover{background:#e8f0fe}.acp b{color:#0b57d0}
.wm{position:absolute;inset:0;pointer-events:none;z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='200'%3E%3Ctext x='50%25' y='55%25' text-anchor='middle' font-family='Arial,sans-serif' font-size='60' font-weight='900' fill='%23ef4444' fill-opacity='0.10' transform='rotate(-30 150 100)'%3EDEMO%3C/text%3E%3C/svg%3E")}
/* bottom tabs */
.btm{flex:none;height:40px;display:flex;align-items:center;background:#f9fbfd;padding:0 8px;gap:2px;border-top:1px solid #e1e3e1}
.btm .bb{width:32px;height:32px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:#444746;cursor:pointer;flex:none}.btm .bb:hover{background:rgba(68,71,70,.08)}
.tabs{display:flex;align-items:center;gap:2px;overflow:hidden;min-width:0;margin-left:6px}
.tab{flex:none;height:32px;display:flex;align-items:center;gap:4px;padding:0 6px 0 14px;border-radius:6px 6px 0 0;border:0;background:none;color:#444746;font:500 14px inherit;font-family:inherit;cursor:pointer;position:relative;white-space:nowrap}
.tab:hover{background:rgba(68,71,70,.08)}.tab.on{background:#e1e9f7;color:#0b57d0}.tab .ic{width:18px;height:18px}.tab .tcl{position:absolute;left:8px;right:8px;bottom:0;height:3px;border-radius:2px}
.tab input{font:inherit;width:110px;border:1px solid #0b57d0;border-radius:3px;padding:2px 4px;outline:0}
.sumi{margin-left:auto;flex:none;display:flex;align-items:center;gap:4px;height:32px;padding:0 6px 0 12px;border:1px solid #c4c7c5;border-radius:6px;background:#fff;font:500 13px inherit;font-family:inherit;color:#1f1f1f;cursor:pointer}.sumi .ic{width:16px;height:16px}
/* menus */
#menus{position:fixed;inset:0;z-index:2000;pointer-events:none}
.gm{position:fixed;background:#fff;border-radius:4px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15),0 1px 3px rgba(60,64,67,.3);padding:6px 0;min-width:260px;font:14px Roboto,Arial,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:#1f1f1f;pointer-events:auto;max-height:calc(100vh - 20px);overflow-y:auto}
.gm .it{display:flex;align-items:center;height:32px;padding:0 14px 0 8px;cursor:pointer;white-space:nowrap;position:relative;gap:0}
.gm .it:hover,.gm .it.hov{background:rgba(31,31,31,.08)}.gm .it.dis{color:#9aa0a6;cursor:default}.gm .it.dis:hover{background:none}
.gm .it .ii{width:36px;display:grid;place-items:center;color:#444746;flex:none}.gm .it .ii .ic{width:20px;height:20px}
.gm .it .lb{flex:1;padding-right:24px}.gm .it .kb{color:#5f6368;font-size:13px;margin-left:16px}.gm .it .ar{color:#444746}.gm .it .ar .ic{width:18px;height:18px}
.gm .sepm{height:1px;background:#e3e3e3;margin:6px 0}
.gm .hd2{padding:6px 16px;color:#5f6368;font-size:12px}
.gm .msearch{margin:2px 10px 6px;display:flex;align-items:center;gap:8px;height:34px;border-radius:17px;background:#edf2fa;padding:0 12px;color:#444746}.gm .msearch input{border:0;outline:0;background:transparent;font:inherit;flex:1}
.pal{padding:8px 12px}.pal .pr{display:flex;gap:4px;margin-bottom:4px}.pal .pr.gap{margin-bottom:10px}.pal span{width:18px;height:18px;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.pal span:hover{transform:scale(1.15);box-shadow:0 0 0 1px #444746}
.pal .rs{display:flex;align-items:center;gap:8px;padding:4px 2px 10px;cursor:pointer;font-size:14px}.pal .rs:hover{color:#0b57d0}
.bgrid{display:grid;grid-template-columns:repeat(5,32px);gap:2px;padding:8px}.bgrid button{width:32px;height:32px;border:0;background:none;border-radius:4px;color:#444746;cursor:pointer;display:grid;place-items:center}.bgrid button:hover{background:rgba(68,71,70,.08)}
.agrid{display:flex;gap:2px;padding:6px 8px}.agrid button{width:32px;height:32px;border:0;background:none;border-radius:4px;color:#444746;cursor:pointer;display:grid;place-items:center}.agrid button:hover,.agrid button.on{background:#d3e3fd}
/* dialogs */
.dlgb{position:fixed;inset:0;background:rgba(32,33,36,.6);z-index:2100;display:grid;place-items:center}
.dlg{background:#fff;border-radius:8px;box-shadow:0 24px 38px rgba(0,0,0,.2);width:460px;max-width:94vw;font:14px Roboto,Arial,"Noto Sans CJK SC",sans-serif;color:#1f1f1f;padding:22px 24px}
.dlg h3{font:400 22px Roboto,Arial,"Noto Sans CJK SC",sans-serif;margin:0 0 18px;display:flex;align-items:center}.dlg h3 .x{margin-left:auto;border:0;background:none;font-size:20px;cursor:pointer;color:#444746}
.dlg .row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;margin-bottom:12px}.dlg input[type=text],.dlg select{height:34px;border:1px solid #c4c7c5;border-radius:4px;padding:0 8px;font:inherit}
.dlg label.ck{display:flex;align-items:center;gap:8px;margin:6px 0 6px 120px}
.dlg .ft{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.dlg .msg{margin-right:auto;color:#137333;font-size:13px;align-self:center}
.gbtn{height:36px;padding:0 20px;border-radius:18px;border:1px solid #747775;background:#fff;color:#0b57d0;font:500 14px inherit;font-family:inherit;cursor:pointer}.gbtn.pri{background:#0b57d0;color:#fff;border-color:#0b57d0}.gbtn:hover{filter:brightness(.96)}
.fpop{position:fixed;z-index:2050;background:#fff;border-radius:4px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15),0 1px 3px rgba(60,64,67,.3);width:260px;font:14px Roboto,Arial,"Noto Sans CJK SC",sans-serif;padding:8px 0}
.fpop .it{padding:7px 16px;cursor:pointer}.fpop .it:hover{background:rgba(31,31,31,.08)}.fpop .fv{padding:6px 16px}.fpop .fv .lk{color:#0b57d0;cursor:pointer;margin-right:10px;font-size:13px}
.fpop .vl{max-height:170px;overflow:auto;border-top:1px solid #eee;margin-top:6px;padding-top:4px}.fpop .vl label{display:flex;gap:8px;align-items:center;padding:3px 0}
.fpop .ft{display:flex;justify-content:flex-end;gap:8px;padding:8px 16px 4px}
#toast{position:fixed;left:24px;bottom:24px;background:#1f1f1f;color:#f2f2f2;padding:12px 18px;border-radius:4px;font:14px Roboto,Arial,"Noto Sans CJK SC",sans-serif;opacity:0;transform:translateY(10px);transition:.15s;z-index:3000;pointer-events:none;max-width:560px}#toast.show{opacity:1;transform:none}
.tip{position:fixed;background:#3c4043;color:#fff;font:12px Roboto,Arial,"Noto Sans CJK SC",sans-serif;padding:4px 8px;border-radius:4px;z-index:3001;pointer-events:none;white-space:nowrap}
/* connect modal from v1 */
.mb{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:2200;align-items:center;justify-content:center}.mb.show{display:flex}
.md{background:#fff;border-radius:12px;width:470px;max-width:94vw;box-shadow:0 30px 60px rgba(0,0,0,.3);font:14px system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans CJK SC",sans-serif;overflow:hidden}
.md h3{margin:0;padding:16px 18px;border-bottom:1px solid #eee;font-size:17px}.md .bd{padding:14px 18px}.md .st{font-weight:700}.md .ds_{color:#5f6368;font-size:12.5px;margin:4px 0 10px}
.md .gs{display:flex;align-items:center;gap:10px;border:1px solid #c4c7c5;border-radius:8px;background:#fff;padding:9px 14px;cursor:pointer;font:600 13px inherit;font-family:inherit}.md .gs .gl{width:16px;height:16px;border-radius:50%;background:#5f6368}
.md .ok{color:#137333;font-weight:600}.md .pk{position:relative;border:1px solid #e3e3e3;border-radius:8px;padding:6px}.md .pk.dis{opacity:.45;pointer-events:none}
.md .pk label{display:flex;align-items:center;gap:8px;padding:6px}.md .pk label small{margin-left:auto;color:#5f6368}
.md .ft{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid #eee;align-items:center}.md .ft .er{margin-right:auto;color:#b3261e;font-size:12.5px}
.md .btn{padding:7px 14px;border-radius:8px;border:1px solid #c4c7c5;background:#fff;font:600 13px inherit;font-family:inherit;cursor:pointer}.md .btn.pri{background:#0f9d58;color:#fff;border-color:#0f9d58}.md .btn:disabled{opacity:.5}
.ds>*{flex:none}.ds .net{flex:0 1 auto;overflow:hidden}
.mbar{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.mbar>button{white-space:nowrap;flex:none}
.tline{min-width:0}.title{min-width:0;flex:0 1 auto;text-overflow:ellipsis}
.wrap.split .trr .rib.opt{display:none}.wrap.split .share button span{display:none}.wrap.split .share button{padding:0 12px}.wrap.split .trow{padding-right:8px}
.tbar .ti.cw{min-width:16px;padding:0;margin-left:-2px}
.ds .b.lk{background:#0b57d0;border-color:#0b57d0;color:#fff;display:flex;align-items:center;gap:5px;font-weight:700}.ds .b.lk .ic{width:15px;height:15px}
.homep{display:none}.wrap.home .homep{display:block;flex:1;overflow:auto;background:#f9fbfd}.wrap.home .ed,.wrap.home .lane{display:none!important}
.homein{max-width:980px;margin:0 auto;padding:22px 24px;font-family:Roboto,Arial,"Noto Sans CJK SC",sans-serif;color:#1f1f1f}.homein h2{display:flex;align-items:center;gap:12px;font-weight:400;font-size:22px;margin:0 0 16px}.homein h2 .logo{width:40px;height:40px}
.hcard{background:#fff;border:1px solid #dadce0;border-radius:12px;padding:18px 20px;margin-bottom:22px}.hcard.big{border:2px solid #0b57d0;box-shadow:0 2px 10px rgba(11,87,208,.12)}.hcard h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:500}
.hl{font-weight:500;font-size:16px;margin:0 0 10px}.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.hfile{border:1px solid #dadce0;border-radius:8px;background:#fff;padding:0 0 10px;text-align:left;cursor:pointer;font:inherit;overflow:hidden}.hfile:hover{border-color:#0b57d0}
.hfile .thumb{height:96px;background:#e6f4ea;display:grid;place-items:center;color:#0f9d58;position:relative;margin-bottom:8px}.hfile .thumb .ic{width:44px;height:44px}.hfile b{display:block;padding:0 12px;font-weight:500;font-size:14px}.hfile small{display:flex;align-items:center;gap:6px;padding:4px 12px 0;color:#5f6368;font-size:12px}
.lkrow{display:flex;gap:8px;align-items:center}.lki{color:#0b57d0;display:grid}.lkin{flex:1;height:42px;border:1px solid #747775;border-radius:8px;padding:0 12px;font:15px Roboto,Arial,sans-serif;outline:0}.lkin:focus{border:2px solid #0b57d0;padding:0 11px}
.lkh{color:#5f6368;font-size:13px;margin:8px 0 0}.lkerr{margin-top:10px;background:#fce8e6;color:#a50e0e;border-radius:6px;padding:8px 12px;font-size:13.5px}
.lkneed{margin-top:10px;background:#fef7e0;border:1px solid #f9d77e;border-radius:8px;padding:10px 12px;font-size:13.5px}.lkneed p{margin:0 0 8px}.lkneed .gbtn{display:inline-flex;align-items:center;gap:6px}.lkneed .ic{width:16px;height:16px}
.lkok{margin-top:10px;color:#137333;font-weight:600;font-size:13.5px}
.lkprog{margin-top:12px}.lkbar{height:6px;background:#e3e3e3;border-radius:3px;overflow:hidden}.lkbar span{display:block;height:100%;background:#0f9d58;transition:width .25s}.lkprog small{display:block;color:#5f6368;margin-top:6px}
.lkprog ol{list-style:none;padding:0;margin:8px 0 0;font-size:13.5px}.lkprog li{padding:2px 0;color:#9aa0a6}.lkprog li.d{color:#137333}.lkprog li.a{color:#0b57d0;font-weight:600}
.dlg.lkd{width:620px}.dlg.lkd h3 .ic{width:22px;height:22px;color:#0b57d0}

.lkst{margin:0 0 8px;display:flex;align-items:center;gap:10px;font-size:14px}.lkst .gbtn{display:inline-flex;align-items:center;gap:6px;height:32px}.lkst .ic{width:16px;height:16px}.lkst .lkok{margin:0}
.oneb{flex:none;display:flex;align-items:center;gap:12px;padding:6px 14px;background:#fef7e0;border-bottom:1px solid #f9d77e;font:13px Roboto,Arial,"Noto Sans CJK SC",sans-serif;color:#3c3c3c}.oneb b{color:#b06000;white-space:nowrap}.oneb span{flex:1}.oneb .gbtn{height:32px;white-space:nowrap}
.hfile .mode{display:inline-block;margin:6px 12px 0;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}.mode.two{background:#e6f4ea;color:#137333}.mode.one{background:#fef7e0;color:#b06000}

.wrap .vh{flex:none;width:330px;border-left:1px solid #dadce0;background:#fff;display:flex;flex-direction:column;font:13px Roboto,Arial,"Noto Sans CJK SC",sans-serif;min-height:0}
.vhh{display:flex;align-items:center;padding:14px 16px 6px;font-size:18px}.vhh b{font-weight:400}.vhh .x{margin-left:auto;border:0;background:none;font-size:18px;cursor:pointer;color:#444746}
.vhn{margin:0;padding:0 16px 10px;color:#5f6368;font-size:12.5px;border-bottom:1px solid #e3e3e3}.vhl{overflow:auto;flex:1}
.vhi{padding:10px 16px;border-bottom:1px solid #f1f3f4}.vhi.cur{background:#e8f0fe;color:#0b57d0}.vhi .vt{font-weight:600;font-size:13.5px}.vhi .vw{display:flex;align-items:center;gap:6px;margin:4px 0}.vhi .vc{margin:2px 0}.vhi small{color:#5f6368}
.vhi .old{color:#a50e0e;text-decoration:line-through}.vhi .new{color:#137333;font-weight:600}
.av3{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font:700 11px Roboto,Arial,sans-serif;margin-right:6px;flex:none}
.dlg.accd{width:760px}.acctbl{overflow:auto;max-height:50vh;border:1px solid #e3e3e3;border-radius:8px}.acctbl table{border-collapse:collapse;width:100%}.acctbl th,.acctbl td{padding:8px 10px;border-bottom:1px solid #f1f3f4;text-align:left;font-size:13px;vertical-align:middle}
.acctbl th{background:#f8f9fa;font-weight:500}.acctbl td small{display:block;color:#5f6368;margin-left:26px}.acctbl tr.own td{color:#5f6368}.acctbl select{height:30px;border:1px solid #c4c7c5;border-radius:4px;font:inherit}
.accg{margin-top:14px;display:flex;align-items:center;gap:10px;background:#f8f9fa;border-radius:8px;padding:10px 12px;font-size:13px}.accg b{display:flex;align-items:center;gap:6px;white-space:nowrap}.accg .ic{width:18px;height:18px}.accg span{flex:1}
.vonly{border:1px solid #747775;border-radius:12px;padding:1px 10px;font-size:12.5px;color:#444746;margin-left:6px;white-space:nowrap}
.ds{height:auto;min-height:38px;flex-wrap:wrap;row-gap:5px;padding:5px 10px}
.ds{background:#f8fafc;border-bottom:1px solid #e2e8f0}
.en1{background:#f5b73b;color:#111}
.en1:hover{background:#fff3c4}
.grid td.on{box-shadow:inset 0 0 0 2px #0b57d0;background:rgba(11,87,208,.08)}
#signed-as{font-weight:600}
#linked-sheets{max-width:240px}
