:root{--navy:#112d45;--ink:#173047;--muted:#65768a;--accent:#147c9d;--line:#dfe7ee;--bg:#f4f7fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;color:var(--ink);line-height:1.6}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #37b7df;outline-offset:3px}a{color:var(--accent);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:.01em;margin-bottom:8px;font-weight:700}h2{font-size:19px;margin-bottom:8px}h3{font-size:18px}p{color:var(--muted)}small{font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--navy);color:#fff;padding:29px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;text-decoration:none;color:#fff;font-size:17px;align-items:center}.brand-symbol{width:35px;height:39px;background:#244b62;color:#83d9ed;font-size:29px;text-align:center;line-height:36px;border-radius:6px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#91b1c5;margin-top:4px}.side-caption{color:#91acbd;font-size:12px;letter-spacing:.12em;margin:50px 16px 14px}.nav{border:0;width:100%;display:flex;align-items:center;gap:13px;color:#bad0df;background:none;padding:13px 17px;text-align:left;border-radius:7px;font-size:14px;margin-bottom:7px}.nav span{font-size:23px;line-height:1;width:21px;text-align:center}.nav.active{background:#25506a;color:#fff;box-shadow:inset 3px 0 #65cee6}.nav:hover{background:#20465e}.side-bottom{margin-top:auto;padding-top:30px}.public-label{font-size:12px;color:#a6c7d9;border-top:1px solid #315066;padding-top:20px}.side-bottom p{font-size:12px;color:#91acbd;margin:9px 0 20px}.side-bottom .nav{padding-left:0}.workspace{margin-left:242px}.topbar{height:70px;border-bottom:1px solid var(--line);background:#fff;padding:0 36px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.slash{color:#afbdc8;margin:0 12px}.top-tag{letter-spacing:1.6px;font-size:10px;color:#5f7a8d}main{max-width:1740px;margin:auto;padding:34px 36px 0}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.page-head p{font-size:14px;margin:0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700;margin-bottom:10px}.button{padding:11px 19px;border-radius:6px;border:1px solid transparent;white-space:nowrap;font-size:14px;line-height:1.5}.primary{background:var(--navy);color:#fff}.primary:hover{background:#245771}.outline{background:#fff;border-color:#d4dfe8;color:var(--ink)}.outline:hover{background:#eff6fa}.compact{padding:8px 12px;font-size:13px}.notice{display:flex;gap:11px;align-items:flex-start;background:#eaf4f9;border:1px solid #d8eaf3;color:#426177;padding:11px 15px;font-size:12px;border-radius:6px;margin-bottom:23px}.notice>span{font-size:17px;line-height:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 0;margin-bottom:26px}.metrics>div{padding:0 23px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics span{font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:31px;line-height:1.5;letter-spacing:.5px;font-variant-numeric:tabular-nums}.metrics small{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px;letter-spacing:0}.metrics em{font-size:10px;font-style:normal;color:#8b99a8}.search-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:23px;margin-bottom:30px}.search-line{display:flex;gap:10px;margin-bottom:22px}.search-input{position:relative;flex:1;display:flex;align-items:center;gap:10px}.search-input>span{position:absolute;left:14px;font-size:28px;color:#597b92;line-height:1}.search-input input{width:100%;padding-left:43px;height:44px;background:#f8fafc}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}label{display:block;font-size:12px;color:var(--muted);font-weight:500}label input,label select{margin-top:7px;width:100%}input,select{border:1px solid #d7e0e8;border-radius:5px;padding:10px 12px;background:#fff;color:var(--ink);min-width:0;font-size:14px;line-height:1.5}select{padding-right:25px}.filter-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:16px}.text-button{border:0;background:none;color:var(--accent);font-size:12px;padding:0}.muted{color:var(--muted)}#advanced{border-top:1px solid var(--line);padding-top:19px;margin-top:18px}.checkbox-label{display:flex;gap:9px;align-items:center}.checkbox-label input{width:18px;height:18px;margin:0}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-bar h2{margin:0}.section-bar p{font-size:12px;margin:6px 0 0}.count-badge{display:inline-block;font-size:12px;font-weight:400;border:1px solid #d3dee8;border-radius:5px;padding:2px 7px;margin-left:8px;color:#6f8293;vertical-align:middle}.table-actions{display:flex;gap:10px;align-items:center}.table-actions select{font-size:12px;padding:9px}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto;background:white}table{width:100%;border-collapse:collapse;min-width:880px;text-align:left}th{background:#eef3f7;font-weight:500;font-size:11px;letter-spacing:.02em;color:#5d7285;padding:14px 16px}td{padding:18px 16px;border-top:1px solid #e9eef3;font-size:12px;vertical-align:middle}td.company-name{min-width:210px}td.company-name button{font-size:14px;font-weight:650;color:var(--ink);border:0;background:none;text-align:left;padding:0}td.company-name small{display:block;font-size:10px;letter-spacing:.8px;color:#8e9caa;margin-top:5px}.row-icon{width:31px;height:34px;float:left;background:#eaf3f7;color:#638297;border:1px solid #dae7ee;border-radius:5px;margin:0 11px 5px 0;text-align:center;line-height:32px;font-size:19px}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td .unit{font-size:10px;color:#8d9dad}.badge{display:inline-block;background:#edf2f6;border:1px solid #e2e9ee;border-radius:4px;color:#6c7e8f;font-size:10px;padding:3px 7px;white-space:nowrap}.badge.confirmed{background:#e5f4f2;color:#237669;border-color:#cfe9e4}.badge.unavailable{background:#fbeeea;color:#a15c42;border-color:#f0ded7}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:19px;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:8px}.empty{text-align:center;padding:60px 20px;line-height:2}.empty small{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;margin-top:45px;padding:22px 0;color:#8b9cac;font-size:10px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:25px}.card p{font-size:14px}.map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px}.map-card{padding-bottom:19px}#japan-map{max-width:580px;margin:0 auto;min-height:300px}#japan-map svg{width:100%;height:auto;max-height:480px}#japan-map .prefecture{fill:#e6edf3;stroke:#fff;stroke-width:2;cursor:pointer;transition:fill .15s}#japan-map .prefecture.has-data{fill:#67b5ca}#japan-map .prefecture.selected,#japan-map .prefecture:hover{fill:#123c56}.map-legend{display:flex;gap:9px;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}.map-legend i{width:13px;height:13px;background:#67b5ca;border-radius:2px}.map-legend i.selected{background:#123c56}.map-credit{display:block;font-size:10px;color:#91a0ac;margin-top:19px;line-height:1.7}.bars{margin-top:24px;display:flex;flex-direction:column;gap:18px;max-height:490px;overflow:auto}.bar-item{background:none;border:none;width:100%;text-align:left;padding:0;color:var(--ink)}.bar-text{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.bar-track{height:5px;background:#eef3f7;border-radius:3px}.bar-fill{display:block;height:5px;background:#4da5be;border-radius:3px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.analytics-grid .card{min-width:0}.prose{max-width:900px}.prose h3{margin-top:30px;margin-bottom:10px}.prose p{line-height:1.9}.prose form{max-width:490px}.prose form>label,.card form>label{margin:18px 0}.insight{background:#edf5f9;border-radius:6px;font-size:13px;padding:15px}.coverage-visual{margin:36px 0;display:flex;gap:30px;align-items:center}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-inner{width:112px;height:112px;background:#fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}.donut strong{font-size:26px}.donut small{font-size:10px;color:var(--muted)}dialog{padding:25px 30px;max-width:760px;width:calc(100% - 32px);max-height:90vh;border:1px solid #d5e0e9;border-radius:12px;box-shadow:0 20px 80px #112d452e;color:var(--ink)}dialog::backdrop{background:#10263980;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.icon-button{background:none;border:0;font-size:26px;color:var(--muted);padding:0 6px}.detail-kicker{font-size:11px;letter-spacing:1px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.detail-field{border-bottom:1px solid var(--line);padding-bottom:15px}.detail-field>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.detail-field>strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}.detail-notice{padding:15px;background:#f1f6fa;border-radius:5px;font-size:13px;margin:20px 0}.detail-section h3{margin-top:26px}.detail-section p{font-size:14px;line-height:1.8}.source-table{font-size:12px;width:100%;min-width:0}.source-table td{font-size:11px;padding:9px}.source-table th{font-size:11px;padding:9px}.source-link{display:inline-block;margin:8px 15px 8px 0;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 20px;background:var(--navy);color:white;border-radius:7px;font-size:13px;z-index:1000;max-width:calc(100vw - 40px);box-shadow:0 5px 30px #112d4533}#toast.error{background:#9d3e35}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#saved-conditions button{font-size:11px;margin:0 5px;color:var(--muted);border:1px solid #dfe7ee;padding:2px 8px;border-radius:4px;background:#fff}
@media(min-width:1450px){main{padding:40px 48px 0}.topbar{padding:0 48px}td{padding:21px 18px}}@media(max-width:1150px){.sidebar{width:205px;padding:25px 15px}.brand{font-size:14px}.brand small{font-size:8px}.workspace{margin-left:205px}main{padding:25px 22px 0}.metrics>div{padding:0 15px}.metrics strong{font-size:27px}.metrics small{font-size:9px}.search-line{flex-wrap:wrap}.search-input{flex-basis:100%}.map-layout{grid-template-columns:1.4fr 1fr}.page-head .button{font-size:12px}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:16px 18px;display:block}.brand small{font-size:9px}.brand{font-size:17px}.side-caption,.side-bottom{display:none}.sidebar nav{display:flex;margin-top:18px;gap:5px;overflow:auto}.nav{margin:0;width:auto;white-space:nowrap;padding:9px 12px;font-size:12px;flex-shrink:0}.nav span{font-size:18px;width:15px}.workspace{margin:0}.topbar{height:50px;padding:0 20px}.top-tag{font-size:9px}main{padding:25px 18px 0}h1{font-size:25px}.page-head{align-items:flex-start}.page-head>button{padding:7px 9px}.page-head p{font-size:12px}.metrics{grid-template-columns:1fr 1fr;padding:0}.metrics>div{padding:16px 18px;border-bottom:1px solid var(--line)}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(3),.metrics>div:nth-child(4){border-bottom:0}.metrics strong{font-size:29px}.filter-grid{grid-template-columns:1fr 1fr}.search-panel{padding:17px}.search-line>.button{flex:1;font-size:12px;padding:10px}.filter-bottom{flex-wrap:wrap}.map-layout,.analytics-grid{grid-template-columns:1fr}.card{padding:20px}.section-bar{flex-wrap:wrap}.table-actions{width:100%;justify-content:space-between}.notice{font-size:11px}.detail-grid{grid-template-columns:1fr 1fr;gap:13px}.detail-field>strong{font-size:13px}dialog{padding:20px}footer{font-size:9px;flex-wrap:wrap}.coverage-visual{gap:20px}.source-table{display:block;overflow:auto}}@media(max-width:400px){.page-head{display:block}.page-head>button{margin-top:12px}.metrics>div{padding:13px}.metrics small{font-size:9px}.filter-grid{gap:10px}input,select{font-size:13px}.detail-grid{grid-template-columns:1fr}}

/* Compact working surface and readable labels. */
@media(min-width:801px){main{padding-top:22px}.page-head{margin-bottom:16px}.notice{margin-bottom:16px}.metrics{padding:13px 0;margin-bottom:18px}.metrics em{display:none}.search-panel{padding:17px 20px;margin-bottom:20px}.search-line{margin-bottom:13px}.filter-bottom{margin-top:12px}.section-bar{margin-bottom:12px}}
label,.metrics span,td,.nav{font-size:14px}td.company-name small,.metrics small,.badge,.metrics em,.map-credit,.map-legend,.eyebrow,.top-tag,.side-caption,.public-label,.side-bottom p,footer,th,.section-bar p,.detail-kicker,.detail-field>span,.source-table td,.source-table th,#saved-conditions button,.brand small{font-size:12px}.brand small{letter-spacing:.3px}.metrics strong{font-size:30px}.search-panel label input,.search-panel label select{margin-top:5px}.text-button{font-size:14px}.map-legend{margin-top:5px}
th,td{position:relative}.metrics em{display:none}.workspace,main,.view,.table-wrap{min-width:0}.table-wrap{max-width:100%}
@media(max-width:600px){#metric-total{font-size:23px}.metrics strong{white-space:nowrap}}
