/* Future course planner and submission location enhancements */
.fp-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:-12px 0 26px;border:1px solid var(--border);border-radius:14px;background:var(--paper)}
.fp-entry strong,.fp-entry span{display:block}.fp-entry strong{font-size:15px}.fp-entry span{font-size:12px;color:var(--muted);margin-top:4px}.fp-entry button,.fp-module button{border:0;border-radius:9px;background:var(--purple);color:white;padding:10px 15px;font-weight:650;font-size:12px}
.fp-location-note{font-size:11px;color:var(--muted);padding:7px 15px 12px;margin:0}.fp-platforms{display:flex;gap:5px;flex-wrap:wrap}.fp-platform{display:inline-block;background:var(--purple-light);color:var(--purple);border-radius:6px;padding:4px 7px;font-size:11px;white-space:nowrap}
.fp-notice{border:1px solid var(--border);background:var(--paper);padding:14px 18px;border-radius:11px;color:var(--muted);font-size:12px;margin-bottom:22px}
.fp-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px}.fp-summary>div{border:1px solid var(--border);background:var(--paper);border-radius:13px;padding:18px 20px}.fp-summary strong{font:28px Georgia,serif;color:var(--purple);display:block}.fp-summary span{font-size:12px;color:var(--muted)}
.fp-section{margin:25px 0 32px}.fp-section h2{font:22px Georgia,serif;margin:0 0 15px}.fp-section-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.fp-year-tabs{display:flex;gap:8px;margin-bottom:18px}.fp-year-tabs button{border:1px solid var(--border);border-radius:30px;background:var(--paper);color:var(--ink);padding:9px 18px}.fp-year-tabs button.active{background:var(--purple);color:white}
.fp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fp-module{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column}.fp-module.fp-saved{border-color:#9378ad}.fp-module.fp-required{box-shadow:inset 3px 0 var(--gold)}.fp-module-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.fp-chip{font-size:10px;background:#f6eee0;color:#8a683b;border-radius:20px;padding:4px 8px}.fp-module h3{font:19px Georgia,serif;margin:14px 0 7px}.fp-module p{color:var(--muted);font-size:12px;flex:1}.fp-module button{align-self:flex-start;margin-top:12px}.fp-saved button{background:var(--purple-light);color:var(--purple)}
.fp-plan-list{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--paper)}.fp-plan-row,.fp-prereq{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--border)}.fp-plan-row:last-child,.fp-prereq:last-child{border:0}.fp-plan-row strong,.fp-plan-row span,.fp-prereq strong,.fp-prereq small{display:block}.fp-plan-row span,.fp-prereq small{font-size:12px;color:var(--muted);margin-top:3px}.fp-plan-row button{border:0;background:none;color:var(--purple);font-weight:650}.fp-prereq{justify-content:flex-start;cursor:pointer}.fp-prereq input{accent-color:var(--purple);width:17px;height:17px}.fp-muted{color:var(--muted);font-size:13px}
@media(max-width:700px){.fp-grid{grid-template-columns:1fr}.fp-entry,.fp-section-header{flex-direction:column;align-items:stretch}.fp-summary{gap:7px}.fp-summary>div{padding:12px}.fp-summary strong{font-size:23px}.fp-summary span{font-size:10px}}

