/* V304 canonical StrategicPlan skin.
   Public / portal / student pages share these exact file cards; no duplicate visual implementation. */
.strategy-download-page{max-width:1500px;margin:0 auto;padding:0 18px 34px}
.student-plan-page{max-width:1060px;margin:0 auto;padding:26px;font-family:Tahoma,sans-serif;color:#26334d}
.strategic-surface{--sp-ink:#203b50;--sp-muted:#718596;--sp-line:#dce7ed;--sp-soft:#f5fafb;--sp-accent:#247f70;--sp-accent2:#347aa0;direction:rtl}
.strategic-page-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:17px 19px;border:1px solid var(--sp-line);border-radius:17px;background:linear-gradient(135deg,#fff,#f2f8fa 58%,#eff9f5);box-shadow:0 9px 27px rgba(25,55,75,.065)}
.strategic-page-hero>div{min-width:0}.strategic-page-hero small{font-size:8.5px;font-weight:950;color:var(--sp-accent)}.strategic-page-hero h1{margin:3px 0;font-size:20px;color:var(--sp-ink)}.strategic-page-hero p{margin:0;max-width:760px;font-size:9.5px;line-height:1.9;color:var(--sp-muted)}.strategic-page-back{flex:0 0 auto;padding:8px 11px;border:1px solid #d6e3e8;border-radius:9px;background:#fff;color:#286472;text-decoration:none;font-size:9px;font-weight:950;white-space:nowrap}
.strategic-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strategic-level-card{min-width:0;padding:12px;border:1px solid #dfe8ed;border-radius:16px;background:#fff;box-shadow:0 8px 23px rgba(29,53,70,.05)}
.strategic-level-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #edf2f4}.strategic-level-head small{display:block;font-size:7.5px;color:#7a8d9c}.strategic-level-head h2{margin:2px 0 0;font-size:15px;color:#29465a}.strategic-level-head>span{padding:5px 8px;border-radius:999px;background:#eaf7f3;color:#267765;font-size:8px;font-weight:950}
.strategic-group-block{margin-top:9px;padding:8px;border:1px solid #eaf0f3;border-radius:12px;background:#fafcfd}.strategic-group-title{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:1px 2px 3px}.strategic-group-title b{font-size:9.5px;color:#425b6c}.strategic-group-title small{font-size:7.5px;color:#8797a3}
.strategic-file-card{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:7px;padding:8px 9px;border:1px solid #dfe9ee;border-radius:12px;background:linear-gradient(135deg,#fff,#fbfdfe);box-shadow:0 4px 13px rgba(28,55,73,.035)}.strategic-file-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#e8f5f2,#eaf3f8);border:1px solid #d4e8e6;color:#277a70}.strategic-file-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.strategic-file-copy{min-width:0;display:grid;gap:2px}.strategic-file-copy small{font-size:7.3px;font-weight:900;color:#3b8a78}.strategic-file-copy b{font-size:9.8px;color:#294359;overflow-wrap:anywhere}.strategic-file-copy em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:7.3px;color:#8997a2;direction:ltr;text-align:right}.strategic-file-download{min-height:33px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;border-radius:9px;background:linear-gradient(135deg,var(--sp-accent),var(--sp-accent2));color:#fff;text-decoration:none;font-size:8px;font-weight:950;white-space:nowrap;box-shadow:0 6px 15px rgba(35,116,118,.14)}.strategic-file-download svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.strategic-empty{padding:15px;text-align:center;border:1px dashed #d7e1e7;border-radius:11px;background:#fff;color:#80919e;font-size:9px}
.strategic-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.strategic-personal-grid .strategic-file-card{margin-top:0;min-height:84px}
@media(max-width:900px){.strategic-level-grid,.strategic-personal-grid{grid-template-columns:1fr}.strategic-page-hero{align-items:flex-start;flex-direction:column}.student-plan-page{padding:14px}}
@media(max-width:560px){.strategic-file-card{grid-template-columns:36px minmax(0,1fr);align-items:start}.strategic-file-download{grid-column:1/-1;width:100%}.strategic-page-hero{padding:14px}.strategic-page-hero h1{font-size:17px}}

/* V435 strategic-plan semester switch: one shared owner for public/portal/student pages. */
.strategic-period-switch{display:grid;grid-template-columns:repeat(2,minmax(220px,360px)) auto;align-items:stretch;justify-content:start;gap:9px;margin:0 0 12px}
.strategic-period-card{appearance:none;min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce7ec;border-radius:14px;background:linear-gradient(135deg,#fff,#f7fbfc);color:var(--sp-ink);text-align:right;cursor:pointer;box-shadow:0 6px 18px rgba(27,58,76,.045)}
.strategic-period-card:hover{border-color:#bdd7d6;box-shadow:0 8px 20px rgba(27,58,76,.075)}
.strategic-period-card.is-active{border-color:#82bdb2;background:linear-gradient(135deg,#f5fcfa,#edf8f5);box-shadow:0 0 0 2px rgba(36,127,112,.08)}
.strategic-period-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#e8f5f2,#eaf3f8);border:1px solid #d4e8e6;color:#267765;font-size:15px;font-weight:950}
.strategic-period-card small{display:block;margin-bottom:2px;color:#7c8e9b;font-size:7.5px;font-weight:850}.strategic-period-card b{display:block;font-size:12px;color:#29465a}.strategic-period-card em{padding:5px 7px;border-radius:999px;background:#eef5f7;color:#5f7787;font-style:normal;font-size:7.5px;font-weight:900;white-space:nowrap}
.strategic-period-reset{align-self:center;padding:7px 9px;border:1px solid #dce7ec;border-radius:9px;background:#fff;color:#4e7180;font:inherit;font-size:8px;font-weight:900;cursor:pointer;white-space:nowrap}
[data-strategic-plan-period][hidden],[data-strategic-filter-empty][hidden],.strategic-period-reset[hidden]{display:none!important}
@media(max-width:760px){.strategic-period-switch{grid-template-columns:1fr 1fr}.strategic-period-reset{grid-column:1/-1;justify-self:start}.strategic-period-card{grid-template-columns:36px minmax(0,1fr);min-height:66px}.strategic-period-card em{grid-column:2}}
@media(max-width:520px){.strategic-period-switch{grid-template-columns:1fr}.strategic-period-reset{grid-column:auto}.strategic-period-card{grid-template-columns:38px minmax(0,1fr) auto}.strategic-period-card em{grid-column:auto}}

/* V539 mobile safety for strategic plan surfaces. */
@media(max-width:560px){html,body{max-width:100%;overflow-x:hidden!important}*,*::before,*::after{box-sizing:border-box}.strategic-page,.strategic-page-hero,.student-plan-page{width:100%!important;max-width:100%!important;min-width:0!important}input,select,textarea,button,img,svg{max-width:100%;min-width:0}[style*="min-width"]{min-width:0!important;max-width:100%!important}}


/* V552 strategic-plan mobile form stability. */
@media(max-width:760px){
  .strategic-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),.strategic-page select,.strategic-page textarea,.student-plan-page input,.student-plan-page select{font-size:16px!important;max-width:100%!important;min-width:0!important;touch-action:manipulation}
}
