:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{width:100%;margin:0 auto;display:flex;justify-content:center;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.MainButtons{padding-top:2rem;display:flex;gap:2rem}.MainButtons button{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.MainButtons button:hover{background-color:#218838}.MainButtons button:active{background-color:#1e7e34}.MainButtons button:disabled{background-color:#ccc;cursor:not-allowed}.Login{display:flex;justify-content:flex-end;margin:1rem auto}.RootMenu{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid #ddd;margin-bottom:1.5rem}.RootMenu__link{padding:.5rem 1rem;text-decoration:none;color:#333;border-radius:4px;transition:background-color .2s ease}.RootMenu__link:hover{background-color:#f0f0f0}.RootMenu__link--active{background-color:#28a745;color:#fff}.RootMenu__link--active:hover{background-color:#218838}.AppLayout__header{display:flex;justify-content:flex-end;padding:.5rem 0}.AppLayout__content{padding-top:.5rem}.InstanceGrid{margin:1rem 0}.InstanceGrid__toolbar{display:flex;gap:1rem;margin-bottom:1rem}.InstanceGrid__toolbar button{padding:.4rem .75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.InstanceGrid__toolbar button:hover{background-color:#0056b3}.InstanceGrid__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.InstanceGrid__tile{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem 1rem;text-align:left;background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.InstanceGrid__tile:hover{background-color:#f5f5f5;border-color:#bbb}.InstanceGrid__tile--selected{border-color:#28a745;background-color:#f0fff4}.InstanceGrid__name{font-weight:600;color:#333;word-break:break-word}.InstanceGrid__tenant{font-size:.85rem;color:#666}.ApiErrorBanner{margin:0 0 16px;padding:12px 16px;background:#fdecea;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ApiErrorBanner__message{flex:1;word-break:break-word}.ApiErrorBanner__dismiss{flex-shrink:0;background:transparent;border:none;color:#721c24;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.Modal{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000}.Modal__content{position:relative;background-color:#fff;padding:2rem;width:90%;max-width:fit-content;border-radius:8px;box-shadow:0 2px 10px #0000001a;z-index:1001}.Modal__content .ReturnButton{display:none}.Modal__content .AnnouncementForm{margin:4rem auto 0}.Modal__close{position:absolute;top:1rem;right:1rem;font-size:2rem;background:none;border:none;cursor:pointer;color:#000}.Modal__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000}.RestartConfirmDialog h3{margin-top:0}.RestartConfirmDialog__warning{color:#856404;background-color:#fff3cd;padding:.75rem;border-radius:4px;font-size:.9rem}.RestartConfirmDialog__input{width:100%;padding:.5rem;margin:.5rem 0 1rem;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.RestartConfirmDialog__actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.RestartConfirmDialog__actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.RestartConfirmDialog__confirm{background-color:#dc3545;color:#fff}.RestartConfirmDialog__confirm:hover:not(:disabled){background-color:#c82333}.RestartConfirmDialog__confirm:disabled{background-color:#ccc;cursor:not-allowed}.InstanceStatusView{margin-top:1.5rem;padding:1rem;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9}.InstanceStatusView h3{margin-top:0}.InstanceStatusView__grid{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0}.InstanceStatusView__grid dt{font-weight:600;color:#555}.InstanceStatusView__grid dd{margin:0}.RestartProgress__meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin:1rem 0}.RestartProgress__timer{color:#555;font-size:.95rem}.RestartProgress__connection{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.RestartProgress__connection--connecting{color:#856404}.RestartProgress__connection--live{color:#155724}.RestartProgress__connection--stale,.RestartProgress__connection--disconnected{color:#721c24}.RestartProgress__connection-dot{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.RestartProgress__connection--connecting .RestartProgress__connection-dot{background-color:#ffc107;animation:restart-pulse 1.2s ease-in-out infinite}.RestartProgress__connection--live .RestartProgress__connection-dot{background-color:#28a745;box-shadow:0 0 0 2px #28a74540}.RestartProgress__connection--stale .RestartProgress__connection-dot,.RestartProgress__connection--disconnected .RestartProgress__connection-dot{background-color:#dc3545}.RestartProgress__stale-warning{margin:0 0 1rem;padding:.75rem;background-color:#f8d7da;color:#721c24;border-radius:4px;font-size:.9rem}.RestartProgress__status{display:flex;align-items:center;gap:1rem;margin:1rem 0}.RestartProgress__badge{padding:.35rem .75rem;border-radius:4px;font-weight:600;font-size:.9rem}.RestartProgress__badge--pending,.RestartProgress__badge--in_progress{background-color:#fff3cd;color:#856404}.RestartProgress__badge--finished{background-color:#d4edda;color:#155724}.RestartProgress__badge--timeout{background-color:#f8d7da;color:#721c24}.RestartProgress__replicas{color:#555}.RestartProgress__spinner{width:1rem;height:1rem;border:2px solid #ddd;border-top-color:#28a745;border-radius:50%;animation:restart-spin .8s linear infinite}.RestartProgress__actions{margin-top:1.5rem}.RestartProgress__actions button{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.RestartProgress__actions button:hover{background-color:#5a6268}@keyframes restart-spin{to{transform:rotate(360deg)}}@keyframes restart-pulse{0%,to{opacity:1}50%{opacity:.4}}.ScheduleDeployPanel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ScheduleDeployPanel__header h3{margin:0}.ScheduleDeployPanel__back{padding:.4rem .75rem;background:none;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333}.ScheduleDeployPanel__back:hover{background-color:#f0f0f0}.ScheduleDeployPanel__section{margin-bottom:2rem;padding:1rem;border:1px solid #ddd;border-radius:8px;background-color:#fafafa}.ScheduleDeployPanel__section h4{margin:0 0 1rem}.ScheduleDeployPanel__label{display:block;margin-bottom:.25rem;font-size:.9rem;color:#555}.ScheduleDeployPanel__input{width:100%;padding:.5rem;margin-bottom:.75rem;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.ScheduleDeployPanel__textarea{resize:vertical;min-height:4rem}.ScheduleDeployPanel__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.ScheduleDeployPanel__row{grid-template-columns:1fr}}.ScheduleDeployPanel__checkboxes{display:flex;gap:1.5rem;margin-top:.5rem}.ScheduleDeployPanel__checkboxes label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.ScheduleDeployPanel__table{width:100%;border-collapse:collapse;margin-bottom:1rem}.ScheduleDeployPanel__table th,.ScheduleDeployPanel__table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #ddd}.ScheduleDeployPanel__table th{background-color:#f0f0f0;font-weight:600}.ScheduleDeployPanel__status{text-align:center;width:8rem}.ScheduleDeployPanel__ok{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#28a745;color:#fff;font-weight:700}.ScheduleDeployPanel__step{margin:0 0 1rem;color:#555;font-style:italic}.ScheduleDeployPanel__execute{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.ScheduleDeployPanel__execute:hover:not(:disabled){background-color:#218838}.ScheduleDeployPanel__execute:disabled{background-color:#ccc;cursor:not-allowed}.AnnouncementsList{position:relative;min-width:700px;max-width:1200px;min-height:fit-content;padding:2rem;background-color:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 6px #0000001a;margin:2rem auto}.AnnouncementsList__header{font-size:2rem;font-weight:700;color:#333;margin-bottom:1.5rem}.AnnouncementsList__tabs{display:flex;gap:1rem;margin-bottom:1rem}.AnnouncementsList__tab{padding:.5rem 1rem;background-color:#c7c7c7;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.AnnouncementsList__tab.active{background-color:#007bff;color:#fff}.AnnouncementsList__tab:hover{background-color:#004ea1}.ReturnButton button{position:absolute;top:1rem;right:1rem;font-size:2rem;background:none;border:none;cursor:pointer;color:#000}.AnnouncementsGroup{margin-bottom:2rem}.AnnouncementsGroup__list{list-style:none;padding:0;margin:0}.AnnouncementsEmpty{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#333}.AnnouncementItem{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #ddd;color:#333}.AnnouncementItem__button{display:flex;gap:1rem}.AnnouncementItem__button button{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.AnnouncementItem__button button:hover{background-color:#0056b3}.AnnouncementItem__button button:active{background-color:#004085}.AnnouncementItem__button button:disabled{background-color:#ccc;cursor:not-allowed}.AnnouncementForm{position:relative;width:600px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:6px;color:#333}.AnnouncementForm__header{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:1.5rem;text-align:center}.AnnouncementForm__input{display:block;width:-webkit-fill-available;padding:.75rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.AnnouncementForm__input:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff80}.AnnouncementForm__input--error{border-color:red;background-color:#ffe6e6;color:#000}.AnnouncementForm__checkbox{display:flex;align-items:center;margin-bottom:1.5rem}.AnnouncementForm__checkbox label{cursor:pointer;margin-left:.5rem;font-size:1rem;color:#333;-webkit-user-select:none;user-select:none}.AnnouncementForm__checkbox input{cursor:pointer}.AnnouncementForm__button{width:100%;padding:.75rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;transition:background-color .3s ease}.AnnouncementForm__button:hover{background-color:#218838}.AnnouncementForm__button:active{background-color:#1e7e34}.AnnouncementForm__button:disabled{background-color:#ccc;cursor:not-allowed}.AnnouncementForm__return-button{margin-top:2rem;text-align:center}.AnnouncementAdded{position:relative;width:600px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:6px;color:#333}.AnnouncementAdded__header{font-size:1.6rem;font-weight:700;margin-bottom:1.5rem;text-align:center;padding:6rem 2rem 2rem}.AnnouncementAdded__list{font-size:1.4rem;list-style:none;text-align:center;font-weight:700;color:red}.InstanceAdminPage__mode{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background-color:#f5f5f5;border-radius:8px}.InstanceAdminPage__mode-label{font-weight:600;color:#333}.InstanceAdminPage__mode-option{display:flex;align-items:center;gap:.35rem;cursor:pointer}.InstanceAdminPage__operations,.InstanceAdminPage__monitor{margin-top:1rem}.InstanceAdminPage__back{margin-top:1.5rem}.InstanceAdminPage__back button{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.InstanceAdminPage__back button:hover{background-color:#5a6268}.DeploymentGrid{margin:1rem 0}.DeploymentGrid__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.DeploymentGrid__tile{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 1rem;text-align:left;background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.DeploymentGrid__tile:hover{background-color:#f5f5f5;border-color:#bbb}.DeploymentGrid__tile--selected{border-color:#28a745;background-color:#f0fff4}.DeploymentGrid__name{font-weight:600;color:#333;word-break:break-word}.MicroserviceAdminPage__no-access{margin:1rem 0;padding:1rem;color:#666;background-color:#f5f5f5;border-radius:8px}.MicroserviceAdminPage__operations,.MicroserviceAdminPage__monitor{margin-top:1rem}.MicroserviceAdminPage__back{margin-top:1.5rem}.MicroserviceAdminPage__back button{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.MicroserviceAdminPage__back button:hover{background-color:#5a6268}
