.app-shell{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 960px){.app-shell{flex-direction:row;align-items:flex-start}}.panel{flex:1;background:#ffffffd9;border-radius:18px;padding:1.75rem;box-shadow:0 25px 45px #0f172a14;border:1px solid rgba(15,23,42,.05)}.panel h1,.panel h2{margin-top:0;margin-bottom:.5rem}.panel p{margin-top:0;color:#475569}.pin-form label{display:block;font-size:.9rem;font-weight:600;color:#0f172a;margin-bottom:.35rem}.pin-field{display:flex;gap:.75rem}.pin-field input{flex:1;padding:.85rem 1rem;border-radius:12px;border:1px solid #cbd5f5;font-size:1rem}.pin-field button,.actions button{background:#2563eb;color:#fff;border:none;border-radius:12px;padding:.8rem 1.4rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.pin-field button:hover,.actions button:hover{transform:translateY(-1px);box-shadow:0 10px 15px #2563eb33}.actions button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.status{font-weight:500;color:#0f172a}.muted-link{font-size:.92rem;color:#475569}.muted-link a{color:#1d4ed8;text-decoration:none;font-weight:600}.actions{display:flex;flex-direction:column;gap:.75rem;margin:1.25rem 0}@media (min-width: 640px){.actions{flex-direction:row;align-items:center}}.upload{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;border-radius:12px;border:1px dashed #94a3b8;cursor:pointer;background:#f8fafc}.upload input{display:none}.upload.disabled{opacity:.6;cursor:not-allowed}.log{margin-top:1.25rem}.log ul{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.log li{padding:.5rem .75rem;border-radius:10px;font-size:.95rem}.log li.ok{background:#ecfdf3;color:#166534}.log li.error{background:#fef2f2;color:#b91c1c}.validation-shell{max-width:900px;margin:0 auto;padding:2.5rem 1rem 3rem}.validation{padding:2.5rem}.validation-header h1{margin-bottom:.3rem}.back-link{display:inline-flex;margin-bottom:.5rem;color:#2563eb;text-decoration:none;font-weight:600}.validation-card{margin-top:1.5rem;padding:1.5rem;border-radius:14px;border:1px solid rgba(15,23,42,.1);background:#f8fafc}.validation-card.ok{border-color:#16a34a}.validation-card.error{border-color:#dc2626}.validation-card .badge{display:inline-flex;padding:.35rem .9rem;border-radius:999px;font-weight:600;margin-bottom:1rem;background:#2563eb1a;color:#1d4ed8}.validation-card.error .badge{background:#dc26261f;color:#b91c1c}.validation-meta{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.validation-meta li{display:flex;flex-direction:column;padding:.65rem;border:1px dashed rgba(148,163,184,.8);border-radius:10px;background:#fff}.validation-meta span{font-size:.85rem;color:#64748b}.validation-meta strong{font-size:1rem;color:#0f172a}.validation-card .status{margin-top:.5rem}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#e0f2fe,#f8fafc 55%)}#root{min-height:100vh}
