:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182c28;background:#f6f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.upload{border:1px solid #bac7c1;background:#fff;border-radius:7px;padding:.55rem .9rem;cursor:pointer;color:#163c35;font-weight:600;min-height:42px}button:hover:not(:disabled),.upload:hover{background:#eaf1ed;border-color:#163c35}button:disabled{cursor:default;opacity:.5}button.primary{color:#fff;background:#163c35;border-color:#163c35}button.danger{color:#a52e30;border-color:#d9b1b1}a{color:#176456;text-underline-offset:3px}a:hover{color:#0a3c32}:focus-visible{outline:3px solid #bc721b;outline-offset:3px}h1{font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.04em;margin:.15rem 0 .8rem;line-height:1.2}h2{font-size:1.12rem;margin:0 0 1rem}p{margin:.5rem 0 1rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;margin-bottom:1rem}input,select,textarea{width:100%;min-width:0;padding:.65rem .75rem;background:#fff;border:1px solid #bac7c1;border-radius:6px;color:#182c28}textarea{resize:vertical}fieldset{border:1px solid #d8dfda;padding:1.25rem;border-radius:10px;margin:0 0 1.25rem;min-width:0}legend{font-weight:700;padding:0 .4rem}.shell{min-height:100dvh;display:grid;grid-template-columns:225px minmax(0,1fr)}.nav{background:#163c35;color:#e8f0eb;padding:2rem 1.15rem;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{font-size:1.6rem;font-weight:750;color:#fff;text-decoration:none;padding:0 .65rem 2rem;letter-spacing:-.03em}.brand:hover{color:#fff}.brand span{display:block;font-size:.78rem;font-weight:500;color:#b5d2c3;letter-spacing:.03em;margin-top:.2rem}.nav nav{display:grid;gap:.4rem}.nav nav a{color:#e2ece7;text-decoration:none;padding:.75rem;border-radius:6px}.nav nav a:hover,.nav nav a.active{background:#31594b;color:#fff}.account{margin-top:auto;padding-top:2rem;font-size:.8rem;overflow-wrap:anywhere}.account span{display:block;margin:0 0 1rem}.account button{width:100%}.content{width:100%;max-width:1150px;padding:2.6rem 3rem 4rem;min-width:0}.mobile-header{display:none}.auth{max-width:480px;margin:10dvh auto;background:#fff;padding:2.2rem;border:1px solid #d8dfda;border-radius:12px}.auth form{border-top:1px solid #d8dfda;padding-top:1.5rem;margin-top:1.5rem}.eyebrow{color:#587064;letter-spacing:.14em;font-size:.72rem;font-weight:750;margin:0 0 .5rem}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading label{margin:0;min-width:130px}.page-heading h1{margin-bottom:.2rem}.card{background:#fff;padding:1.4rem;border:1px solid #d8dfda;border-radius:10px;margin:0 0 1.25rem;min-width:0}.inline,.actions{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.inline label{flex:1;margin:0;min-width:160px}.actions{align-items:center}.error{background:#fff0f0;border:1px solid #ecc1c1;border-radius:7px;color:#922d31;padding:.9rem;margin-bottom:1rem;overflow-wrap:anywhere}.error button{margin-left:.8rem}.notice{background:#e9f3eb;border:1px solid #bdd7c5;border-radius:7px;padding:.9rem;overflow-wrap:anywhere}.muted{color:#5b6c63;font-size:.86rem}.empty{padding:2rem;text-align:center;border:1px dashed #bac7c1;border-radius:10px;color:#5b6c63}.id{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.8rem}.sortable-row{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #d8dfda;border-radius:8px;margin:.6rem 0;padding:.7rem}.dragging{z-index:10;box-shadow:0 4px 20px #163c3533;position:relative}.drag-handle{touch-action:none;cursor:grab;font-size:1.3rem;padding:.35rem .6rem;border-color:transparent}.drag-handle:active{cursor:grabbing}.row-content{flex:1;min-width:0}.lesson-row,.section-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.lesson-row a{font-weight:650;overflow-wrap:anywhere}.section-row p{margin:.2rem 0 0}.section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#5b6c63;margin-bottom:.5rem}.badges{display:flex;gap:.4rem;align-items:center;flex-shrink:0;flex-wrap:wrap}.badge{display:inline-block;background:#edf0ee;color:#4b5b53;padding:.2rem .55rem;font-size:.75rem;font-weight:650;border-radius:5px;white-space:nowrap}.badge.success{color:#175a35;background:#dff0e3}.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tabs [aria-selected=true]{color:#fff;background:#163c35}.checkbox{flex-direction:row;align-items:center;gap:.6rem}.checkbox input{width:18px;height:18px;accent-color:#176456}.editor-fields{padding:0;border:0}.attachment{display:grid;grid-template-columns:1fr 100px;gap:.75rem;padding:1rem;background:#f6f7f5;border-radius:7px;margin-bottom:1rem}.attachment label{margin:0}.attachment label:has(input[type=url]){grid-column:1 / -1}.attachment button{justify-self:start}.upload{margin:0;display:flex;gap:.5rem}.upload input{font-size:.8rem;max-width:260px;padding:0;border:0}.thumbnail{display:block;width:100%;max-width:400px;height:auto;border-radius:8px;margin-top:1rem}.footer-actions{justify-content:space-between}.ticket-preview{display:block;text-decoration:none;color:inherit}.ticket-preview:hover{border-color:#176456;color:inherit}.spread{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.message-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;margin:.75rem 0}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metadata div{min-width:0}dt{color:#5b6c63;font-size:.8rem}dd{margin:.2rem 0 0;overflow-wrap:anywhere}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.reply{border-left:3px solid #d8dfda;padding-left:1rem;margin-bottom:1.4rem}.ticket-link{display:flex;gap:.7rem;flex-wrap:wrap;padding:.8rem 0;border-bottom:1px solid #d8dfda}.resource-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.resource-row{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.resource-summary{flex:1 1 240px;min-width:0}.resource-summary h2,.resource-url{overflow-wrap:anywhere}.resource-row .badges,.comment-row .badges{flex-shrink:1}.comment-actions{margin-top:1rem}@media(max-width:1024px){.content{padding:2rem 1.5rem}.shell{grid-template-columns:200px minmax(0,1fr)}.lesson-row{flex-wrap:wrap}}@media(max-width:700px){.shell{display:block}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid #d8dfda;background:#fff}.mobile-header a{text-decoration:none;font-weight:750}.nav{display:none;position:static;height:auto;padding:1rem}.nav.open{display:flex}.nav .brand{display:none}.account{padding-top:1rem}.account button{width:auto}.content{padding:1.5rem 1rem 3rem}.page-heading{align-items:start;flex-wrap:wrap}.card,fieldset{padding:1rem}.auth{margin:2rem 1rem;padding:1.5rem}.metadata{grid-template-columns:1fr}.attachment{grid-template-columns:1fr;padding:.75rem}.upload{width:100%}.upload input{max-width:100%}.inline label{min-width:100%}.ticket-link{flex-direction:column}.resource-grid{grid-template-columns:minmax(0,1fr);gap:0}}
