.v21-env-bar{display:none!important}.v21-env-bar.is-stage{color:#5c3c00;background:repeating-linear-gradient(-45deg,#fff3cd,#fff3cd 14px,#ffe69c 14px 28px);border-bottom:2px solid #d99b26}.v21-env-bar.is-prod{color:#d6eef2;background:#0d2b36;border-bottom:1px solid #1e4d5c}.v21-env-pill{font-family:var(--f-mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.v21-env-bar.is-stage .v21-env-pill{color:#fff;background:#b86e00}.v21-env-bar.is-prod .v21-env-pill{color:#fff;background:#1f7a4a}.v21-env-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.v21-env-btn{cursor:pointer;color:#13222b;background:#ffffffe0;border:1px solid #0003;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}.v21-env-btn:hover{border-color:var(--accent);background:#fff}.v21-env-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.v21-stage-watermark{pointer-events:none;z-index:90;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='200'%3E%3Ctext x='20' y='110' transform='rotate(-22 140 90)' font-family='sans-serif' font-size='22' font-weight='800' fill='%239a5800'%3ECOMPASS STAGE 測試環境%3C/text%3E%3C/svg%3E");position:fixed;inset:0;overflow:hidden}body[data-compass-env=prod] .side .proto-me,body.cfg-off .cfg-tag,body.cfg-off .cfg-btn{display:none!important}.v21-draft-bar{color:#f3ecff;background:#3b2366;border-bottom:2px solid #9d73f7;justify-content:space-between;align-items:center;gap:12px;padding:8px 18px;font-size:13px;display:flex}.v21-batch-bar{z-index:120;color:#fff;background:#0f2a33;border:1px solid #ffffff2e;border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #00000059}.v21-batch-bar .cnt-badge{background:var(--accent);color:#fff;font-family:var(--f-mono);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700}.v21-batch-bar button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;padding:5px 12px;font-size:12.5px}.v21-batch-bar button:hover{background:var(--accent);border-color:var(--accent)}.v21-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.v21-code{color:#cfe2e5;font-family:var(--f-mono);white-space:pre-wrap;background:#0d161b;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.5;overflow-x:auto}.v21-tag-stage{color:#9a6200;background:#fbf0d9;border:1px solid #e0a23a;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700}.v21-tag-prod{color:#1f7a4a;background:#e1f2e8;border:1px solid #1f7a4a;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700}.v21-offline-badge{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.v21-offline-badge.is-offline{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;box-shadow:0 1px 2px #ef444426}.v21-offline-badge.is-pending{color:#92400e;cursor:pointer;background:#fef3c7;border:1px solid #fcd34d}.v21-offline-badge.is-syncing{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.v21-spin{animation:1s linear infinite v21Spin;display:inline-block}@keyframes v21Spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.v21-offline-badge.is-online{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.v21-pulse-dot{border-radius:50%;width:7px;height:7px;display:inline-block}@keyframes v21Pulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.95)}}.v21-pulse-dot.pulse{animation:1.8s ease-in-out infinite v21Pulse}.v21-draft-banner{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}@page{size:A4 portrait;margin:10mm 15mm}@media print{html,body{color:#111827!important;background:#fff!important;margin:0!important;padding:0!important;font-size:12pt!important}.top-header,.sidebar,.as-fab,.as-panel,.modal-h,.modal-f,.alert,.btn,.dtabs,.page-head,.nav,.modal-bg:not(.print-active){display:none!important}.modal-bg.print-active{background:0 0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important}.modal-bg.print-active .modal{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}.modal-bg.print-active .modal-b{padding:0!important;overflow:visible!important}.doc{color:#111827!important;box-shadow:none!important;background:#fff!important;border:none!important;width:100%!important;margin:0!important;padding:0!important}.doc table{border-collapse:collapse!important;page-break-inside:auto!important;width:100%!important}.doc tr{page-break-inside:avoid!important;page-break-after:auto!important}.doc th{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#111827!important;background-color:#f3f4f6!important;border:1px solid #9ca3af!important}.doc td{color:#111827!important;border:1px solid #d1d5db!important}.doc .two>div{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#f9fafb!important;border:1px solid #e5e7eb!important}}.hs-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.hs-tile{text-align:left;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:4px 12px;min-width:0;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative;border-style:solid!important}.hs-tile:hover{transform:translateY(-1px);box-shadow:0 4px 18px #0000002e;border-style:solid!important;border-color:var(--accent)!important}.hs-tile .sys-ico{grid-row:span 2;transition:filter .18s,opacity .18s}.hs-t{gap:2px;min-width:0;display:grid}.hs-t b{color:var(--ink);font-size:15px;font-weight:700}.hs-t small{color:var(--muted);font-size:12.5px;line-height:1.45}.hs-meta{color:var(--muted);grid-column:2;align-items:center;gap:6px;font-size:12px;display:flex}.hs-pin{color:#c98a00}.hs-tile.off{opacity:.78;border:1.5px dashed var(--line,#fff3)!important;background:#ffffff04!important;border-style:dashed!important}.hs-tile.off:hover{opacity:1;transform:translateY(-1px);box-shadow:0 4px 16px #0003;border:1.5px dashed var(--accent,#38bdf8)!important;background:#38bdf80a!important;border-style:dashed!important}.hs-tile.off .sys-ico{filter:grayscale(.9);opacity:.45}.hs-tile.off:hover .sys-ico{filter:grayscale(.3);opacity:.85}.hs-tile.off .hs-t b{color:var(--muted,#94a3b8)}.hs-tile.off .hs-tag{border:1px dashed var(--line,#ffffff40);color:var(--muted,#94a3b8);background:#ffffff0a;border-radius:6px;align-items:center;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.hs-tag{color:var(--adm);background:var(--adm-bg);border:1px solid var(--adm-line,#e0a23a59);border-radius:6px;padding:1px 8px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-block}.hc-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.hc-card{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:8px;padding:18px;transition:border-color .18s,box-shadow .18s;display:flex}.hc-card:hover{border-color:var(--accent);box-shadow:0 4px 18px #00000026}.hc-card h3{margin:0;font-size:16px}.hc-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.hc-card ul{color:var(--muted);gap:4px;margin:0;padding-left:18px;font-size:12.5px;display:grid}.hc-card .btn{align-self:flex-start;margin-top:auto}.app{transition:grid-template-columns .22s cubic-bezier(.16,1,.3,1),margin-right .28s cubic-bezier(.16,1,.3,1)!important}body.as-on .app{max-width:calc(100vw - 380px)!important;margin-right:380px!important;transition:margin-right .25s cubic-bezier(.16,1,.3,1),max-width .25s cubic-bezier(.16,1,.3,1)!important}body.as-on .top{max-width:100%!important}body.as-on .toast{left:auto!important;right:400px!important}.as-panel{z-index:95!important;background:var(--surface)!important;border-left:1px solid var(--line)!important;flex-direction:column!important;width:380px!important;max-width:100vw!important;animation:none!important;display:flex!important;position:fixed!important;top:0!important;bottom:0!important;right:0!important;transform:none!important;box-shadow:-8px 0 32px #00000047!important}.as-panel:not(.open),.as-panel.hidden{display:none!important}@keyframes asPanelSlideIn{0%{opacity:.85;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=640px){body.as-on .app{max-width:100%!important;margin-right:0!important}.as-panel{width:100vw!important}}.as-fab{z-index:99!important;color:#fff!important;font:inherit!important;cursor:pointer!important;background:linear-gradient(135deg,#1e3a5f 0%,#0b6b74 100%)!important;border:1px solid #fff3!important;border-radius:999px!important;align-items:center!important;gap:8px!important;padding:10px 18px 10px 12px!important;font-size:13.5px!important;font-weight:700!important;transition:transform .18s,filter .18s,box-shadow .18s!important;display:inline-flex!important;position:fixed!important;bottom:24px!important;right:24px!important;box-shadow:0 6px 24px #00000059!important}.as-fab:hover{filter:brightness(1.15)!important;transform:translateY(-2px)scale(1.03)!important;box-shadow:0 8px 28px #00000073!important}.as-fab:focus-visible{outline:3px solid var(--accent,#38bdf8)!important;outline-offset:2px!important}.as-fab.on{display:none!important}html[data-theme=dark] .as-fab{color:#f8fafc!important;background:linear-gradient(135deg,#1e293b 0%,#0f766e 100%)!important;border-color:#ffffff26!important}body.sb-collapsed .app{grid-template-columns:64px minmax(0,1fr)!important}.side{box-sizing:border-box!important;transition:width .22s cubic-bezier(.16,1,.3,1),padding .22s cubic-bezier(.16,1,.3,1)!important;overflow-x:hidden!important}@media screen and (width>=769px){.side:not(.sb-rail){box-sizing:border-box!important;width:232px!important;min-width:232px!important;max-width:232px!important;overflow-x:hidden!important}}.side::-webkit-scrollbar:horizontal{width:0!important;height:0!important;display:none!important}.side .brand{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.side .brand>span:first-child{flex:auto!important;min-width:0!important;overflow:hidden!important}.side .brand>span:first-child span{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;display:block!important;overflow:hidden!important}.side .brand-sub{text-overflow:ellipsis!important;white-space:nowrap!important;box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}.side .nav{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}.side .nav a{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.side .nav a>span:first-child,.side .nav .grow{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;overflow:hidden!important}.side .nav .cnt{flex-shrink:0!important;margin-left:6px!important}.side .promo-side{box-sizing:border-box!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow:hidden!important}.side .promo-side .promo-t{min-width:0!important;overflow:hidden!important}.side .promo-side .promo-t b{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.side .promo-side .promo-t span{overflow-wrap:break-word!important;word-break:break-word!important}.side .promo-side .promo-cta{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important}.side .acct{box-sizing:border-box!important;max-width:100%!important;position:relative!important;overflow:visible!important}.side .acct-btn{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.side .acct-btn .grow{min-width:0!important;overflow:hidden!important}.side .acct-btn b,.side .acct-btn small{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;display:block!important;overflow:hidden!important}.sb-collapse-btn{color:var(--nav-ink);opacity:.6;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:opacity .15s,background .15s,color .15s;display:flex}.sb-collapse-btn:hover{opacity:1;color:#fff;background:#ffffff1a}.side.sb-rail,body.sb-collapsed .side{box-sizing:border-box!important;z-index:95!important;align-items:center!important;gap:10px!important;width:64px!important;min-width:64px!important;max-width:64px!important;padding:14px 8px!important}.sb-rail-item-wrap{z-index:99;position:relative}.sb-rail-flyout{pointer-events:auto;background:#1e262f;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:4px;width:220px;padding:10px;position:fixed;left:64px;box-shadow:0 10px 28px #00000080;z-index:9999!important}.sb-rail-top{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.sb-rail-toggle{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:42px;height:38px;transition:transform .2s,opacity .15s;display:flex}.sb-rail-toggle:hover{opacity:.85;transform:translate(2px)}.sb-rail-add{color:#fff;cursor:pointer;background:#00a3b4;border:0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s,background .15s;display:flex;box-shadow:0 4px 12px #00a3b459}.sb-rail-add:hover{background:#06b6d4;transform:scale(1.05)}.sb-rail-nav{scrollbar-width:none;flex-direction:column;flex:auto;align-items:center;gap:6px;width:100%;padding-right:0;display:flex;overflow:hidden auto}.sb-rail-nav::-webkit-scrollbar{display:none}.sb-rail-btn{width:40px;height:40px;min-height:40px;color:var(--nav-ink);opacity:.75;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex;position:relative}.sb-rail-btn:hover{opacity:1;color:#fff;background:#ffffff14}.sb-rail-btn.on{box-shadow:0 2px 8px #00000040;color:#fff!important;opacity:1!important;background:#ffffff1f!important}.sb-rail-sep{background:#ffffff1a;width:32px;height:1px;margin:4px 0}.sb-rail-acct-btn{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-top:auto;font-size:15px;font-weight:700;transition:transform .15s;display:flex;box-shadow:0 2px 8px #0003}.sb-rail-acct-btn:hover{transform:scale(1.05)}.sb-rail .acct-menu,body.sb-collapsed .acct-menu,body.sb-collapsed .side .acct-menu{z-index:100!important;width:240px!important;min-width:220px!important;max-width:240px!important;position:fixed!important;bottom:20px!important;left:70px!important;right:auto!important;box-shadow:0 10px 30px #00000080!important}.acct-menu{box-sizing:border-box;max-width:240px;z-index:100!important}.acct-menu button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body.sb-collapsed .sys-panel{margin-left:48px}.sys-panel{border:1px solid var(--line);box-shadow:var(--shadow,0 10px 30px #00000059)}select option,.side select option,.me select option,#meSel option{color:#fff!important;background-color:#1e262f!important}[data-theme=light] select option,[data-theme=light] .side select option,[data-theme=light] .me select option,[data-theme=light] #meSel option{color:#0f172a!important;background-color:#fff!important}.tabs,.dtabs{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-y:hidden!important}.tabs::-webkit-scrollbar,.dtabs::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}a.link-action.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000040;border-color:var(--accent,#3b82f6)!important;color:#fff!important;background:#ffffff1f!important}html[data-theme=dark] body .as-in .btn.primary,body .as-in .btn.primary{color:#fff!important;cursor:pointer!important;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important;border:1px solid #ffffff26!important;border-radius:9px!important;min-width:76px!important;height:50px!important;padding:0 18px!important;font-size:14px!important;font-weight:600!important;box-shadow:0 4px 12px #2563eb4d!important}html[data-theme=dark] body .as-edit>label:nth-of-type(3),body .as-edit>label:nth-of-type(3){grid-column:1/-1!important}html[data-theme=dark] body .as-edit label.chk,body .as-edit label.chk{background:var(--surface-2)!important;border:1px solid var(--line)!important;height:36px!important;color:var(--ink)!important;cursor:pointer!important;box-sizing:border-box!important;border-radius:8px!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0 12px!important;font-size:13px!important;display:inline-flex!important}html[data-theme=dark] body .as-edit label.chk input[type=checkbox],body .as-edit label.chk input[type=checkbox]{accent-color:#2563eb!important;cursor:pointer!important;width:16px!important;height:16px!important;margin:0!important}@media screen and (width<=1024px){.top{gap:8px!important;padding:8px 16px!important}.search{min-width:120px!important;max-width:240px!important}.top-actions{gap:6px!important}.content,.page,.dashboard,.account-settings{padding:16px 20px!important}.ac-wrap{grid-template-columns:200px 1fr!important;gap:16px!important}.detail{grid-template-columns:minmax(0,1fr)!important}}@media screen and (width<=768px){.app{flex-direction:column!important;width:100vw!important;min-width:0!important;display:flex!important;overflow-x:hidden!important}.side{z-index:100!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;border-right:none!important;border-bottom:1px solid var(--line,#334155)!important;background:var(--surface-1,#0f172a)!important;flex-direction:row!important;align-items:center!important;width:100%!important;height:auto!important;min-height:48px!important;max-height:60px!important;padding:6px 12px!important;position:sticky!important;top:0!important;overflow:auto hidden!important}.side::-webkit-scrollbar{display:none!important}.brand-sub,.nav-group-title,.nav-group{display:none!important}.brand{flex-shrink:0!important;margin-right:8px!important;font-size:15px!important}.nav{flex-flow:row!important;align-items:center!important;gap:4px!important;margin:0!important;display:flex!important}.nav a,.nav button{white-space:nowrap!important;border-radius:6px!important;flex-shrink:0!important;padding:6px 10px!important;font-size:13px!important}.side .proto-me{display:none!important}.acct{flex-shrink:0!important;margin-left:auto!important}.acct-btn{padding:4px 8px!important}.main{flex:auto!important;width:100%!important;min-width:0!important}.top{border-bottom:1px solid var(--line,#334155)!important;flex-wrap:wrap!important;gap:8px!important;padding:8px 12px!important;position:relative!important}.top .search{flex:100%!important;order:2!important;width:100%!important;max-width:100%!important;margin:4px 0 0!important}.top-actions{flex-wrap:wrap!important;order:1!important;gap:6px!important;margin-left:auto!important}.page-head{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;margin-bottom:16px!important}.page-head .actions{flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important}.page-head .actions .btn{text-align:center!important;flex:auto!important;justify-content:center!important}.content,.page,.dashboard,.account-settings,.users-list-view,.record-list-view{padding:12px!important}.ac-wrap{flex-direction:column!important;gap:14px!important;display:flex!important}.ac-nav{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;border-bottom:1px solid var(--line,#334155)!important;flex-direction:row!important;gap:6px!important;padding-bottom:4px!important;display:flex!important;overflow:auto hidden!important}.ac-nav::-webkit-scrollbar{display:none!important}.ac-nav button{white-space:nowrap!important;border-radius:20px!important;flex-shrink:0!important;padding:6px 14px!important;font-size:13px!important}.ac-sep{display:none!important}.ac-body{width:100%!important;min-width:0!important}.set-row{grid-template-columns:1fr!important;gap:6px!important;padding:10px 0!important}.set-row .k{margin-bottom:2px!important}.set-row input,.set-row select{width:100%!important;max-width:100%!important}.fgrid,.fgrid2,.fgrid3,.ac-grid{grid-template-columns:1fr!important;gap:12px!important}.tbl-wrap{-webkit-overflow-scrolling:touch!important;border-radius:8px!important;width:100%!important;overflow-x:auto!important}.tbl{min-width:600px!important}.card{border-radius:10px!important;margin-bottom:14px!important}.card-h,.card-b{padding:12px 14px!important}.modal{border-radius:12px!important;width:calc(100vw - 24px)!important;max-width:100vw!important;max-height:calc(100vh - 40px)!important;margin:20px auto!important}.modal-b{max-height:calc(100vh - 160px)!important;overflow-y:auto!important}.appr-dock{border-radius:12px!important;padding:10px 14px!important;bottom:8px!important;left:8px!important;right:8px!important}.as-panel{width:100vw!important;max-width:100vw!important}}@media screen and (width<=480px){h1{font-size:18px!important}h2{font-size:15px!important}.btn{padding:8px 12px!important;font-size:13px!important}.users-list-view .card input[type=text]{width:100%!important}.dash-stats,.ln-stats{grid-template-columns:1fr!important}}