:root{--bg:#F5F6F8;--card:#fff;--text:#1F2937;--muted:#667085;--line:#D9DEE5;--blue:#07131F;--blue-dark:#0B1B2A;--danger:#B42318;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1100px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px}.brand img{width:38px;height:38px;object-fit:contain}.brand div{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:15px;letter-spacing:.08em}.brand span{font-size:12px;color:var(--muted);margin-top:3px}.shell{max-width:1100px;margin:0 auto;padding:28px 18px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(31,41,55,.05)}.hero{padding:48px;max-width:760px;margin:45px auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--blue);margin:0 0 8px}.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.05;margin:0 0 16px;letter-spacing:-.035em}.muted,.hint{color:var(--muted);line-height:1.6}.hero .primary{margin-top:20px}.steps{display:flex;gap:8px;margin:0 0 14px;color:var(--muted);font-size:13px}.steps span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}.steps .active{color:var(--text);border-color:#c8ced6;font-weight:700}.form{padding:28px}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sectionHead h2{margin:0;font-size:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.wide{grid-column:1/-1}input:not([type=file]){width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);outline:none}input:not([type=file]):focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,31,58,.12)}.photoSection{margin-top:34px;border-top:1px solid var(--line);padding-top:26px}.count{font-size:13px;color:var(--muted)}.upload{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-height:48px;padding:0 18px;cursor:pointer;border-radius:11px}.upload input{position:absolute;opacity:0;width:1px;height:1px}.primary{border:0;background:var(--blue);color:#fff;font-weight:800;padding:13px 18px;border-radius:11px;cursor:pointer;transition:.15s}.primary:hover{background:var(--blue-dark)}.ghost{border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;padding:10px 14px;border-radius:10px;cursor:pointer}.hint{font-size:12px;margin:9px 0 18px}.photoList{display:grid;gap:12px}.photoItem{display:grid;grid-template-columns:130px 1fr auto;gap:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;align-items:start}.thumb{width:130px;height:100px;border-radius:9px;object-fit:cover;background:#eef0f3}.photoMeta{display:flex;flex-direction:column;gap:7px}.photoNum{font-size:12px;font-weight:800;color:var(--muted)}textarea{min-height:80px;resize:vertical;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;outline:none}.delete{border:0;background:transparent;color:var(--danger);font-size:12px;font-weight:800;cursor:pointer}.actions{display:flex;justify-content:flex-end;margin-top:24px}.previewBar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.report{background:transparent;max-width:820px;margin:auto}.reportPage{background:#fff;min-height:1120px;margin:0 auto 18px;border:1px solid var(--line);box-shadow:0 8px 28px rgba(31,41,55,.08);padding:44px;position:relative;display:flex;flex-direction:column}.reportPage .footer{margin-top:auto}.reportHeader{border-bottom:2px solid var(--text);padding-bottom:18px;margin-bottom:24px}.reportBrand{display:flex;align-items:center;gap:10px;margin-bottom:10mm}.reportBrand img{width:34px;height:34px;object-fit:contain}.reportBrandText{display:flex;flex-direction:column;line-height:1.05}.reportBrandText strong{font-size:14px;letter-spacing:.08em;color:var(--blue)}.reportBrandText span{font-size:11px;color:var(--muted);margin-top:4px}.reportHeader .eyebrow{margin-bottom:10mm}.reportHeader h1{margin:0 0 14px;font-size:30px;line-height:1.1}.meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:var(--muted)}.reportPhoto{break-inside:avoid;margin:0 0 24px}.reportPhoto img{width:100%;max-height:520px;object-fit:contain;background:#f2f3f5}.caption{font-size:13px;margin-top:7px;line-height:1.5}.footer{padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;flex-shrink:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#1F2937;color:#fff;padding:11px 15px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:680px){.hero{padding:30px 22px;margin:20px auto}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.form{padding:20px}.photoItem{grid-template-columns:86px 1fr;}.thumb{width:86px;height:78px}.photoItem>.delete{grid-column:2;text-align:left}.reportPage{min-height:calc(100vh - 90px);padding:24px;margin-bottom:14px}.meta{grid-template-columns:1fr}.topbar{padding:0 14px}.steps{overflow:auto}.previewBar .primary,.previewBar .ghost{padding:11px 12px}}
@page{size:A4;margin:0}
@media print{body{background:#fff}.topbar,.previewBar,.toast{display:none!important}.shell{padding:0;max-width:none}.report{max-width:none;margin:0}.reportPage{width:210mm;height:297mm;min-height:0;margin:0;padding:16mm 16mm 14mm;border:0;box-shadow:none;break-after:page;break-inside:avoid;overflow:hidden;position:relative;display:flex;flex-direction:column}.reportPage:last-child{break-after:auto}.reportBrand{margin-bottom:5mm}.reportBrand img{width:32px;height:32px}.reportBrandText strong{font-size:14px}.reportBrandText span{font-size:10px}.reportHeader{margin-bottom:10mm}.reportHeader .eyebrow{margin-bottom:10mm}.reportPhoto{break-inside:avoid;margin:0}.reportPhoto img{width:100%;max-height:220mm;object-fit:contain;background:#f2f3f5}.reportPage:first-child .reportPhoto img{max-height:150mm}.caption{font-size:11pt;margin-top:4mm;line-height:1.4}.footer{margin-top:auto;padding-top:4mm;font-size:9pt;flex-shrink:0;border-top:1px solid var(--line)}}
