:root{--surface:#fff;--soft:#f6f8fb;--line:#e3e8ef;--ink:#172033;--muted:#6f7b8d;--success:#16794a;--success-soft:#e6f5ed;--warning:#92600a;--warning-soft:#fff6d8;--danger:#b42318;--danger-soft:#fef0ed;--shadow:0 12px 32px rgba(24,36,56,.07);font-family:Inter,Noto Sans JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f3f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;background:#f3f5f9}body{margin:0}button,input,textarea,select{font:inherit}input,textarea,select{font-size:16px}textarea{resize:vertical}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(65,105,225,.32);outline-offset:2px}.app-root{min-height:100vh}.page-shell{width:min(100%,820px);min-height:100vh;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 18px calc(106px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:center;gap:12px;min-height:48px}.page-header>div:first-of-type:not(.header-grow){flex:1}.header-grow{min-width:0;flex:1}.page-header h1{margin:2px 0 0;font-size:clamp(25px,7vw,34px);line-height:1.2;overflow-wrap:anywhere}.eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.17em}.eyebrow.light{color:#aeb8c8}.section-help{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.icon-button,.back-button,.clear-button{display:grid;place-items:center;flex:0 0 auto;border:0;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.icon-button{width:44px;height:44px;border-radius:14px}.back-button{width:42px;height:42px;border-radius:13px;font-size:30px;line-height:1}.clear-button{width:34px;height:34px;border-radius:11px;box-shadow:none;background:#eef1f6}.text-button,.inline-link,.small-button{border:0;background:transparent;color:#3450a1;font-weight:800}.text-button{min-height:42px;padding:0 4px;white-space:nowrap}.inline-link{padding:8px 0 0;text-align:left}.small-button{min-height:38px;padding:0 12px;border-radius:11px;background:#edf1f8}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:14px;font-weight:850}.button-primary{background:#172033;color:#fff;box-shadow:0 10px 24px #1720332b}.button-inverse{background:#fff;color:#172033}.button-block{width:100%}.button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.spinner{width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-launcher,.search-box{display:flex;align-items:center;gap:11px;width:100%;margin-top:20px;min-height:54px;padding:0 16px;border:0;border-radius:17px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow);text-align:left}.search-launcher span:first-child,.search-box>span:first-child{font-size:22px;color:#8a95a5}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.search-box.large{margin-top:18px;min-height:60px}.search-box .clear-button{margin-left:auto}.hero-card{display:grid;gap:18px;margin-top:18px;padding:23px;border-radius:25px;background:#172033;color:#fff;box-shadow:0 20px 46px #17203336}.hero-card h2{margin:5px 0 8px;font-size:22px}.hero-card p:not(.eyebrow){margin:0;color:#d2d9e4;line-height:1.65;font-size:14px}.content-section{margin-top:30px}.card-panel{padding:18px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-title-row h2{margin:3px 0 0;font-size:19px}.count-badge,.warning-badge,.status-pill{display:inline-grid;place-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#e9edf4;color:#526074;font-size:11px;font-weight:850;white-space:nowrap}.warning-badge{background:var(--warning-soft);color:var(--warning)}.status-pill.current{background:var(--success-soft);color:var(--success)}.record-list,.card-stack,.candidate-list,.timeline-list{display:grid;gap:10px;margin-top:13px}.record-row{display:flex;align-items:center;gap:13px;width:100%;min-height:68px;padding:12px 14px;border:0;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 7px 22px #1824380b;text-align:left}.record-row.static{cursor:default}.record-list.compact .record-row{min-height:60px}.avatar,.result-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;background:#e9edf4;font-weight:900}.result-icon{width:38px;height:38px;border-radius:12px;font-size:12px}.record-copy{display:grid;gap:3px;min-width:0;flex:1}.record-copy strong,.record-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-copy small{color:var(--muted)}.chevron{color:#98a2b1;font-size:26px}.empty-state{margin-top:13px;padding:22px 18px;border:1px dashed #d7dde6;border-radius:17px;color:var(--muted);text-align:center;line-height:1.65}.alert{margin:16px 0 0;padding:12px 14px;border-radius:13px;font-size:13px;line-height:1.55}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.info{background:#eef3ff;color:#385099}.alert button{border:0;background:transparent;color:inherit;font-weight:850;text-decoration:underline}.skeleton-list{display:grid;gap:10px;margin-top:22px}.skeleton-list span{height:68px;border-radius:18px;background:linear-gradient(100deg,#e8ecf2 20%,#f4f6f9,#e8ecf2 60%);background-size:240% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}.bottom-nav{position:fixed;z-index:50;left:50%;bottom:0;transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,820px);padding:9px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(220,225,233,.9);background:#fffffff0;box-shadow:0 -10px 30px #1824380a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;justify-items:center;gap:3px;min-height:52px;border:0;background:transparent;color:#8a95a5}.bottom-nav button.active{color:#172033}.bottom-nav button span{font-size:21px}.bottom-nav small{font-size:10px;font-weight:850}.bottom-nav .scan-nav span{display:grid;place-items:center;width:43px;height:43px;margin-top:-23px;border-radius:15px;background:#172033;color:#fff;box-shadow:0 9px 20px #17203340}.bottom-nav .scan-nav small{margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:720px){.page-shell{padding-left:30px;padding-right:30px}.hero-card{grid-template-columns:1fr auto;align-items:end}.hero-card .button{min-width:170px}.card-panel{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px}.capture-card{position:relative;min-height:168px;overflow:hidden;padding:0;border:1px dashed #c8d0dc;border-radius:20px;background:#fff;color:var(--ink)}.capture-card.filled{border-style:solid}.capture-card img{display:block;width:100%;height:168px;object-fit:contain;background:#e9edf3}.capture-placeholder{display:grid;justify-items:center;gap:5px;padding:24px 8px}.capture-placeholder b{font-size:25px}.capture-placeholder small{color:var(--muted)}.capture-label{position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:9px;background:#111827c7;color:#fff;font-size:10px;font-weight:800}.scan-page>.button-block{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:16px}.form-field{display:grid;gap:6px;min-width:0}.form-field.wide{grid-column:1/-1}.form-field>span{display:flex;justify-content:space-between;gap:8px;color:#4e5a6c;font-size:11px;font-weight:850}.form-field>span small{color:var(--muted);font-weight:700}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #dce2ea;border-radius:12px;outline:0;background:#fbfcfe;color:var(--ink)}.form-field textarea{min-height:88px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#7c91c8;background:#fff;box-shadow:0 0 0 3px #5a74b61a}.form-field.field-low>span{color:var(--warning)}.form-field.field-low input{border-color:#e4c66a;background:#fffaf0}.details-box{margin-top:15px;border-top:1px solid var(--line);padding-top:13px}.details-box summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:800}.details-box pre{max-height:260px;overflow:auto;padding:12px;border-radius:12px;background:#f5f7fa;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.55}.candidate-card{display:flex;align-items:center;gap:11px;width:100%;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:left}.candidate-card.selected{border-color:#566fae;box-shadow:0 0 0 3px #566fae1c}.candidate-card.new-person{margin-top:10px}.radio-mark{width:20px;height:20px;flex:0 0 auto;border:2px solid #b7c0cd;border-radius:50%}.candidate-card.selected .radio-mark{border:6px solid #3f5c9f}.candidate-main{display:grid;gap:2px;min-width:0;flex:1}.candidate-main small{color:var(--muted)}.candidate-main em{color:#68768a;font-size:10px;font-style:normal}.candidate-card>b{color:#3c568f;font-size:14px}.switch-row{display:flex;align-items:flex-start;gap:11px;margin-top:17px;padding:13px;border-radius:14px;background:#f5f7fa}.switch-row input{width:20px;height:20px;margin-top:1px;accent-color:#172033}.switch-row span{display:grid;gap:3px}.switch-row small{color:var(--muted);line-height:1.5}.sticky-action{margin-top:16px}.success-card{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;margin-top:18px;padding:18px;border-radius:20px;background:#173c2c;color:#fff}.success-card .button{grid-column:1/-1}.success-card p{margin:4px 0 0;color:#c8dfd3;font-size:13px}.success-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--success);font-weight:950}.profile-card,.company-hero,.status-card{display:flex;align-items:center;gap:14px;margin-top:20px;padding:18px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.profile-avatar,.company-mark{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:18px;background:#e7ebf2;font-size:22px;font-weight:900}.profile-copy{min-width:0;flex:1}.profile-copy h2,.company-hero h2{margin:0;font-size:21px}.profile-copy p,.company-hero p{margin:4px 0 0;color:var(--muted)}.contact-actions{display:flex;gap:7px}.contact-button{display:grid;justify-items:center;gap:2px;min-width:50px;padding:7px 8px;border-radius:12px;background:#f0f3f7;color:inherit;text-decoration:none}.contact-button small{color:var(--muted);font-size:9px;font-weight:800}.interaction-form{margin-top:15px}.info-card,.business-card-record{position:relative;padding:15px;border:1px solid #e6eaf0;border-radius:17px;background:#fff}.info-card{display:grid;grid-template-columns:1fr auto;gap:7px 12px}.info-card p,.business-card-record p{margin:4px 0 0;color:var(--muted);font-size:13px}.info-card .inline-link{grid-column:1/-1}.business-card-record h3{margin:10px 0 0;font-size:17px}.business-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.business-card-meta small{color:var(--muted)}.image-links{display:flex;gap:12px;margin-top:12px}.image-links a{color:#3450a1;font-size:12px;font-weight:800}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:8px}.timeline-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#8592a5}.timeline-item>div{padding-bottom:14px;border-bottom:1px solid var(--line)}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{margin-top:3px;color:var(--muted)}.timeline-item p{margin:7px 0 0;line-height:1.55}.timeline-item em{display:block;margin-top:6px;color:#775b14;font-size:12px;font-style:normal}.search-hint{margin-top:28px}.search-hint h2{margin:0 0 8px}.search-hint p{margin:0;color:var(--muted);line-height:1.7}.status-card{align-items:flex-start}.status-card.ok{background:#f3fbf6}.status-orb{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:#fce9e6;color:var(--danger);font-weight:950}.status-card.ok .status-orb{background:#dff2e8;color:var(--success)}.status-card p{margin:4px 0 0;color:var(--muted);font-size:12px}.setting-list{display:grid;margin-top:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row span{display:grid;gap:3px;min-width:0}.setting-row small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.security-note{margin:12px 0 0;padding:11px;border-radius:11px;background:#f2f5fa;color:var(--muted);font-size:11px;line-height:1.55}.instruction-list{display:grid;gap:12px;margin:14px 0 0;padding-left:22px}.instruction-list li{padding-left:3px}.instruction-list li span{display:block;margin-top:3px;color:var(--muted);font-size:13px}@media(max-width:480px){.page-shell{padding-left:14px;padding-right:14px}.capture-grid{grid-template-columns:1fr}.capture-card,.capture-card img{min-height:190px;height:190px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.profile-card{align-items:flex-start;flex-wrap:wrap}.contact-actions{width:100%}.contact-button{flex:1}.success-card{grid-template-columns:auto 1fr}}@media(min-width:720px){.capture-card,.capture-card img{height:235px}.sticky-action{position:sticky;bottom:86px;z-index:12}}.login-page{display:grid;min-height:100vh;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0,#fff 0,#f3f5f9 52%,#edf1f6)}.login-card{width:min(100%,430px);padding:30px 24px;border:1px solid rgba(218,224,233,.8);border-radius:28px;background:#fffffff5;box-shadow:0 26px 70px #1720331f}.login-brand{display:grid;width:54px;height:54px;margin-bottom:18px;place-items:center;border-radius:17px;background:#172033;color:#fff;font-weight:950;letter-spacing:.04em;box-shadow:0 12px 28px #17203333}.login-card h1{margin:7px 0 0;font-size:clamp(26px,8vw,34px);line-height:1.2}.login-lead{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.login-checking{display:flex;align-items:center;gap:10px;margin-top:24px;padding:16px;border-radius:14px;background:#f5f7fa;color:var(--muted);font-size:13px}.login-form{display:grid;gap:15px;margin-top:24px}.field-label{display:grid;gap:7px}.field-label>span{color:#4e5a6c;font-size:12px;font-weight:850}.field-label input{width:100%;min-height:50px;padding:0 14px;border:1px solid #d8dfe8;border-radius:14px;outline:0;background:#fbfcfe;color:var(--ink)}.field-label input:focus{border-color:#6e83ba;background:#fff;box-shadow:0 0 0 3px #5a74b61f}.field-label input:disabled{opacity:.6}.login-security{margin:19px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.6}.login-card code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}.session-logout{margin-top:14px;border:1px solid #dce2ea;background:#fff;color:var(--danger);box-shadow:none}@media(min-width:720px){.login-card{padding:36px 34px}}
