.general-announcement-management { max-width: 1600px; margin: 0 auto; color: #10264a; }
.general-announcement-management .ga-page-action { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.general-announcement-management .ga-page-action .button { min-height: 42px; padding-inline: 17px; box-shadow: 0 3px 8px rgba(20,121,232,.18); }
.general-announcement-management .ga-page-action svg { width: 17px; }
.general-announcement-management .ga-card { overflow: hidden; border: 1px solid #d9e3f0; border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.general-announcement-management .ga-toolbar { min-height: 64px; display: grid; grid-template-columns: minmax(310px,1.6fr) repeat(3,minmax(170px,.75fr)) 42px; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid #e4eaf2; }
.general-announcement-management .ga-search { height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid #d7e0eb; border-radius: 7px; }
.general-announcement-management .ga-search svg { width: 18px; flex: 0 0 18px; color: #315c8c; }
.general-announcement-management .ga-search input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 13px; }
.general-announcement-management .ga-toolbar select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #d7e0eb; border-radius: 7px; background: #fff; color: #18365d; font-size: 13px; }
.general-announcement-management .ga-refresh { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d7e0eb; border-radius: 7px; background: #fff; color: #174578; }
.general-announcement-management .ga-refresh svg { width: 17px; }
.general-announcement-management .ga-table-wrap { overflow-x: auto; }
.general-announcement-management .ga-table { width: 100%; min-width: 1120px; border-collapse: collapse; table-layout: fixed; }
.general-announcement-management .ga-table th { height: 49px; padding: 0 14px; border-bottom: 1px solid #dfe6ef; background: #f8fafc; color: #10264a; font-size: 12px; text-align: left; }
.general-announcement-management .ga-table td { min-height: 62px; padding: 12px 14px; border-bottom: 1px solid #e8edf3; color: #18365d; font-size: 12px; vertical-align: middle; }
.general-announcement-management .ga-table th:nth-child(1) { width: 30%; }.general-announcement-management .ga-table th:nth-child(2) { width: 9%; }.general-announcement-management .ga-table th:nth-child(3) { width: 11%; }.general-announcement-management .ga-table th:nth-child(4) { width: 12%; }.general-announcement-management .ga-table th:nth-child(5) { width: 17%; }.general-announcement-management .ga-table th:nth-child(6) { width: 13%; }.general-announcement-management .ga-table th:nth-child(7) { width: 130px; text-align: center; }
.general-announcement-management .ga-table td > b, .general-announcement-management .ga-table td > small, .general-announcement-management .ga-table td > span { display: block; }
.general-announcement-management .ga-table td:first-child b { overflow: hidden; color: #0568de; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.general-announcement-management .ga-table td small { margin-top: 4px; overflow: hidden; color: #5d6e84; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.general-announcement-management .ga-badge { display: inline-flex; min-height: 24px; align-items: center; padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.general-announcement-management .severity-normal { background: #e7f1ff; color: #1672d5; }.general-announcement-management .severity-important { background: #fff0df; color: #e76c16; }.general-announcement-management .severity-urgent { background: #ffe4e4; color: #e02d2d; }
.general-announcement-management .status-displaying { background: #def7ed; color: #0f936e; }.general-announcement-management .status-upcoming { background: #fff3d8; color: #b76b00; }.general-announcement-management .status-hidden { background: #edf1f5; color: #5e6d7f; }.general-announcement-management .status-expired { background: #e9edf2; color: #536174; }
.general-announcement-management .ga-actions { display: flex; justify-content: center; gap: 8px; }.general-announcement-management .ga-actions button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 6px; background: #eaf3ff; color: #0875ed; }.general-announcement-management .ga-actions button:last-child { background: #fff0f0; color: #e02d2d; }.general-announcement-management .ga-actions svg { width: 16px; }
.general-announcement-management .ga-empty { height: 180px; color: #75849a; text-align: center; }
.general-announcement-management .ga-footer { min-height: 58px; display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 8px 14px; color: #52647c; font-size: 12px; }.general-announcement-management .ga-pagination { display: flex; align-items: center; gap: 7px; }.general-announcement-management .ga-pagination button { min-width: 34px; height: 34px; border: 1px solid #d7e0eb; border-radius: 6px; background: #fff; }.general-announcement-management .ga-pagination button.is-current { border-color: #0875ed; color: #0875ed; }.general-announcement-management .ga-pagination select { height: 36px; margin-left: 8px; border: 1px solid #d7e0eb; background: #fff; }
.ga-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; }.ga-modal .ga-backdrop { position: absolute; inset: 0; background: rgba(9,29,57,.48); }.ga-modal .ga-dialog { position: relative; width: min(880px,100%); max-height: calc(100vh - 40px); overflow: auto; border: 1px solid #cfdced; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(8,29,57,.28); }.ga-modal .ga-dialog > header { min-height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid #e1e7ef; }.ga-modal h2 { margin: 0; color: #10264a; font-size: 18px; }.ga-modal header button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; background: none; color: #10264a; }.ga-modal header svg { width: 18px; }
.ga-modal .ga-form { padding: 4px 20px 20px; }.ga-modal .ga-section { padding: 16px 0; border-bottom: 1px solid #e5ebf2; }.ga-modal .ga-section:last-of-type { border-bottom: 0; }.ga-modal h3, .ga-modal .ga-view h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 13px; color: #0875ed; font-size: 12px; text-transform: uppercase; }.ga-modal h3 i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #0875ed; color: #fff; font-size: 10px; font-style: normal; }
.ga-modal [hidden] { display: none !important; }
.ga-modal .ga-form-grid { display: grid; grid-template-columns: 1.5fr .65fr; gap: 14px; }.ga-modal label { display: grid; gap: 7px; color: #18365d; font-size: 12px; font-weight: 700; }.ga-modal em { color: #e42828; font-style: normal; }.ga-modal input:not([type=radio]):not([type=checkbox]), .ga-modal select, .ga-modal textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #d4deeb; border-radius: 6px; background: #fff; color: #18365d; font: inherit; font-weight: 400; }.ga-modal textarea { min-height: 78px; resize: vertical; }.ga-modal .ga-wide { grid-column: 1/-1; }.ga-modal .ga-wide > small { justify-self: end; margin-top: -4px; color: #75849a; font-weight: 400; }.ga-modal .ga-date-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.ga-modal .ga-date-grid label > span { display: grid; grid-template-columns: 1.5fr .8fr; gap: 8px; }.ga-modal .ga-check { display: flex; align-items: center; margin-top: 12px; }.ga-modal fieldset { display: flex; gap: 24px; margin: 0; padding: 0; border: 0; }.ga-modal fieldset label { display: flex; align-items: center; }.ga-modal input[type=radio], .ga-modal input[type=checkbox] { accent-color: #0875ed; }.ga-modal .ga-form-error { padding: 9px 11px; border: 1px solid #efc2c2; border-radius: 6px; background: #fff1f1; color: #b73535; font-size: 12px; }.ga-modal .ga-form-error[hidden] { display: none; }.ga-modal .ga-dialog > footer, .ga-modal form > footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px; border-top: 1px solid #e1e7ef; }
.ga-modal .ga-view { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 4px 20px 20px; }.ga-modal .ga-view section { padding: 16px 0; border-bottom: 1px solid #e5ebf2; }.ga-modal .ga-view section:first-child, .ga-modal .ga-view section:last-child { grid-column: 1/-1; }.ga-modal dl { display: grid; gap: 12px; margin: 0; }.ga-modal dl > div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; }.ga-modal dt { color: #6b7a90; font-size: 11px; }.ga-modal dd { margin: 0; color: #18365d; font-size: 12px; }.ga-modal dd p { margin: 0; padding: 10px; border-radius: 6px; background: #f7f9fc; line-height: 1.55; }
@media (max-width: 1100px) { .general-announcement-management .ga-toolbar { grid-template-columns: 1fr 1fr; }.general-announcement-management .ga-refresh { justify-self: end; } }
@media (max-width: 700px) { .general-announcement-management .ga-toolbar { grid-template-columns: 1fr; }.general-announcement-management .ga-page-action .button { width: 100%; }.general-announcement-management .ga-footer { align-items: flex-start; flex-direction: column; }.ga-modal .ga-form-grid, .ga-modal .ga-date-grid, .ga-modal .ga-view { grid-template-columns: 1fr; }.ga-modal .ga-wide, .ga-modal .ga-view section:first-child, .ga-modal .ga-view section:last-child { grid-column: auto; } }
