.typecards{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:760px){.typecards{grid-template-columns:1fr}}.typecard{align-items:center;background:#fff;border:2px solid var(--border);border-radius:16px;cursor:pointer;display:flex;font-family:inherit;gap:14px;padding:18px;position:relative;text-align:left;transition:.18s}.typecard:hover{border-color:#c7cbe8;box-shadow:var(--shadow);transform:translateY(-1px)}.typecard.active{background:linear-gradient(180deg,#fff,rgba(0,82,204,.04));border-color:var(--accent);box-shadow:0 8px 22px #0052cc24}.tc-ic{align-items:center;border-radius:13px;box-shadow:0 6px 16px #0052cc4d;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.tc-t{font-size:1rem;font-weight:800}.tc-s{color:var(--muted);font-size:.8rem}.tc-check{border:2px solid var(--border);border-radius:50%;flex-shrink:0;height:22px;margin-left:auto;transition:.18s;width:22px}.typecard.active .tc-check{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px #fff}.dropzone{background:#fbfcff;border:2px dashed #cdd2ea;border-radius:16px;cursor:pointer;padding:42px 20px;text-align:center;transition:.18s}.dropzone.hover,.dropzone:hover{background:rgba(0,82,204,.05);border-color:var(--accent)}.dz-ic{align-items:center;background:rgba(0,82,204,.1);border-radius:16px;color:var(--accent);display:flex;height:58px;justify-content:center;margin:0 auto 14px;width:58px}.dropzone.hover .dz-ic{transform:scale(1.06)}.dz-main{color:#3a4060;font-size:1rem;font-weight:700}.dz-main span{color:var(--accent);text-decoration:underline}.dz-sub{color:var(--muted);font-size:.8rem;margin-top:5px}.filelist{display:flex;flex-direction:column;gap:10px;margin-top:16px}.fileitem{background:#f8f9fd;border:1px solid var(--border);border-radius:12px;gap:13px;padding:12px 14px}.fi-ic,.fileitem{align-items:center;display:flex}.fi-ic{border-radius:10px;color:#fff;flex-shrink:0;font-size:.66rem;font-weight:800;height:38px;justify-content:center;width:38px}.fi-pdf{background:linear-gradient(135deg,#ef4444,#f97316)}.fi-img{background:linear-gradient(135deg,#0ea5e9,#22c55e)}.fi-name{font-size:.88rem;font-weight:700;word-break:break-all}.fi-meta{color:var(--muted);font-size:.74rem}.fi-x{background:none;border:none;border-radius:8px;color:#9aa0b8;cursor:pointer;flex-shrink:0;margin-left:auto;padding:7px;transition:.16s}.fi-x:hover{background:rgba(239,68,68,.1);color:var(--red)}.res-card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.res-head{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 20px}.res-head.ok{background:linear-gradient(90deg,rgba(16,185,129,.08),transparent)}.res-head.err{background:linear-gradient(90deg,rgba(239,68,68,.08),transparent)}.res-title{font-size:.92rem;font-weight:800}.res-body{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:16px 20px}.res-kv .k{color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.res-kv .v{font-size:1rem;font-weight:800;margin-top:2px}.res-analysis{background:#fbfcff;border:1px solid var(--border);border-radius:12px;margin:0 20px 16px;padding:14px}.res-analysis-title{color:#3a4060;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.res-analysis-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.res-metric{background:#fff;border:1px solid #edf0f7;border-radius:10px;padding:10px 12px}.res-metric .k{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.res-metric .v{font-size:.94rem;font-weight:800;margin-top:2px}.summary-bar{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}.sum{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);flex:1;min-width:130px;padding:14px 16px}.sum .n{font-size:1.5rem;font-weight:800}.sum .l{color:var(--muted);font-size:.74rem}.spin{animation:spin .7s linear infinite;border:2.5px solid rgba(0,82,204,.25);border-radius:50%;border-top:2.5px solid var(--accent);display:inline-block;height:16px;width:16px}input[readonly]{background:#f8f9fd;color:#626a87;cursor:not-allowed}@keyframes spin{to{transform:rotate(1turn)}}
