@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Scoped editorial workspace. Never modifies ui_v1.css or other portals. */
.eco-shell,.eco-nav,.eco-reconciliation{--eco-ink:#183c43;--eco-muted:#49666b;--eco-paper:#f8faf5;--eco-tint:#e6efeb;--eco-line:#b9ceca;--eco-accent:#a34428;color:var(--eco-ink);font-family:"Manrope","IBM Plex Sans JP","Hiragino Sans",sans-serif;line-height:1.75;letter-spacing:.01em;box-sizing:border-box}
.eco-shell *,.eco-nav *,.eco-reconciliation *{box-sizing:border-box}
.eco-shell{margin:24px auto 8px;width:calc(100% - 48px);max-width:1420px;border:1px solid var(--eco-line);border-radius:18px;background:var(--eco-paper);overflow:hidden;box-shadow:0 14px 40px rgba(24,60,67,.07)}
.eco-shell summary{cursor:pointer;list-style:none;padding:24px 30px;display:flex;align-items:center;gap:20px}
.eco-shell summary::-webkit-details-marker{display:none}
.eco-shell summary::after{content:"＋";margin-left:auto;font-size:24px;color:var(--eco-accent)}
.eco-shell[open]>summary::after{content:"−"}
.eco-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--eco-accent)}
.eco-shell h2{font-size:clamp(22px,2.5vw,34px);margin:4px 0;letter-spacing:-.04em;line-height:1.4;font-weight:700}
.eco-shell p{margin:8px 0;color:var(--eco-muted);font-size:13px}
.eco-body{padding:0 30px 30px}
.eco-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin:8px 0 24px;padding-top:18px;border-top:1px solid var(--eco-line)}
.eco-intro strong{font-size:18px;line-height:1.6;display:block}
.eco-legend{display:flex;gap:6px 10px;flex-wrap:wrap;align-content:start}
.eco-status{display:inline-block;border:1px solid #789a93;background:#e3eee9;color:#294e46;font-size:11px;font-weight:700;padding:3px 9px;border-radius:5px}
.eco-status[data-status="unverified"]{background:#f6efdd;border-color:#c7b16e;color:#715719}
.eco-status[data-status="unconnected"]{background:#edf0ef;border-color:#a6b6b4;color:#4c6261}
.eco-status[data-status="error"]{background:#fae9e2;border-color:#c38974;color:#8b341f}
.eco-status[data-status="response"]{background:#e3eee9;border-color:#789a93;color:#294e46}
.eco-shell h3{font-size:18px;margin:28px 0 10px;letter-spacing:-.02em}
.eco-map{background:var(--eco-tint);border:1px solid var(--eco-line);border-radius:12px;padding:18px}
.eco-map svg{display:block;width:100%;height:auto}
.eco-map svg a:hover rect,.eco-map svg a:focus rect{stroke:#a34428;stroke-width:3;outline:none}
.eco-portal-tree{margin:26px 0}
.eco-tree-root{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:#183c43;border-radius:12px;color:white;position:relative}
.eco-shell .eco-tree-root a{color:#fff;font-size:19px}
.eco-tree-root::after{content:"";position:absolute;height:22px;border-left:2px solid #476d68;left:50%;top:100%}
.eco-tree-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:22px 0 0;margin:0}
.eco-tree-branches li{min-width:0;border:1px solid var(--eco-line);border-radius:10px;padding:16px;background:var(--eco-tint);position:relative}
.eco-tree-branches li::before{content:"";position:absolute;height:22px;border-left:2px solid #476d68;left:50%;bottom:100%}
.eco-tree-branches a{display:flex;flex-direction:column;text-decoration:none;min-height:110px}
.eco-tree-branches strong{font-size:16px;color:var(--eco-ink);margin:5px 0}
.eco-tree-branches small,.eco-tree-branches a span{font-size:11px}
.eco-tree-branches li>a:focus-visible{outline:3px solid var(--eco-accent);outline-offset:4px}
@media(min-width:768px){.eco-map>.eco-flow-list{display:none}}
@media(max-width:767px){.eco-tree-branches{grid-template-columns:1fr}.eco-tree-branches a{min-height:90px}.eco-flow-list a{display:block;margin-top:8px}}
.eco-map text{font-family:"IBM Plex Sans JP","Hiragino Sans",sans-serif;fill:var(--eco-ink)}
.eco-map .eco-map-note{font-size:12px;fill:var(--eco-muted)}
.eco-flow-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;list-style:none;margin:16px 0 0;padding:0}
.eco-flow-list li{position:relative;font-size:12px;color:var(--eco-muted);padding:10px;background:var(--eco-paper);border:1px solid var(--eco-line);border-radius:7px}
.eco-flow-list li+li::before{content:"";position:absolute;width:24px;left:-25px;top:22px;border-top:2px solid #476d68}
.eco-flow-list li+li::after{content:"";position:absolute;width:7px;height:7px;border-top:2px solid #476d68;border-right:2px solid #476d68;transform:rotate(45deg);left:-8px;top:19px}
.eco-flow-list b{display:block;color:var(--eco-ink);font-size:13px;margin-bottom:3px}
.eco-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.eco-portal{padding:18px 0;border-bottom:1px solid var(--eco-line);min-width:0}
.eco-portal header{display:flex;align-items:baseline;gap:12px}
.eco-portal h4{margin:0;font-size:16px;font-weight:700}
.eco-code{font-size:11px;letter-spacing:.08em;color:var(--eco-muted);margin-left:auto;white-space:nowrap}
.eco-shell a,.eco-nav a,.eco-reconciliation a{color:var(--eco-accent);text-decoration:underline;text-underline-offset:4px;font-weight:700}
.eco-shell a.eco-desk-link{display:inline-flex;align-items:center;margin-top:10px;min-height:44px;padding:8px 16px;border-radius:7px;background:#183c43;color:#f8faf5;text-decoration:none}
body.eco-workspace{height:auto}
body.eco-workspace #content{scroll-margin-top:100px}
.eco-portal a{display:inline-block;font-size:13px;min-height:36px}
.eco-detail{margin-top:12px;border:1px solid var(--eco-line);border-radius:8px}
.eco-detail summary{padding:12px 16px;font-size:14px;font-weight:700}
.eco-detail .eco-detail-body{padding:0 16px 16px}
.eco-detail ul{padding-left:20px;color:var(--eco-muted);font-size:13px}
.eco-detail code{font-size:11px;overflow-wrap:anywhere;color:var(--eco-ink)}
.eco-boundary{padding:14px 18px;border-left:3px solid var(--eco-accent);background:#f4eee1;margin:20px 0 0}
.eco-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;padding:10px 24px;background:#e6efeb;border-bottom:1px solid #b9ceca;font-size:12px;position:relative;z-index:2}
.eco-nav .eco-nav-brand{font-weight:800;letter-spacing:.08em}
.eco-nav a{min-height:32px;display:inline-flex;align-items:center}
.eco-nav a[aria-current="page"]{color:var(--eco-ink);text-decoration:none}
.eco-shell :focus-visible,.eco-nav :focus-visible,.eco-reconciliation :focus-visible{outline:3px solid #a34428;outline-offset:4px}
.eco-reconciliation{padding:18px;border:1px solid var(--eco-line);border-radius:10px;background:var(--eco-paper);margin:18px 0}
.eco-reconciliation h3{margin:0 0 6px;font-size:16px}
.eco-reconciliation p{font-size:12px;color:var(--eco-muted);margin:6px 0}
.eco-reconciliation button{font:inherit;font-size:12px;font-weight:700;color:var(--eco-ink);background:var(--eco-tint);border:1px solid var(--eco-line);border-radius:6px;padding:9px 14px;min-height:44px;cursor:pointer}
.eco-reconciliation button:disabled{opacity:.65;cursor:wait}
.eco-recon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.eco-recon-grid div{padding:10px;border-bottom:2px solid var(--eco-line)}
.eco-recon-grid dt{font-size:11px;color:var(--eco-muted)}
.eco-recon-grid dd{font-size:22px;font-weight:800;margin:4px 0}
.eco-loading{background:linear-gradient(90deg,#e6efeb,#f8faf5,#e6efeb);min-height:80px;border-radius:7px;margin-top:12px}
/* Opt-in shell for the three refreshed pages; old feature CSS stays intact. */
body.eco-workspace{--bg:#eaf1ed;--panel:#f8faf5;--panel2:#edf3ed;--panel3:#e1eae3;--card:#f8faf5;--ink:#183c43;--fg:#183c43;--muted:#49666b;--muted2:#546d71;--soft:#546d71;--line:#c4d5ce;--line2:#dde5df;--brand:#a34428;--accent:#a34428;--brand-soft:#f2e8df;--gold:#8b6122;--gold2:#a6752c;--gold3:#79551f;--teal:#236b62;--teal2:#236b62;--pink:#a83d38;--green:#326853;--violet:#486785;--glass:linear-gradient(160deg,#f8faf5,#edf3ed);--shadow:0 8px 24px rgba(24,60,67,.06);--shadow-lg:0 16px 38px rgba(24,60,67,.09);--font-body:"Manrope","IBM Plex Sans JP","Hiragino Sans",sans-serif;--font-display:var(--font-body);background:#eaf1ed;color:#183c43;font-family:var(--font-body);min-height:100dvh}
body.eco-workspace .topbar,body.eco-workspace header.top{background:#f8faf5;border-color:#c4d5ce}
body.eco-workspace .card,body.eco-workspace .panel,body.eco-workspace .modal,body.eco-workspace aside,body.eco-workspace .login-card{background:#f8faf5;color:#183c43}
body.eco-workspace .brand h1,body.eco-workspace .pg-title,body.eco-workspace .kp-val.gold,body.eco-workspace .kpi-val.gold{background:none;color:#183c43;-webkit-text-fill-color:#183c43}
body.eco-workspace .glass,body.eco-workspace .login-card{box-shadow:0 10px 30px rgba(24,60,67,.08)}
body.eco-workspace .btn.solid,body.eco-workspace .cc-send,body.eco-workspace .btn:not(.ghost):not(.teal):not(.violet):not(.danger){background:#a34428;color:#fff8ed;box-shadow:none}
body.eco-workspace .notice{color:#775616}
body.eco-workspace button:focus-visible,body.eco-workspace a:focus-visible,body.eco-workspace input:focus-visible,body.eco-workspace textarea:focus-visible,body.eco-workspace select:focus-visible{outline:3px solid #a34428;outline-offset:3px}
body.eco-workspace .pl-tab.active{color:#fff8ed;background:#a34428}
body.eco-workspace .tb-live-dot{color:#49666b}
@media(max-width:767px){.eco-shell{width:calc(100% - 24px);margin:14px auto}.eco-shell summary{padding:18px 16px;gap:10px}.eco-body{padding:0 16px 20px}.eco-intro,.eco-directory{grid-template-columns:1fr;gap:12px}.eco-intro{margin-top:0}.eco-flow-list{grid-template-columns:1fr;gap:22px}.eco-flow-list li+li::before{width:0;height:20px;left:22px;top:-22px;border-top:none;border-left:2px solid #476d68}.eco-flow-list li+li::after{left:19px;top:-9px;transform:rotate(135deg)}.eco-map svg{display:none}.eco-map{padding:12px}.eco-portal header{flex-wrap:wrap}.eco-nav{padding:8px 14px;gap:6px 14px}.eco-recon-grid{grid-template-columns:1fr 1fr}body.eco-workspace .grid2,body.eco-workspace .form-row-2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.eco-workspace *,body.eco-workspace *::before,body.eco-workspace *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
