: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}.HostsSelector{padding:1rem;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;color:#333;margin:2rem auto}.HostsSelector h3{margin-bottom:1rem;font-size:1.5rem;color:#333}.HostsSelector .HostItem{display:flex;align-items:center;padding:.5rem;margin-bottom:.5rem;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer}.HostsSelector .HostItem:hover{background-color:#f0f0f0}.HostsSelector .HostItem input[type=checkbox]{margin-right:.5rem}.HostsSelector .HostButtons{margin-top:1rem;display:flex;justify-content:space-between;gap:2rem}.HostsSelector .HostButtons button{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.HostsSelector .HostButtons button:hover{background-color:#0056b3}.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}.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}.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}.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}
