.courses-page { padding-top: 38px; }
.courses-header, .courses-intro, .sessions-heading, .profile-actions { display: flex; justify-content: space-between; gap: 18px; }
.courses-header { align-items: center; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.brand-lockup { color: inherit; text-decoration: none; }.back-link, .text-button { color: var(--orange); font: 500 12px "Jost", sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }.back-link:hover, .text-button:hover { text-decoration: underline; }
.courses-intro { align-items: end; padding: 55px 0 35px; }.courses-intro h1 { font-size: clamp(48px, 6vw, 70px); }.courses-intro p:not(.eyebrow) { margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.button, .secondary-button, .danger-button { min-height: 45px; padding: 0 19px; border: 0; border-radius: 8px; cursor: pointer; font: 500 12px "Jost", sans-serif; letter-spacing: .08em; text-transform: uppercase; }.button { background: var(--orange); color: #fffaf2; box-shadow: 0 7px 15px rgba(181,98,46,.18); }.button:hover { background: #a95729; }.button span { font-size: 17px; margin-left: 7px; }
.course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.course-card { display: flex; min-height: 238px; flex-direction: column; justify-content: space-between; padding: 26px; border: 1px solid rgba(169,139,100,.25); border-radius: 14px; background: rgba(255,252,247,.82); box-shadow: 0 8px 25px rgba(91,66,36,.035); cursor: pointer; transition: .25s ease; }.course-card:hover { transform: translateY(-4px); border-color: rgba(181,98,46,.55); box-shadow: 0 18px 38px rgba(76,57,34,.1); }.course-top { display:flex; justify-content:space-between; gap:12px; color:var(--orange); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.course-card h2 { margin:31px 0 8px; font-size:34px; line-height:.96; }.course-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }.course-meta { display:flex; justify-content:space-between; gap:14px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }.status { display:inline-block; padding:5px 8px; border-radius:99px; background:#f4e6d7; color:#8e4a24; font-size:10px; white-space:nowrap; }
.empty-state { display:none; padding:74px 20px; text-align:center; border:1px solid rgba(169,139,100,.25); border-radius:14px; background:rgba(255,252,247,.7); }.empty-state.visible { display:block; }.empty-state>span { display:grid; width:38px; height:38px; margin:0 auto 14px; place-items:center; border:1px solid rgba(181,98,46,.35); border-radius:50%; color:var(--orange); }.empty-state h2 { margin:0; font-size:30px; }.empty-state p { margin:8px auto 18px; color:var(--muted); font-size:13px; }.text-button { border:0; background:none; cursor:pointer; }
.course-dialog { width:min(700px,calc(100% - 28px)); max-height:min(800px,calc(100vh - 40px)); padding:0; border:1px solid var(--line); border-radius:15px; background:var(--paper); color:var(--ink); box-shadow:0 24px 70px rgba(56,42,27,.2); }.course-dialog::backdrop { background:rgba(55,43,31,.36); backdrop-filter:blur(3px); }.course-dialog form,.profile-inner { padding:30px; }.dialog-heading { display:flex; align-items:start; justify-content:space-between; margin-bottom:27px; }.dialog-heading h2 { margin:0; font-size:40px; }.close-button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--orange); cursor:pointer; font-size:23px; line-height:1; }
.form-grid,.profile-fields,.session-entry { display:grid; grid-template-columns:1fr 1fr; gap:17px; } label { display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.04em; } input,select,textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:7px; background:#fffdf9; color:var(--ink); font:400 14px "Jost",sans-serif; } input:focus,select:focus,textarea:focus { outline:2px solid rgba(181,98,46,.25); border-color:var(--orange); }.full-width { grid-column:1/-1; }
.sessions-section { padding:18px; border:1px solid var(--line); border-radius:9px; background:#fffaf4; }.sessions-heading { align-items:start; margin-bottom:15px; }.field-label { margin:0 0 4px; color:var(--orange); font-size:11px; font-weight:600; letter-spacing:.06em; }.sessions-heading p:not(.field-label) { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }.add-session { min-height:35px; padding:0 11px; font-size:10px; white-space:nowrap; }.session-entry { position:relative; gap:13px; padding:17px; margin-top:12px; border:1px solid rgba(169,139,100,.26); border-radius:8px; background:var(--paper); }.session-entry:first-child { margin-top:0; }.remove-session { position:absolute; top:12px; right:12px; border:0; background:transparent; color:#9b4c25; cursor:pointer; font:500 10px "Jost",sans-serif; letter-spacing:.06em; text-transform:uppercase; }.session-entry label:first-of-type { padding-right:65px; }
.form-actions,.profile-actions { justify-content:flex-end; margin-top:27px; }.secondary-button { border:1px solid var(--line); background:transparent; color:var(--muted); }.profile-actions { justify-content:space-between; }.danger-button { min-height:42px; border:1px solid #d9a48b; background:transparent; color:#9b4c25; font-size:11px; }.danger-button:hover { background:#fff3ec; }.profile-fields { gap:19px 26px; margin-top:28px; }.profile-field { padding-bottom:12px; border-bottom:1px solid var(--line); }.profile-field.full { grid-column:1/-1; }.profile-field dt { margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.profile-field dd { margin:0; font-size:14px; line-height:1.55; }.session-profile { padding:16px; margin-top:8px; border:1px solid var(--line); border-radius:8px; background:#fffaf4; }.session-profile h3 { margin:0 0 8px; font-family:"Cormorant Garamond",Georgia,serif; font-size:23px; }.session-profile p { margin:4px 0; color:var(--muted); font-size:13px; line-height:1.5; }
.schedule-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 14px}.schedule-stat{padding:11px;border:1px solid var(--line);border-radius:8px;background:#fffaf4}.schedule-stat strong{display:block;color:var(--orange);font:600 22px "Cormorant Garamond",Georgia,serif}.schedule-stat span{color:var(--muted);font-size:10px}.schedule-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.schedule-filters{display:flex;flex-wrap:wrap;gap:6px}.schedule-filter,.schedule-toggle{border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--muted);cursor:pointer;font:500 10px "Jost",sans-serif;letter-spacing:.06em;padding:6px 9px;text-transform:uppercase}.schedule-filter.active{border-color:var(--orange);background:#f6e6d8;color:var(--orange)}.schedule-toggle{border:0;color:var(--orange)}.schedule-group{overflow:hidden;margin-top:9px;border:1px solid var(--line);border-radius:8px;background:#fffaf4}.schedule-group summary{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;cursor:pointer;color:var(--ink);font:600 14px "Cormorant Garamond",Georgia,serif;list-style:none}.schedule-group summary::-webkit-details-marker{display:none}.schedule-group summary::after{content:"+";color:var(--orange);font:500 19px "Jost",sans-serif}.schedule-group[open] summary::after{content:"–"}.group-count{color:var(--muted);font:500 10px "Jost",sans-serif}.schedule-sessions{border-top:1px solid var(--line)}.schedule-session{display:grid;grid-template-columns:1.2fr .9fr .8fr .9fr;gap:10px;padding:12px 14px;border-top:1px solid rgba(227,216,202,.72);font-size:12px}.schedule-session:first-child{border-top:0}.schedule-session strong{display:block;font-size:13px}.schedule-session span{display:block;color:var(--muted);margin-top:2px;font-size:11px}.session-status{display:inline-block;width:max-content;padding:3px 6px;border-radius:99px;background:#f4e6d7;color:#8e4a24!important;font-size:9px!important}.schedule-group.hidden{display:none}@media(max-width:800px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.courses-header,.courses-intro,.profile-actions,.sessions-heading{align-items:flex-start;flex-direction:column}.courses-intro{padding-top:40px}.course-grid,.form-grid,.profile-fields,.session-entry,.schedule-summary,.schedule-session{grid-template-columns:1fr}.full-width,.profile-field.full{grid-column:auto}.course-dialog form,.profile-inner{padding:22px}.session-entry{padding-top:39px}.session-entry label:first-of-type{padding-right:0}.schedule-tools{align-items:flex-start;flex-direction:column}}
.courses-header-actions{display:flex;align-items:center;gap:14px}.staging-indicator{display:inline-block;margin:12px 0 0;padding:5px 9px;border:1px solid rgba(181,98,46,.35);border-radius:999px;color:#8b4c28;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.staging-indicator[hidden],.courses-load-state[hidden]{display:none!important}.courses-load-state{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(169,139,100,.28);border-radius:9px;background:#fffaf4;color:#796d60}.courses-load-state[data-state="error"],.courses-load-state[data-state="denied"]{color:#a45227}
