.ops{--ink:#261e39;--purple:#6041a0;--line:#e4dfed;color:var(--ink);background:#f5f4f8;min-height:100vh;font:16px/1.6 Arial,Noto Sans TC,sans-serif}.ops *{box-sizing:border-box}.ops h1{margin:4px 0 8px;font-size:clamp(25px,3vw,34px);line-height:1.3}.ops h2{margin:0 0 14px;font-size:20px}.ops p{margin:10px 0 18px}.ops small,.op-muted{color:#6d6679}.ops small{font-size:13px}.ops button,.ops input,.ops select,.ops textarea{font:inherit}.ops button{cursor:pointer;color:#483664;background:#fff;border:1px solid #ccc3dc;border-radius:8px;min-height:44px;padding:8px 16px}.ops button:hover{background:#eee8f8}.ops button:disabled{cursor:not-allowed;opacity:.5}:is(.ops button:focus-visible,.ops a:focus-visible,.ops input:focus-visible){outline-offset:2px;outline:3px solid #b29ada}.ops .op-primary{color:#fff;background:#6041a0;border-color:#6041a0}.ops label{flex-direction:column;gap:7px;font-size:14px;font-weight:600;display:flex}.ops input,.ops select,.ops textarea{color:#261e39;background:#fff;border:1px solid #cbc5d7;border-radius:7px;width:100%;min-width:0;min-height:44px;padding:10px}.ops textarea{resize:vertical;min-height:100px}.ops a{color:#6943a5}.op-sidebar{color:#e8dfef;background:#241935;flex-direction:column;gap:8px;width:248px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.op-sidebar a{color:#e8dfef;padding:8px 10px;text-decoration:none}.op-sidebar .op-logo{padding:0 0 24px;font-size:23px;font-weight:700}.op-logo span{color:#b9a9cb;margin-top:6px;font-size:14px;font-weight:400;display:block}.op-sidebar button{text-align:left;color:#e8dfef;background:0 0;border-color:#0000}.op-sidebar button:hover,.op-sidebar .op-active{background:#49335f;border-color:#73558c}.op-sidebar label{margin-bottom:16px}.op-sidebar small{color:#c0b2cf;overflow-wrap:anywhere;margin-top:auto;padding-top:28px}.op-side-label{color:#b9a9cb;margin:16px 10px 4px;font-size:13px}.op-main{max-width:1750px;margin-left:248px;padding:38px}.op-main header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.op-eyebrow{color:#806396;letter-spacing:2px;font-size:12px;font-weight:700}.op-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:24px;display:flex}.op-toolbar label{width:180px}.op-toolbar span{color:#777;align-self:center;margin-left:auto;font-size:13px}.op-panel{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;margin-bottom:20px;padding:25px}.op-kpis{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.op-kpis article{border-top:3px solid #7553aa}.op-kpis span,.op-kpis strong,.op-kpis small{display:block}.op-kpis span{color:#686074;font-size:14px}.op-kpis strong{letter-spacing:-.6px;margin:12px 0;font-size:clamp(22px,2.3vw,32px)}.op-two,.op-source-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.op-stage{border-bottom:1px solid #eee8f3;align-items:center;gap:14px;padding:14px 0;display:flex}.op-stage b{margin-left:auto;font-size:20px}.op-number{color:#866fa1;font-size:12px}.op-stage:last-of-type{margin-bottom:16px}.op-tag{background:#f6f0fc;border:1px solid #d7c9e9;border-radius:5px;padding:4px 9px;font-size:13px;display:inline-block}.op-insight{border-bottom:1px solid #eae5f0;padding:10px 0 15px}.op-warning,.op-alert{background:#fff6e9;border:1px solid #e9d3b0;border-radius:9px;margin:15px 0 22px;padding:14px 18px;font-size:14px}.op-alert{color:#842b3f;background:#fff2f5;border-color:#eabeca}.op-alert button{margin-left:12px}.op-notice{color:#215e46}.op-table{margin-top:20px;overflow-x:auto}.ops table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.ops th{color:#706378;white-space:nowrap;background:#f7f4fa}.ops td,.ops th{vertical-align:top;border-bottom:1px solid #ebe6f1;padding:14px 12px}.ops td{overflow-wrap:anywhere;max-width:300px}.ops td button{white-space:nowrap;margin:0 5px 5px 0}.op-section-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.op-section-head h2{margin:0 auto 0 0}.op-empty{text-align:center;padding:50px 25px}.op-inline{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.op-inline label{flex:1;min-width:180px}.op-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.op-wide{grid-column:1/-1}.op-trend>div{border-bottom:1px solid #eee;grid-template-columns:95px 1fr minmax(240px,auto);align-items:center;gap:14px;padding:10px 0;font-size:13px;display:grid}.op-bars{flex-direction:column;gap:4px;display:flex}.op-bars i{background:#8c71b5;border-radius:4px;min-width:1px;height:8px;display:block}.op-bars i+i{background:#31806d}.op-backdrop{z-index:100;background:#160e2ba8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.op-modal{background:#fff;border-radius:14px;width:min(780px,100%);max-height:90vh;padding:28px;overflow:auto;box-shadow:0 20px 90px #14092855}.ops fieldset{border:0;min-width:0;margin:0;padding:0}.op-login{place-items:center;padding:30px;display:grid}.op-login section{width:100%;max-width:490px}.op-login label{margin:18px 0}.op-login button{width:100%}@media (max-width:1100px){.op-kpis{grid-template-columns:1fr 1fr}.op-main{padding:24px}.op-sidebar{width:220px}.op-main{margin-left:220px}.op-two{grid-template-columns:1fr}.op-trend>div{grid-template-columns:85px 1fr}.op-trend span{grid-column:1/-1}}@media (max-width:700px){.op-sidebar{grid-template-columns:1fr 1fr;gap:8px;width:100%;padding:20px;display:grid;position:static}.op-sidebar .op-logo,.op-sidebar label,.op-side-label,.op-sidebar small{grid-column:1/-1}.op-sidebar .op-logo{padding-bottom:0}.op-sidebar small{padding-top:8px}.op-main{margin:0;padding:20px 14px}.op-main header{flex-direction:column;align-items:start}.op-panel{padding:20px 16px}.op-source-grid,.op-grid{grid-template-columns:1fr}.op-kpis{gap:10px}.op-kpis .op-panel{padding:16px 12px}.op-kpis strong{font-size:22px}.op-toolbar label{width:calc(50% - 10px)}.op-toolbar span{margin-left:0}.op-backdrop{padding:10px}.op-modal{max-height:95vh;padding:20px}.op-wide{grid-column:auto}.op-trend>div{grid-template-columns:80px 1fr}.op-section-head button{flex-grow:1}}.ops .op-main header{height:auto;min-height:0;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static}.ops h1,.ops h2,.ops label{color:var(--ink)}.ops .op-sidebar label{color:#e8dfef}.op-team label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:12px;min-height:44px;margin:6px 0}.op-team input[type=checkbox]{accent-color:#6041a0;flex:0 0 20px;width:20px;min-height:20px}.op-team h3{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.op-team form>label{margin:14px 0}.op-team .op-panel{margin-bottom:24px}.op-team td{overflow-wrap:anywhere}.op-team select{max-width:400px}.op-shared-sidebar{z-index:30}.op-shared-sidebar nav{flex-direction:column;gap:7px;min-height:0;display:flex}.op-shared-sidebar nav>a,.op-shared-sidebar nav>button{flex-shrink:0;align-items:center;min-height:44px;display:flex}.op-shared-sidebar .op-menu-toggle{display:none}.ops .op-panel form>label{margin:16px 0}.op-shared-sidebar a:hover{background:#49335f;border-radius:8px}@media (max-width:700px){.op-shared-sidebar{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex;position:sticky;top:0;overflow:visible}.op-shared-sidebar .op-logo{padding:0;font-size:19px}.op-shared-sidebar .op-logo span{margin:0;font-size:12px}.op-shared-sidebar .op-menu-toggle{white-space:nowrap;border-color:#73558c;display:block}.op-shared-sidebar nav{background:#241935;max-height:calc(100dvh - 80px);padding:12px 16px 20px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #14092833}.op-shared-sidebar.op-expanded nav{display:flex}.op-shared-sidebar .op-side-label{margin-top:8px}.op-shared-sidebar nav label{margin-bottom:8px}}.op-systems{max-width:none;padding:20px 24px}.op-systems header{margin-bottom:12px}.op-systems h1{font-size:24px}.op-systems .op-muted{margin:6px 0;font-size:14px}.op-system-frames iframe{background:#fff;border:1px solid #ded6e8;border-radius:12px;width:100%;height:calc(100dvh - 150px);min-height:560px;display:block}.op-system-frames iframe[hidden]{display:none}@media (max-width:700px){.op-systems{padding:14px 8px}.op-system-frames iframe{height:calc(100dvh - 230px);min-height:480px}.op-systems header{gap:6px}}.op-main,.op-panel,.op-two>*{min-width:0}.op-table{max-width:100%;overflow-x:auto}.op-alert{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ops,.op-main>*{min-width:0;max-width:100%}.op-main .op-table{width:100%;max-width:100%;overflow-x:auto}.op-sidebar{overflow-wrap:anywhere}.op-main input,.op-main select{min-width:0;max-width:100%}.op-section-head{flex-wrap:wrap}.op-grid>*{min-width:0}.op-modal[aria-busy=true]{cursor:progress}.op-shared-sidebar nav{flex-wrap:nowrap;flex-shrink:0;align-items:stretch;width:100%;max-width:100%}.op-shared-sidebar nav>*{min-width:0;max-width:100%}.op-shared-sidebar small{white-space:normal;overflow-wrap:anywhere}.op-table table{min-width:580px}.op-table th,.op-table td{word-break:normal}.op-nav-group{border-top:1px solid #463351;flex-shrink:0;padding-top:6px}.op-nav-group summary{cursor:pointer;color:#cbbbda;justify-content:space-between;align-items:center;min-height:44px;padding:8px 10px;font-size:14px;font-weight:700;list-style:none;display:flex}.op-nav-group summary::-webkit-details-marker{display:none}.op-nav-group summary:after{content:"＋";font-size:18px}.op-nav-group[open] summary:after{content:"−"}.op-nav-group summary:focus-visible{outline-offset:-3px;outline:3px solid #b29ada}.op-nav-group>div{flex-direction:column;gap:3px;padding:0 0 8px 8px;display:flex}.op-nav-group>div>a,.op-nav-group>div>button{border-radius:8px;align-items:center;width:100%;min-height:44px;display:flex}.op-nav-group a.op-active{background:#49335f}.op-shared-sidebar small{padding-top:14px}.ops .op-shared-sidebar details.op-nav-group{color:#e8dfef;width:100%;box-shadow:none;background:0 0;border-radius:0;order:0;margin:0;padding:6px 0 0}.ops .op-shared-sidebar details.op-nav-group summary{color:#cbbbda;background:0 0;margin:0;padding:8px 10px}.ops .op-shared-sidebar nav>small{order:1;margin-top:0}
