:root{--bg:#e8edf3;--bg-soft:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--border:#d5dde8;--border-strong:#b8c4d4;--text:#1c2b3a;--text-muted:#5f7083;--primary:#1f6f8b;--primary-hover:#185a71;--primary-soft:#e6f3f7;--accent:#c45c26;--danger:#c0392b;--success:#2e7d4f;--warning:#b78105;--sidebar:#1a3347;--sidebar-text:#d7e3ee;--shadow:0 8px 28px #1a33471f;--radius:10px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(ellipse 80% 50% at 0% 0%, #1f6f8b14, transparent 50%), radial-gradient(ellipse 60% 40% at 100% 0%, #c45c260d, transparent 45%), var(--bg);margin:0}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:#fff}.btn-secondary:hover{background:var(--bg-soft)}.btn-danger{background:var(--danger)}.btn-sm{height:26px;padding:0 8px;font-size:11px}.btn-ghost{color:var(--primary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--primary-soft)}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field label{color:var(--text-muted);font-size:11px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);height:30px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 8px}.field textarea{resize:vertical;height:auto;min-height:64px;padding:6px 8px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1f6f8b26}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid .span-3{grid-column:span 3}@media (width<=900px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .span-2,.form-grid .span-3{grid-column:span 2}}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-3{grid-column:span 1}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #1a33470a}.toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.25}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:5px 8px}.data-table th{color:var(--text-muted);z-index:1;background:#eef3f8;font-size:11px;font-weight:700;position:sticky;top:0}.data-table tbody tr:hover{background:#f3f8fb}.data-table .actions{justify-content:flex-end;gap:4px;display:flex}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .muted{color:var(--text-muted)}.badge{letter-spacing:.02em;border-radius:4px;align-items:center;height:20px;padding:0 7px;font-size:10px;font-weight:700;display:inline-flex}.badge-request{color:#4a5d70;background:#eef2f6}.badge-manuscript{color:#2a5ea8;background:#e8f1ff}.badge-confirmed{color:#217245;background:#eaf7ef}.badge-billing{color:#9a6700;background:#fff4e5}.badge-paid{color:#0f7a5c;background:#e8f7f2}.badge-draft{color:#666;background:#f1f1f1}.badge-published{color:#2d6a3e;background:#e8f4ea}.empty{text-align:center;color:var(--text-muted);padding:28px;font-size:13px}.page-title{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.page-title h1{letter-spacing:.04em;margin:0;font-size:18px;font-weight:700}.page-title p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.modal-backdrop{z-index:1000;background:#1423326b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:min(760px,100%);max-height:min(90vh,900px);box-shadow:var(--shadow);background:#fff;border-radius:12px;overflow:auto}.modal-lg{width:min(920px,100%)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.modal-header h2{margin:0;font-size:15px}.modal-body{padding:14px}.modal-footer{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat-card .label{color:var(--text-muted);font-size:11px;font-weight:600}.stat-card .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:700}.stat-card .sub{color:var(--text-muted);margin-top:2px;font-size:11px}@media (width<=900px){.stat-grid{grid-template-columns:1fr 1fr}}
