:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf2f3;background:#10181e;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.shell{max-width:780px;margin:auto;padding:22px 17px 110px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2px;color:#8fb2ad;font-weight:800}.brand{font-size:27px;font-weight:850;letter-spacing:-1px;margin:5px 0}.muted{color:#9daeb5}.small{font-size:12px}.status{border:1px solid #365158;border-radius:99px;padding:8px 11px;font-size:12px;color:#b3d1c9}.panel{background:#19252c;border:1px solid #2c3d44;border-radius:18px;padding:17px;margin:12px 0}.panel h2,.panel h3{margin:0 0 12px}.tabs{display:flex;gap:6px;background:#1b282f;padding:5px;border-radius:14px;margin:14px 0 22px;overflow:auto}.tabs button{background:transparent;color:#9eb2b7;border:0;padding:12px 13px;border-radius:10px;white-space:nowrap;font-weight:700;flex:1}.tabs button.active{background:#3d756e;color:white}.btn{background:#437e75;color:white;border:1px solid #58988e;border-radius:11px;padding:12px 15px;font-weight:750}.btn.secondary{background:#24343b;border-color:#3a5057;color:#e2eeee}.btn.ghost{background:transparent;border-color:#405159;color:#b9c9cf}.btn.danger{color:#f6b5ae}.btn.tiny{padding:7px 9px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{text-align:left;min-height:102px;background:#1d2d34;border:1px solid #344a50;border-radius:14px;padding:15px;color:white}.tile.selected{border-color:#78c1af;background:#254840}.tile strong{display:block;margin-bottom:8px}.tile span{font-size:12px;color:#a9c0c4}.line{display:flex;align-items:center;justify-content:space-between;gap:12px}.line.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.chip{font-size:11px;background:#293d44;border:1px solid #3b555b;border-radius:30px;padding:5px 9px;color:#c7dadd;display:inline-block;margin:3px 4px 3px 0}.item{padding:13px 0;border-bottom:1px solid #2d4249}.item:last-child{border:0}.item strong{display:block;margin-bottom:5px}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}label{display:block;font-size:12px;color:#b5c8cc;margin:12px 0 6px;font-weight:750}input,select,textarea{width:100%;background:#111e25;color:#edf3f4;border:1px solid #41545a;border-radius:10px;padding:12px;outline:none}textarea{min-height:85px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#81c6b8}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:13px;background:#263c42;border-radius:12px;font-size:13px;color:#c6dadc;line-height:1.5}.error{background:#512d33;color:#ffd9d9}.success{background:#24463f;color:#c3f5de}.section-title{font-size:19px;margin:23px 0 9px}.pill{border-radius:100px;padding:6px 10px;font-size:12px;background:#344b50;color:#d7e8e8}.bottom{position:fixed;bottom:0;left:0;right:0;background:#142127eF;border-top:1px solid #34454a;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:8px;z-index:3;backdrop-filter:blur(14px)}.bottom button{flex:1;max-width:180px;background:transparent;border:0;color:#a5bbc0;padding:9px 2px;font-size:12px;font-weight:700}.bottom button.active{color:#a4e4d5}.hero{padding:22px 19px;background:linear-gradient(135deg,#274c48,#182b35);border-radius:19px;margin-bottom:18px}.hero h2{margin:0 0 9px;font-size:23px}.empty{padding:26px 12px;text-align:center;color:#a2b4ba}.link{color:#a8e0d3;text-decoration:underline}.check{width:auto;margin-right:7px}.steps{counter-reset:step}.step{padding:11px 0;border-bottom:1px solid #2b4146}.step:before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#396a62;margin-right:10px;font-size:12px}.time{font-size:24px;font-weight:800;color:#b1e8d8}@media(min-width:650px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shell{padding-top:36px}.bottom{position:static;background:transparent;border:0;max-width:780px;margin:auto}.bottom button{font-size:14px}}@media(max-width:360px){.twocol{grid-template-columns:1fr}}

