/* 日本語説明: 採用した白・紺・ティールの画面をPCとスマートフォンに適応します。 */
:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:#152a49;background:#f5f8fb;font-synthesis:none;--teal:#0097a7;--ink:#122847;--muted:#73839a;--line:#e0e8ef;--red:#df4359;--green:#098c80;--radius:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #60cdda;outline-offset:3px}a{color:var(--teal);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:.025em}h2{font-size:19px}h3{font-size:16px}p{line-height:1.7}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}.muted{color:var(--muted)}.small{font-size:12px}.negative{color:var(--red)!important}.positive{color:var(--green)!important}.mono{font-variant-numeric:tabular-nums}.loading{padding:80px;text-align:center}.app-layout{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:fixed;width:230px;inset:0 auto 0 0;background:#fbfdff;border-right:1px solid var(--line);padding:30px 16px;display:flex;flex-direction:column;z-index:20}.brand{padding:0 8px 32px;font-weight:800;font-size:20px;letter-spacing:-.05em;white-space:nowrap}.brand small{display:block;font-weight:400;font-size:11px;letter-spacing:.05em;color:var(--muted);margin-top:8px}.nav-item{display:flex;align-items:center;gap:13px;padding:16px 15px;color:#536781;border-radius:11px;margin:5px 0;font-size:14px}.nav-item.active{background:#ddf4f7;color:#087b8d;font-weight:700}.nav-item.active:before{content:'';position:absolute;left:0;width:4px;height:32px;background:var(--teal);border-radius:5px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.main{grid-column:2;padding:35px clamp(20px,3vw,48px) 50px;max-width:1550px;width:100%;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.header p{font-size:14px;color:var(--muted);margin-top:8px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{border:1px solid #c5d3df;background:white;color:#25415f;border-radius:9px;min-height:42px;padding:10px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:13px;font-weight:600;white-space:nowrap}.btn:hover{background:#f0f8fa}.btn.primary{background:var(--teal);border-color:var(--teal);color:white}.btn.primary:hover{background:#007f90}.btn.danger{color:var(--red);border-color:#edb6bf}.btn.ghost{border-color:transparent;background:transparent}.icon-btn{padding:9px;min-width:40px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:20px;box-shadow:0 2px 5px #10274502}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-head p{font-size:12px;color:var(--muted);margin-top:5px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.stat{padding:23px;background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.stat-title{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:650;gap:8px}.stat-value{font-size:clamp(25px,2.6vw,36px);font-weight:750;margin:20px 0 9px;letter-spacing:-.035em;white-space:nowrap}.stat p{font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1.4;font-weight:600;background:#edf2f7;color:#6a7c92;white-space:nowrap}.badge.teal{background:#e3f6f3;color:#087f76}.badge.red,.buy{background:#fff0f2;color:#cb3c58}.badge.blue,.sell{background:#e6f1ff;color:#247ac2}.badge.amber{background:#fff6e5;color:#a16a12}.pill{border-radius:20px}.notice{display:flex;gap:10px;align-items:flex-start;background:#fff7e9;color:#916019;border:1px solid #f2ddb7;border-radius:10px;padding:13px 16px;font-size:12px;line-height:1.7;margin:16px 0}.notice.info{background:#edf7fc;border-color:#d4e8f4;color:#527393}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:12px;font-weight:550;color:#63758d}.field input,.field select,.field textarea,input.control,select.control{width:100%;padding:11px 12px;min-height:43px;border:1px solid #ccd8e5;border-radius:8px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0097a715}.field textarea{resize:vertical;min-height:105px}.filters .field{min-width:150px}.filters .search{flex:1}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.tabs{display:flex;border-bottom:1px solid var(--line);gap:3px;margin-bottom:23px}.tab{border:0;border-bottom:3px solid transparent;background:transparent;padding:14px 22px;color:#718299;font-size:14px;min-height:48px}.tab.active{color:#008496;border-bottom-color:var(--teal);font-weight:700;background:#eaf9fa;border-radius:8px 8px 0 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;background:#f3f6fa;color:#74869b;font-size:11px;font-weight:600;padding:13px 12px}td{padding:16px 12px;border-bottom:1px solid #edf1f6}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td .badge{margin-right:4px}.table-title{display:block;font-weight:600;color:#314964;margin-bottom:5px}.empty{text-align:center;padding:42px 15px;color:var(--muted)}.empty svg{width:44px;height:44px;stroke-width:1.2;margin-bottom:14px;color:#9ab4c6}.empty h3{color:#526882;margin-bottom:8px}.empty .btn{margin-top:20px}.bar-row{display:grid;grid-template-columns:72px minmax(0,1fr) 105px;align-items:center;gap:12px;margin:18px 0;font-size:12px}.bar-track{height:10px;background:#f1f5f8;border-radius:4px;overflow:hidden}.bar{height:100%;background:#40b9b3;border-radius:4px;min-width:2px}.bar.down{background:#e48d98}.bar-row strong{text-align:right}.position-group{margin-top:18px}.group-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;gap:10px}.position-list{display:grid;gap:12px}.position-card{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:1.3fr repeat(4,1fr) auto;align-items:center;gap:16px}.position-card label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.position-card strong{font-size:15px;font-variant-numeric:tabular-nums}.position-card .contract{font-size:17px;margin-top:8px;display:block}.position-tools{display:flex;gap:5px}.timeline{padding:0 0 0 18px;border-left:2px solid #dce8ee;margin-left:8px}.timeline-item{position:relative;padding:0 0 28px 10px}.timeline-item:before{content:'';position:absolute;top:3px;left:-26px;width:12px;height:12px;border:3px solid white;border-radius:50%;background:var(--teal)}.timeline-item p{font-size:13px;margin:6px 0}.timeline-item strong{font-size:18px}.import-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.import-card{text-align:center;padding:30px 18px}.import-card>svg{width:40px;height:40px;color:var(--teal);margin-bottom:18px}.import-card h2{margin-bottom:10px}.import-card p{font-size:12px;color:var(--muted);min-height:42px}.import-card .btn{margin-top:20px;width:100%}.steps{display:flex;gap:20px;justify-content:center;align-items:center;padding:20px;font-size:12px;color:var(--muted)}.step{display:flex;align-items:center;gap:8px}.step b{border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:#e8eef4}.step.active{color:var(--teal)}.step.active b{background:var(--teal);color:white}.upload-zone{border:1px dashed #89bec9;border-radius:12px;background:#f4fcfd;padding:26px;text-align:center}.mobile-nav{display:none}.mobile-top{display:none}.login{max-width:430px;margin:0 auto;padding:65px 20px}.login-brand{text-align:center;font-size:22px;font-weight:800;margin-bottom:60px}.login-hero{text-align:center;margin-bottom:30px}.login-hero>svg{width:64px;height:64px;color:var(--teal);margin:0 0 20px}.login-hero h1{font-size:24px}.login-hero p{font-size:12px;color:var(--muted);margin-top:12px}.login .btn{width:100%;margin-top:12px}.login .panel h2{margin-bottom:15px}.login .field{margin-top:12px}.divider{border-top:1px solid var(--line);margin:22px 0}.attachment-preview{max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:8px}.ocr-status{font-size:13px;color:var(--teal);padding:15px 0}details summary{cursor:pointer;padding:12px 0;font-size:13px;color:#52708a}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:10px;background:#19334c;color:white;font-size:13px;z-index:200;display:none;max-width:90vw;box-shadow:0 8px 28px #152a4930}#toast.show{display:block}dialog{border:0;border-radius:18px;max-width:560px;width:calc(100% - 32px);padding:25px;color:var(--ink);box-shadow:0 20px 100px #152a4940}dialog::backdrop{background:#10284070;backdrop-filter:blur(3px)}dialog .actions{margin-top:22px;justify-content:flex-end}.checks{display:flex;gap:8px;font-size:13px;align-items:flex-start;margin:15px 0}.checks input{width:18px;height:18px;accent-color:var(--teal)}.subhead{margin:24px 0 14px}.risk{font-size:11px;color:#8996a7;line-height:1.8;margin-top:30px}.result{padding:16px;background:#edf8fa;border-radius:10px;margin:18px 0;display:flex;justify-content:space-between;gap:12px}.hidden{display:none!important}.history-card-list{display:none}.subtle-link{font-size:12px;font-weight:600}.page-count{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-top:18px}.footer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.app-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#71839b}.app-status:before{content:'';height:6px;width:6px;background:#23a38d;border-radius:50%}.cycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}code{overflow-wrap:anywhere;background:#eef5f8;padding:4px;border-radius:4px}.review{max-width:1000px;margin:auto}.form-panel{padding:25px}.review-head{display:flex;gap:12px;align-items:center;margin-bottom:22px}.review-head h1{font-size:25px}.warning-list{max-height:140px;overflow:auto;font-size:12px;color:#a36515;line-height:1.8}.snapshot-note{font-size:12px;margin:12px 0;color:#8190a5}.outdated{color:#a36a1b}.metrics-inline{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.metrics-inline strong{font-size:17px;margin-left:7px}
@media(min-width:1500px){.main{padding-top:45px}.panel{padding:28px}.stat{padding:28px}}
@media(max-width:1100px){.app-layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px}.brand{font-size:17px}.main{padding:26px 22px}.nav-item{font-size:12px;padding:14px 10px}.header{align-items:flex-start}.header .actions{justify-content:flex-end}.split{grid-template-columns:1fr}.position-card{gap:10px;grid-template-columns:1.3fr 1fr 1fr 1fr auto}.position-card .mark-meta{display:none}.import-options{gap:10px}.import-card{padding:25px 14px}}
@media(max-width:760px){.app-layout{display:block}.sidebar{display:none}.main{padding:18px 16px 105px}.mobile-top{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 18px;background:#fcfeff;position:sticky;top:0;z-index:15;font-size:17px;font-weight:750}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fcfefff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);justify-content:space-around;z-index:30}.mobile-nav a{font-size:10px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 12px;color:#72839b;border-radius:9px}.mobile-nav a.active{color:#008d9f;background:#e7f8fa}.mobile-nav svg{width:23px;height:23px}h1{font-size:23px}h2{font-size:17px}.header{display:block;margin-bottom:22px}.header .actions{justify-content:flex-start;margin-top:16px}.header p{font-size:12px}.btn{min-height:44px;font-size:12px;padding:11px 13px}.panel{padding:18px;margin-bottom:16px;border-radius:13px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.stats .stat:first-child{grid-column:1/-1}.stat{padding:17px;border-radius:12px}.stat-title{font-size:12px}.stat-title .badge{font-size:9px}.stat-value{font-size:26px;margin:12px 0 6px}.stats .stat:first-child .stat-value{font-size:36px}.stat p{font-size:10px;line-height:1.6}.filters{gap:9px}.filters .field{min-width:0;flex:1 1 42%}.filters .search{flex:1 1 100%}.field input,.field select,.field textarea{font-size:16px;min-height:46px;padding:11px}.field>span{font-size:11px}.tabs{gap:0;margin-bottom:16px}.tab{font-size:12px;flex:1;padding:13px 6px;white-space:nowrap}.two,.cycle-grid{grid-template-columns:1fr}.position-card{grid-template-columns:1fr 1fr;gap:15px;padding:16px}.position-card .position-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.position-card .contract{margin:0;font-size:20px}.position-card .mark-meta{display:block}.position-card .position-tools{grid-column:1/-1;border-top:1px solid #edf1f5;padding-top:10px;justify-content:flex-end}.position-card label{font-size:10px}.group-title{flex-wrap:wrap}.group-title h2{font-size:18px}.bar-row{grid-template-columns:60px minmax(0,1fr) 98px;gap:8px;font-size:11px}.history-desktop{display:none}.history-card-list{display:grid;gap:12px}.history-item{padding:16px;border:1px solid var(--line);border-radius:12px}.history-item .row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0}.history-item strong{font-size:18px}.history-item .row:first-child{margin-top:0}.import-options{grid-template-columns:1fr}.import-card{text-align:left;display:grid;grid-template-columns:40px 1fr;column-gap:16px;padding:20px}.import-card>svg{width:32px;height:32px;grid-row:1/3}.import-card h2{font-size:17px}.import-card p{min-height:0}.import-card .btn{grid-column:1/-1;margin-top:16px}.steps{padding:12px 0;gap:10px;justify-content:space-between;font-size:10px}.step{gap:5px}.step b{width:22px;height:22px}.review .form-grid{grid-template-columns:1fr 1fr}.review .field:first-child{grid-column:1/-1}.review-head h1{font-size:22px}.review .footer-actions{position:sticky;bottom:77px;background:#fff;padding:12px;margin:0 -18px -18px;border-radius:0 0 12px 12px;box-shadow:0 -8px 20px #10203008}.review .footer-actions .primary{flex:1}.risk{font-size:10px}.notice{font-size:11px;padding:12px}.login{padding:38px 20px}.login-brand{margin-bottom:45px}.login .panel{padding:25px}.login .login-hero h1{font-size:23px}.login .btn{min-height:50px;font-size:14px}.panel-head{margin-bottom:16px}.panel-head .btn{padding:8px;font-size:11px}.form-grid{gap:13px}.form-panel{padding:18px}.page-count{gap:10px;flex-wrap:wrap}#toast{bottom:95px}.group-title .metrics-inline{gap:10px}.metrics-inline strong{font-size:15px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s}.panel,.stat{animation:appear .2s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* 日本語説明: 操作者を文字と色で識別し、スマホでも操作履歴を読めるようにします。 */
.actor-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-weight:700;font-size:13px;white-space:nowrap}.actor-blue{background:#e4efff;color:#175ca4}.actor-pink{background:#ffe5f0;color:#9f235e}.actor-neutral{background:#edf0f4;color:#4c5666}.audit-list{max-height:620px;overflow:auto}.audit-entry{padding:16px 0;border-bottom:1px solid var(--border,#e7ebf0)}.audit-entry .row{gap:12px;flex-wrap:wrap}.audit-entry details{margin-top:10px}.audit-entry details p{margin:6px 0}

/* 日本語説明: PC・スマホ共通の戻るボタンを画面上部に置きます。 */
.back-navigation{margin-bottom:16px}.back-navigation .btn{min-height:44px}