/* Linked submission destinations: minimal icon + text, visually distinct from status badges. */
.fp-platforms{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.fp-platform{display:inline-flex;align-items:center;gap:7px;padding:2px 0;border-radius:0;background:transparent!important;color:var(--ink)!important;font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}.fp-platform:hover{text-decoration:underline;text-underline-offset:3px}.fp-platform:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.fp-platform-icon{color:var(--purple);font-size:15px;font-weight:700}.fp-platform-separator{color:var(--muted);font-size:12px}

.course-submit-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.course-submit-links small{color:var(--muted);font-size:11px}.course-submit-links a{font-size:12px;color:var(--purple);font-weight:600;text-decoration:none}.course-submit-links a:hover{text-decoration:underline}

/* Submission links: authentic platform favicons, centered column with balanced wrapping. */
.spot-table th.fp-submit-heading,.spot-table td.fp-submit-cell{text-align:center;vertical-align:middle;min-width:170px}.fp-submit-cell .fp-platforms{display:flex;justify-content:center;align-items:center;gap:8px 12px;flex-wrap:wrap;width:100%}.fp-submit-cell .fp-platform{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.fp-platform-logo,.course-submit-logo{width:17px;height:17px;object-fit:contain;flex-shrink:0}.fp-platform-separator{color:var(--muted);opacity:.5}.course-submit-links{justify-content:flex-start}.course-submit-links a{display:inline-flex;align-items:center;gap:6px}

/* Assessment table polish: generous horizontal padding and a visually grouped destination cell. */
.inline-course-panel .spot-table th.fp-submit-heading,
.inline-course-panel .spot-table td.fp-submit-cell{min-width:205px;padding-left:22px;padding-right:22px;text-align:center;vertical-align:middle}
.inline-course-panel .spot-table th.fp-submit-heading{white-space:nowrap}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platforms{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;width:100%}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:12px}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform-separator{opacity:.32;font-size:11px}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform-logo{width:16px;height:16px}
@media(max-width:1100px){.inline-course-panel .spot-table th.fp-submit-heading,.inline-course-panel .spot-table td.fp-submit-cell{min-width:190px;padding-left:16px;padding-right:16px}}

/* Keep Git tag help within the course panel viewport, rather than clipping above it. */
.inline-course-panel .git-tag-tooltip{bottom:auto;top:calc(100% + 12px);left:0;right:auto;transform:none;width:max-content;max-width:min(310px,calc(100vw - 60px));min-width:235px;box-sizing:border-box;z-index:100}
.inline-course-panel .git-tag-tooltip:after{top:auto;bottom:100%;left:26px;margin-left:0;border-color:transparent;border-bottom-color:#28232e;border-top-color:transparent}
.inline-course-panel .git-tag-wrap{isolation:isolate}
.inline-course-panel .git-tag-wrap:hover,.inline-course-panel .git-tag-wrap:focus-within{z-index:101}

/* Vertically stacked submission destinations: compact column without horizontal overflow. */
.inline-course-panel .spot-table th.fp-submit-heading,.inline-course-panel .spot-table td.fp-submit-cell{min-width:112px;width:112px;padding-left:10px;padding-right:10px;text-align:center}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platforms{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;width:max-content;max-width:100%;margin:0 auto}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;white-space:nowrap;font-size:12px;padding:0}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform-separator{display:none}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform-logo{width:16px;height:16px}

/* Desktop assessment table: fit all six columns within the available width. */
@media(min-width:900px){
.inline-course-panel .table-scroll{overflow-x:visible!important;width:100%;max-width:100%}
.inline-course-panel .spot-table{width:100%!important;min-width:0!important;table-layout:fixed!important;white-space:normal!important}
.inline-course-panel .spot-table th,.inline-course-panel .spot-table td{box-sizing:border-box;padding:13px 9px!important;min-width:0!important;max-width:none;vertical-align:middle}
.inline-course-panel .spot-table th:nth-child(1),.inline-course-panel .spot-table td:nth-child(1){width:36%;overflow-wrap:anywhere}
.inline-course-panel .spot-table th:nth-child(2),.inline-course-panel .spot-table td:nth-child(2){width:8%;white-space:nowrap}
.inline-course-panel .spot-table th:nth-child(3),.inline-course-panel .spot-table td:nth-child(3){width:14%;white-space:normal}
.inline-course-panel .spot-table th:nth-child(4),.inline-course-panel .spot-table td:nth-child(4){width:12%;white-space:normal}
.inline-course-panel .spot-table th:nth-child(5),.inline-course-panel .spot-table td:nth-child(5){width:20%;white-space:normal;overflow-wrap:break-word}
.inline-course-panel .spot-table th:nth-child(6),.inline-course-panel .spot-table td:nth-child(6){width:10%;white-space:normal}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platforms{width:max-content;max-width:100%;margin:0 auto;align-items:flex-start}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform{font-size:11px;gap:5px}
.inline-course-panel .spot-table td.fp-submit-cell .fp-platform-logo{width:15px;height:15px}
}

/* Course planner: compact browsable list and familiar course cards. */
.fp-course-list{border:1px solid #e8dfed;border-radius:14px;overflow:hidden;background:#fff}
.fp-course-row{display:flex;align-items:center;gap:15px;padding:14px 17px;border-bottom:1px solid #eee8f1}
.fp-course-row:last-child{border-bottom:0}
.fp-course-row:hover{background:#faf7fc}
.fp-course-chosen{background:#f7f1fb}
.fp-course-needed{box-shadow:inset 4px 0 #bc9a54;background:#fcf8ed}
.fp-course-info{border:0;background:transparent;text-align:left;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;cursor:pointer;color:#382c46}
.fp-course-info:hover .fp-course-name{text-decoration:underline}
.fp-course-name{font-size:14px;font-weight:650}
.fp-course-info small{font-size:11px;color:#82748d}
.fp-course-add{border:1px solid #d8c5e5;background:#fff;color:#694b85;border-radius:9px;padding:7px 12px;white-space:nowrap;cursor:pointer}
.fp-course-chosen .fp-course-add{background:#ede4f4}
.fp-needed-label{font-size:11px;color:#87672f;background:#f6e9cb;border-radius:6px;padding:5px 8px}
.fp-planned-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.fp-planned-card{background:#fff;border:1px solid #e8dfed;border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.fp-planned-card h3{font-family:Georgia,serif;font-size:19px;color:#38274b;margin:0}
.fp-planned-card p{color:#82748d;font-size:12px;margin:0}
.fp-planned-card button,.fp-detail button{border:0;background:transparent;color:#72518c;cursor:pointer;padding:3px 0}
.fp-detail{background:#faf8fc;border:1px solid #e8dfed;border-radius:14px;padding:20px}
.fp-prereq-link{text-decoration:underline}
@media(max-width:650px){.fp-course-row{flex-wrap:wrap}.fp-needed-label{order:3}.fp-course-add{margin-left:auto}}
