:root{--navy:#1e3a5f;--navy-2:#2c5282;--bg:#f4f6f9;--panel:#fff;--line:#e2e8f0;--text:#1a202c;--muted:#718096;--danger:#c53030;--ok:#2f855a;--sel:#ebf4ff;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 14px}button:hover{background:#f7fafc}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.primary:hover{background:var(--navy-2)}button.primary:disabled{opacity:.6;cursor:default}button.danger{color:var(--danger);border-color:#feb2b2}button.danger:hover{background:#fff5f5}button.ghost{color:var(--muted);background:0 0;border:none;padding:4px 8px}button.link{color:var(--navy-2);background:0 0;border:none;padding:0 0 0 8px;text-decoration:underline}input,select,textarea{background:#fff;border:1px solid #cbd5e0;border-radius:8px;width:100%;padding:8px 10px}input:focus,select:focus,textarea:focus,button:focus-visible,tr:focus-visible{outline-offset:1px;outline:2px solid #90cdf4}input.invalid,select.invalid{border-color:var(--danger);background:snow}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;padding:10px 20px;padding-top:max(10px, env(safe-area-inset-top));background:var(--navy);color:#fff;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar h1{white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.search{flex:1;max-width:560px}.search input{border:none}.top-actions{gap:8px;margin-left:auto;display:flex}.top-actions>button.primary,.menu>button{border-color:#fff6}.top-actions>button.primary{color:var(--navy);background:#fff;font-weight:600}.menu{position:relative}.menu>button{color:#fff;background:0 0}.menu>button:hover{background:#ffffff1a}.menu-list{color:var(--text);border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;min-width:260px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000026}.menu-list button{text-align:left;border:none;border-radius:6px}.menu-list hr{border:none;border-top:1px solid var(--line);margin:4px 0}main{flex:1;grid-template-columns:1fr;align-items:start;gap:16px;padding:16px 20px;display:grid}main.with-panel{grid-template-columns:minmax(0,1fr) minmax(380px,460px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.list-panel{overflow:hidden}.filters{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px;display:flex}.filters select{width:auto}.count{color:var(--muted);white-space:nowrap;margin-left:auto}.empty{text-align:center;color:var(--muted);padding:48px 16px}table.list{border-collapse:collapse;width:100%}.list th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#f8fafc;padding:8px 12px;font-size:12px;font-weight:600}.list td{vertical-align:middle;border-bottom:1px solid #edf2f7;padding:10px 12px}.list tbody tr{cursor:pointer}.list tbody tr:hover{background:#f7fafc}.list tbody tr.selected{background:var(--sel)}.list .name{font-weight:600}.list .kana,.detail .kana{color:var(--muted);margin:0;font-size:11px}.list .num{text-align:right}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.badge{color:#4a5568;white-space:nowrap;vertical-align:middle;background:#edf2f7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.sc-0{color:#2b6cb0;background:#ebf8ff}.badge.sc-1{color:#975a16;background:#fefcbf}.badge.sc-2{color:#6b46c1;background:#faf5ff}.badge.sc-3{color:#276749;background:#f0fff4}.badge.sc-4{color:#4a5568;background:#edf2f7}.badge.sc-5{color:#285e61;background:#e6fffa}.trial-tag{vertical-align:middle;background:#ffffff2e;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600}.trial-banner{color:#2a4365;background:#ebf8ff;border:1px solid #bee3f8;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px 0;padding:10px 16px;font-size:13px;line-height:1.7;display:flex}.trial-banner a{color:#2b6cb0;white-space:nowrap;font-weight:600}.storage-warning{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2;border-radius:10px;margin:12px 20px 0;padding:12px 16px;font-size:13px;line-height:1.7}.storage-warning strong{font-size:14px;display:block}.badge.sc-none{color:#4a5568;background:#f7fafc;border:1px dashed #cbd5e0}.small-btn{white-space:nowrap;padding:6px 10px;font-size:12px}button.link.small-link{padding:0 0 0 6px;font-size:12px;font-weight:400}.modal-backdrop{z-index:30;background:#1a202c73;justify-content:center;align-items:flex-start;padding:72px 16px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal-backdrop .status-manager{width:100%;max-width:520px;max-height:none;position:static;box-shadow:0 20px 50px #00000040}.status-list{border-top:1px solid var(--line);margin:12px 0;padding:0;list-style:none}.status-list li{border-bottom:1px solid var(--line);padding:10px 0}.status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-count{color:var(--muted);font-size:12px}.status-actions{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.status-actions button{padding:4px 10px;font-size:12px}.status-actions button:disabled{opacity:.4;cursor:default}.status-edit,.status-add{align-items:flex-end;gap:8px;display:flex}.status-edit input{flex:1}.status-add label{flex-direction:column;flex:1;gap:4px;display:flex}.status-add label>span{color:#4a5568;font-size:12px;font-weight:600}.form,.detail{max-height:calc(100vh - 88px);padding:16px 20px;position:sticky;top:72px;overflow:auto}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.panel-head h2{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid2 label{flex-direction:column;gap:4px;display:flex}.grid2 label>span{color:#4a5568;font-size:12px;font-weight:600}.span2{grid-column:span 2}.req{color:#fff;background:var(--danger);border-radius:4px;margin-left:4px;padding:0 4px;font-size:10px;font-style:normal}.age{color:var(--navy-2)}.field-error{color:var(--danger);margin:0;font-size:12px}.hint{color:var(--muted);margin:0;font-size:12px}.actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.kbd-hint{text-align:right;color:var(--muted);margin:6px 0 0;font-size:11px}.detail dl{margin:0}.detail dl>div{border-bottom:1px solid #edf2f7;grid-template-columns:90px 1fr;gap:8px;padding:8px 0;display:grid}.detail dt{color:var(--muted);font-size:12px}.detail dd{word-break:break-all;margin:0}.detail a{color:var(--navy-2)}.map-link{white-space:nowrap;font-size:12px}.memo{white-space:pre-wrap}.muted{color:#a0aec0}.tags{flex-wrap:wrap;gap:4px;display:flex}.tag{background:#edf2f7;border-radius:6px;padding:1px 8px;font-size:12px}.meta{color:var(--muted);margin:12px 0 0;font-size:11px}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{color:#fff;background:var(--ok);border-radius:10px;width:max-content;max-width:90vw;padding:10px 18px;animation:.2s ease-out pop;box-shadow:0 6px 20px #0003}.toast.error{background:var(--danger)}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}@media (width<=1100px){.hide-md{display:none}}@media (width<=860px){main.with-panel{grid-template-columns:1fr}main.with-panel .list-panel{display:none}.form,.detail{max-height:none;position:static}.topbar{flex-wrap:wrap;padding:10px 12px}.search{flex-basis:100%;order:3;max-width:none}main{padding:12px}}@media (width<=560px){.hide-sm{display:none}.grid2{grid-template-columns:1fr}.span2{grid-column:auto}}.birth-row{align-items:stretch;gap:6px;display:flex}.birth-row input[name=birth]{flex:1;min-width:0}.birth-picker{flex:none;display:flex;position:relative}.birth-picker button{padding:0 10px;font-size:16px;line-height:1}.birth-picker input{opacity:0;pointer-events:none;border:0;width:100%;padding:0;position:absolute;inset:0}.tabs{background:#ffffff1a;border-radius:10px;gap:4px;padding:3px;display:flex}.tabs button{color:#fffc;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:5px 12px}.tabs button:hover{background:#ffffff1f}.tabs button.active{color:var(--navy);background:#fff;font-weight:600}.security{flex-direction:column;gap:16px;width:100%;max-width:1100px;margin:0 auto;display:flex}.sec-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.sec-hero h2{margin:0 0 4px;font-size:18px}.sec-hero p{max-width:620px;margin:0}.sec-actions{flex-wrap:wrap;gap:8px;display:flex}.muted-text{color:var(--muted);font-size:13px}.muted-text select{width:auto;margin-left:8px;padding:3px 6px;font-size:12px}.sec-summary{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.sec-summary p{margin:0}.tiles{gap:8px;display:flex}.tile{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-direction:column;align-items:center;min-width:76px;padding:6px 10px;display:flex}.tile b{font-size:22px;line-height:1.2}.tile span{color:var(--muted);font-size:11px}.tile.fail b{color:var(--danger)}.tile.pass b{color:var(--ok)}.tile.info b{color:#4a5568}.badge.st-pass{color:#276749;background:#f0fff4}.badge.st-fail{color:var(--danger);background:#fff5f5}.badge.st-info{color:#4a5568;background:#edf2f7}.sev{white-space:nowrap;text-align:center;border-radius:4px;min-width:2.4em;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.sev-高{color:#fff;background:#c53030}.sev-中{color:#fff;background:#dd6b20}.sev-低{color:#3d2c00;background:#ecc94b}.sev-情報{color:#2d3748;background:#cbd5e0}.sec-table td{vertical-align:top}.sec-table tr.static{cursor:default}.sec-table tr.static:hover{background:0 0}.sec-result{color:#4a5568;max-width:420px;font-size:13px}.sec-detail{margin:8px 0 0;font-size:13px}.sec-detail>div{grid-template-columns:96px 1fr;gap:8px;padding:4px 0;display:grid}.sec-detail dt{color:var(--muted);font-size:12px}.sec-detail dd{margin:0}.sec-foot{text-align:left;padding:8px 16px 12px}.sec-pad{padding:16px 20px 0}.nowrap{white-space:nowrap}.show-sm{display:none!important}@media (width<=860px){.tabs{order:2}.sec-hero{padding:14px}}@media (width<=560px){.show-sm{display:grid!important}.sec-detail>div{grid-template-columns:1fr;gap:0}.tile{min-width:60px}}.sec-table th{white-space:nowrap}.brand{perspective:400px;gap:10px}.logo-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;margin:-2px -4px;padding:2px 4px;line-height:0}.logo-btn:hover{background:0 0}.logo-btn img{transform-origin:50% 70%;filter:drop-shadow(0 0 1px #ffffff8c)drop-shadow(0 1px 1px #0006);will-change:transform;width:auto;height:38px;transition:transform .35s cubic-bezier(.2,.8,.2,1.2),filter .35s;display:block;transform:translateZ(0)}.logo-btn:hover img,.logo-btn:focus-visible img{filter:drop-shadow(0 0 2px #fffc)drop-shadow(0 3px 2px #00000059)drop-shadow(0 12px 12px #0000008c)brightness(1.25);transform:translateY(-4px)translateZ(22px)rotateX(16deg)scale(1.1)}.logo-btn:active img{transition-duration:.1s;transform:translateY(-1px)translateZ(8px)rotateX(6deg)scale(1.02)}@media (prefers-reduced-motion:reduce){.logo-btn img{transition:filter .2s}.logo-btn:hover img,.logo-btn:focus-visible img{transform:none}}.field-block{flex-direction:column;gap:4px;display:flex}.field-label{color:#4a5568;font-size:12px;font-weight:600}.clip{color:var(--muted);white-space:nowrap;margin-left:6px;font-size:11px;font-weight:500}.dropzone{text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:16px 12px;transition:border-color .15s,background .15s,transform .15s;display:flex}.dropzone:hover,.dropzone:focus-visible{border-color:var(--navy-2);background:#f0f5fb;outline:none}.dropzone.over{border-color:var(--navy-2);background:#e6effa;transform:scale(1.01)}.dz-icon{font-size:20px}.dz-main{color:var(--navy);font-size:13px;font-weight:600}.dz-sub{color:var(--muted);font-size:11px}.att-errors{color:var(--danger);margin:6px 0 0;padding-left:18px;font-size:12px}.att-rows{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.att-rows li{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.att-rows li.removed{opacity:.55}.att-rows li.removed .att-row-name{text-decoration:line-through}.att-rows li.added{background:#f0fff4;border-color:#9ae6b4}.att-row-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);background:0 0;border:none;flex:1;padding:0;overflow:hidden}.att-row-name:not(:disabled){color:var(--navy-2);text-decoration:underline}.att-row-name:disabled{cursor:default}.att-tag{color:var(--danger);white-space:nowrap;font-size:10px;font-weight:700}.att-tag.new{color:var(--ok)}.att-meta{color:var(--muted);white-space:nowrap;font-size:11px}.file-badge{letter-spacing:.02em;color:#fff;background:#718096;border-radius:4px;flex:none;justify-content:center;align-items:center;min-width:38px;height:20px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex}.fb-pdf{background:#c53030}.fb-img{background:#2b6cb0}.fb-doc{background:#2c5282}.fb-xls{background:#276749}.fb-ppt{background:#c05621}.att-section{margin-top:14px}.att-section h3{color:#4a5568;margin:0 0 8px;font-size:13px}.att-empty{margin:0;font-size:12px}.att-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.att-card{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.att-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.att-open{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:2px;padding:0 0 6px;display:flex}.att-open:hover{background:0 0}.att-thumb{object-fit:cover;background:#edf2f7;width:100%;height:76px;display:block}.att-thumb-icon{justify-content:center;align-items:center;display:flex}.att-thumb-icon .file-badge{transform:scale(1.4)}.att-name{text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-size:12px;font-weight:600;overflow:hidden}.att-open .att-meta{padding:0 8px}.att-actions{justify-content:space-between;padding:0 8px 6px;font-size:11px;display:flex}.att-actions .link{padding:0;font-size:11px}.danger-link{color:var(--danger)!important}.modal-backdrop{z-index:200;background:#0f172a99;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:min(960px,100%);height:min(88vh,100%);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000059}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.modal-title{align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.modal-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-title small{color:var(--muted);white-space:nowrap;font-weight:400}.modal-actions{flex:none;gap:6px;display:flex}.modal-body{background:#2d3748;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.modal-body img{object-fit:contain;max-width:100%;max-height:100%}.modal-body object{background:#fff;width:100%;height:100%}.modal-body .empty{color:#fff}@keyframes fade{0%{opacity:0}}@media (width<=560px){.modal-backdrop{padding:0}.modal{border-radius:0;height:100%}}
