*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#182235}.app-shell{max-width:1180px;margin:auto;padding:0 20px}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5eaf1}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#123c70,#1769aa);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 22px #123c7026}.brand strong{display:block;font-size:14px;letter-spacing:1.2px}.brand small{display:block;color:#748095;font-size:11px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:10px}.user-pill{font-size:12px;color:#16806b;background:#eaf8f3;padding:9px 12px;border-radius:30px}.logout,.secondary-top{color:#42526a;text-decoration:none;font-weight:700;font-size:12px;padding:9px 12px;border-radius:8px}.logout:hover,.secondary-top:hover{background:#edf1f6}.hero{margin:28px 0 20px;background:linear-gradient(135deg,#0f2f55,#1768a7);border-radius:24px;padding:32px;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 16px 38px #0f2f5520}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;opacity:.72}.hero h1{font-size:34px;margin:8px 0}.hero p{margin:0;opacity:.88;max-width:700px;line-height:1.55}.hero-badge{min-width:105px;height:105px;border-radius:50%;border:1px solid #ffffff55;display:grid;place-items:center;align-content:center;background:#ffffff12}.hero-badge b{font-size:28px}.hero-badge span{font-size:10px;letter-spacing:2px;opacity:.8}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-card{position:relative;background:#fff;border:1px solid #e3e8ef;border-radius:20px;padding:27px;box-shadow:0 7px 22px #16233d08}.step{position:absolute;right:22px;top:20px;font-size:11px;color:#9aa6b7;font-weight:800}.card-icon{width:42px;height:42px;border-radius:11px;background:#eaf2fb;color:#1768a7;display:grid;place-items:center;font-weight:900;font-size:12px}.upload-card h2{margin:16px 0 2px;font-size:22px}.upload-card h3{margin:0 0 10px;font-size:14px;color:#5c6879;font-weight:600}.upload-card p{font-size:13px;line-height:1.55;color:#69768a;min-height:40px}.match-field{background:#f7f9fc;border:1px solid #e8edf3;padding:11px 13px;border-radius:10px;font-size:10px;letter-spacing:.8px;color:#8a95a6}.match-field b{font-size:11px;color:#24344b;margin-left:4px}.match-field span{margin:0 7px;color:#16806b}.file-picker{display:block;margin-top:14px;border:1.5px dashed #b8c7d8;border-radius:12px;padding:15px;text-align:center;cursor:pointer;background:#fbfcfe}.file-picker:hover{border-color:#1768a7;background:#f5faff}.file-picker span{display:inline-block;background:#1768a7;color:#fff;padding:10px 15px;border-radius:8px;font-weight:800;font-size:12px}.file-picker input{display:none}.file-picker em{display:block;margin-top:9px;font-style:normal;color:#78869a;font-size:11px;word-break:break-all}.logic{margin:18px 0;background:#fff;border:1px solid #e3e8ef;border-radius:18px;padding:20px 22px}.logic-title{font-size:10px;letter-spacing:1.5px;font-weight:900;color:#8490a1;margin-bottom:12px}.logic-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.logic-flow b{padding:9px 11px;background:#f0f5fa;border-radius:8px;color:#2a425f}.logic-flow span{color:#16806b;font-weight:900}.logic p{margin:12px 0 0;color:#7a8799;font-size:11px}.action-row{display:flex;justify-content:flex-end}button,.download{border:0;background:#0d7d69;color:#fff;padding:15px 22px;border-radius:11px;font-size:13px;font-weight:900;letter-spacing:.3px;cursor:pointer;text-decoration:none;text-align:center;box-shadow:0 10px 24px #0d7d6922}button:hover,.download:hover{background:#096b5a}button:disabled{opacity:.65;cursor:wait}.download{display:block;width:100%;margin-top:18px}.download span{float:right}.secondary-btn{display:block;text-align:center;margin-top:12px;background:#edf1f6;color:#25344a;padding:13px;border-radius:10px;text-decoration:none;font-weight:800;font-size:12px}.result-card{background:#fff;border:1px solid #e2e7ef;border-radius:22px;padding:30px;box-shadow:0 10px 30px #16233d0a;margin:28px 0}.result-card h1{margin:8px 0;font-size:29px}.result-card>p{color:#68768a;line-height:1.5}.success-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e7f7f1;color:#0d7d69;font-size:25px;font-weight:900;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:22px}.stats div{background:#f8fafc;border:1px solid #e5eaf0;border-radius:12px;padding:14px}.stats small{display:block;color:#718096;font-size:10px;line-height:1.35}.stats strong{display:block;margin-top:5px;font-size:21px}.secondary-top{border:1px solid #dfe5ec}.topbar+.main{}footer{display:flex;justify-content:space-between;color:#8994a4;font-size:10px;padding:22px 3px}.loading{position:fixed;inset:0;background:#0c1b2dcc;display:none;z-index:20;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:8px}.loading.show{display:flex}.loading span{font-size:11px;opacity:.7}.spinner{width:38px;height:38px;border:3px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#dceefd,transparent 35%),linear-gradient(135deg,#f5f8fc,#eef3f8)}.login-shell{width:min(430px,calc(100% - 32px))}.brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-mark strong{display:block;letter-spacing:1.4px}.brand-mark span{display:block;font-size:10px;color:#7b8799;margin-top:4px}.login-card{background:#fff;border:1px solid #e0e7ef;border-radius:24px;padding:32px;box-shadow:0 24px 60px #12243d18}.login-card h1{font-size:29px;margin:7px 0}.login-card>p{color:#718096;font-size:13px;margin:0 0 22px}.login-card label{display:block;font-size:11px;font-weight:800;color:#4a5870;margin:14px 0}.login-card input{display:block;width:100%;margin-top:7px;border:1px solid #d7e0e9;border-radius:10px;padding:13px 12px;font-size:13px;outline:0}.login-card input:focus{border-color:#1768a7;box-shadow:0 0 0 3px #1768a714}.login-card button{width:100%;margin-top:8px}.login-card button span{float:right}.login-foot{text-align:center;color:#9aa5b4;font-size:10px;margin-top:18px}.error-box{background:#fff0f0;color:#b42318;border:1px solid #ffd1d1;border-radius:9px;padding:10px;font-size:12px}.login-page .eyebrow{color:#1768a7;opacity:1}
@media(max-width:760px){.app-shell{padding:0 12px}.topbar{min-height:68px}.brand small{max-width:170px}.user-pill{display:none}.hero{padding:24px;border-radius:18px}.hero h1{font-size:27px}.hero-badge{min-width:78px;height:78px}.upload-grid{grid-template-columns:1fr}.upload-card{padding:22px}.stats{grid-template-columns:1fr 1fr}.logic-flow{gap:7px}.logic-flow span{display:none}.action-row button{width:100%}footer{display:block;line-height:1.8}.result-card{padding:22px}}
@media(max-width:420px){.hero{display:block}.hero-badge{margin-top:18px}.stats{grid-template-columns:1fr}.top-actions .secondary-top{display:none}}
