body{display:flex;flex-direction:column;min-height:100vh}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{border:1px solid #ccc;border-radius:5px;box-shadow:0 0 10px #0000001a;margin:0 auto;max-width:400px;padding:20px}button,input[type=password],input[type=text]{box-sizing:border-box;margin-bottom:10px;padding:10px;width:100%}button{background-color:#007bff}button:hover{background-color:#0056b3}.message{color:red;margin-top:10px;text-align:center}:root{--primary-color:#e30613;--primary-hover:#b3050f;--bg-color:#f8fafc;--text-main:#1e293b;--text-muted:#64748b;--panel-bg:#fff;--border-color:#e2e8f0;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}*,:after,:before{box-sizing:border-box}body{background-color:#f8fafc;background-color:var(--bg-color);color:#1e293b;color:var(--text-main);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;margin:0}.App{min-height:100vh}.two-column{align-items:stretch;display:flex;gap:2rem;margin:0 auto;max-width:1450px;padding:2rem 1.5rem}.dashboard,.guide,.login,.two-column>div{display:flex;flex:1 1;flex-direction:column;min-width:0}.panel{background:#fff;background:var(--panel-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow);display:flex;flex:1 1;flex-direction:column;padding:1.75rem 2rem;width:100%}.panel-title{color:#1e293b;color:var(--text-main);font-size:1.5rem;font-weight:700;margin:0 0 1.25rem;padding-bottom:.75rem;position:relative}.panel-title:after{background:#e30613;background:var(--primary-color);bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.panel ul{list-style:none;margin:0;padding:0}.panel li{color:#64748b;color:var(--text-muted);margin-bottom:.75rem;padding-left:1.5rem;position:relative}.panel li:before{color:#e30613;color:var(--primary-color);content:"•";font-weight:700;left:0;position:absolute}input[type=email],input[type=text]{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;color:#1e293b;color:var(--text-main);font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}input[type=text]{background:#f8fafc;border-style:dashed}input:focus{border-color:#e30613;border-color:var(--primary-color);box-shadow:0 0 0 4px #e306131f;outline:none}button{background-color:#e30613;background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1rem;transition:background-color .2s ease}button:disabled{cursor:not-allowed;opacity:.6}.login .panel button:not(.preview-close-btn){margin-bottom:.75rem;width:100%}.help-text{color:#64748b;color:var(--text-muted);font-size:.9rem}.help-text,p{margin-top:1rem}.response-message{border-radius:6px;font-size:.9rem;margin:.5rem 0;padding:8px 12px}.error-text{background-color:#fef2f2;border-left:4px solid #dc2626;color:#dc2626}.success,.success-text{background-color:#f0fdf4;border-left:4px solid #16a34a;color:#16a34a}.error,.success{border-radius:6px;margin-top:.75rem;padding:10px 14px}.error{background-color:#fef2f2;border-left:4px solid #dc2626;color:#dc2626}.upload-form{display:flex;flex-direction:column;gap:12px;margin-bottom:1.5rem}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.file-label{background-color:#f1f5f9;border:2px dashed #94a3b8;border-radius:8px;color:#475569;cursor:pointer;display:block;font-size:1rem;padding:14px 16px;text-align:center;transition:all .2s ease;word-break:break-all}.file-label:hover{background-color:#e2e8f0;border-color:#e30613;border-color:var(--primary-color);color:#1e293b;color:var(--text-main)}.upload-button{background-color:#e30613;background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;padding:12px 24px;transition:background-color .2s ease;width:100%}.upload-button:hover:not(:disabled){background-color:#b3050f;background-color:var(--primary-hover)}.upload-button:disabled{background-color:#94a3b8;cursor:not-allowed;opacity:1}.progress-container{margin:12px 0}.progress-bar{background-color:#e2e8f0;border-radius:9999px;height:10px;margin-bottom:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#e30613,#f05060);background:linear-gradient(90deg,var(--primary-color),#f05060);border-radius:9999px;height:100%;transition:width .3s ease}.progress-text{color:#64748b;font-size:.9rem;font-weight:500}.file-table{border-collapse:collapse;margin-top:1.5rem;width:100%}.file-table td,.file-table th{border-bottom:1px solid #e2e8f0;padding:12px 8px;text-align:left;vertical-align:middle}.file-table th{background-color:#f8fafc;color:#475569;font-weight:600;white-space:nowrap}.file-table tr:last-child td{border-bottom:none}.file-table tr:hover td{background-color:#f8fafc}.file-download-link{background:none;border:none;border-radius:6px;color:#2563eb;cursor:pointer;font-weight:500;max-width:240px;overflow:hidden;padding:4px 8px;text-align:left;text-decoration:none;text-overflow:ellipsis;transition:all .2s ease;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.file-download-link:hover{background-color:#eff6ff;color:#1d4ed8;text-decoration:underline}.file-download-link:active{background-color:#dbeafe;transform:translateY(1px)}.delete-btn{background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:5px 12px;transition:background-color .2s ease;white-space:nowrap;width:auto}.delete-btn:hover{background-color:#dc2626}.logout-btn{background-color:#475569;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin-top:1.5rem;padding:10px 20px;transition:background-color .2s ease;width:auto}.logout-btn:hover{background-color:#334155}.preview-close-btn{background:none!important;border:none!important;border-radius:4px;color:#94a3b8!important;cursor:pointer!important;flex-shrink:0;font-size:1.2rem!important;font-weight:400;line-height:1;padding:2px 8px!important;transition:background-color .15s ease,color .15s ease;width:auto!important}.preview-close-btn:hover{background-color:#f1f5f9!important;color:#475569!important}@keyframes shimmer{0%{left:-100%}to{left:200%}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.two-column{gap:1.25rem;padding:1.5rem 1rem}.panel{padding:1.25rem 1.5rem}.panel-title{font-size:1.25rem}.file-table .lataaja-col{display:none}}@media (max-width:768px){.two-column{flex-direction:column;gap:1rem;padding:1rem .75rem}.dashboard,.guide,.login{width:100%}.panel{border-radius:8px;padding:1.25rem}.panel-title{font-size:1.2rem}.file-table-wrapper{-webkit-overflow-scrolling:touch;margin-top:1rem;overflow-x:auto}.file-table{margin-top:0;min-width:400px}.file-download-link{font-size:.85rem;max-width:140px}.logout-btn{text-align:center;width:100%}.upload-button{font-size:1rem;padding:12px}}@media (max-width:480px){.two-column{padding:.75rem .5rem}.panel{padding:1rem}.panel-title{font-size:1.1rem}.file-table td,.file-table th{font-size:.85rem;padding:8px 4px}.delete-btn{font-size:.8rem;padding:4px 8px}}.footer{background-color:#0f172a;color:#f8fafc;margin-top:auto;padding:3.5rem 1.25rem 2rem}.footer-links{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 auto;max-width:1200px}.footer-links a{color:#94a3b8;font-size:.95rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{border-top:1px solid #1e293b;color:#64748b;font-size:.875rem;margin-top:3rem;padding-top:1.25rem;text-align:center}@media (max-width:500px){.footer-links{grid-template-columns:1fr 1fr}}header{background-color:var(--primary-color);box-shadow:inset 0 -5px 15px #0000000d;color:#fff;padding:3rem 1.25rem;position:relative;text-align:center}header h1{font-size:2.5rem;font-weight:800;margin:0 0 .625rem}header p{font-size:1.1rem;margin:0 auto;max-width:600px;opacity:.9}
/*# sourceMappingURL=main.874d5755.css.map*/