:root{--navy:#0b2023;--navy2:#102a2e;--ink:#172326;--muted:#69777a;--line:#dde5e3;--bg:#f4f7f6;--white:#fff;--mint:#36c6a4;--mint-dark:#11806b;--mint-soft:#e6f7f2;--blue:#4979dd;--violet:#8068d8;--amber:#c78328;--red:#be4a50;--shadow:0 8px 26px rgba(12,42,42,.06);--radius:14px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#dce7e5;display:flex;flex-direction:column;padding:25px 17px 18px;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px}.brand-mark{position:relative;width:31px;height:31px;border:1px solid #637b7b;border-radius:8px;display:block}.brand-mark i{position:absolute;left:8px;bottom:7px;width:16px;height:6px;border-left:3px solid var(--mint);border-bottom:3px solid var(--mint)}.brand-mark b{position:absolute;right:7px;top:7px;width:8px;height:5px;border-top:3px solid #fff}.brand small{display:block;font-size:.63rem;letter-spacing:.11em;color:#8ea6a4;text-transform:uppercase}.brand strong{font-family:"DM Sans",sans-serif;display:block;font-size:1.15rem;letter-spacing:.01em;color:#fff}.org-switcher{margin:0 3px 19px;padding:10px 10px;display:flex;align-items:center;gap:9px;border:1px solid #294347;border-radius:10px;background:#122c30}.org-avatar,.profile-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#275249;color:#8cf2d8;font-family:"DM Sans";font-weight:700}.org-switcher small,.profile small{display:block;color:#7f9a98;font-size:.66rem}.org-switcher strong,.profile strong{display:block;color:#eaf1f0;font-size:.76rem}.chevron,.dots{margin-left:auto;color:#78918f}.nav{flex:1}.nav p{margin:17px 11px 7px;color:#6f8987;font-size:.66rem;font-weight:700;letter-spacing:.1em}.nav-item{position:relative;width:100%;border:0;background:transparent;color:#a9bbb9;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:11px;font:500 .82rem "Noto Sans JP";text-align:left;cursor:pointer;margin:2px 0}.nav-item:hover{background:#142f33;color:#fff}.nav-item.active{background:#1e413e;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:22px;background:var(--mint);border-radius:3px}.nav-icon{width:18px;text-align:center;font-size:1rem;color:#90aaa7}.nav-item.active .nav-icon{color:var(--mint)}.nav-count{margin-left:auto;background:#d39b43;color:#172326;min-width:19px;height:19px;border-radius:9px;display:grid;place-items:center;font-size:.65rem;font-weight:700}.privacy-card{display:flex;gap:9px;align-items:flex-start;margin:12px 3px;padding:11px;background:#122f2e;border:1px solid #26524c;border-radius:10px}.shield{color:var(--mint);font-size:.76rem;margin-top:2px}.privacy-card strong{display:block;color:#dcebe8;font-size:.69rem}.privacy-card small{display:block;color:#799692;font-size:.61rem;margin-top:2px}.profile{border:0;border-top:1px solid #20393c;padding:16px 6px 0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left}.profile-avatar{border-radius:50%;font-size:.67rem}.main{margin-left:248px;width:calc(100% - 248px);min-height:100vh}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.breadcrumb{font-size:.68rem;color:#97a2a4;margin:0 0 5px}.breadcrumb span{margin-left:4px}.topbar h1{font-size:1.15rem;margin:0;letter-spacing:.01em}.top-actions{display:flex;align-items:center;gap:10px}.demo-badge{font-size:.67rem;font-weight:600;color:#84652e;background:#fff5dc;border:1px solid #f0dfb4;border-radius:20px;padding:5px 9px}.icon-button,.sync-button,.secondary-button,.primary-button,.text-button,.mobile-menu{font:600 .75rem "Noto Sans JP";cursor:pointer}.icon-button{position:relative;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff}.notification-dot{position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--red)}.sync-button,.secondary-button,.primary-button{height:36px;padding:0 14px;border-radius:8px;border:1px solid #cfdad8;background:#fff;color:#314244}.sync-button:hover,.secondary-button:hover{background:#f5f8f7}.sync-button span{color:var(--mint-dark);font-size:1rem}.primary-button{border-color:var(--navy);background:var(--navy);color:#fff}.content{padding:29px 34px 50px;max-width:1600px;margin:auto}.view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.view-heading h2{font-size:1.3rem;margin:0 0 5px}.view-heading p{font-size:.78rem;color:var(--muted);margin:0}.filters{display:flex;gap:9px}.filters label{height:38px;border:1px solid var(--line);background:#fff;border-radius:8px;display:flex;align-items:center;padding-left:11px}.filters span{font-size:.68rem;color:#839092;padding-right:8px;border-right:1px solid var(--line)}select{appearance:auto;border:0;background:transparent;padding:0 9px;font:500 .75rem "Noto Sans JP";color:#344447;outline:none}.notice{display:flex;align-items:center;gap:10px;background:#edf6f4;border:1px solid #cfe7e1;padding:10px 13px;border-radius:10px;margin-bottom:15px;color:#46625f}.notice-icon{width:19px;height:19px;display:grid;place-items:center;background:#3fa991;color:white;border-radius:50%;font:bold .7rem serif}.notice p{font-size:.71rem;margin:0;flex:1}.notice button{background:transparent;border:0;color:#73908c;cursor:pointer;font-size:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:13px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px 15px;box-shadow:var(--shadow)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#677578;font-size:.72rem}.metric-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;font-weight:700}.metric-icon.mint{background:#e2f7f1;color:#168c73}.metric-icon.blue{background:#e8efff;color:var(--blue)}.metric-icon.violet{background:#eeeafd;color:var(--violet)}.metric-icon.amber{background:#fff1dc;color:var(--amber)}.metric-value{display:block;font:700 1.65rem "DM Sans",sans-serif;letter-spacing:-.02em;margin:11px 0 7px}.metric-foot{display:flex;gap:8px;align-items:center;font-size:.66rem;color:#8b9698}.change{font-weight:700;font-size:.66rem}.change.up{color:#13836e}.change.down{color:#b36e20}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel h3{font-size:.87rem;margin:0 0 3px}.panel-head p{font-size:.67rem;color:#8a9698;margin:0}.legend{display:flex;gap:13px;font-size:.65rem;color:#738184}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:16px;height:2px;background:var(--mint-dark)}.legend .legend-agent{background:var(--violet)}.chart-summary{display:flex;align-items:baseline;gap:4px;margin:17px 0 0}.chart-summary strong{font:700 1.45rem "DM Sans"}.chart-summary span{font-size:.7rem;color:var(--muted)}.chart-summary em{font-style:normal;font-size:.66rem;color:var(--mint-dark);background:var(--mint-soft);padding:2px 5px;border-radius:4px;margin-left:4px}.line-chart{height:184px;margin-top:-7px}.line-chart svg{width:100%;height:100%;overflow:visible}.grid-line{stroke:#e9eeed;stroke-width:1}.chart-label{fill:#8b9799;font:10px "DM Sans"}.line-total{fill:none;stroke:#15917a;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.area-total{fill:url(#areaGradient)}.line-agent{fill:none;stroke:#8270d8;stroke-width:1.8;stroke-dasharray:4 4;stroke-linecap:round}.chart-point{fill:#fff;stroke:#15917a;stroke-width:2}.text-button{border:0;background:transparent;color:#1c7e6c;padding:2px;white-space:nowrap;font-size:.68rem}.adoption-wrap{display:grid;grid-template-columns:155px 1fr;align-items:center;gap:20px;margin-top:22px}.donut{width:140px;height:140px;border-radius:50%;background:conic-gradient(var(--mint) calc(var(--value)*1%),#e9efed 0);display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.donut div{position:relative;text-align:center}.donut strong{display:block;font:700 1.55rem "DM Sans"}.donut span{font-size:.65rem;color:#879294}.adoption-detail>div{display:grid;grid-template-columns:1fr auto;gap:5px 8px;margin-bottom:13px}.adoption-detail span,.adoption-detail strong{font-size:.67rem}.adoption-detail strong{font-family:"DM Sans"}.adoption-detail i{grid-column:1/-1;height:5px;border-radius:5px;background:#ecf0ef;overflow:hidden}.adoption-detail b{display:block;height:100%;background:#35b599;border-radius:5px}.services-panel,.insights-panel{margin-top:0}.service-list{margin-top:14px}.service-row{display:grid;grid-template-columns:minmax(160px,1.35fr) 1.1fr .75fr .75fr;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid #edf0f0}.service-row:first-child{border-top:0}.service-name{display:flex;align-items:center;gap:9px}.vendor-logo{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;color:#fff;font:700 .72rem "DM Sans"}.vendor-logo.openai{background:#1c3431}.vendor-logo.anthropic{background:#a66e49}.vendor-logo.microsoft{background:#4770c6}.vendor-logo.github{background:#242a32}.vendor-logo.google{background:#e5edf9;color:#4274cf}.service-name strong{display:block;font-size:.71rem}.service-name small,.service-stat small{display:block;color:#8c9799;font-size:.61rem}.seat-bar{height:6px;background:#edf1f0;border-radius:5px;overflow:hidden}.seat-bar b{display:block;height:100%;background:#4dbca4;border-radius:5px}.service-stat strong{font:600 .76rem "DM Sans"}.freshness{font-size:.62rem;color:#58726e}.freshness.warn{color:#a86c21}.insight-list{margin-top:10px}.insight-list button{width:100%;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;border:0;border-top:1px solid #edf0ef;background:#fff;padding:13px 1px;text-align:left;cursor:pointer}.insight-list button:first-child{border-top:0}.insight-list button:hover strong{color:#117967}.insight-list strong,.insight-list small{display:block}.insight-list strong{font-size:.7rem}.insight-list small{color:#8a9698;font-size:.62rem;margin-top:3px}.insight-list button>b{font-size:.7rem;color:#91a09e}.insight-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:.7rem;font-weight:700}.insight-icon.warn{background:#fff0db;color:#ae6e1b}.insight-icon.good{background:#e1f6f0;color:#16846f}.insight-icon.info{background:#e8effb;color:#4d72b2}.data-footnote{text-align:right;color:#97a1a3;font-size:.6rem;margin:10px 3px 0}.view{animation:fade .22s ease}@keyframes fade{from{opacity:.2;transform:translateY(3px)}}.table-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table-toolbar{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.search{width:280px;height:35px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#8b9897}.search input{border:0;outline:none;font:400 .74rem "Noto Sans JP";width:100%}.table-toolbar select{border:1px solid var(--line);border-radius:8px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.72rem}th{text-align:left;background:#f7f9f8;color:#7c898b;font-size:.65rem;font-weight:600;padding:11px 15px;white-space:nowrap}td{padding:13px 15px;border-top:1px solid #edf0ef;white-space:nowrap}td strong,td small{display:block}td small{font-size:.61rem;color:#8b9799;margin-top:2px}.person-cell{display:flex;align-items:center;gap:9px}.person-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e5f4ef;color:#267766;font-weight:700;font-size:.64rem}.service-pills{display:flex;gap:4px}.service-pills span{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:white;font:600 .58rem "DM Sans"}.status{display:inline-flex;padding:3px 7px;border-radius:10px;font-size:.61rem;font-weight:600}.status.success{background:#e2f5ef;color:#147964}.status.idle{background:#f2f0e8;color:#89723b}.scope-chip{font-size:.67rem;color:#37665f;background:#e8f5f1;border:1px solid #cae6df;padding:6px 10px;border-radius:20px}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.product-head{display:flex;align-items:center;gap:11px;margin-bottom:15px}.product-head .vendor-logo{width:38px;height:38px}.product-head h3{font-size:.86rem;margin:0}.product-head p{font-size:.62rem;color:#849092;margin:3px 0 0}.product-head .connection-state{margin-left:auto}.connection-state{font-size:.61rem;font-weight:600;color:#167962}.product-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e6ebea;border-radius:9px;overflow:hidden}.product-metrics div{padding:10px;border-left:1px solid #e6ebea}.product-metrics div:first-child{border:0}.product-metrics small,.product-metrics strong{display:block}.product-metrics small{font-size:.59rem;color:#8b9698}.product-metrics strong{font:600 .9rem "DM Sans";margin-top:3px}.available-fields{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.available-fields span{font-size:.59rem;padding:4px 7px;background:#f0f5f3;color:#4d6662;border-radius:5px}.agent-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:13px}.agent-summary article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow)}.agent-summary span,.agent-summary small{display:block;color:#7d898b;font-size:.66rem}.agent-summary strong{display:block;font:700 1.5rem "DM Sans";margin:8px 0 5px}.connection-list{display:grid;gap:10px}.connection-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;display:grid;grid-template-columns:1.3fr .9fr .8fr auto;align-items:center;gap:16px}.connection-card .service-name .vendor-logo{width:34px;height:34px}.connection-detail small{display:block;color:#8a9698;font-size:.61rem}.connection-detail strong{font-size:.69rem}.connection-action{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;font:600 .66rem "Noto Sans JP";cursor:pointer}.connection-action.warning{color:#a26722;border-color:#e9cfaa;background:#fffaf2}.privacy-hero{display:flex;align-items:center;gap:22px;background:linear-gradient(110deg,#0b282a,#123a37);color:#fff;border-radius:16px;padding:29px 31px;margin-bottom:14px}.large-shield{width:64px;height:64px;display:grid;place-items:center;border:1px solid #3c7068;background:#173e3a;border-radius:17px;color:#5ed8bb;font-size:1.4rem}.eyebrow{color:#64d9bd;font:600 .63rem "DM Sans";text-transform:uppercase;letter-spacing:.13em}.privacy-hero h3{font-size:1.12rem;margin:5px 0 7px}.privacy-hero p{color:#a9c0bc;font-size:.73rem;line-height:1.8;margin:0;max-width:850px}.policy-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.policy-columns article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.policy-columns h3{font-size:.83rem;margin:0 0 12px;color:#187a68}.policy-columns .deny h3{color:#a3494e}.policy-columns ul{margin:0;padding-left:21px;columns:2}.policy-columns li{font-size:.7rem;margin:7px 0}.toast{position:fixed;right:24px;bottom:24px;background:#102927;color:#fff;padding:11px 16px;border-radius:9px;font-size:.73rem;box-shadow:0 10px 30px rgba(0,0,0,.18);transform:translateY(80px);opacity:0;transition:.25s;z-index:20}.toast.show{transform:none;opacity:1}.mobile-menu{display:none}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.services-panel,.insights-panel{margin-top:0}.connection-card{grid-template-columns:1fr 1fr}.connection-action{justify-self:start}.product-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:10px 0 30px rgba(0,0,0,.18)}.main{margin-left:0;width:100%}.topbar{height:76px;padding:0 16px}.mobile-menu{display:block;border:0;background:transparent;font-size:1.2rem;margin-right:10px}.topbar>div:first-of-type{margin-right:auto}.top-actions .demo-badge,.icon-button{display:none}.content{padding:22px 15px 40px}.view-heading{align-items:flex-start;flex-direction:column}.filters{width:100%}.filters label{flex:1}.metrics-grid{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.panel{margin-bottom:12px}.adoption-wrap{grid-template-columns:1fr}.donut{margin:auto}.service-row{grid-template-columns:1.2fr .8fr .7fr}.service-row .freshness{display:none}.agent-summary{grid-template-columns:1fr}.connection-card{grid-template-columns:1fr}.policy-columns{grid-template-columns:1fr}.policy-columns ul{columns:1}.privacy-hero{align-items:flex-start;padding:22px}.large-shield{display:none}.table-toolbar{gap:8px}.search{width:100%}.table-toolbar select{max-width:150px}}
@media(max-width:480px){.metrics-grid{grid-template-columns:1fr}.sync-button{font-size:0;width:36px;padding:0}.sync-button span{font-size:1rem}.filters{flex-direction:column}.filters label{min-height:38px}.adoption-wrap{display:block}.adoption-detail{margin-top:20px}.service-row{grid-template-columns:1fr .8fr}.service-row .seat-bar{display:none}.privacy-hero{padding:20px}.topbar h1{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.auth-overlay{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#071a1d,#123936);display:grid;place-items:center;padding:20px}.auth-overlay[hidden]{display:none}.auth-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.auth-brand .brand-mark{background:var(--navy)}.auth-brand small{display:block;font:600 .58rem "DM Sans";letter-spacing:.12em;color:#7c8a8c}.auth-brand strong{display:block;font:700 1rem "DM Sans"}.auth-card h1{font-size:1.25rem;margin:0 0 7px}.auth-card>p{font-size:.73rem;color:#728082;margin:0 0 20px}.auth-card form{display:grid;gap:13px}.auth-card label{font-size:.68rem;font-weight:600;color:#536265}.auth-card input{display:block;width:100%;height:42px;margin-top:5px;border:1px solid #ced9d7;border-radius:8px;padding:0 11px;font:400 .8rem "Noto Sans JP";outline:none}.auth-card input:focus{border-color:#2e9c86;box-shadow:0 0 0 3px #daf2ec}.auth-submit{height:43px;border:0;border-radius:8px;background:var(--navy);color:#fff;font:600 .78rem "Noto Sans JP";cursor:pointer;margin-top:3px}.auth-error{background:#fcebed;color:#a13e46;border-radius:7px;padding:8px 10px!important;margin:0!important;font-size:.68rem!important}.muted{color:var(--muted);font-size:.7rem}
.modal-overlay{position:fixed;inset:0;z-index:90;background:rgba(5,22,24,.62);display:grid;place-items:center;padding:18px}.modal-overlay[hidden]{display:none}.modal-card{position:relative;width:min(480px,100%);background:#fff;border-radius:16px;padding:27px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#758284;font-size:1.2rem;cursor:pointer}.modal-card h2{font-size:1.05rem;margin:5px 0 6px}.modal-card>p{font-size:.69rem;line-height:1.7;color:#728082;margin:0 0 18px}.modal-card form{display:grid;gap:13px}.modal-card label{font-size:.68rem;font-weight:600;color:#536265}.modal-card input{display:block;width:100%;height:42px;margin-top:5px;border:1px solid #ced9d7;border-radius:8px;padding:0 11px;font:400 .8rem "Noto Sans JP"}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}
