:root{--ink:#17233d;--muted:#667085;--paper:#f6f7fb;--card:#fff;--line:#e3e7ef;--accent:#315cc4;--accent-soft:#e9efff;--warn:#a16207;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,"Yu Gothic UI",Meiryo,sans-serif}.topbar{min-height:92px;background:#142447;color:#fff;padding:18px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{margin:0;font-size:24px}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em}.topbar .eyebrow{color:#b7c9ff}.privacy{font-size:13px;color:#dae4ff}.layout{max-width:1320px;margin:0 auto;padding:28px;display:grid;grid-template-columns:190px 1fr;gap:28px}.nav{display:grid;align-content:start;align-self:start;gap:5px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}.nav-item{border:0;background:transparent;color:#52607a;text-align:left;padding:10px 12px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--accent-soft);color:#244ea9}.content{min-width:0}.view.hidden{display:none}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-head h2{margin:0;font-size:25px}.report-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.report-bar p{margin:0}#report-bar-text{flex:1;min-width:220px}#report-bar-text p{margin:0 0 6px}.welcome-steps{margin:8px 0 10px;padding-left:22px}.welcome-steps li{margin:3px 0}.home-welcome .stats,.home-welcome>.panel:not(#report-bar),.home-welcome .section-head .actions{display:none}.home-welcome #report-bar{display:block;padding:28px}.home-welcome #report-bar #report-bar-text{font-size:15px;color:var(--ink)}.home-welcome #report-bar .file-button{margin-top:14px;font-size:15px;padding:12px 18px}#series-suggest .task{background:#f8faff}#series-suggest label{display:flex;gap:8px;align-items:baseline;margin:4px 0;font-weight:400}#series-suggest .actions{margin:10px 0 0}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{background:transparent;color:#52607a;border-radius:8px 8px 0 0;padding:9px 16px;font-weight:700}.tab.active{background:var(--accent-soft);color:#244ea9}.tab-panel.hidden{display:none}
.form [hidden]{display:none}.warn-text{color:var(--warn)}.field-row{display:flex;gap:12px}.field-row>label{flex:1}
.spark-wrap{margin:8px 0 4px}.spark-row{display:flex;align-items:center;gap:10px;margin:2px 0}.spark-row>.meta{width:64px;margin:0;flex:none}.spark{display:block;background:#f8faff;border:1px solid var(--line);border-radius:6px}.spark polyline{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.spark .spark-ev{stroke:var(--danger);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.spark .spark-base{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
#book-list td{padding:6px}#book-list .cell{padding:5px 6px;font-size:12px;width:100%}#book-list .cell-num{width:64px}#book-list .meta{font-size:11px}.catalog-head{display:block}.catalog-head .actions{justify-content:flex-start;margin:16px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat,.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #17233d0a}.stat{padding:15px}.stat b{display:block;font-size:27px;margin-top:3px}.stat span,.muted{color:var(--muted);font-size:13px}.panel{padding:20px;margin-bottom:18px}.panel h3{margin:0 0 8px;font-size:17px}.two-col{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.two-col>*{min-width:0}.form{display:grid;gap:12px;align-content:start;min-width:0}.form label{display:grid;gap:5px;font-weight:700;font-size:13px;min-width:0}.form input,.form select,.form textarea{width:100%;min-width:0}.form .check{display:flex;align-items:center;gap:8px}.form .check input[type=checkbox]{width:auto;min-width:0;padding:0}input,select,textarea{border:1px solid #cfd6e3;border-radius:7px;background:#fff;padding:9px;font:inherit;color:var(--ink)}textarea{resize:vertical}button,.file-button{border:0;border-radius:7px;background:var(--accent);color:#fff;padding:10px 13px;font:inherit;font-weight:800;cursor:pointer}.secondary{background:#edf1f8;color:#30415f}.danger{background:var(--danger)}.file-button{display:inline-block}.file-button input{display:none}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:11px;letter-spacing:.05em}.small-button{padding:5px 8px;font-size:12px;background:#edf1f8;color:#34425d}.item{padding:12px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.item-title{font-weight:800}.meta{color:var(--muted);font-size:13px;margin-top:3px}.badge{display:inline-block;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:#244ea9;font-size:11px;font-weight:800;margin-right:4px}.badge.warn{background:#fdf1d3;color:var(--warn)}.badge.danger{background:#fee9e7;color:var(--danger)}.empty{color:var(--muted);margin:12px 0}.task{border-left:4px solid var(--accent);padding:11px 13px;margin:10px 0;background:#f8faff}.task.warn{border-color:#d5971a;background:#fffaf0}.task strong{display:block}.task span{display:block;margin-top:3px}.task .task-context{display:block;margin-top:3px;color:var(--muted);font-size:12px}@media(max-width:760px){.topbar{align-items:start;flex-direction:column}.layout{padding:18px;grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,1fr);position:static;max-height:none}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.section-head h2{font-size:22px}.field-row{flex-direction:column;gap:12px}}


.demo-label{display:inline-block;margin-left:8px;border:1px solid #b7c9ff;border-radius:999px;padding:3px 8px;color:#dfe8ff;font-size:12px;vertical-align:middle}.demo-notice{margin:0 0 18px;padding:13px 15px;border:1px solid #aebfe5;border-radius:10px;background:#eef4ff;color:#25477f;font-size:14px}.demo-notice strong{color:#173d7b}#report-import-label,#backup-import-label,#clear-data{display:none!important}
.demo-effect-hint{margin:0;color:#25477f;font-size:13px;line-height:1.6}
