/* Plan settings: course context first, grouped facts and visible actions. */
.plan-page-controls{padding:14px 20px;border-bottom:1px solid var(--line)}
.plan-page-controls .plan-course-picker{display:block;max-width:300px}
.plan-page-controls select{background:var(--paper);font-weight:400;min-height:36px}
body .manage-content>.plan-discovery-row{margin:16px 20px;padding:16px 18px;border:1px solid #d9e6f3;border-radius:12px;background:#f2f7fd;color:var(--ink)}
.plan-discovery-row h3{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;margin-bottom:5px}
.plan-discovery-row p{font-size:12px}
.plan-discovery-row .page-heading-action{white-space:nowrap}
.plan-discovery-row .icon{width:15px;height:15px}
body .manage-content>.plan-overview{padding:0;margin:0;border:0;box-shadow:none;border-radius:0;overflow:hidden}
.plan-overview-table{width:100%;min-width:830px;border-collapse:separate;border-spacing:0;font-size:12px;text-align:left}
.plan-overview-table thead th{padding:12px;color:var(--muted);background:var(--wash);font-size:11px;font-weight:500;white-space:nowrap;border-bottom:1px solid var(--line)}
.plan-overview-table tbody td,.plan-overview-table tbody th{padding:18px 12px;border-bottom:1px solid var(--line);vertical-align:middle;background:var(--paper)}
.plan-overview-table tbody th{font-weight:400}
.plan-overview-table tbody tr:last-child>*{border-bottom:0}
.plan-overview-table .plan-record-header{min-width:164px;max-width:210px}
.plan-record-header>small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.plan-title-link{display:block;padding:0;text-align:left;font-size:13px;font-weight:600;line-height:1.7;overflow-wrap:anywhere;color:var(--ink)}
.plan-title-link:hover{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}
.plan-record-header .discovery-plan-badge{margin-top:6px;font-size:9px}
.plan-record-price{min-width:126px}.plan-record-price>span,.plan-record-price>small{display:block;font-size:11px;color:var(--muted)}
.plan-record-price>strong{display:block;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;margin:4px 0}
.plan-record-price strong small{font-size:10px;font-weight:400;color:var(--muted)}
.plan-record-dates{min-width:155px}.plan-record-dates>div{display:flex;gap:8px;white-space:nowrap;font-size:11px;line-height:1.9}
.plan-record-dates>div>span{color:var(--muted)}
.plan-record-members{min-width:182px}.plan-record-members dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.plan-record-members dl>div{text-align:center;min-width:0}.plan-record-members dt{font-size:10px;color:var(--muted);white-space:nowrap}
.plan-record-members dd{font-size:16px;margin:5px 0 0;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.plan-record-state{min-width:137px}.plan-record-state .plan-state{display:flex;align-items:center;gap:5px;line-height:1.9;color:var(--ink)}
.plan-record-state .plan-state.is-muted{color:var(--muted)}.plan-record-state .icon{width:13px;height:13px;color:var(--muted)}
.plan-overview-table th:last-child,.plan-overview-table .plan-record-actions{position:sticky;right:0;z-index:1;text-align:center;min-width:48px;padding-inline:6px;box-shadow:-8px 0 10px -10px #0005}
.plan-record-actions .plan-menu-trigger{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;font-size:24px;line-height:1;color:var(--muted)}
.plan-data-note{font-size:10px!important;color:var(--muted);padding:12px 20px;margin:0;border-top:1px solid var(--line)}
.plan-editor-context{margin:0;font-size:11px;color:var(--muted)}
dialog:has(.plan-editor){width:620px;max-width:calc(100vw - 32px)}
.plan-editor h2{margin-top:6px}.plan-edit-form{margin-top:24px}
.plan-edit-form input:disabled{color:var(--muted);background:var(--wash)}
.plan-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:800px){
 .plan-page-controls{padding:8px 0 12px}.plan-page-controls .plan-course-picker{max-width:none}
 .plan-page-controls select{font-size:16px;min-height:40px}
 body .manage-content>.plan-discovery-row{margin:14px 0;padding:14px;border-radius:10px;gap:12px}
 .plan-discovery-row .page-heading-action{min-height:32px;padding:4px;font-size:11px}
}
@media(max-width:650px){
 .plan-overview-table,.plan-overview-table tbody{display:block;min-width:0}
 .plan-overview-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .plan-overview-table tbody tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
 .plan-overview-table tbody td,.plan-overview-table tbody th{display:block;min-width:0;max-width:none;padding:0;border:0;background:transparent}
 .plan-overview-table .plan-record-header{grid-column:1/-1;padding-right:42px}
 .plan-title-link{font-size:14px;min-height:28px}
 .plan-overview-table .plan-record-actions{position:absolute;right:0;top:16px;min-width:32px;box-shadow:none}
 .plan-record-price{grid-column:1}.plan-record-price>strong{font-size:17px}.plan-record-price>small{font-size:10px}
 .plan-record-state{grid-column:2;align-self:center;justify-self:end}
 .plan-record-members{grid-column:1/-1;grid-row:3;padding:12px 0!important;border-block:1px solid var(--line)!important}
 .plan-record-members dt{font-size:11px}.plan-record-members dd{font-size:20px;margin-top:3px}
 .plan-record-dates{grid-column:1/-1;grid-row:4;display:grid!important;gap:4px}
 .plan-record-dates>div{justify-content:space-between;font-size:11px}
 .plan-data-note{padding:12px 0}
 #modal:has(.plan-editor){max-width:100%;padding-inline:18px}
 .plan-editor-actions{position:sticky;bottom:-24px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--paper);z-index:1}
 .plan-editor-actions button{flex:1;min-height:44px}
}

body .plan-overview .plan-record-price strong small{display:inline;font-size:10px}
body .plan-overview .plan-menu-trigger>.icon{width:18px;height:18px;fill:currentColor;stroke:none}
body.account-dark .manage-content>.plan-discovery-row{background:#1b222b;color:var(--ink);border-color:#334356}
body.account-dark .plan-overview .plan-overview-table tbody .plan-record-header{background:var(--paper);color:var(--ink)}
@media(max-width:650px){body.account-dark .plan-overview .plan-overview-table tbody .plan-record-header{background:transparent}}

/* The same reference-based fields are used for creation and editing. */
dialog:has(.plan-editor){width:720px}
.plan-editor>header{padding-right:26px}
.plan-edit-form{gap:0}
.plan-form-section{display:grid;gap:18px;padding:22px 0;border-top:1px solid var(--line);min-width:0}
.plan-form-section h3{margin:0 0 2px;font-size:13px;font-weight:600;color:var(--ink)}
.plan-edit-form label{font-size:12px;font-weight:500;min-width:0}
.plan-edit-form label small,.plan-field-help{font-size:11px!important;color:var(--muted);font-weight:400;line-height:1.7;margin:0}
.plan-edit-form input,.plan-edit-form select,.plan-edit-form textarea{font-size:13px;min-width:0;max-width:100%}
.plan-field{display:grid;gap:8px;min-width:0}.plan-field-title{font-size:12px;font-weight:500}
.plan-choice{display:inline-flex;justify-self:start;border:1px solid var(--line);border-radius:7px;padding:3px;background:var(--wash);gap:3px;max-width:100%}
.plan-choice label{position:relative;display:block!important;margin:0!important;cursor:pointer}
.plan-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important;padding:0!important}
.plan-choice span{display:block;padding:6px 15px;font-size:12px;border-radius:4px;color:var(--muted);white-space:nowrap}
.plan-choice input:checked+span{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #0001}
.plan-choice input:focus-visible+span{outline:2px solid var(--blue);outline-offset:1px}
.plan-input-unit{display:flex;align-items:center;gap:10px}.plan-input-unit input{flex:1;width:100%}.plan-input-unit>span{color:var(--muted);font-weight:400;white-space:nowrap}
.plan-edit-form [data-plan-conditional]{margin-top:4px;min-width:0}
.plan-edit-form [hidden]{display:none!important}
.plan-join-fields{display:grid;gap:24px}
.plan-nested-row{position:relative;display:grid;gap:12px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:8px;min-width:0;background:var(--wash)}
.plan-nested-row legend{font-size:11px;color:var(--muted);padding:0 6px}
.plan-nested-row label:first-of-type{padding-right:18px}
.plan-remove{position:absolute;right:7px;top:0;width:28px;height:28px;display:grid;place-items:center;color:var(--muted);padding:0;border-radius:5px}
.plan-remove .icon{width:15px;height:15px}.plan-remove:hover{background:var(--line)}
.plan-add{font-size:12px;padding:7px 12px;min-height:32px}
.plan-file-status{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.plan-file-status>span{min-width:0}.plan-file-status button{white-space:nowrap;font-size:11px}
.plan-editor-note{font-size:11px!important;color:var(--muted);line-height:1.7;margin:0 0 20px}
.plan-form-error{font-size:12px!important;color:#cc4141;line-height:1.7;margin:0 0 14px}
.plan-editor-actions{position:sticky;bottom:-29px;margin:0;background:var(--paper);padding:14px 0 4px;z-index:2}
body.account-dark .plan-nested-row{background:var(--wash)}
@media(max-width:650px){
 .plan-form-section{gap:16px;padding:20px 0}.plan-form-section .form-pair{grid-template-columns:1fr;gap:18px}
 .plan-edit-form input,.plan-edit-form select,.plan-edit-form textarea{font-size:16px}
 .plan-choice span{padding:8px 15px}
 .plan-editor-actions{bottom:-24px;padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
 .plan-nested-row{padding:12px}.plan-nested-row input[type=file]{font-size:12px;padding:10px 6px}
 .plan-form-section input[type=datetime-local]{width:100%;min-width:0}
}
fieldset.plan-field{border:0;padding:0;margin:0;min-width:0}
.plan-field>legend{padding:0;margin-bottom:8px}
.plan-editor>header{display:block;position:static;height:auto;padding:0 36px 0 0;background:transparent;border:0;z-index:auto}
.plan-edit-form label{display:grid;gap:6px}
.plan-edit-form label>input,.plan-edit-form label>select,.plan-edit-form label>textarea{width:100%}
#modal:has(.plan-editor)>.close{position:absolute;top:14px;right:14px;z-index:5;display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border-radius:6px;background:var(--paper)}

.plan-page-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative;overflow:visible}
.plan-page-controls .plan-course-picker{flex:1;min-width:0}

.plan-list-meta{padding:12px 20px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.plan-table-scroll[hidden]{display:none}
@media(max-width:800px){
 .plan-page-controls .plan-course-picker{flex-basis:100%;max-width:none}

 .plan-list-meta{padding:12px 0}.pl-tags{padding-inline:0;background:transparent}
}

.plan-record-price>.plan-contract-label{display:flex;align-items:center;gap:6px;line-height:1.5}
.plan-contract-icon{width:16px!important;height:16px!important;flex-shrink:0}
.plan-contract-icon.is-recurring{color:#488acf!important}.plan-contract-icon.is-once{color:#9370c7!important}

body.account-dark .plan-contract-icon.is-recurring{color:#80b4ec!important}
body.account-dark .plan-contract-icon.is-once{color:#bc9aeb!important}

.plan-discovery-row h3>.icon{width:18px;height:18px;flex-shrink:0;color:var(--blue)}

.plan-detail-row{cursor:pointer}.plan-detail-row:hover{background:var(--wash)}.plan-detail-dialog h2{margin:8px 0 14px}.plan-detail-dialog .mgr-facts dd{overflow-wrap:anywhere}.plan-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0;border-block:1px solid var(--line);margin-top:20px}.plan-detail-metrics>div{display:flex;flex-direction:column;gap:8px}.plan-detail-metrics span{font-size:12px;color:var(--muted)}.plan-detail-metrics strong{font-size:26px;font-variant-numeric:tabular-nums}.plan-detail-metrics small{font-size:11px;margin-left:4px;font-weight:400}.plan-detail-join{border-top:1px solid var(--line);padding-top:18px}.plan-detail-join h3{font-size:16px}.plan-detail-join h4{font-size:13px;margin:20px 0 8px}.plan-detail-join p,.plan-detail-join li{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.plan-detail-join ul{padding-left:20px}.plan-detail-join small{display:block;color:var(--muted);font-size:11px}.plan-detail-dialog .mgr-form-actions{justify-content:flex-end}
@media(max-width:650px){.plan-detail-metrics strong{font-size:24px}.plan-detail-dialog h2{font-size:21px}.plan-detail-dialog .mgr-form-actions{flex-wrap:nowrap}.plan-detail-dialog .mgr-form-actions button{flex:1;width:auto}}

.plan-detail-scope{margin-top:24px}.plan-detail-join .plan-field-help{color:var(--muted);font-size:12px}
