:root{font-family:Inter,"Noto Sans JP",system-ui,sans-serif;color:#202725;background:#edf1ef;line-height:1.5;--green:#155e4b;--line:#d8dfdc;--muted:#66716d}*{box-sizing:border-box}body{margin:0}.page-shell{max-width:1080px;margin:28px auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 50px #183c3020;overflow:hidden}.mock-header{padding:28px 34px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.1em}.mock-header h1{font-size:26px;margin:6px 0 2px}.mock-header p,.section-heading p{color:var(--muted);margin:0;font-size:13px}.mode-switch{display:flex;padding:3px;background:#eef3f1;border-radius:9px}.mode{border:0;background:transparent;padding:7px 14px;border-radius:7px;color:#59635f}.mode.active{background:#fff;color:#194e40;box-shadow:0 1px 5px #1d493520;font-weight:700}.form-section{padding:28px 34px;border-bottom:1px solid #e5e9e7}.section-heading{display:flex;gap:13px;margin-bottom:22px}.section-heading>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9f3ef;color:#14604c;font-size:11px;font-weight:800}.section-heading h2{font-size:17px;margin:0 0 2px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.field-grid label,.address-search label,.inline-detail label,.return-detail label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.field-grid label>span b{font-size:10px;background:#e9f3ef;color:#155e4b;padding:2px 6px;border-radius:10px;margin-left:5px}input,select,textarea{width:100%;font:inherit;color:#202725;background:#fff;border:1px solid #c8d0cc;border-radius:8px;padding:9px 11px;min-height:41px;outline:none}input:focus,select:focus,textarea:focus{border-color:#258368;box-shadow:0 0 0 3px #25836820}.field-grid small{color:var(--muted);font-weight:400}.wide{grid-column:1/-1}.compact{max-width:220px}.toggle-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.toggle-row.states{grid-template-columns:repeat(4,1fr)}.check{border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check:has(input:checked){border-color:#6cae9a;background:#f1f8f5}.check.danger:has(input:checked){border-color:#b45c60;background:#fff4f4}.check.warning:has(input:checked){border-color:#d49b35;background:#fff9eb}.check input{width:18px;min-height:18px;margin-top:2px;accent-color:var(--green)}.check span{display:flex;flex-direction:column}.check strong{font-size:13px}.check small{font-size:11px;color:var(--muted)}.address-search{padding:16px;background:#f4f7f6;border-radius:12px;margin-bottom:20px}.search-control{display:flex;gap:8px}.search-control button{border:0;border-radius:8px;background:#244f43;color:#fff;padding:0 22px;font-weight:700}.search-status{font-size:12px;color:var(--muted);margin-top:8px}.results{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.result{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e7ebe9;background:#fff;padding:12px 14px;cursor:pointer}.result:last-child{border:0}.result:hover,.result:focus{background:#edf6f2}.result strong,.result small{display:block}.result small{color:var(--muted)}.address-grid{grid-template-columns:160px 1fr 1fr}.address-grid .wide{grid-column:2/-1}.single{grid-template-columns:1fr}.return-detail,.inline-detail{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px;margin-top:12px;background:#f6f7f7;border-radius:10px}.inline-detail{align-items:end}.inline-detail p{font-size:12px;color:var(--muted)}.management-grid{margin-top:20px}.read-only{background:#fafbfa}.read-only details summary{display:flex;justify-content:space-between;cursor:pointer}.read-only summary span:first-child{display:flex;flex-direction:column}.read-only summary small{font-weight:400;color:var(--muted)}.read-only dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 0}.read-only dl div{padding:12px;border:1px solid var(--line);border-radius:8px}.read-only dt{font-size:11px;color:var(--muted)}.read-only dd{margin:2px 0 0;font-weight:700}.form-footer{position:sticky;bottom:0;background:#fffefdeb;border-top:1px solid var(--line);padding:16px 34px;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(8px)}.form-footer p{font-size:12px;color:var(--muted)}button{font:inherit;cursor:pointer}.primary,.secondary{border-radius:8px;padding:9px 18px;font-weight:700}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.secondary{border:1px solid #bbc5c1;background:#fff;color:#39433f}.form-footer div{display:flex;gap:10px}.confirm-layer{position:fixed;inset:0;background:#13211c80;display:grid;place-items:center;padding:20px}.confirm-layer[hidden]{display:none}.confirm-layer section{max-width:520px;background:#fff;border-radius:14px;padding:26px;box-shadow:0 20px 60px #0004}.confirm-layer h2{font-size:19px;margin:0}.confirm-layer p{font-size:13px;color:var(--muted)}.confirm-layer dl{background:#f5f7f6;border-radius:9px;padding:12px}.confirm-layer dl div{display:grid;grid-template-columns:100px 1fr 24px 1fr;font-size:12px;padding:5px}.confirm-layer dt{font-weight:700}.confirm-layer dd{margin:0}.confirm-layer section>div{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:760px){.page-shell{margin:0;border-radius:0}.mock-header{flex-direction:column}.field-grid,.address-grid,.toggle-row,.toggle-row.states,.read-only dl{grid-template-columns:1fr}.wide,.address-grid .wide{grid-column:auto}.return-detail,.inline-detail{grid-template-columns:1fr}.form-footer{align-items:flex-end}.form-footer p{max-width:48%}}
.return-detail[hidden],.inline-detail[hidden],.results[hidden]{display:none!important}
.page-shell{max-width:1180px;margin:18px auto}.mock-header{padding:20px 26px 16px}.mock-header h1{font-size:23px}.form-section{padding:19px 24px}.section-heading{margin-bottom:14px}.section-heading h2{font-size:15px}.field-grid{gap:11px 16px}input,select,textarea{min-height:36px;padding:7px 9px}.toggle-row{gap:8px;margin-top:12px}.check{padding:9px}.address-search{padding:11px;margin-bottom:13px}.search-status button{border:0;background:transparent;color:#155e4b;font-weight:800;text-decoration:underline}.address-grid{grid-template-columns:140px 1fr 1fr}.form-footer{padding:11px 24px}.read-only dl{margin-top:12px}.generated-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.generated-flags span{border-radius:999px;background:#e5f2ed;color:#155e4b;padding:3px 9px;font-size:11px;font-weight:700}.generated-flags .muted-flag{background:#edf0ef;color:#65706c}.region-field{position:relative;grid-column:1/-1;max-width:520px}.region-results{position:absolute;z-index:3;left:0;right:0;top:64px;max-height:180px;overflow:auto;box-shadow:0 8px 24px #173d3025}.empty-result{font-size:12px;color:#66716d;padding:9px 12px;margin:0}
@media(min-width:900px){#person-form{display:grid;grid-template-columns:1fr 1fr}.form-section:nth-of-type(2),.form-section:nth-of-type(3){min-width:0}.form-section:nth-of-type(n+4),.form-footer{grid-column:1/-1}.form-section:nth-of-type(2){border-right:1px solid #e5e9e7}.name-grid,.contact-grid{grid-template-columns:1fr 1fr}.contact-grid label:last-child{grid-column:1/-1}.management-grid{grid-template-columns:260px 1fr}.management-grid .wide{grid-column:auto}.management-grid textarea{min-height:74px}.read-only details[open]{display:grid;grid-template-columns:1fr 2fr;gap:18px}.read-only details[open] summary{grid-column:1/-1}.read-only details[open] .generated-flags{align-content:start}.read-only dl{margin:0}}
.generated-flags span.negative-flag{background:#fff0d8;color:#8a5600}
.flag-preview{padding:10px 26px;border-bottom:1px solid #dce3e0;background:#f7faf8;display:flex;align-items:center;gap:22px;min-height:54px}.flag-preview>div:first-child{display:flex;flex-direction:column;min-width:150px}.flag-preview strong{font-size:12px}.flag-preview small{font-size:10px;color:#66716d}.preview-items{display:flex;gap:6px;flex-wrap:wrap}.preview-flag{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;background:#e5f2ed;color:#155e4b}.preview-flag.negative{background:#fff0d8;color:#8a5600}.preview-flag.deceased{background:#fff0f0;color:#9b343a}.preview-flag.restriction{background:#edf0ef;color:#56615d}.preview-empty{font-size:11px;color:#7b8581}
.flag-control-panel{grid-column:1/-1;padding:16px 24px 12px;border-bottom:1px solid #dce3e0;background:#fbfcfb}.flag-control-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:10px}.flag-control-heading h2{font-size:16px;margin:1px 0 0}.flag-control-heading p{font-size:11px;color:#66716d;margin:0}.top-flag-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.top-flag-grid .check{padding:8px}.top-flag-grid .check small{font-size:10px}.top-detail{margin:9px 0 0;padding:10px}.flag-control-panel .flag-preview{margin:11px -24px -12px;padding:8px 24px;border-top:1px solid #e1e7e4;border-bottom:0;background:#f4f8f6;min-height:46px}
@media(max-width:900px){.top-flag-grid{grid-template-columns:repeat(2,1fr)}.flag-control-heading{align-items:flex-start;flex-direction:column;gap:4px}}
.header-actions{display:flex;gap:8px}.top-flag-grid{grid-template-columns:repeat(5,1fr)}.section-heading{align-items:center}.field-grid label{flex-direction:row;align-items:center;gap:8px}.field-grid label>span{width:88px;flex:0 0 88px}.field-grid input,.field-grid select,.field-grid textarea{flex:1;min-width:0}.field-grid .wide{grid-column:auto}.address-search label{display:flex;flex-direction:row;align-items:center;gap:8px}.address-search label>span{width:72px;flex:0 0 72px}.search-control{flex:1}.region-field{max-width:none;display:flex;align-items:center;gap:8px;margin-bottom:11px}.region-field>span{width:70px;flex:0 0 70px;font-size:13px;font-weight:700}.region-field>input{flex:1}.region-results{top:38px;left:78px}.mock-header{align-items:center}.mock-header h1{margin:2px 0 0}.form-section{padding:15px 20px}.section-heading{margin-bottom:10px}.flag-control-panel{padding:12px 20px 10px}.flag-control-panel .flag-preview{margin:9px -20px -10px;padding:7px 20px}.top-detail{padding:8px}.read-only{padding-top:12px;padding-bottom:12px}
@media(min-width:900px){.form-section:nth-of-type(4),.form-section:nth-of-type(5){grid-column:auto;min-width:0}.form-section:nth-of-type(4){border-right:1px solid #e5e9e7}.form-section:nth-of-type(6),.form-footer{grid-column:1/-1}.address-grid{grid-template-columns:1fr}.address-grid .wide{grid-column:auto}.management-grid{grid-template-columns:1fr}.contact-grid label:last-child{grid-column:auto}.name-grid,.contact-grid{gap:9px 12px}}
@media(max-width:900px){.top-flag-grid{grid-template-columns:repeat(2,1fr)}.field-grid label{align-items:flex-start;flex-direction:column}.field-grid label>span{width:auto;flex:auto}.address-search label{align-items:flex-start;flex-direction:column}.address-search label>span{width:auto;flex:auto}.region-field{align-items:flex-start;flex-direction:column}.region-field>span{width:auto;flex:auto}.region-results{left:0;top:64px}}
.address-search label>span{width:88px;flex-basis:88px}.address-search,.address-grid,.management-grid{row-gap:9px}.address-grid label,.management-grid label,.region-field{min-height:36px}.address-grid input,.management-grid input,.management-grid select,.region-field input{height:36px}.address-search input{height:36px}.address-section,.form-section:nth-of-type(5){align-self:stretch}.section-heading{height:30px}.address-search{min-height:58px}.region-field{margin-bottom:9px}
@media(min-width:900px){.address-grid{grid-template-columns:1fr 1fr;column-gap:12px}.address-grid .postal,.address-grid .wide{grid-column:1/-1}.address-grid label>span{width:88px;flex-basis:88px}.management-grid label>span,.region-field>span{width:88px;flex-basis:88px}}
.address-search{position:relative;padding:0;background:transparent;min-height:36px;height:36px;margin-bottom:20px}.search-status{position:absolute;left:88px;top:38px;margin:0;z-index:5}.search-status:empty{display:none}#address-results{position:absolute;left:88px;right:0;top:57px;z-index:6;max-height:190px;overflow:auto;box-shadow:0 8px 24px #173d3025}
