/**
 * Styles for the Principal Dashboard "Announcements" Tab - FINAL
 */
.iw-principal-announcements-layout { display: grid; grid-template-columns: 1fr; gap: 30px; }
@media (min-width: 992px) { .iw-principal-announcements-layout { grid-template-columns: 2fr 1fr; } }
.iw-card-title { font-size: 18px; font-weight: 700; color: var(--color-primary-dark); margin: -30px -30px 25px; padding: 20px 30px; border-bottom: 1px solid #eee; display: flex; align-items: center; gap: 10px; }
.iw-form { padding: 0; }
.iw-form-group { margin-bottom: 20px; }
.iw-form-group label { display: block; font-weight: 600; margin-bottom: 8px; color: var(--color-primary-dark); }
.iw-form-group select, .iw-form-group input[type="text"], .iw-form-group input[type="url"], .iw-form-group textarea { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.iw-form-group select:focus, .iw-form-group input:focus, .iw-form-group textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(35, 78, 82, 0.1); }
.iw-form-group select[multiple] { height: 150px; }
.iw-form-group small { display: block; margin-top: 5px; font-size: 13px; color: var(--color-text-light); }
.iw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.iw-form-actions { margin-top: 20px; }
.iw-submit-button { width: 100%; background-color: var(--color-primary); color: #fff; padding: 12px 25px; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.iw-submit-button:hover { background-color: var(--color-primary-dark); }
.iw-history-list { display: flex; flex-direction: column; gap: 15px; }
.iw-history-item { display: flex; flex-direction: column; padding-bottom: 15px; border-bottom: 1px solid #f0f0f0; }
.iw-history-item:last-child { border-bottom: none; padding-bottom: 0; }
.iw-history-item strong { font-weight: 600; color: var(--color-primary-dark); }
.iw-history-item span { font-size: 13px; color: var(--color-text-light); }

/* Success Animation Modal Styles */
.iw-success-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); z-index: 3000; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); }
.iw-success-modal-content { background-color: #fff; padding: 40px; border-radius: var(--border-radius); text-align: center; }
.iw-success-modal-content h4 { font-size: 24px; color: var(--color-primary); margin: 20px 0 10px; }
.iw-success-modal-content p { color: var(--color-text-light); margin: 0; }
.iw-success-checkmark { width: 80px; height: 80px; margin: 0 auto; }
.checkmark-circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 3; stroke-miterlimit: 10; stroke: var(--color-quaternary); fill: none; animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
.checkmark { width: 80px; height: 80px; border-radius: 50%; display: block; stroke-width: 3; stroke: #fff; stroke-miterlimit: 10; margin: 10% auto; box-shadow: inset 0px 0px 0px var(--color-quaternary); animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both; }
.checkmark-check { transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48; animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }
@keyframes stroke { 100% { stroke-dashoffset: 0; } }
@keyframes scale { 0%, 100% { transform: none; } 50% { transform: scale3d(1.1, 1.1, 1); } }
@keyframes fill { 100% { box-shadow: inset 0px 0px 0px 40px var(--color-quaternary); } }

