.app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:2000px;padding:10px}.dashboard{display:flex;flex-direction:column}.subtitle{color:#6b7280;font-size:1.1rem;margin-top:0}.environment-columns{display:flex;flex-direction:column;gap:15px;margin-bottom:30px;width:100%}.column-headers{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:6px;padding:0;width:100%}.column-header{align-items:center;background-color:#4f46e5;border-radius:3px;box-shadow:0 1px 2px #0000001a;box-sizing:border-box;color:#fff;display:flex;height:20px;justify-content:center;margin:0;overflow:hidden;padding:0;text-align:center;width:100%}.column-header h2{font-size:.8rem;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.card-row{display:flex;flex-direction:column;gap:8px;width:100%}.row-title{border-left:4px solid #4f46e5;color:#111827;font-size:1.1rem;margin-bottom:0;margin-top:0;padding-left:8px}.row-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(100px,180px) repeat(4,minmax(150px,1fr));margin:0;padding:0;position:relative;width:100%}.card-column{align-items:center;display:flex;flex-direction:column;gap:2px}.env-label{color:#374151;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase;white-space:nowrap}.empty-card-placeholder{align-items:center;background-color:#f3f4f6;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#6b7280;display:flex;font-style:italic;height:130px;justify-content:center;width:100%}.card-link{flex:0 0 auto;text-decoration:none;width:100%}.card{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:400px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s,height .3s ease;width:100%}.card.collapsed{height:130px}.card:hover{border-color:#3b82f6;box-shadow:0 10px 15px #0000001a}.card-header{border-bottom:1px solid #0000001a;padding:10px;transition:background-color .3s ease}.card-header.status-healthy-header{background-color:#10b9811a}.card-header.status-offline-header{background-color:#ef44441a}.card-header h2{font-size:1.2rem;margin:0}.status-container{align-items:center;display:flex}.status-dot{border-radius:50%;height:10px;margin-right:6px;width:10px}.status-badge{border-radius:3px;font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.status-healthy{background-color:#10b981;color:#fff}.status-offline{background-color:#ef4444;color:#fff}.info{flex-grow:1;font-size:.75rem;overflow-x:hidden;overflow-y:auto;padding:12px}.info-section{margin-bottom:18px;width:100%}.info-section h3{border-bottom:1px solid #e5e7eb;font-size:1rem;margin-bottom:10px;margin-top:0;padding-bottom:5px;white-space:normal;word-break:break-word}.info-item{display:flex;font-size:.75rem;margin-bottom:6px;width:100%;word-break:break-word}.info-item strong{color:#4b5563;flex:none;margin-right:4px;max-width:none;min-width:auto}.info-item span{word-wrap:break-word;flex:1 1;overflow-wrap:break-word;word-break:break-word}.section-title-website{color:#374151}.error{background-color:#fff;border-radius:0 0 8px 8px;box-sizing:border-box;color:#dc2626;font-size:1rem;font-weight:700;height:100%;padding:16px;text-align:center;width:100%}.error,.loading{align-items:center;display:flex;justify-content:center}.loading{padding:20px}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.footer{color:#6b7280;font-size:.9rem;margin-top:auto;padding:20px 0;text-align:center}.section-separator{border-top:1px solid #e5e7eb;margin:16px 0 8px;padding-top:12px;position:relative}.section-title{color:#374151;font-size:1.1rem;font-weight:600;justify-content:space-between;margin:0;padding-bottom:3px}.section-title,.section-title-text{align-items:center;display:flex}.section-title-backend:before,.section-title-frontend:before,.section-title-simrunner:before,.section-title-website:before{background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;flex-shrink:0;height:20px;margin-right:8px;position:relative;top:-.1em;vertical-align:middle;width:20px}.section-title-backend:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2' ry='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2' ry='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E")}.section-title-frontend:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E")}.section-title-website:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E")}.section-title-simrunner:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.section-separator:first-child{border-top:none;margin-top:0;padding-top:0}.copy-button{align-items:center;background:none;border:none;border-radius:4px;color:#d1d5db;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.copy-button:hover{background-color:#f3f4f6;color:#3b82f6}.copy-button:active{transform:scale(.95)}@media (max-width:600px){.column-headers,.row-cards{grid-template-columns:1fr}.card-link{flex:0 0 100%;width:100%}.card{width:100%}}
/*# sourceMappingURL=main.6641bc0b.css.map*/