.bank-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.bank-filter{min-width:0;font-size:12px;padding:9px 4px}.bank-fav-toggle{display:flex;align-items:center;gap:9px;font-size:13px}.bank-fav-toggle input{width:auto}.bank-details{border-top:1px solid #30444a;padding:10px 0;margin:10px 0;font-size:13px;line-height:1.5}.bank-details summary{cursor:pointer;color:#a8e0d3;font-weight:700}.bank-details p{white-space:pre-wrap}.bank-filters select{width:100%}@media(max-width:390px){.bank-filters{grid-template-columns:1fr 1fr}.bank-filter:last-child{grid-column:span 2}}

.pathway-panel{margin:14px 0}.pathway-panel h3{margin:0}.pathway-flow{display:grid;gap:0;margin:15px 0}.pathway-stage{position:relative;padding:0 0 20px 19px;border-left:2px solid #41675f;margin-left:14px}.pathway-stage:last-child{border-left-color:transparent;padding-bottom:4px}.pathway-step{display:flex;align-items:flex-start;gap:12px}.pathway-number{display:grid;place-items:center;flex:none;width:29px;height:29px;margin-left:-35px;border-radius:50%;background:#75bca9;color:#102c2a;font-weight:800;font-size:13px}.pathway-links{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0 6px}.pathway-link{border:1px solid #4a776e;border-radius:10px;background:#203c3b;color:#c5eee3;padding:9px 10px;font-size:12px;font-weight:700;text-align:left;cursor:pointer}

@media(max-width:540px){.bottom{gap:2px;padding-left:6px;padding-right:6px}.bottom button{font-size:10px;padding:9px 0;min-width:0;white-space:nowrap}}#aiQuestion{min-height:110px}.panel .actions{flex-wrap:wrap}

.bank-return{position:sticky;bottom:76px;z-index:5;box-shadow:0 4px 18px rgba(0,0,0,.2)}

/* Øktbygger 2.0 */
.lesson-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}.lesson-controls label{display:flex;align-items:center;gap:6px;font-size:.82rem}.lesson-controls input{width:62px;min-width:62px;padding:7px}.lesson-pick-results{max-height:52vh;overflow-y:auto}.lesson-pick-results .item{gap:8px}.lesson-pick-results .item strong{font-size:.9rem}

/* Mobile exercise picker */
.lesson-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center;padding:0}
.lesson-modal{box-sizing:border-box;background:#19252c;color:#edf2f3;border:1px solid rgba(150,160,175,.3);border-radius:20px 20px 0 0;width:100%;max-width:700px;max-height:94dvh;display:flex;flex-direction:column;gap:12px;padding:18px 16px max(18px,env(safe-area-inset-bottom));overflow:hidden}
.lesson-modal .line{flex-shrink:0}.lesson-modal input,.lesson-modal select{width:100%;min-width:0}.lesson-modal .lesson-pick-results{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:100px;max-height:none}.lesson-category{display:flex;gap:6px;flex-wrap:wrap}.lesson-modal .twocol{flex-shrink:0}.lesson-modal .muted.small{margin:0}
@media(min-width:720px){.lesson-modal-backdrop{align-items:center;padding:20px}.lesson-modal{border-radius:18px;max-height:85dvh}}

.mat-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.mat-extra{margin-top:12px;padding:12px;border-radius:12px;background:#111c22;border:1px solid #2c3d44}.mat-extra p{white-space:pre-line}.mat-extra strong{font-size:.9rem}

.mat-lesson-list{display:flex;flex-direction:column;gap:8px;max-height:48dvh;overflow-y:auto}.mat-lesson-option{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#111c22;color:#edf2f3;border:1px solid #2c3d44;border-radius:12px;padding:13px;width:100%}.mat-lesson-option.is-selected{border-color:#78b7a6;background:#223c3c}.mat-lesson-option small{display:block;color:#9daeb5;margin-top:5px;line-height:1.5}

.mat-preview-goal,.mat-preview-notes{margin:14px 0}.mat-preview-goal p,.mat-preview-notes p{margin:6px 0;white-space:pre-line}.mat-preview-exercise{margin:10px 0;padding:8px 0;border-bottom:1px solid #2c3d44}.mat-preview-exercise p{margin:8px 0 0}

.home-brand{font:inherit;font-weight:800;font-size:1.65rem;letter-spacing:-.04em;border:0;padding:0;background:none;color:inherit;text-align:left}.home-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0}.home-links button{border:1px solid #344950;background:#1a2b31;color:#f0f6f5;text-align:left;border-radius:14px;padding:16px;min-height:95px}.home-links strong,.home-links span{display:block}.home-links span{color:#aac0c6;font-size:.82rem;margin-top:8px;line-height:1.4}
