:root{--ink:#161616;--muted:#63635e;--paper:#f7f7f5;--line:#d9d9d4;--white:#fff;--accent:#576056;--danger:#9f1d1d;--success:#1f6f46;--warning:#8a6816;--shadow:0 24px 80px #0000001a}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-height:100%;color:var(--ink);font-family:var(--font-engawa-sans), "Montserrat", "Avenir Next", "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, Arial, sans-serif;background:linear-gradient(135deg,#fffffff5,#f7f7f5f5),repeating-linear-gradient(90deg,#0000 0 92px,#16161609 92px 93px);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.public-shell,.crm-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 42px}.public-hero{border-top:8px solid var(--ink);grid-template-columns:minmax(220px,420px) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,72px);min-height:330px;padding:clamp(24px,6vw,64px) 0 26px;display:grid}.brand-mark img,.crm-header img,.auth-panel img{width:min(360px,100%);height:auto;display:block}.hero-copy{border-left:1px solid var(--line);padding-left:clamp(20px,5vw,52px)}.hero-tools{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:20px;display:flex}.hero-tools>span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:850}.language-switcher{border:1px solid var(--line);background:var(--white);grid-template-columns:repeat(4,minmax(56px,1fr));display:inline-grid}.language-switcher button{border:0;border-right:1px solid var(--line);min-height:42px;color:var(--muted);text-align:center;background:0 0;align-content:center;gap:1px;padding:5px 9px;display:grid}.language-switcher button:last-child{border-right:0}.language-switcher button.active{background:var(--ink);color:var(--white)}.language-switcher strong,.language-switcher span{line-height:1.05;display:block}.language-switcher strong{letter-spacing:.08em;font-size:.74rem;font-weight:850}.language-switcher span{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-weight:700;overflow:hidden}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-size:.74rem;font-weight:850;display:inline-flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;text-transform:uppercase;max-width:780px;margin-bottom:18px;font-size:clamp(2.2rem,6vw,5.2rem);font-weight:300;line-height:1}.hero-copy p{max-width:640px;color:var(--muted);margin-bottom:0;font-size:clamp(.98rem,1.6vw,1.14rem);line-height:1.85}.request-band{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.request-form,.auth-panel,.lead-detail,.lead-list,.crm-note{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6}.request-form{gap:18px;padding:clamp(18px,4vw,34px);display:grid}.form-grid,.edit-grid,.crm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{min-width:0;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:.76rem;font-weight:800;display:grid}.wide,.notes-field{grid-column:1/-1}input,select,textarea{border:1px solid var(--line);background:var(--white);width:100%;min-height:46px;color:var(--ink);letter-spacing:0;border-radius:0;outline:none;padding:11px 12px}textarea{resize:vertical;text-transform:none;min-height:116px;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1616161f}.dropzone{border:1px dashed var(--ink);background:var(--paper);justify-content:space-between;align-items:center;gap:18px;min-height:96px;padding:18px;display:flex}.dropzone.is-dragging{background:#ecece8}.dropzone span,.crm-note span,.stats-row span,.lead-row small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:750;display:block}.dropzone strong{letter-spacing:0;margin-top:8px;font-size:1.05rem;display:block}.primary-action,.secondary-action{border:1px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;min-height:46px;padding:0 20px;font-size:.76rem;font-weight:850}.primary-action{background:var(--ink);color:var(--white)}.secondary-action{background:var(--white);color:var(--ink)}.primary-action:disabled{opacity:.55}.file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border-bottom:1px solid var(--line);min-height:42px;color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.file-list button{color:var(--ink);background:0 0;border:0;font-weight:800}.consent-row,.check-field{text-transform:none;letter-spacing:0;align-items:center;gap:10px;display:flex}.consent-row input,.check-field input{width:18px;min-height:18px;accent-color:var(--ink)}.submit-row{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:14px;display:grid}.form-status,.crm-status{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.form-status.success,.sync-pill.synced{color:var(--success)}.form-status.error,.sync-pill.failed{color:var(--danger)}.crm-note{padding:24px;position:sticky;top:18px}.crm-note p{color:var(--muted);margin:16px 0 22px;line-height:1.65}.crm-note a,.crm-header a,.back-link{letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:850}.auth-shell{place-items:center;min-height:100vh;display:grid}.auth-panel{gap:18px;width:min(520px,100%);padding:clamp(24px,5vw,48px);display:grid}.auth-panel h1{font-size:clamp(2rem,6vw,3.7rem)}.crm-header{border-top:8px solid var(--ink);grid-template-columns:minmax(170px,280px) 1fr auto;align-items:center;gap:24px;padding:24px 0 18px;display:grid}.crm-header h1{margin-bottom:0;font-size:clamp(1.9rem,4vw,3.4rem)}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.stats-row div{border:1px solid var(--line);background:#ffffffdb;min-height:96px;padding:16px}.stats-row strong{margin-top:8px;font-size:2.1rem;font-weight:500;display:block}.crm-actions{grid-template-columns:minmax(0,1.3fr) 180px repeat(3,auto);align-items:end;margin:18px 0}.crm-grid{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.lead-list{max-height:720px;display:grid;overflow:auto}.lead-row{border:0;border-bottom:1px solid var(--line);background:var(--white);text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-height:78px;padding:14px;display:grid}.lead-row.active,.lead-row:hover{background:var(--paper)}.lead-row span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.lead-row strong{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.lead-row small{letter-spacing:0;text-transform:none;grid-column:1/-1}.empty-state{color:var(--muted);margin:0;padding:18px;line-height:1.6}.lead-detail{padding:clamp(18px,3vw,30px)}.empty-detail p{color:var(--muted);line-height:1.7}.detail-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.detail-topline h2{margin:0;font-size:clamp(1.7rem,4vw,3rem);font-weight:400;line-height:1.05}.sync-pill{border:1px solid var(--line);color:var(--warning);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;font-size:.68rem;font-weight:850}.detail-fields{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.detail-fields a,.detail-fields span{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 10px;text-decoration:none}.edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.detail-copy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;padding:18px 0;display:grid}.detail-copy h3{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.82rem}.detail-copy p{color:var(--muted);margin:0 0 8px;line-height:1.7}.notes-field{margin:20px 0}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.photo-tile{border:1px solid var(--line);background:var(--paper);gap:8px;padding:10px;display:grid}.photo-tile img{aspect-ratio:4/3;object-fit:cover;background:var(--white);width:100%}.photo-tile button{border:1px solid var(--ink);background:var(--white);letter-spacing:.12em;text-transform:uppercase;min-height:140px;font-weight:850}.photo-tile span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.crm-status{margin-top:16px}@media (width<=920px){.public-hero,.request-band,.crm-grid,.crm-header{grid-template-columns:1fr}.hero-copy{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.crm-note{position:static}.crm-actions{grid-template-columns:1fr 1fr}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.public-shell,.crm-shell{width:min(100% - 20px,1180px);padding-top:12px}.public-hero{min-height:0}.brand-mark img,.crm-header img,.auth-panel img{width:min(260px,86vw)}.form-grid,.edit-grid,.submit-row,.crm-actions,.stats-row,.photo-grid{grid-template-columns:1fr}.dropzone{display:grid}.language-switcher{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.language-switcher button:nth-child(2){border-right:0}.language-switcher button:nth-child(-n+2){border-bottom:1px solid var(--line)}h1{font-size:clamp(2rem,14vw,3.4rem)}}
