.product-page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:10px 0 30px}.product-page-head h1{font-size:28px;margin:0 0 10px}.product-page-head p,.editor-card>p{color:#777e76;font-size:14px}.product-editor{display:grid;gap:24px;max-width:1520px}.editor-card{border:1px solid #e5e8e2;background:#fff;border-radius:12px;padding:36px 40px;box-shadow:0 3px 15px #1b241506;margin:0 0 24px}.product-editor .editor-card{margin:0}.editor-card h2{font-size:21px;line-height:1.55;margin:0 0 28px;color:#41473f}.editor-card h3{font-size:15px;margin:28px 0 14px}.editor-card label{display:block;color:#50574d;font-size:14px;font-weight:600;margin:0 0 12px}.editor-card em{color:#6e7947;font-style:normal}.editor-card .field{background:white;border-color:#dfe3dc;border-radius:5px;font-size:14px;min-height:46px}.editor-card textarea.field{min-height:110px;margin-bottom:20px}.product-fields{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}.counted-input{position:relative}.counted-input input{padding-right:70px}.counted-input span{position:absolute;right:16px;top:14px;color:#989d95;font-weight:400}.segment{display:inline-flex;gap:3px;padding:5px;background:#f4f5f2;border-radius:30px;margin:4px 0 16px}.segment .btn{border:0;background:transparent;color:#8b9087;padding:9px 20px;border-radius:24px;font-size:13px}.segment .btn[aria-pressed=true]{background:white;color:#333b2d;box-shadow:0 2px 7px #1b24150b}.segment.outlined{background:transparent;padding:0;gap:8px}.segment.outlined .btn{border:1px solid #dce1d7}.segment.outlined .btn[aria-pressed=true]{border-color:#879b5d;background:#f3f8e9;color:#506632}.editor-info{background:#f8faf5;border:1px solid #e8ece2;border-radius:5px;padding:20px;margin:10px 0 26px;max-width:980px;font-size:14px;color:#596451}.editor-info p{font-size:13px;line-height:1.9;margin-bottom:0;color:#7c8475}.product-editor .actions{align-items:center;flex-wrap:wrap;gap:12px}.product-editor .actions label{margin:0}.file-slot{border:1px dashed #d8ddd2;padding:25px;text-align:center;color:#8a9085;margin:16px 0 0;border-radius:5px;font-size:14px;min-height:82px}.file-slot>div{display:flex;align-items:center;gap:18px;text-align:left}.file-slot span{flex:1;color:#3d4537}.file-slot small{display:block;color:#8a9085}.file-slot p:empty{display:none}.rich-editor{border:1px solid #cfd5c9;margin:28px 0;border-radius:4px;overflow:hidden}.rich-toolbar{display:flex;align-items:center;flex-wrap:wrap;background:#fafbf8;border-bottom:1px solid #cfd5c9;padding:5px;gap:3px}.rich-toolbar button,.rich-toolbar select,.rich-toolbar .rich-image{border:0;background:transparent;color:#444b40;font-size:13px;padding:7px 9px;cursor:pointer;min-height:32px;margin:0;font-weight:500}.rich-toolbar button:hover{background:#eaf0e0;border-radius:3px}.rich-toolbar button[title=굵게]{font-weight:800}.rich-toolbar button[title=기울임]{font-style:italic}.rich-toolbar button[title=밑줄]{text-decoration:underline}.rich-toolbar select{border-right:1px solid #ddd;max-width:120px}.rich-body{padding:18px;min-height:240px;outline:none;line-height:1.8;font-size:15px;color:#454c40}.rich-body:empty:before{content:attr(data-placeholder);color:#969c90}.rich-body:focus{box-shadow:inset 0 0 0 2px #d6e6b9}.rich-body img,.rich-content img{max-width:100%;height:auto}.rich-body table,.rich-content table{width:100%;border-collapse:collapse;margin:12px 0}.rich-body td,.rich-body th,.rich-content td,.rich-content th{border:1px solid #cdd4c5;padding:10px;min-width:60px}.rich-body ul,.rich-content ul{list-style:disc;padding-left:24px}.rich-body ol,.rich-content ol{list-style:decimal;padding-left:24px}.rich-body blockquote,.rich-content blockquote{border-left:3px solid #a4b987;padding-left:20px}.rich-link-row{padding:10px;gap:10px;display:flex}.rich-link-row[hidden]{display:none}.rich-link-row input{flex:1;border:1px solid #ddd;padding:7px}.rich-status{margin:0;font-size:13px;color:#a13b29}.rich-status:not(:empty){padding:8px}.thumbnail-editor{max-width:420px}.thumbnail-editor p{font-size:12px;color:#838a7d;line-height:1.8}.product-thumb{display:block;position:relative;aspect-ratio:3/2;background:#f0f2ec;border-radius:8px;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:contain;display:block}.product-thumb strong{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#121b0acc);padding:40px 20px 16px;color:white;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.product-thumb>small{position:absolute;right:12px;top:12px;background:#596c3c;color:white;border-radius:20px;font-size:10px;padding:5px 8px}.thumbnail-empty{height:100%;display:grid;place-content:center;text-align:center;color:#a0aa96;font-size:13px;gap:12px}.thumbnail-empty span{font-size:50px}.editor-card .lms-check{display:flex;align-items:center;gap:8px;font-weight:400;margin-top:16px}.author-row{border:1px solid #e2e7db;border-radius:7px;padding:20px;display:flex;align-items:start;gap:20px;margin:16px 0}.author-row>div{flex:1}.author-row textarea.field{min-height:80px;margin:0}.radio-row{display:flex;gap:28px;flex-wrap:wrap;margin:20px 0}.radio-row label{font-weight:400;display:flex;align-items:center;gap:8px}.radio-row input,.lms-check input,.member-picker input[type=checkbox]{accent-color:#70844d;width:18px;height:18px}.member-picker{background:#fafbf7;padding:18px;border:1px solid #e1e6d9}.member-picker>div{max-height:260px;overflow:auto;margin-top:15px}.member-picker label{display:flex;align-items:center;gap:10px;font-weight:400}.member-picker small{color:#929b88;font-size:11px}.member-picker label[hidden],.library-file[hidden]{display:none}.editor-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:26px;border-top:1px solid #edf0e8;margin-top:28px}.editor-footer p{margin-right:auto;font-size:14px;color:#566738}.editor-footer .btn{font-size:14px;border-radius:5px;padding:12px 24px}.product-filters{display:flex;align-items:center;gap:9px;margin:15px 0}.product-filters .field{background:white;font-size:14px;max-width:170px;border-radius:5px;min-height:46px}.product-filters input.field{max-width:280px}.product-filters .btn{border-radius:5px;font-size:13px;white-space:nowrap}.view-switch{margin-left:auto;display:flex;gap:5px}.view-switch .btn{font-size:20px;padding:5px 10px}.view-switch .btn[aria-pressed=true]{background:#e9eee0}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:30px 24px}.product-card{min-width:0;position:relative;color:inherit;text-decoration:none}.product-card-body{padding:14px 0}.product-card h2{font-size:15px;line-height:1.65;margin:8px 0;overflow-wrap:anywhere}.product-card p{font-size:12px;color:#8a9183;margin:8px 0}.product-card-body>strong{font-size:18px}.product-badge{font-size:10px;border:1px solid #d9e0d1;color:#858f7a;border-radius:20px;padding:3px 9px}.product-badge.public{color:#648639;border-color:#b8d58f;background:#f8fff0}.product-card-actions{display:flex;gap:8px;margin-top:14px}.product-card-actions .btn{padding:5px 9px;font-size:12px;background:transparent}.product-grid.as-list{display:block}.as-list .product-card{display:flex;gap:24px;border-bottom:1px solid #e0e5d9;padding:20px 0}.as-list .product-thumb{width:210px;flex-shrink:0}.as-list .product-card-body{flex:1}.product-dialog{width:min(920px,94vw);max-height:90vh;overflow:auto;padding:32px;border:0;border-radius:14px;box-shadow:0 20px 90px #0003}.product-dialog::backdrop{background:#10170f88}.product-dialog.compact{max-width:500px}.product-dialog>.product-thumb{max-width:450px;margin:auto}.product-dialog .editor-card{padding:25px 0;box-shadow:none;border:0;border-bottom:1px solid #e2e5db}.library-file{display:flex;align-items:center;gap:20px;padding:20px;width:100%;border:1px solid #e1e6d8;margin-top:12px;border-radius:6px;background:#fff;text-align:left}.library-file:hover{background:#f5faed}.library-file strong{flex:1}.library-file span{color:#8a513e;font-size:12px}.book-detail-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:40px 0}.pre-line{white-space:pre-line}.class-teacher-preview{display:flex;align-items:start;gap:20px;padding:20px;background:#f8faf5;margin-top:18px;border-radius:8px}.class-teacher-preview img{width:90px;height:110px;object-fit:cover;border-radius:6px}.class-teacher-preview p{font-size:14px;white-space:pre-line}.class-period-box{border:1px solid #dfe5d8;padding:20px;margin:20px 0}.class-category-row{display:flex;gap:14px;align-items:end}.class-category-row>label{flex:1}.class-fixed-dates{display:flex;gap:20px}.class-fixed-dates label{flex:1}
/* Keep author labels separate from their controls, including the biography. */
.product-editor[data-book-form]{grid-template-columns:minmax(0,1fr)}
.product-editor[data-book-form]>.editor-card{min-width:0}
.editor-card .book-subject-fieldset{min-width:0;border:0;padding:0;margin:0}.book-subject-fieldset legend{font-size:14px;font-weight:600;color:#50574d;line-height:1.5;padding:0;margin:0 0 12px}.book-subject-fieldset legend>span{font-size:12px;font-weight:400;color:#7c8475;margin-left:8px}.book-subject-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.editor-card .book-subject-options label{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:10px 12px;border:1px solid #dfe3dc;border-radius:6px;background:#fff;cursor:pointer;font-weight:500;line-height:1.5}.book-subject-options label:has(input:checked){background:#f3f9e9;border-color:#a2bb78;color:#405629}.book-subject-options input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#70844d}.book-subject-options span{overflow-wrap:anywhere}.book-subject-fieldset .class-field-help{margin-bottom:0}
.book-price-fields{margin-top:28px}
.book-taxonomy-grid{margin-bottom:24px}
.book-admin-taxonomy{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
.book-admin-taxonomy>label{display:grid;gap:8px;min-width:180px;font-size:13px;color:#5d6954}
.lms-workspace .book-admin-taxonomy .field{margin:0;min-width:0;width:100%;max-width:260px}
@media(max-width:600px){.book-admin-taxonomy>label{flex:1 1 140px;min-width:0}.lms-workspace .book-admin-taxonomy .field{max-width:none}.book-taxonomy-grid .class-category-controls .btn{padding-inline:12px}}
.editor-card .author-row>div{display:grid;gap:20px;min-width:0}
.editor-card .author-row label{display:flex;flex-direction:column;gap:10px;margin:0;line-height:1.5}
.editor-card .author-row .field{width:100%;min-width:0;margin:0;font-weight:400}
.editor-card .author-row textarea.field{min-height:120px;padding:12px 14px;line-height:1.7;resize:vertical}
.book-fulfillment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.editor-card .book-fulfillment-heading h2{margin:0}.book-fulfillment-controls{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.book-fulfillment-controls .btn{width:auto;white-space:nowrap}.book-fulfillment-section textarea.field{min-height:160px;line-height:1.7;padding:12px 14px}.book-fulfillment-section textarea[name=refund]{min-height:300px}.book-fulfillment-section [role=status]{font-size:13px;line-height:1.7;color:#506632}.book-fulfillment-section [role=status]:empty{display:none}@media(max-width:700px){.book-fulfillment-heading{flex-direction:column;gap:12px}.book-fulfillment-section textarea.field{min-height:200px}.book-fulfillment-section textarea[name=refund]{min-height:340px}}
.book-author-dialog>header{position:static;background:transparent;color:#263022;border:0;box-shadow:none;backdrop-filter:none;padding:0;min-height:0}.book-author-dialog>header>.btn{width:auto;min-width:56px;flex:0 0 auto;white-space:nowrap}.book-author-dialog>header h2{flex:1;min-width:0}
.book-author-dialog .book-author-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;cursor:default;gap:16px}.book-author-dialog .book-author-option[hidden]{display:none}.book-author-select{display:flex;align-items:flex-start;gap:12px;min-width:0;cursor:pointer}.book-author-select>input{flex:0 0 auto;width:16px;height:16px;margin:3px 0 0;accent-color:#70844d}.book-author-select>span{min-width:0}.book-author-select strong{overflow-wrap:anywhere}.book-author-dialog .book-author-row-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.book-author-dialog .btn{width:auto;flex:0 0 auto;white-space:nowrap}.book-author-row-actions>.btn{padding:8px 12px;font-size:13px;min-height:36px}.book-author-dialog .book-author-danger{color:#a24432;border-color:#e7d0c9}.book-author-edit,.book-author-delete{grid-column:1/-1;min-width:0;width:100%;margin:0}.book-author-edit h3,.book-author-delete h3{margin:0 0 16px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.book-author-edit label{display:grid;gap:8px;font-size:14px;margin-bottom:16px}.book-author-edit .field{width:100%;min-width:0;margin:0}.book-author-edit textarea.field{min-height:130px;resize:vertical;line-height:1.7}.book-author-delete p{line-height:1.7;font-size:14px;color:#636a60;margin:0 0 16px}.book-author-dialog [data-author-count]{white-space:nowrap;flex:0 0 auto;min-width:max-content;line-height:1.5}.book-author-dialog [data-author-apply]{flex:0 1 auto;min-width:0}.book-author-feedback>[data-author-reload][hidden]{display:none}.book-author-feedback p{line-height:1.6}.book-author-dialog .book-author-list:empty{margin-top:0}.book-author-dialog input:disabled,.book-author-dialog button:disabled{cursor:default;opacity:.55}
@media(max-width:480px){.book-author-dialog .book-author-option{grid-template-columns:minmax(0,1fr);gap:12px}.book-author-dialog .book-author-row-actions{justify-self:end}.book-author-dialog>footer{gap:12px}.book-author-dialog [data-author-apply]{flex:1 1 100%;width:100%}}
.book-author-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.editor-card .book-author-heading h2{margin:0}.book-author-heading>.btn{flex-shrink:0}.editor-card .author-row>.book-author-actions{display:flex;flex:0 0 auto;flex-direction:column;align-self:flex-start;gap:8px}.book-author-message{font-size:13px;color:#506632;line-height:1.7}.book-author-message:empty{display:none}.book-author-dialog{max-width:720px;width:calc(100% - 32px)}.book-author-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.book-author-dialog h2{font-size:22px;margin:0}.book-author-dialog>p{line-height:1.7;color:#636a60}.book-author-search{display:grid;gap:8px;font-size:14px}.book-author-list{display:grid;gap:10px;max-height:46vh;overflow:auto;margin-top:20px}.book-author-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #dfe3dc;border-radius:8px;cursor:pointer}.book-author-option[hidden]{display:none}.book-author-option>input{margin-top:4px;flex-shrink:0}.book-author-option>span{min-width:0}.book-author-option strong{display:block}.book-author-bio{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;color:#636a60;margin-top:8px}.book-author-dialog>footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px}.book-author-dialog [data-author-count]{margin-right:auto;font-size:13px;color:#636a60}.book-author-compare{display:grid;gap:12px}.book-author-compare section{padding:16px;border:1px solid #dfe3dc;border-radius:8px}.book-author-compare h3{font-size:14px;margin:0 0 8px}.book-author-compare p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:0;font-size:14px}.book-author-dialog [role=status]{color:#9a422f;font-size:13px}.book-author-dialog [role=status]:empty{display:none}
@media(max-width:600px){.book-author-heading{align-items:flex-start;flex-direction:column;gap:12px}.editor-card .author-row>.book-author-actions{flex-direction:row;align-self:flex-end}.book-author-dialog>footer{flex-wrap:wrap}.book-author-dialog h2{font-size:19px}}
.book-author-dialog [data-author-status]{color:#506632}.book-author-dialog [data-author-status][data-error=true]{color:#9a422f}
@media(max-width:600px){.editor-card .author-row{flex-direction:column;align-items:stretch}.editor-card .author-row>.btn{align-self:flex-end}}
@media(min-width:1700px){.product-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.editor-card{padding:25px}.product-filters{flex-wrap:wrap}.product-page-head{align-items:flex-start}.product-fields{gap:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-detail-head{gap:25px}.editor-footer{flex-wrap:wrap}.editor-footer p{width:100%}}
@media(max-width:600px){.editor-card{padding:20px 16px}.product-fields,.book-detail-head{grid-template-columns:1fr}.product-page-head{flex-direction:column;gap:12px}.product-grid{gap:24px 14px}.product-card h2{font-size:14px}.product-filters .field{flex:1;max-width:none;min-width:120px}.as-list .product-thumb{width:120px}.author-row{padding:12px;gap:10px}.editor-footer .btn{padding:10px 13px}.product-thumb strong{font-size:16px;padding:25px 12px 10px}.radio-row{gap:16px}.file-slot>div{flex-wrap:wrap}.product-dialog{padding:20px}.class-fixed-dates{flex-direction:column;gap:0}}

/* Class subjects and category controls share a stable label/control rhythm. */
.class-taxonomy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;margin-top:30px;align-items:start}
.class-taxonomy-field{min-width:0}
.class-taxonomy-grid .class-taxonomy-field>label{display:block;margin:0 0 10px;line-height:1.5}
.class-taxonomy-field .class-field-optional{margin-left:6px;color:#8b9383;font-size:12px;font-weight:400}
.lms-workspace .class-taxonomy-grid .field{display:block;margin:0;width:100%;min-width:0;height:48px;padding:0 36px 0 14px;border-radius:8px;font-size:14px;text-overflow:ellipsis}
.class-category-controls{display:flex;align-items:stretch;gap:10px;min-width:0}
.class-category-controls select{flex:1}
.class-category-controls .btn{flex:0 0 auto;height:48px;margin:0;padding:0 18px;border-radius:8px;white-space:nowrap;font-size:14px}
.class-taxonomy-grid .class-field-help{margin:10px 0 0;font-size:12px;line-height:1.65;color:#7a8471;overflow-wrap:anywhere}
.class-category-dialog{width:min(480px,calc(100vw - 32px));padding:28px;box-sizing:border-box;border:1px solid #e0e5d9;border-radius:16px;max-height:calc(100dvh - 32px)}
.class-category-dialog .category-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.class-category-dialog h2{margin:0;font-size:24px;line-height:1.4;overflow-wrap:anywhere}
.class-category-dialog .category-dialog-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:0;border-radius:8px;background:#f3f5ef;color:#616b58;font-size:24px;cursor:pointer}
.class-category-dialog>p{margin:12px 0 26px;font-size:14px;line-height:1.65}
.class-category-dialog form>label{display:block;margin:0 0 10px;font-size:14px;font-weight:600}
.class-category-dialog em{font-style:normal;color:#6e7947}
.class-category-dialog .field{display:block;min-width:0;height:48px;margin:0;padding:0 74px 0 14px;font-size:15px;line-height:1.4;border-radius:8px;box-sizing:border-box}
.class-category-dialog .counted-input span{top:50%;transform:translateY(-50%);font-size:12px;line-height:1.4;pointer-events:none}
.class-category-dialog .category-dialog-status{margin:12px 0 0;color:#a23b29;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.class-category-dialog .category-dialog-status:empty{display:none}
.class-category-dialog .category-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e8ecdf}
.class-category-dialog .category-dialog-actions .btn{width:auto;min-width:90px;min-height:44px;margin:0;padding:10px 18px;white-space:nowrap;border-radius:8px;font-size:14px}
.class-category-dialog button:disabled{opacity:.6;cursor:wait}
@media(max-width:1000px){.class-taxonomy-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.class-category-dialog{padding:22px 20px}.class-category-dialog h2{font-size:22px}.class-category-dialog .category-dialog-actions .btn{flex:1;min-width:0}.class-category-controls .btn{padding:0 14px}}
@media(max-width:600px){.class-category-controls{display:grid;grid-template-columns:minmax(0,1fr)}.class-category-controls .btn{justify-self:start}}

/* Shared class and book thumbnail registration. */
.thumbnail-editor .thumbnail-register{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-height:48px;margin:4px 0 0;padding:12px 22px;border:1px solid #20291f;border-radius:10px;background:#20291f;color:#fff;font-size:15px;font-weight:700;box-shadow:0 3px 7px #20291f16;cursor:pointer}
.thumbnail-editor .thumbnail-register:hover{background:#37452d;border-color:#37452d}
.thumbnail-register svg{flex-shrink:0}
.thumbnail-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e0e5d9;border-radius:18px;background:#fff;color:#20291f;box-shadow:0 24px 80px #15201030;overflow:hidden}
.thumbnail-dialog[open]{display:flex;flex-direction:column}
.thumbnail-dialog::backdrop{background:#17201880}
.thumbnail-dialog-open{overflow:hidden}
.thumbnail-dialog .thumbnail-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0;position:static;padding:24px 28px 20px;border-bottom:1px solid #e8ecdf;background:#fff;color:#20291f;backdrop-filter:none}
.thumbnail-dialog h2{margin:0;font-size:24px;line-height:1.4}
.thumbnail-dialog .thumbnail-dialog-head p{margin:8px 0 0;color:#737b6d;font-size:14px;line-height:1.6}
.thumbnail-dialog .thumbnail-dialog-close{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:0;border-radius:8px;background:#f2f5ed;color:#59624f;font-size:26px;line-height:1;cursor:pointer}
.thumbnail-dialog .thumbnail-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px 28px;outline-offset:-3px}
.thumbnail-dialog .thumbnail-dropzone{display:flex;flex-direction:column;align-items:center;padding:26px 18px;text-align:center;border:2px dashed #c5ceba;border-radius:12px;background:#f8faf5;transition:background .15s,border-color .15s}
.thumbnail-dialog .thumbnail-dropzone.is-dragging{border-color:#5c7d36;background:#edf8df}
.thumbnail-dialog .thumbnail-upload-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:12px;border-radius:12px;background:#edf2e5;color:#59723e}
.thumbnail-dialog .thumbnail-upload-icon svg{width:26px;height:26px}
.thumbnail-dialog .thumbnail-dropzone strong{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.thumbnail-dialog .thumbnail-dropzone p{margin:6px 0 16px;color:#737b6d;font-size:13px;line-height:1.6}
.thumbnail-dialog .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;margin:0;padding:11px 20px;border-radius:8px;font-size:14px;line-height:1.5;cursor:pointer}
.thumbnail-dialog .thumbnail-dropzone small{margin-top:14px;color:#737b6d;font-size:12px;line-height:1.6}
.thumbnail-dialog .thumbnail-upload-status{margin:14px 0;color:#526b39;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.thumbnail-dialog .thumbnail-upload-status:empty{display:none}
.thumbnail-dialog .thumbnail-upload-status.is-error{color:#aa3c2b}
.thumbnail-dialog .thumbnail-preview-section{margin-top:24px}
.thumbnail-dialog h3{margin:0 0 12px;font-size:15px;line-height:1.5}
.thumbnail-dialog .product-thumb{width:100%;max-width:360px;margin:auto;border:1px solid #e5e9df;border-radius:10px}
.thumbnail-dialog .thumbnail-empty{font-size:13px;text-align:center;padding:12px}
.thumbnail-dialog .thumbnail-empty span{font-size:38px}
.thumbnail-dialog .thumbnail-file-name{margin:10px 0 0;font-size:12px;line-height:1.6;color:#737b6d;text-align:center;overflow-wrap:anywhere}
.thumbnail-dialog .thumbnail-size-guide{margin-top:24px;padding:16px;background:#f6f8f2;border-radius:10px;font-size:13px;line-height:1.7}
.thumbnail-dialog .thumbnail-size-guide p{margin:5px 0;font-size:13px;line-height:1.7}
.thumbnail-dialog .thumbnail-size-guide small{display:block;color:#737b6d;font-size:12px;line-height:1.6}
.thumbnail-dialog .thumbnail-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;padding:16px 28px;border-top:1px solid #e8ecdf;background:#fff}
.thumbnail-dialog .thumbnail-dialog-actions .btn{min-width:94px}
.thumbnail-dialog button:disabled{opacity:.45;cursor:not-allowed}
.thumbnail-dialog button:focus-visible,.thumbnail-register:focus-visible{outline:3px solid #829c57;outline-offset:3px}
@media(max-width:480px){.thumbnail-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.thumbnail-dialog .thumbnail-dialog-head{padding:18px}.thumbnail-dialog h2{font-size:22px}.thumbnail-dialog .thumbnail-dialog-head p{font-size:13px}.thumbnail-dialog .thumbnail-dialog-body{padding:18px}.thumbnail-dialog .thumbnail-dialog-actions{padding:14px 18px}.thumbnail-dialog .thumbnail-dialog-actions .btn{flex:1;min-width:0}.thumbnail-dialog .thumbnail-dropzone{padding:20px 12px}.thumbnail-dialog .thumbnail-dropzone strong{font-size:14px}}
/* Class authoring: restrained type, independent chapter dividers and visible save state. */
.lms-workspace{max-width:1440px}.lms-wizard .lms-heading h1{font-size:28px;line-height:1.35;margin:0}.lms-wizard .lms-steps{gap:8px;padding-bottom:20px;border-bottom:1px solid #dfe5d8}.lms-wizard .lms-steps .btn{font-size:14px;border-radius:9px;padding:12px 18px}.lms-wizard .editor-card h2{font-size:22px;line-height:1.55}.lms-wizard .editor-card p{line-height:1.7}.lms-wizard .lms-footer{position:sticky;bottom:0;z-index:15;background:#fffffff2;backdrop-filter:blur(12px);border-top:1px solid #e1e6db;padding:18px 24px;margin-top:24px;box-shadow:0 -8px 20px #20301905}.lms-wizard .lms-footer>div{display:flex;gap:8px}.lms-wizard .lms-footer .btn{padding:12px 18px;font-size:14px;border-radius:9px}.lms-working{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:400;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:16px 22px;border:1px solid #b9d397;border-radius:12px;background:#f4ffe8;color:#263720;box-shadow:0 8px 40px #15220f24;font-size:14px;font-weight:600;pointer-events:none}.lms-spinner{display:inline-block;flex:0 0 auto;width:22px;height:22px;border:3px solid #a5b894;border-top-color:#355425;border-radius:50%;animation:lms-spin .8s linear infinite}.class-initial-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:400px}.class-initial-loading h1{font-size:22px!important;margin:0}.class-initial-loading p{font-size:14px}.lms-workspace button:disabled{opacity:.55;cursor:wait}.rich-editor .rich-toolbar{gap:3px;align-items:center;flex-wrap:wrap}.rich-editor .rich-toolbar button{min-height:36px;padding:7px 10px;border-radius:5px;font-size:13px}.rich-toolbar .rich-color{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;margin:0;font-size:12px;white-space:nowrap}.rich-color input[type=color]{width:26px;height:26px;padding:2px;border:1px solid #b9c4ad;border-radius:5px;background:white;cursor:pointer}.rich-link-row:not([hidden]){display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;background:#f3f7ed;border-bottom:1px solid #d6dfca}.rich-link-row input{flex:1;min-width:140px;padding:10px 12px;border:1px solid #ccd6c0;border-radius:6px}.rich-link-row button{padding:10px 16px;white-space:nowrap;border:1px solid #c7d1bb;border-radius:6px;background:white}.rich-link-row button[data-rich-link-apply]{background:#26351e;color:white}.rich-status:empty{display:none}.rich-status{padding:8px 12px;margin:0;font-size:12px;color:#52683a}.rich-body a{color:#426fa7;text-decoration:underline}.class-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.class-section-head h2{margin:0 0 8px}.class-section-head p{font-size:14px;margin:0}.class-total{font-size:12px;white-space:nowrap;border-radius:20px;padding:8px 12px;background:#f0f4e9;color:#687858}.curriculum-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:28px 0 20px}.curriculum-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.curriculum-toolbar .btn,.chapter-add-bottom .btn{padding:10px 16px;border-radius:8px;font-size:13px}.curriculum-toolbar [data-lms=chapter-add]{background:#eef5e2;border-color:#c8d8b4;color:#466529}.curriculum-list{border:1px solid #dce4d2;border-radius:12px;overflow:hidden}.curriculum-row{display:flex;align-items:center;gap:16px;padding:20px;background:white;border-bottom:1px solid #e7ecdf;min-height:82px}.curriculum-row:last-child{border-bottom:0}.curriculum-row.is-chapter{background:#edf3e5;border-top:2px solid #9bb67b;min-height:70px}.curriculum-marker{display:grid;place-items:center;flex:0 0 42px;font-size:14px;color:#839372;font-weight:700}.is-chapter .curriculum-marker{font-size:11px;border:1px solid #b7cba0;border-radius:6px;padding:4px;color:#506e35;background:#f8fbf2}.curriculum-row-main{flex:1;min-width:0}.curriculum-row-main strong{display:block;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.curriculum-row-main small{display:block;font-size:12px;color:#859078;margin-top:6px;line-height:1.6}.curriculum-actions{display:flex;gap:5px;flex-shrink:0}.curriculum-actions .btn{padding:7px 10px;font-size:12px;border-radius:6px;background:transparent}.curriculum-actions [data-lms=curriculum-remove]{color:#967067}.curriculum-actions button:disabled{cursor:default;opacity:.3}.curriculum-empty{text-align:center;padding:44px 20px;background:#fafcf7}.curriculum-empty>span{font-size:32px;color:#9dae8c}.curriculum-empty h3{font-size:17px;margin:14px 0 8px}.curriculum-empty p{font-size:13px}.chapter-add-bottom{display:flex;justify-content:center;margin-top:20px}.class-help{font-size:13px;color:#829072;line-height:1.7;margin:16px 0 0}.class-chapter-dialog{max-width:500px;padding:28px}.class-chapter-dialog h2{font-size:24px;margin:0 0 10px}.class-chapter-dialog p{font-size:14px;line-height:1.7;color:#768269}.class-chapter-dialog label{display:block;margin-top:24px;font-size:14px}.class-chapter-dialog input{margin-top:10px}.class-card-step{display:block;font-size:11px;letter-spacing:.07em;color:#8a967b;font-weight:700;margin-bottom:12px}.class-settings .editor-card h2{margin-top:0}.class-settings h3{font-size:15px;margin:30px 0 14px}.class-option-row{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.class-settings .class-option{display:flex;align-items:flex-start;gap:10px;border:1px solid #dce3d3;border-radius:9px;padding:15px 18px;cursor:pointer;background:#fff;min-width:110px}.class-option:has(input:checked){border-color:#7fa153;background:#f5faed;box-shadow:0 0 0 1px #7fa153}.class-option input{accent-color:#668c38;margin-top:2px;width:17px;height:17px;flex-shrink:0}.class-option strong{font-size:14px;line-height:1.5}.class-option small{display:block;font-size:12px;font-weight:400;color:#879278;line-height:1.7;margin-top:4px}.class-setting-field{max-width:360px;margin-top:24px}.class-setting-field>label{margin-bottom:10px}.class-unit-field{position:relative}.class-unit-field .field{padding-right:44px;min-height:48px}.class-unit-field>span{position:absolute;right:16px;top:50%;transform:translateY(-30%);font-size:13px;color:#8b967e;pointer-events:none}.class-discount-fields{display:grid;grid-template-columns:minmax(0,280px) minmax(0,360px);gap:20px}.class-code-help{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}.class-code-help p{font-size:12px;margin:0}.class-code-help .btn{font-size:12px;padding:8px 12px}.class-save-summary{display:flex;align-items:center;gap:20px;padding:20px 24px;background:#edf4e2;border:1px solid #d7e3c8;border-radius:12px;font-size:13px;flex-wrap:wrap}.class-save-summary strong{margin-right:auto}.class-management-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 28px}.class-management .class-management-head h1{display:flex;align-items:center;gap:10px;font-size:28px;line-height:1.4;margin:0}.class-management-head h1 span{font-size:13px;padding:4px 9px;border-radius:16px;background:#e7f1d9;color:#647c44}.class-management-head p{font-size:14px;color:#859077;margin:8px 0 0}.class-management-head .btn{background:#27351f;color:white;border-radius:9px;font-size:14px;white-space:nowrap;padding:12px 18px}.class-subject-tabs{display:flex;gap:8px;border-bottom:1px solid #dce4d2;padding-bottom:16px;overflow-x:auto;scrollbar-width:thin}.class-subject-tabs button{display:flex;align-items:center;gap:8px;flex-shrink:0;background:transparent;border:1px solid transparent;padding:12px 18px;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;color:#7c8870}.class-subject-tabs button span{font-size:11px;font-weight:500;color:#89997a}.class-subject-tabs button[aria-pressed=true]{background:#26381d;color:#c6ff86}.class-subject-tabs button[aria-pressed=true] span{color:#d2e6bc}.class-category-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0}.class-category-tabs button{font-size:13px;padding:8px 14px;border:1px solid #dde5d3;border-radius:20px;background:white;color:#89967a;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.class-category-tabs button[aria-pressed=true]{border-color:#809b5a;background:#f0f7e6;color:#506d2e;font-weight:600}.class-management-filters{display:flex;align-items:center;gap:10px;margin:0 0 24px}.class-management-filters .field{margin:0;height:46px;min-height:46px;font-size:13px;border-radius:8px;min-width:0}.class-management-filters select{max-width:150px}.class-search{flex:1;max-width:360px;min-width:0}.class-search>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.class-result-count{margin-left:auto;font-size:12px;color:#89957c;white-space:nowrap}.class-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.class-product-card{min-width:0;display:flex;flex-direction:column}.class-product-card .product-thumb{display:block;aspect-ratio:3/2;border-radius:12px;border:1px solid #e0e6d9;overflow:hidden;background:#ebf0e5;text-decoration:none}.class-product-card .product-thumb img{width:100%;height:100%;object-fit:contain}.class-cover-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;height:100%;background:linear-gradient(135deg,#f3f6ee,#e2ead7);color:#8a9b77}.class-cover-placeholder span{font-size:44px}.class-cover-placeholder small{font-size:12px}.class-card-meta{display:flex;align-items:center;gap:10px;margin-top:15px;font-size:11px;color:#8a987a}.class-product-card h2{font-size:16px!important;line-height:1.65;overflow-wrap:anywhere;margin:10px 0 8px!important;letter-spacing:0}.class-product-card p{font-size:12px;color:#8b9780;line-height:1.7;margin:3px 0}.class-product-card .class-card-category{color:#62794a}.class-card-price{font-size:20px;margin:12px 0 16px}.class-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.class-card-actions .btn{padding:7px 10px;font-size:12px;border-radius:7px;background:white}.class-list-empty{grid-column:1/-1;text-align:center;padding:60px 20px;border:1px dashed #d1ddc3;border-radius:12px}.class-list-empty h2{font-size:18px}.class-list-empty p{font-size:14px;margin-top:10px}.learning-chapter{padding:16px 20px;border-left:4px solid #83a653;background:#eef4e5;border-radius:5px;font-size:17px!important}.class-preview-curriculum p{padding:12px 20px;border-bottom:1px solid #e5ebdd;font-size:14px}
@keyframes lms-spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.class-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.class-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-section-head{flex-wrap:wrap}.curriculum-row{padding:16px;gap:10px}.curriculum-actions{flex-wrap:wrap}}
@media(max-width:700px){.class-management-head{align-items:flex-start;flex-direction:column}.class-management .class-management-head h1,.lms-wizard .lms-heading h1{font-size:24px}.class-management-filters{flex-wrap:wrap}.class-search{flex-basis:100%;max-width:none}.class-management-filters select{flex:1}.class-subject-tabs button{padding:10px 12px;font-size:14px}.class-product-grid{gap:28px 16px}.class-product-card h2{font-size:14px!important}.class-card-price{font-size:18px}.class-discount-fields{grid-template-columns:1fr}.class-option-row{flex-direction:column}.class-settings .class-option{width:100%}.curriculum-row{flex-wrap:wrap}.curriculum-row-main{flex-basis:calc(100% - 60px)}.curriculum-actions{width:100%;justify-content:flex-end}.lms-wizard .lms-footer{padding:12px;gap:10px}.lms-wizard .lms-footer>div{flex-wrap:wrap;justify-content:flex-end}.lms-wizard .lms-footer .btn{font-size:12px;padding:10px 12px}.lms-wizard .lms-steps .btn{font-size:12px;padding:10px 12px}.class-settings .editor-card h2,.lms-wizard .editor-card h2{font-size:20px}.rich-editor .rich-toolbar{padding:6px}.class-save-summary{gap:12px}.class-save-summary strong{width:100%}.class-working{font-size:12px}}
@media(max-width:450px){.class-product-grid{grid-template-columns:1fr}.class-result-count{width:100%;margin:4px 0}.class-initial-loading h1{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){.lms-spinner{animation-duration:2s}}
.rich-color-row:not([hidden]){display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:#f5f8ef;border-bottom:1px solid #d5dfc8;font-size:13px}.rich-color-row strong{font-size:13px}.rich-color-swatches{display:flex;gap:6px}.rich-color-swatches button{width:26px;height:26px;border:1px solid #b9c4ad;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff80}.rich-color-row label{display:flex;align-items:center;gap:5px;font-size:12px;margin:0}.rich-color-row input[type=color]{width:32px;height:32px;border:1px solid #c1cdb4;padding:2px;background:white}.rich-color-row input[type=text]{width:90px;padding:8px;border:1px solid #c7d2bb;border-radius:6px;font-size:13px}.rich-color-row>button{padding:8px 12px;border:1px solid #c7d2bb;background:white;border-radius:6px;font-size:12px;cursor:pointer}.rich-color-row>button[data-rich-color-apply]{background:#26351e;color:white}.lms-editor button,.rich-toolbar{scroll-margin-block:110px}
.class-card-heading{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.class-card-heading h2{flex:1;min-width:0;margin:0!important;overflow-wrap:anywhere}.class-card-menu{position:relative;flex:0 0 28px}.class-card-menu summary{display:flex;align-items:center;justify-content:center;width:28px;height:30px;list-style:none;cursor:pointer;border-radius:4px;color:#777;fill:currentColor}.class-card-menu summary::-webkit-details-marker{display:none}.class-card-menu summary:hover,.class-card-menu summary:focus-visible{background:#e9ede5;outline:2px solid #a1b58d;outline-offset:2px}.class-card-dropdown{position:absolute;right:0;top:32px;z-index:30;width:106px;padding:7px 0;background:#fff;border:1px solid #ededed;border-radius:4px;box-shadow:0 4px 16px #00000012}.class-card-dropdown .btn{display:block;width:100%;text-align:left;padding:11px 17px;margin:0;border:0;border-radius:0;background:white;color:#777;font-size:13px;font-weight:400;line-height:1.4;min-height:40px}.class-card-dropdown .btn:hover,.class-card-dropdown .btn:focus-visible{background:#f4f5f2;color:#222}.class-card-dropdown .btn:disabled{opacity:.4;cursor:not-allowed}.class-product-card:has(.class-card-menu[open]){position:relative;z-index:5}

/* Book cards reuse the class action menu. */
.book-product-card .product-card-body{min-width:0}.book-product-card:has(.book-card-menu[open]){position:relative;z-index:5}.book-card-menu .class-card-dropdown{width:120px}
@media(max-width:700px){.book-card-menu{flex-basis:40px}.book-card-menu summary{width:40px;height:40px}.book-card-menu .class-card-dropdown{top:42px}}
/* Compact shared toolbar for class and book introductions. */
.rich-editor.rich-editor-compact{min-width:0;max-width:100%;border:1px solid #ccc;border-radius:0;overflow:hidden}
.rich-editor-compact .rich-toolbar{display:flex;flex-wrap:wrap;gap:0;align-items:center;padding:3px 4px;background:#fafafa;border-bottom:1px solid #ccc;min-height:30px}
.rich-editor-compact .rich-tool-group{display:inline-flex;align-items:center;gap:1px;padding:0 4px;border-right:1px solid #d4d4d4;flex:0 0 auto;height:24px}
.rich-editor-compact .rich-tool-group:first-child{padding-left:0}.rich-editor-compact .rich-tool-group:last-child{border-right:0}
.rich-editor.rich-editor-compact .rich-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:25px;height:24px;min-height:24px;padding:4px;border:0;border-radius:1px;background:transparent;color:#353535;line-height:1;font-size:13px;cursor:pointer;flex-shrink:0}
.rich-editor-compact .rich-toolbar svg{width:15px;height:15px;display:block;pointer-events:none;flex-shrink:0}
.rich-editor.rich-editor-compact .rich-toolbar button:hover,.rich-editor.rich-editor-compact .rich-toolbar button[aria-pressed=true],.rich-editor.rich-editor-compact .rich-toolbar button[aria-expanded=true]{background:#e1e1e1;color:#242424}
.rich-editor.rich-editor-compact .rich-toolbar button:disabled{opacity:.35;cursor:default;background:transparent}
.rich-editor-compact .rich-toolbar select[data-rich-block]{font-size:11px;width:102px;max-width:none;height:24px;min-height:24px;padding:2px 7px;border:0;border-radius:0;color:#555;background:transparent;cursor:pointer;margin:0}
.rich-editor-compact .rich-tool-select{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:24px;gap:4px}
.rich-editor-compact .rich-tool-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;min-height:0;cursor:pointer;padding:0;border:0}
.rich-editor-compact .rich-caret{width:4px;height:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.rich-editor-compact .rich-toolbar :focus-visible,.rich-editor-compact .rich-tool-select:focus-within{outline:2px solid #638335;outline-offset:0}
.rich-editor-compact .rich-panel[hidden]{display:none!important}
.rich-editor-compact .rich-panel:not([hidden]){display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding:14px;background:#f8faf5;border-bottom:1px solid #dce2d4;font-size:12px}
.rich-editor-compact .rich-panel label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;line-height:1.5;font-weight:500;color:#4c5545;min-width:0}
.rich-editor-compact .rich-link-row>label{flex:1 1 200px}
.rich-editor-compact .rich-panel input:not([type=color]){width:100%;min-width:0;min-height:36px;height:36px;flex:none;box-sizing:border-box;border:1px solid #cbd3c2;border-radius:4px;background:white;padding:8px 10px;font:inherit;color:#273123}
.rich-editor-compact .rich-panel-actions{display:flex;gap:6px;flex-wrap:wrap}
.rich-editor-compact .rich-panel button:not([data-rich-swatch]){height:36px;padding:7px 12px;border:1px solid #cbd3c2;border-radius:4px;background:white;color:#33402a;font-size:12px;line-height:1.5;cursor:pointer;white-space:nowrap}
.rich-editor-compact .rich-panel [data-rich-table-apply]{background:var(--brand-accent,#baff65)!important;color:var(--brand-ink,#14200d)!important;border-color:var(--brand-accent,#baff65)!important}
.rich-editor-compact .rich-panel .rich-panel-help{flex-basis:100%;margin:0;color:#77806f;font-size:12px;line-height:1.5}
.rich-editor-compact .rich-table-row label{width:84px}.rich-editor-compact .rich-color-row{align-items:center}.rich-editor-compact .rich-color-row [data-rich-hex]{width:92px}
.rich-editor-compact .rich-body{overflow-wrap:anywhere}.rich-body blockquote,.rich-content blockquote{margin:16px 0}.rich-body a,.rich-content a{color:#4f71ad;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.rich-body a:hover,.rich-content a:hover{color:#31588f}
.rich-editor-compact .rich-body table,.rich-content table{table-layout:fixed}.rich-editor-compact .rich-body td,.rich-editor-compact .rich-body th,.rich-content td,.rich-content th{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.rich-editor.rich-editor-compact .rich-toolbar{padding:4px;row-gap:4px}.rich-editor-compact .rich-tool-group{height:30px;padding:0 3px}.rich-editor.rich-editor-compact .rich-toolbar button{width:30px;height:30px;min-height:30px;padding:7px}.rich-editor-compact .rich-tool-select{height:30px}.rich-editor-compact .rich-panel:not([hidden]){padding:10px;gap:8px}.rich-editor-compact .rich-link-row>label{flex-basis:100%}.rich-editor-compact .rich-body{padding:14px}.rich-editor-compact .rich-color-swatches{flex-wrap:wrap;max-width:100%}.rich-editor-compact .rich-body td,.rich-content td{padding:6px}.rich-editor-compact .rich-body [style*="margin-left"],.rich-content [style*="margin-left"]{margin-left:min(40px,10%)!important}}
.book-fulfillment-section textarea.field{font-weight:400}.book-fulfillment-section>p{margin:12px 0 18px}

.class-card-price .class-price-line{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;line-height:1.5}
.class-card-price .class-price-discount{margin:0;color:#e53935;font-size:12px;font-weight:500;white-space:nowrap}
.class-card-price .class-price-current{display:inline;color:#e53935;font-size:20px;font-weight:750;line-height:1.5;letter-spacing:-.025em;white-space:nowrap}
.class-card-price .class-price-original{display:inline;color:#92988e;font-size:13px;font-weight:400;line-height:1.5;white-space:nowrap}

/* Whole-row curriculum sorting; action buttons keep their normal interaction. */
.curriculum-list>[data-curriculum-index]{cursor:grab;touch-action:none;user-select:none;position:relative}
.curriculum-list>[data-curriculum-index]:focus-visible{outline:2px solid #6a8a45;outline-offset:-3px}
.curriculum-list .curriculum-marker{gap:3px}
.curriculum-grip{font-size:20px;line-height:1;color:#91a080;font-weight:400}
.curriculum-list .is-chapter .curriculum-marker{background:transparent;border:0;padding:0}
.curriculum-list .curriculum-actions{cursor:default;touch-action:pan-y}
.curriculum-list .is-sorting{background:#edffd8;box-shadow:inset 4px 0 0 #baff65}
.curriculum-list .is-sorting>*{opacity:.3}
.curriculum-drag-ghost{position:fixed!important;z-index:1000;pointer-events:none;box-sizing:border-box;margin:0;border:1px solid #9cc66c!important;border-radius:10px;background:#f7ffef!important;box-shadow:0 12px 32px #26372026;opacity:.96}
.curriculum-dragging,.curriculum-dragging *{cursor:grabbing!important;user-select:none!important}
.curriculum-drag-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}


/* Class-specific teacher assignment */
.class-teachers-editor .actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.class-teachers-editor .class-teacher-preview{gap:20px;margin-top:16px}
.class-teacher-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.class-teachers-editor .class-teacher-preview>.btn{flex-shrink:0;align-self:center}
.class-teacher-dialog{width:min(600px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:28px;box-sizing:border-box}
.class-teacher-dialog h2{font-size:24px;line-height:1.35;margin:0}
.class-teacher-dialog>p{color:#60665c;line-height:1.6}
.class-teacher-options{display:grid;gap:10px;max-height:42dvh;overflow:auto;margin:16px 0}
.class-teacher-option{display:flex!important;align-items:center;gap:14px;border:1px solid #dce1d8;border-radius:12px;padding:16px;cursor:pointer}
.class-teacher-option[hidden]{display:none!important}
.class-teacher-option:has(input:checked){border-color:#84b944;background:#f3fbe9}
.class-teacher-option input{width:18px;height:18px;accent-color:#528616;flex-shrink:0}
.class-teacher-option small{display:block;color:#62685e;margin-top:5px}
.class-teacher-dialog .category-dialog-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.class-teacher-dialog [data-teacher-count]{margin-right:auto;white-space:nowrap;font-size:14px}
.class-detail-teacher+.class-detail-teacher{margin-top:16px}
@media(max-width:520px){.class-teacher-dialog{padding:20px}.class-teacher-dialog h2{font-size:21px}.class-teacher-dialog [data-teacher-count]{width:100%}.class-teachers-editor .class-teacher-preview{gap:12px;flex-wrap:wrap}.class-teacher-copy{min-width:100px}}
