/* Poltekpel V3.5 — New portal announcement and agenda components; scoped only. */
.v35-calendar-section{padding:65px 0 75px;background:#f3f8fb;color:#143f55}
.v35-calendar-section *{box-sizing:border-box}
.v35-calendar-section .container{max-width:1200px;margin:auto;padding:0 24px}
.v35-calendar-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.v35-calendar-intro h2{font-size:clamp(28px,3.7vw,43px);letter-spacing:-.035em;margin:9px 0;color:#143950;line-height:1.2}
.v35-calendar-intro h2 em{font-style:normal;color:#0d7f95}
.v35-calendar-intro p{max-width:520px;color:#657f90;margin:0;line-height:1.7;font-size:15px}
.v35-calendar-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:9px;justify-content:flex-end}
.v35-calendar-navigation a{width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid #d8e9ee;background:#fff;text-decoration:none;border-radius:11px;color:#0b6075;font-weight:900;font-size:19px}
.v35-calendar-navigation a:hover{color:#fff;background:#0b6075}
.v35-calendar-navigation strong{min-width:155px;text-align:center;color:#123d54;font-size:16px}
.v35-calendar-navigation a.v35-today{width:auto;font-size:12px;padding:0 12px}
.v35-calendar-shell{overflow:hidden;border-radius:20px;border:1px solid #dce8ef;background:#fff;box-shadow:0 24px 50px rgba(11,59,84,.055)}
.v35-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e7eff3}
.v35-weekday{background:#143d53;color:#e6f2f6;text-align:center;padding:15px 2px;font-weight:800;font-size:12px;letter-spacing:.08em}
.v35-empty-day{background:#f8fbfc;min-height:112px}
.v35-day{background:#fff;min-height:112px;padding:10px;min-width:0;display:flex;flex-direction:column;gap:5px}
.v35-day.is-today{background:#eff9fc}
.v35-day.has-events{background:#fbfdff}
.v35-day-number{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;font-size:13px;font-weight:900;color:#456b7e}
.v35-day.is-today .v35-day-number{background:#0a7790;color:#fff}
.v35-day a{background:#e2f2f7;color:#0a526a;border-left:3px solid #0b8196;padding:6px 7px;display:block;font-size:11px;line-height:1.35;border-radius:5px;text-decoration:none;min-width:0;word-wrap:break-word;overflow-wrap:anywhere}
.v35-day a:hover{background:#cce9f1}
.v35-day small{font-size:10px;color:#426f84;font-weight:700}
.v35-calendar-footnote{font-size:12px;color:#6c8592;margin:17px 0 0;line-height:1.6}
.v35-mobile-events{display:none}
.v35-download-calendar{display:block;text-align:center;border-radius:10px;padding:12px 15px;text-decoration:none;font-size:14px;font-weight:800;border:1px solid #8fb8ca;color:#0b5b74;background:#f5fbfe}
.v35-download-calendar:hover{background:#e4f4fa;color:#075065}
.v35-notice-important{background:linear-gradient(90deg,#fff9ec,#f9fcfe);border-color:#ecd5a1}
.v35-priority-badge,.v35-archive-priority{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;background:#fdf0ce;color:#825c13;font-size:10px;font-weight:900;letter-spacing:.04em;margin-bottom:8px}
.v35-notice-information{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:20px;background:linear-gradient(110deg,#0c3951,#0a6a7d);border-radius:18px;color:#fff;padding:26px 28px;margin-bottom:27px;box-shadow:0 20px 50px rgba(17,65,86,.12)}
.v35-notice-symbol{font-size:34px;display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(247,214,142,.5);border-radius:15px;color:#f6cf86;background:rgba(255,255,255,.08)}
.v35-notice-information strong{display:block;font-size:18px;color:#fff;margin:0 0 6px}
.v35-notice-information p{margin:0;color:#d9eef4;font-size:13px;line-height:1.6;max-width:650px}
.v35-notice-information>a{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border:1px solid rgba(255,255,255,.33);border-radius:10px;color:#fff;font-size:13px;font-weight:800;line-height:1.5;text-align:center;text-decoration:none;min-height:44px}
.v35-notice-information>a:hover{background:rgba(255,255,255,.14)}
.info-archive-meta .v35-archive-priority{font-size:10px;margin-bottom:0}
@media(max-width:960px){.v35-calendar-intro{align-items:flex-start;flex-direction:column}.v35-notice-information{grid-template-columns:52px minmax(0,1fr)}.v35-notice-information>a{grid-column:2;justify-self:start}}
@media(max-width:720px){.v35-calendar-section{padding:45px 0 54px}.v35-calendar-section .container{padding:0 18px}.v35-calendar-shell{display:none}.v35-mobile-events{display:flex;flex-direction:column;gap:9px}.v35-mobile-events>a{display:grid;grid-template-columns:60px minmax(0,1fr) 20px;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:13px 15px;border:1px solid #deebf0;color:#163c51;text-decoration:none;min-height:65px}.v35-mobile-events>a>span:first-child{background:#e5f3f7;color:#075e78;border-radius:8px;padding:8px 3px;text-align:center;font-weight:900;font-size:12px}.v35-mobile-events>a strong{font-size:14px;line-height:1.5}.v35-mobile-events>a>span:last-child{color:#0e7e93}.v35-mobile-events p{background:#fff;border:1px dashed #a6cbd7;padding:23px;border-radius:12px;color:#607c8c}.v35-notice-information{display:flex;align-items:flex-start;flex-direction:column;gap:10px;padding:23px}.v35-notice-information>a{width:100%}.v35-calendar-navigation{width:100%;justify-content:space-between}.v35-calendar-navigation strong{min-width:100px;flex:1;font-size:14px}.v35-calendar-navigation a.v35-today{width:100%}.v35-notice-symbol{width:44px;height:44px;font-size:26px}}
@media(max-width:430px){.campus-announcements .announcement-item{grid-template-columns:1fr 44px;gap:10px;padding:18px}.campus-announcements .announcement-date{grid-column:1/-1}.campus-announcements .announcement-arrow{grid-column:2;grid-row:2}}
@media(prefers-reduced-motion:reduce){.v35-calendar-navigation a,.v35-notice-information>a{transition:none}}
