:root{--bg:#f4f6f9;--surface:#fff;--border:#e3e6eb;--text:#15181e;--muted:#6b7280;--primary:#1f4fd8;--primary-hover:#1941b3;--primary-soft:#eaf0ff;--success:#067647;--success-soft:#e7f6ee;--danger:#b42318;--danger-soft:#fdecea;--warn:#92400e;--warn-soft:#fff4e5;--radius:10px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100vh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,sans-serif;font-size:14px;line-height:1.7}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-weight:700;line-height:1.4}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}.container{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.container-narrow{max-width:600px;margin:0 auto;padding:40px 20px 64px}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.appbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;position:sticky;top:0}.appbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:12px 20px;display:flex}.brand{color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.user{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-title{margin-bottom:4px;font-size:16px}.card-desc{color:var(--muted);margin-bottom:16px;font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:8px 0 20px;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-family:inherit;font-size:14px}.tab:hover{color:var(--text)}.tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-count{background:var(--bg);color:var(--muted);border-radius:999px;margin-left:6px;padding:0 8px;font-size:12px}.field{gap:6px;display:grid}.field>span{color:#374151;font-size:13px;font-weight:600}.field .hint{color:var(--muted);margin-left:6px;font-weight:400}.input,.select,.textarea{width:100%;color:var(--text);background:#fff;border:1px solid #cfd4dc;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.textarea{resize:vertical;min-height:96px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .span-2{grid-column:span 2}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.checkbox{color:#374151;cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.checkbox input{margin-top:4px}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{color:var(--text);background:#fff;border-color:#cfd4dc}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-sm{border-radius:6px;padding:5px 10px;font-size:12px}.btn-lg{padding:13px 22px;font-size:15px}.btn-block{width:100%}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border);background:#f9fafb;padding:10px 12px;font-size:12px;font-weight:600}.table td{vertical-align:top;border-bottom:1px solid #f0f2f5;padding:10px 12px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fafbfd}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .nowrap{white-space:nowrap}.sub{color:var(--muted);font-size:12px;display:block}.badge{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-muted{color:var(--muted);background:#f0f2f5}.badge-warn{background:var(--warn-soft);color:var(--warn)}.mark{color:var(--success);white-space:nowrap;font-weight:600}.mark-none{color:#c4c9d2}.alert{border:1px solid #0000;border-radius:8px;padding:12px 14px;font-size:13px}.alert-success{background:var(--success-soft);color:var(--success);border-color:#bfe5cf}.alert-danger{background:var(--danger-soft);color:var(--danger);border-color:#f5c6c1}.alert-warn{background:var(--warn-soft);color:var(--warn);border-color:#f8dcb3}.alert-info{background:var(--primary-soft);color:#1e3a8a;border-color:#c7d6fb}.note{color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .card{text-align:center;width:100%;max-width:380px;padding:36px 28px}.login .brand{justify-content:center;margin-bottom:20px}.done{text-align:center;padding:40px 24px}.done .icon{background:var(--success-soft);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:26px;display:grid}.footer{text-align:center;color:var(--muted);margin-top:24px;font-size:12px}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}.preview-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.preview-head{border-bottom:1px solid var(--border);background:#f9fafb;padding:10px 14px;font-size:13px}
