:root{--accent:#315b7d;--accent2:#5d7182;--bg:#f3f5f7;--surface:#fff;--surface2:#f8fafb;--text:#18212a;--muted:#66727d;--line:#dbe1e6;--danger:#a43d3d;--shadow:0 12px 34px rgba(20,36,50,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;line-height:1.55}.app-shell{min-height:100vh}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20}.brandmark{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none}.brandmark>span{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800;font-size:13px;letter-spacing:.03em}.brandmark b,.brandmark small{display:block}.brandmark b{font-size:14px}.brandmark small{color:var(--muted);font-size:11px;margin-top:1px}.topbar nav{display:flex;gap:22px}.topbar nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}.topbar nav a:hover{color:var(--text)}.container{max-width:1160px;margin:auto;padding:44px 20px 84px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:24px 0 44px}.hero h1,.page-title h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.045em;line-height:1.06;margin:10px 0 16px;font-weight:720}.hero h1 em{font-style:normal;color:var(--accent)}.hero p,.page-title p{color:var(--muted);font-size:17px;max-width:690px;margin:0}.overline{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;color:var(--accent)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.panel+.panel{margin-top:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.panel-head h2{font-size:28px;letter-spacing:-.025em;margin:6px 0 3px}.panel-head p{margin:0;color:var(--muted)}.count,.optional{min-width:38px;height:34px;padding:0 11px;border-radius:7px;display:grid;place-items:center;background:#edf1f4;color:#56636f;font-size:12px;font-weight:650}.assessment-list{display:grid}.assessment-row{display:grid;grid-template-columns:10px 1fr auto 18px;gap:17px;align-items:center;padding:18px 5px;border-top:1px solid var(--line);text-decoration:none;color:inherit}.assessment-row:hover{background:#f8fafb}.status-dot{width:8px;height:8px;border-radius:50%;background:#8d98a2}.status-dot.analyzed{background:#34745d}.assessment-main strong,.assessment-main span,.assessment-meta span,.assessment-meta small{display:block}.assessment-main span,.assessment-meta small{color:var(--muted);margin-top:3px;font-size:12px}.assessment-meta{text-align:right}.empty{text-align:center;padding:52px 20px}.empty>div{font-size:27px;color:var(--accent)}.empty p{color:var(--muted)}.btn{border:1px solid transparent;border-radius:8px;padding:11px 16px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.btn.primary,.btn.glow{background:var(--accent)}.btn.primary:hover,.btn.glow:hover{background:#274d6b}.btn.secondary{background:#fff;border-color:#bdc7cf;color:#33404b}.btn.secondary:hover{background:#f5f7f9}.btn.premium{background:#273746;color:#fff}.btn.premium:hover{background:#192733}.btn.large{padding:14px 20px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(380px,520px) 1fr;background:#fff}.login-card{padding:clamp(40px,8vw,100px);display:flex;flex-direction:column;justify-content:center;background:#fff}.login-icon{width:50px;height:50px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800;font-size:17px;margin-bottom:34px}.login-card h1{font-size:44px;line-height:1.08;letter-spacing:-.04em;margin:10px 0 18px}.login-card>p{color:var(--muted);font-size:16px}.stack{display:grid;gap:15px;margin-top:25px}.login-visual{display:flex;align-items:flex-end;padding:7vw;background:#263746;position:relative}.visual-card{max-width:510px;border-left:3px solid #9fb4c4;padding:8px 0 8px 26px;color:#fff}.visual-card span{color:#b8c8d4;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.visual-card strong{display:block;font-size:28px;margin:8px 0}.visual-card p{color:#d4dde4}.security-note{color:#79858f;margin-top:20px}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.page-title h1{font-size:46px;margin-bottom:7px}.back{color:var(--muted);text-decoration:none;display:block;margin-bottom:20px;font-size:13px}.workflow{display:flex;gap:8px;overflow:auto;margin-bottom:22px}.workflow span{white-space:nowrap;border:1px solid var(--line);color:#77828c;border-radius:7px;padding:8px 12px;font-size:11px;background:#fff}.workflow span.active{color:var(--accent);border-color:#9db1c0;background:#f4f7f9}.form-panel{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.form-grid.two{grid-template-columns:repeat(2,1fr);margin-top:17px}label{display:grid;gap:7px;color:#46535e;font-size:12px;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd3da;background:#fff;color:var(--text);border-radius:7px;padding:12px 13px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,91,125,.12)}textarea{min-height:96px;resize:vertical}.choice-section{margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}.choice-section h3{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{display:block}.chip input{position:absolute;opacity:0;pointer-events:none}.chip span{display:block;border:1px solid #cbd3da;border-radius:7px;padding:9px 12px;color:#66727d;background:#fff;cursor:pointer}.chip input:checked+span{color:#244a67;background:#edf3f7;border-color:#91a9ba}.form-actions{display:flex;justify-content:flex-end;margin-top:23px}.upload-box{display:grid;gap:17px}.upload-controls{display:grid;grid-template-columns:1fr 2fr;gap:15px}.dropzone{min-height:170px;border:1px dashed #9eabb5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f8fafb;cursor:pointer;padding:25px}.dropzone input{display:none}.camera{width:45px;height:45px;border-radius:8px;background:#e8eef2;color:var(--accent);display:grid;place-items:center;font-size:22px;margin-bottom:11px}.dropzone span{color:var(--muted);font-weight:400;margin-top:4px}.preview-grid,.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.preview-grid img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:8px}.photo-grid{margin-top:24px}.photo-card{position:relative;border-radius:9px;overflow:hidden;background:#fff;border:1px solid var(--line)}.photo-card img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block}.photo-card>div{padding:11px}.photo-card b,.photo-card span{display:block;font-size:11px}.photo-card span{color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card form{position:absolute;top:7px;right:7px}.photo-card button{width:29px;height:29px;border:1px solid #d1d7dc;border-radius:7px;background:#fff;color:#444;font-size:18px}.analysis-cta{margin:24px 0;padding:30px;border:1px solid #c7d1d9;border-radius:14px;background:#eef3f6;display:flex;justify-content:space-between;align-items:center;gap:30px}.analysis-cta h2{font-size:29px;margin:7px 0}.analysis-cta p{color:#5f6c77;max-width:700px}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:23px}.result-summary>div{padding:18px;border-radius:9px;background:#f8fafb;border:1px solid var(--line)}.result-summary span,.result-summary strong{display:block}.result-summary span{color:var(--muted);font-size:11px;margin-bottom:7px}.result-summary strong{font-size:18px}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;color:#52606b}.json-editor{margin:16px 0;min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.danger-zone{text-align:center;margin-top:32px}.danger-zone button{background:none;border:0;color:#956068;cursor:pointer}.toast{position:fixed;z-index:100;right:20px;top:82px;max-width:430px;padding:13px 16px;border-radius:8px;background:#fff;border:1px solid #cfd7de;box-shadow:var(--shadow)}.toast.success{border-left:4px solid #34745d}.toast.error{border-left:4px solid #a43d3d}.loading-overlay{position:fixed;inset:0;background:rgba(19,28,36,.86);z-index:200;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.loading-card{padding:38px}.spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.topbar{padding:0 15px}.topbar nav a:first-child{display:none}.container{padding:30px 14px 65px}.hero,.page-title,.analysis-cta{align-items:stretch;flex-direction:column}.hero{padding-top:16px}.hero h1{font-size:41px}.panel{padding:19px;border-radius:11px}.form-grid,.form-grid.two,.upload-controls,.result-summary{grid-template-columns:1fr}.preview-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}.assessment-row{grid-template-columns:8px 1fr 15px}.assessment-meta{display:none}.login-wrap{display:block}.login-card{min-height:100vh;padding:38px 24px}.login-visual{display:none}.page-title h1{font-size:36px}.panel-head{align-items:flex-start}.optional{white-space:nowrap}}
.diagnostic-panel{margin-top:22px}.diagnostic-upload{display:grid;gap:16px}.json-dropzone{display:flex;align-items:center;gap:18px;min-height:116px;border:1px dashed #98a6b1;border-radius:10px;background:#f8fafb;padding:22px;cursor:pointer}.json-dropzone input{display:none}.json-mark{width:58px;height:58px;border-radius:8px;display:grid;place-items:center;background:#e8eef2;color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.08em}.json-dropzone strong,.json-dropzone span{display:block}.json-dropzone span{margin-top:5px;color:var(--muted);font-weight:400}.diagnostic-file{display:grid;grid-template-columns:58px 1fr auto;gap:17px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.diagnostic-icon{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;background:#e8eef2;color:var(--accent);font-weight:800}.diagnostic-file b,.diagnostic-file span,.diagnostic-file small{display:block}.diagnostic-file span{font-size:12px;color:#56636f;margin-top:4px}.diagnostic-file small{font-size:11px;color:var(--muted);margin-top:4px}.btn.small{padding:8px 11px}.diagnostic-note{margin-top:18px;padding:16px 18px;border-left:3px solid #a7b6c1;background:#f7f9fa}.diagnostic-note p{margin:5px 0 0;color:#5a6772;font-size:12px}@media(max-width:800px){.diagnostic-file{grid-template-columns:48px 1fr}.diagnostic-file form{grid-column:1/-1}.json-dropzone{align-items:flex-start}.json-mark{flex:0 0 auto}}
