:root{--paper:#FFF8E9;--paper-raised:#FFFFFF;--ink:#22315A;--ink-soft:#6E7794;--line:#EADFC0;--coral:#FF5A6E;--coral-soft:#FFE1E6;--navy:#22308C;--navy-soft:#E3E6FA;--jade:#2FAE72;--jade-soft:#DFF7EA;--focus:#3B7CE0;--shadow: 0 2px 4px rgba(34,49,90,.08), 0 10px 26px rgba(34,49,90,.1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#171A26;--paper-raised:#20243380;--paper-raised:#20243A;--ink:#F2F3FA;--ink-soft:#B0B6D6;--line:#343B58;--coral:#FF7C8A;--coral-soft:#3A2530;--navy:#8C9AF0;--navy-soft:#242A52;--jade:#7FDCAB;--jade-soft:#1D3A2C;--focus:#7FA8D6;--shadow: 0 2px 4px rgba(0,0,0,.35), 0 10px 26px rgba(0,0,0,.45)}}:root[data-theme=dark]{--paper:#171A26;--paper-raised:#20243A;--ink:#F2F3FA;--ink-soft:#B0B6D6;--line:#343B58;--coral:#FF7C8A;--coral-soft:#3A2530;--navy:#8C9AF0;--navy-soft:#242A52;--jade:#7FDCAB;--jade-soft:#1D3A2C;--focus:#7FA8D6;--shadow: 0 2px 4px rgba(0,0,0,.35), 0 10px 26px rgba(0,0,0,.45)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--navy) 10%,transparent) 1.6px,transparent 1.6px) 0 0/26px 26px,var(--paper);color:var(--ink);font-family:"M PLUS Rounded 1c",Noto Sans JP,Helvetica Neue,Arial,sans-serif;line-height:1.7}h1,h2,h3{font-family:"M PLUS Rounded 1c",Noto Sans JP,sans-serif;font-weight:800;text-wrap:balance;margin:0}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}a{color:inherit}button{font-family:inherit}.app{max-width:720px;margin:0 auto;padding:20px 18px 100px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 18px}.brand{display:flex;align-items:center;gap:10px}.seal{width:40px;height:40px;border-radius:50%;border:2px solid var(--navy);background:var(--paper-raised);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;box-shadow:var(--shadow)}.seal img{width:100%;height:100%;object-fit:cover;object-position:center}.brand-name{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--navy)}.brand-sub{font-size:11px;color:var(--ink-soft);letter-spacing:.04em}.langtoggle{display:flex;border:2px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper-raised);box-shadow:var(--shadow)}.langtoggle button{border:none;background:transparent;color:var(--ink-soft);padding:7px 14px;font-size:12.5px;font-weight:700;letter-spacing:.02em;cursor:pointer}.langtoggle button.active{background:var(--coral);color:#fff}.linked-banner{display:flex;align-items:center;gap:10px;background:var(--navy-soft);border:2px solid var(--navy);color:var(--ink);border-radius:14px;padding:10px 14px;font-size:12.5px;margin-bottom:16px}.linked-banner b{font-family:"M PLUS Rounded 1c",sans-serif}.intro{background:var(--paper-raised);border:2px solid var(--line);border-radius:26px;padding:28px 26px 32px;box-shadow:var(--shadow);text-align:center}.hero-character{width:150px;margin:-8px auto 6px;display:block;filter:drop-shadow(0 6px 10px rgba(34,49,90,.18))}.eyebrow{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);font-weight:700;margin-bottom:8px}.intro h1{font-size:25px;margin-bottom:14px}.intro p.lead{color:var(--ink-soft);font-size:14.5px;max-width:52ch;margin-left:auto;margin-right:auto;text-align:left}.stat-row{display:flex;gap:10px;margin:22px 0 24px;flex-wrap:wrap}.stat{flex:1;min-width:130px;border:2px solid var(--line);border-radius:16px;padding:12px 14px;background:color-mix(in srgb,var(--navy) 4%,var(--paper-raised))}.stat b{display:block;font-family:"M PLUS Rounded 1c",sans-serif;font-size:20px;color:var(--navy)}.stat span{font-size:12px;color:var(--ink-soft)}.cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:16px 22px;background:var(--coral);color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 8px color-mix(in srgb,var(--coral) 70%,black),var(--shadow);width:100%;transition:transform .1s ease}.cta:hover{filter:brightness(1.04)}.cta:active{transform:translateY(4px);box-shadow:0 4px color-mix(in srgb,var(--coral) 70%,black)}.cta:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.steplist{margin-top:22px;border-top:2px dashed var(--line);padding-top:18px;text-align:left}.steplist ol{margin:10px 0 0;padding:0 0 0 20px;font-size:13px;color:var(--ink-soft);columns:2;column-gap:24px}.steplist li{margin-bottom:6px}.progress-wrap{margin:0 0 18px}.progress-track{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--coral),var(--navy));border-radius:99px;transition:width .35s ease}.progress-label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin-top:6px;letter-spacing:.02em;font-weight:600}.card{background:var(--paper-raised);border:2px solid var(--line);border-radius:22px;padding:26px 24px;box-shadow:var(--shadow);animation:rise .28s ease}@media(prefers-reduced-motion:reduce){.card{animation:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.step-no{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px}.step-no .badge{width:28px;height:28px;border-radius:50%;border:none;background:var(--navy);color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:"M PLUS Rounded 1c",sans-serif}.step-no .badge.done{background:var(--jade)}.step-no small{color:var(--ink-soft);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.card h2{font-size:21px;margin:2px 0 4px}.card p.help{color:var(--ink-soft);font-size:13.5px;margin:0 0 20px;max-width:56ch}.field{margin-bottom:18px}.field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:6px}.field label .req{color:var(--coral);margin-left:3px}.field .fieldhelp{font-size:12px;color:var(--ink-soft);margin-top:5px}.withbtn{display:flex;gap:8px}.withbtn input{flex:1}.smallbtn{border:2px solid var(--navy);background:var(--paper-raised);color:var(--navy);border-radius:999px;padding:0 16px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}.smallbtn:hover{background:var(--navy);color:#fff}input[type=text],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;border:2px solid var(--line);border-radius:14px;background:var(--paper-raised);color:var(--ink);padding:11px 14px;font-size:14.5px;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--focus)}textarea{min-height:88px;resize:vertical}.attention input,.attention select,.attention textarea{border-color:#e0a83a;background:#fff9ec}.attention-note{font-size:12px;color:#966a0b;margin-top:5px;font-weight:700}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .attention input,:root:not([data-theme=light]) .attention select,:root:not([data-theme=light]) .attention textarea{border-color:#c99a3a;background:#3a2f14}:root:not([data-theme=light]) .attention-note{color:#e0bb6e}}:root[data-theme=dark] .attention input,:root[data-theme=dark] .attention select,:root[data-theme=dark] .attention textarea{border-color:#c99a3a;background:#3a2f14}:root[data-theme=dark] .attention-note{color:#e0bb6e}.radiogroup{display:flex;gap:10px;flex-wrap:wrap}.radiogroup label{display:flex;align-items:center;gap:7px;border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;cursor:pointer;margin:0}.radiogroup input{accent-color:var(--coral)}.radiogroup label.checked,.radiogroup label:has(input:checked){border-color:var(--coral);background:var(--coral-soft)}.note-box{border:2px dashed var(--navy);border-radius:14px;padding:12px 14px;font-size:13px;color:var(--ink);background:var(--navy-soft)}.risk-banner{display:flex;gap:10px;align-items:flex-start;border:2px solid #E0A83A;background:#fff3d6;border-radius:14px;padding:10px 12px;font-size:12.5px;margin-top:8px;color:var(--ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .risk-banner{background:#3a2f14;border-color:#c99a3a}}:root[data-theme=dark] .risk-banner{background:#3a2f14;border-color:#c99a3a}.dropzone{display:flex;flex-direction:column;align-items:center;border:2.5px dashed var(--line);border-radius:18px;padding:22px;text-align:center;cursor:pointer;background:color-mix(in srgb,var(--navy) 3%,var(--paper-raised));margin-bottom:16px}.dropzone:hover{border-color:var(--coral)}.dropzone .dzicon{font-size:26px}.dropzone .dztext{font-size:13.5px;font-weight:700;margin-top:6px}.dropzone .dzsub{font-size:12px;color:var(--ink-soft);margin-top:3px}.dropzone input{display:none}.ocr-banner{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--jade);background:var(--jade-soft);border-radius:14px;padding:10px 12px;font-size:12.5px;margin-bottom:16px;color:var(--ink)}.ocr-banner b{font-family:"M PLUS Rounded 1c",sans-serif}.ocr-banner.pending{border-color:var(--navy);background:var(--navy-soft)}.ocr-banner.error{border-color:var(--coral);background:var(--coral-soft)}.repeat-row{border:2px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;display:grid;grid-template-columns:1fr;gap:10px}.repeat-row .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:560px){.repeat-row .grid3{grid-template-columns:1fr 1fr}}.repeat-row .rm{justify-self:end;border:none;background:none;color:var(--ink-soft);font-size:12px;cursor:pointer;text-decoration:underline}.addbtn{border:2px dashed var(--navy);background:none;color:var(--navy);border-radius:14px;padding:10px;width:100%;font-size:13.5px;font-weight:700;cursor:pointer}.addbtn:hover{border-color:var(--coral);color:var(--coral)}.summary dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 12px;margin:0 0 18px;font-size:13.5px}.summary dt{color:var(--ink-soft)}.summary dd{margin:0;font-weight:600}.summary h3{font-size:13px;margin:18px 0 8px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);font-weight:800}.consent{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:16px;padding:14px;margin:18px 0;font-size:13px;background:color-mix(in srgb,var(--navy) 3%,var(--paper-raised))}.consent input{margin-top:3px;accent-color:var(--coral)}.consent a{color:var(--focus);text-decoration:underline}.docs-addon{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 6%,var(--paper-raised))}.docs-addon-preview{border:2px dashed var(--line);border-radius:16px;padding:14px 16px;margin:0 0 18px;font-size:13.5px}.docs-addon-preview h3{font-size:13px;margin:14px 0 6px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);font-weight:800}.docs-addon-preview h3:first-child{margin-top:0}.docs-addon-preview ul{margin:0;padding-left:20px;color:var(--ink)}.docs-addon-preview li{margin-bottom:4px}.navbar{position:fixed;left:0;right:0;bottom:0;background:var(--paper-raised);border-top:2px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:flex;gap:12px;justify-content:center;z-index:5}.navbar .inner{max-width:720px;width:100%;display:flex;gap:12px}.btn{flex:1;border-radius:999px;padding:13px 16px;font-size:14.5px;font-weight:700;cursor:pointer;border:2px solid var(--line);background:var(--paper-raised);color:var(--ink)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);flex:2}.btn:disabled{opacity:.4;cursor:not-allowed}.done-screen{text-align:center;padding:10px 4px 30px}.done-screen .seal-big{width:120px;height:120px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.done-screen .seal-big img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(34,49,90,.18))}.flow{text-align:left;border-top:2px dashed var(--line);margin-top:22px;padding-top:18px}.flow ol{padding-left:20px;font-size:13.5px;color:var(--ink-soft)}.flow li{margin-bottom:8px}.flow li b{color:var(--ink)}.savebadge{position:fixed;top:10px;right:12px;font-size:11px;color:var(--ink-soft);background:var(--paper-raised);border:2px solid var(--line);border-radius:999px;padding:4px 10px;z-index:6}.admin-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.admin-filters select{border:2px solid var(--line);border-radius:12px;padding:8px 10px;font-size:13px;background:var(--paper-raised);color:var(--ink)}.admin-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.admin-row{display:flex;flex-direction:column;gap:8px;text-align:left;border:2px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--paper-raised);cursor:pointer}.admin-row:hover{border-color:var(--coral)}.admin-row-main{display:flex;align-items:center;gap:8px}.admin-row-name{font-weight:800;font-size:14.5px}.admin-chip{font-size:11px;background:var(--navy-soft);color:var(--navy);border-radius:999px;padding:2px 8px;font-weight:700}.admin-row-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-row-date{font-size:11px;color:var(--ink-soft)}.status-pill{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--line);color:var(--ink-soft)}.status-pill.status-delivered,.status-pill.status-paid{background:var(--jade-soft);color:var(--jade)}.status-pill.status-reviewed,.status-pill.status-ai_checked{background:var(--navy-soft);color:var(--navy)}.status-pill.status-unpaid{background:var(--coral-soft);color:var(--coral)}
