.page{min-height:100vh;display:flex;flex-direction:column;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.header{position:fixed;top:0;width:100%;background:#fff;border-bottom:1px solid rgba(0,0,0,.05);z-index:50}.header-container{max-width:1280px;margin:auto;padding:1rem 1.25rem}.logo span{color:#fff;font-weight:700;font-size:1.25rem}.nav-logo-img{height:40px;width:auto;border-radius:8px;flex-shrink:0}.title{font-weight:700;letter-spacing:.08em;font-size:.95rem}.login-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{width:100%;max-width:28rem;padding:2.25rem;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e,inset 0 1px 1px #ffffff73;position:relative;isolation:isolate}.login-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{font-size:1.75rem;font-weight:700;color:#0f172a}.login-header p{margin-top:.4rem;font-size:.85rem;color:#475569}.login-form{display:flex;flex-direction:column;gap:1.4rem}.field{display:flex;flex-direction:column}.field label{font-size:.85rem;font-weight:500;color:#334155;margin-bottom:.25rem}.field input{padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(0,0,0,.15);font-size:.9rem;background:#ffffffd9;color:#0f172a}.field input::placeholder{color:#94a3b8}.field input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px #3b82f6}.login-button{margin-top:.5rem;padding:.75rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:opacity .2s ease}.login-button:hover{opacity:.9}.login-button:focus{outline:none;box-shadow:0 0 0 2px #93c5fd}.logo{display:flex;align-items:center;justify-content:center;background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important}.logo .nav-logo-img,.header .nav-logo-img{background:transparent!important;border-radius:8px;box-shadow:none}.dashboard-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.ywam-nav{position:fixed;top:0;width:100%;background:#fff;border-bottom:1px solid rgba(0,0,0,.05);z-index:50}.nav-brand:hover{opacity:.85}.nav-logo-text{font-weight:700;letter-spacing:.08em;font-size:.95rem}.nav-inner{max-width:1200px;margin:auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-weight:700;letter-spacing:.08em;font-size:1.1rem}.nav-right{display:flex;gap:1rem}.nav-icon-btn{background:none;border:none;cursor:pointer}.nav-logout{display:flex;align-items:center;gap:.4rem;border:1px solid #e5e7eb;padding:.4rem .7rem;background:#fff;border-radius:6px;cursor:pointer}.nav-dropdown{position:absolute;right:1.5rem;top:64px;background:#fff;border-radius:8px;box-shadow:0 10px 30px #00000014;overflow:hidden}.dropdown-item{padding:.75rem 1rem;width:100%;background:none;border:none;text-align:left;cursor:pointer}.dashboard-main{max-width:1200px;margin:3rem auto 0;padding:2rem 1.5rem}.welcome-card{display:flex;gap:1rem;align-items:center;padding:1.25rem 1.5rem;margin-bottom:2rem;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);background:#ffffff73;border-radius:14px;border:1px solid rgba(255,255,255,.35);box-shadow:0 6px 20px #00000026,inset 0 1px 1px #fff6}.welcome-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff59,#ffffff0d);opacity:.6;pointer-events:none}.welcome-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none}.welcome-card svg{opacity:.85}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:3rem;perspective:1200px}.feature-glass{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform,backdrop-filter;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e,inset 0 1px 1px #ffffff73;padding:2rem;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,backdrop-filter .35s ease}.feature-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff59,#ffffff0d);opacity:.6;pointer-events:none}.feature-glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none}.feature-glass:hover{transform:translateY(-10px) scale(1.015) rotateX(3deg);backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);box-shadow:0 30px 70px #00000040,inset 0 1px 1px #ffffff80}.feature-glass h3{margin-top:1rem;margin-bottom:.5rem}.mission-banner{background:#0f172a;color:#fff;padding:2.5rem;border-radius:20px;text-align:center}.mission-banner h3{margin-bottom:.75rem}.org-context{margin-right:1rem;display:flex;align-items:center}.nav-org-label{font-size:.85rem;font-weight:600;color:#64748b;background:#f1f5f9;padding:.4rem .8rem;border-radius:6px;text-transform:uppercase;letter-spacing:.025em}.nav-org-select{appearance:none;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem 2rem .4rem .8rem;font-size:.85rem;font-weight:600;color:#0f172a;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem;transition:all .2s}.nav-org-select:hover{border-color:#cbd5e1;background-color:#fff}.nav-org-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.upload-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.upload-main{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.upload-card{position:relative;isolation:isolate;width:100%;max-width:720px;margin-top:0;padding:2rem 2.25rem;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e,inset 0 1px 1px #ffffff73;display:flex;flex-direction:column;gap:1.25rem}.upload-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#fff6,#ffffff0d);opacity:.6;pointer-events:none;z-index:1}.upload-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.05;pointer-events:none;z-index:1}.upload-card>*{position:relative;z-index:2}.upload-header{display:flex;align-items:center;gap:.9rem;color:#0f172a}.upload-icon{background:#0f172a;color:#fff;padding:.85rem;border-radius:14px;display:flex;align-items:center;justify-content:center}.upload-header h2{font-size:1.6rem;font-weight:600}.upload-header p{margin-top:.1rem;color:#6b7280;font-size:.95rem}.select-label{display:block;margin-top:.5rem;margin-bottom:.35rem;font-size:.9rem;font-weight:500}.custom-select-wrapper{margin-bottom:.75rem}.learning-map-select{width:100%;padding:.7rem .9rem;border-radius:12px;border:1px solid rgba(255,255,255,.7);background:#ffffffd9;font-size:.95rem;box-shadow:0 0 0 1px #0f172a08}.upload-form{display:flex;flex-direction:column;gap:.9rem;width:100%}.upload-card input[type=file]{display:block;font-size:.9rem}.primary-button{align-self:flex-start;padding:.7rem 1.4rem;border-radius:10px;border:none;background:#0f172a;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s ease,transform .1s ease}.primary-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:default}@media(max-width:640px){.upload-main{padding:1.5rem 1rem}.upload-card{padding:1.5rem 1.25rem}.upload-header h2{font-size:1.4rem}}.ref-type-toggle{display:flex;gap:1rem;margin-bottom:1rem;background:#0003;padding:5px;border-radius:8px;width:fit-content}.toggle-option{padding:8px 16px;border-radius:6px;cursor:pointer;display:flex;align-items:center;font-size:.9rem;transition:.2s}.toggle-option input{display:none}.toggle-option.active{background:var(--primary-color);color:#fff}.secondary-button{background:#6366f1;color:#fff;border:none;padding:12px;border-radius:8px;cursor:pointer;font-weight:600}.ai-loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center;background:#fff;padding:3rem;border-radius:24px;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.5);max-width:400px}.spinner-icon{color:#6366f1;animation:spin 2s linear infinite}.loading-bar-container{width:100%;height:6px;background:#f3f4f6;border-radius:10px;margin-top:1.5rem;overflow:hidden}.loading-bar-fill{height:100%;width:30%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:10px;animation:loadingMove 2s infinite ease-in-out}@keyframes loadingMove{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes spin{to{transform:rotate(360deg)}}.blur-content{filter:blur(5px);pointer-events:none;transition:filter .3s ease}.manage-users-page,.map-manage-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2.75rem}.map-manage-main.glass{width:100%;box-sizing:border-box;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.map-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(15,23,42,.08);width:100%;box-sizing:border-box}.map-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#0f172a}.step-indicator{margin-left:auto;font-size:.9rem;font-weight:500;color:#6b7280;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem;perspective:1200px}.map-form{display:flex;flex-direction:column;gap:1rem;margin-top:0}.map-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;color:#1f2937}.map-form input,.map-form select{background:#ffffffb3;border:1px solid rgba(148,163,184,.6);padding:.6rem .75rem;border-radius:8px;font-size:.9rem}.map-form input:focus,.map-form select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.danger-zone{border:1px solid rgba(248,113,113,.5)}.delete-btn{padding:.6rem 1rem;border-radius:8px;border:none;background:#dc2626;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.delete-btn:hover:not(:disabled){background:#b91c1c}@media(max-width:1024px){.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:768px){.manage-users-page,.map-manage-page{padding-top:70px}.nav-inner{padding:.75rem 1rem}.logo{height:32px;width:32px}.logo-img{height:32px;width:auto}.brand-title{font-size:.9rem}.brand-subtitle{font-size:.65rem}.dashboard-main{padding:1.5rem 1rem;gap:2rem}.map-manage-main.glass{padding:1.75rem}}@media(max-width:480px){.nav-inner{padding:.75rem 1rem}.nav-actions{gap:.5rem}.logout-button{padding:.4rem .6rem;font-size:.8rem}.logout-button svg{width:14px;height:14px}.dashboard-main{padding:1rem}.card-grid{grid-template-columns:1fr;gap:1.25rem}.map-manage-main.glass{padding:1.5rem}.form-actions{flex-direction:column;gap:.75rem;margin-top:1rem}.primary-button{width:100%}}.objectives-row{display:flex;gap:2rem;align-items:flex-start;margin-top:1.25rem}.goals-section{flex:2}.esl-section{flex:1;padding:1rem 1.25rem;border-radius:10px;background:#ffffff8c;border:1px solid rgba(148,163,184,.45);box-shadow:0 6px 18px #0f172a14}.esl-section h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#0f172a}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;font-weight:500;color:#111827;margin-bottom:.5rem}.checkbox-label input[type=checkbox]{margin-top:3px}.esl-help-text{font-size:.8rem;color:#6b7280;line-height:1.5}@media(max-width:768px){.objectives-row{flex-direction:column}.esl-section{width:100%}}.map-list-container{margin-top:2rem;padding:1.5rem}.map-search-input{width:100%;padding:.8rem;margin:1rem 0;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.map-scroll-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:8px}.map-scroll-list::-webkit-scrollbar{width:6px}.map-scroll-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.map-item-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff80;border:1px solid #f1f5f9;border-radius:10px;transition:all .2s}.map-item-card:hover{background:#fff;box-shadow:0 4px 12px #0000000d}.delete-icon-btn{color:#ef4444;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s}.delete-icon-btn:hover{background:#fee2e2}.manage-users-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.brand{display:flex;align-items:center;gap:.6rem;cursor:pointer}.logo{height:40px;width:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.back-button{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;color:#667eea;font-weight:500;transition:all .2s ease}.back-button:hover{color:#764ba2}.main{max-width:1200px;margin:auto;padding:2rem 1.5rem;animation:fadeIn .3s ease-in}.manage-users-main{max-width:1200px;margin:auto;padding:2rem 1.5rem}.manage-users-main h2{font-size:1.8rem;font-weight:600;margin-bottom:2rem;color:#0f172a}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem;perspective:1200px}.glass{position:relative;isolation:isolate;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:16px;border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 25px #00000029,inset 0 1px 1px #fff6}.feature-glass{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform,backdrop-filter;padding:2rem;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,backdrop-filter .35s ease}.feature-glass>*{position:relative;z-index:2}.feature-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff59,#ffffff0d);opacity:.6;pointer-events:none;z-index:1}.feature-glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none;z-index:1}.feature-glass:hover{transform:translateY(-5px) scale(1.008) rotateX(1.5deg);backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);box-shadow:0 15px 40px #0003,inset 0 1px 1px #ffffff80}.card{position:relative;isolation:isolate;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e,inset 0 1px 1px #ffffff73;padding:2rem}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff59,#ffffff0d);opacity:.6;pointer-events:none;z-index:1}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none;z-index:1}.card>*{position:relative;z-index:2}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.card-header h3{font-size:1.2rem;font-weight:600;margin:0;color:#0f172a}.form{display:flex;flex-direction:column;gap:1.25rem}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;color:#1f2937}.form input,.form select{background:#fff9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.4)}.form input:hover:not(:disabled),.form select:hover:not(:disabled){border-color:#00000040;background:#fff}.form input:focus,.form select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form input:disabled,.form select:disabled{opacity:.6;cursor:not-allowed}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.primary-button{flex:1;padding:.75rem 1.5rem;border-radius:8px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;font-family:Inter,Helvetica Neue,Arial,sans-serif}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{flex:1;padding:.75rem 1.5rem;border-radius:8px;border:1px solid rgba(0,0,0,.15);background:#ffffffb3;color:#0f172a;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,Helvetica Neue,Arial,sans-serif}.secondary-button:hover:not(:disabled){background:#fff;border-color:#00000040}.secondary-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.manage-users-page{padding-top:70px}.nav-inner{padding:.75rem 1rem}.logo{height:32px;width:32px}.logo-img{height:32px;width:auto}.brand-title{font-size:.9rem}.brand-subtitle{font-size:.65rem}.manage-users-main{padding:1.5rem 1rem}.manage-users-main h2{font-size:1.4rem;margin-bottom:1.5rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.card{padding:1.5rem}}@media(max-width:480px){.nav-inner{padding:.75rem 1rem}.nav-actions{gap:.5rem}.logout-button{padding:.4rem .6rem;font-size:.8rem}.logout-button svg{width:14px;height:14px}.manage-users-main{padding:1rem}.manage-users-main h2{font-size:1.2rem;margin-bottom:1.25rem}.card-grid{grid-template-columns:1fr;gap:1rem}.card{padding:1.25rem}.card-header{margin-bottom:1rem;padding-bottom:.75rem}.form-actions{flex-direction:column;gap:.75rem;margin-top:1rem}.primary-button,.secondary-button{width:100%}}.danger-zone{border:1px solid rgba(255,77,77,.3)!important;background:#ffebeb80!important}.danger-button{background-color:#ff4d4d;color:#fff;border:none;padding:10px 15px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:10px;width:100%}.danger-button:hover{background-color:#d63031;box-shadow:0 4px 12px #d630314d}.danger-zone h3{color:#d63031}.dashboard-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.nav-container{max-width:1200px;margin:auto}.nav-inner{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:.6rem}.logo{height:40px;width:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem}.logo-img{height:40px;width:auto;border-radius:8px;flex-shrink:0}.brand-title{font-size:1rem;font-weight:700;margin:0;color:#1f2937;letter-spacing:.05em}.brand-subtitle{font-size:.75rem;color:#6b7280;margin:0}.nav-actions{display:flex;gap:1rem;align-items:center}.icon-button{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:#1f2937;transition:opacity .2s ease}.icon-button:hover{opacity:.7}.logout-button{display:flex;align-items:center;gap:.4rem;border:1px solid #e5e7eb;padding:.5rem .8rem;background:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;color:#1f2937;transition:all .2s ease}.logout-button:hover{background:#f3f4f6;border-color:#d1d5db}.dropdown{position:absolute;right:1.5rem;top:64px;background:#fff;border-radius:8px;box-shadow:0 10px 30px #00000026;overflow:hidden;z-index:100;min-width:200px}.dropdown-container{display:flex;flex-direction:column}.dropdown-item{padding:.75rem 1rem;width:100%;background:none;border:none;text-align:left;cursor:pointer;color:#1f2937;font-size:.95rem;transition:background .2s ease}.dropdown-item:hover:not(:disabled){background:#f3f4f6}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.main{max-width:1200px;margin-top:3rem;padding:2rem 2.25rem;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}.welcome-icon{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.welcome h2{font-size:1.75rem;font-weight:600;margin:0;color:#0f172a}.welcome p{font-size:1rem;color:#6b7280;margin:.25rem 0 0}.learning-map-selector{position:relative;isolation:isolate;background:#ffffff73;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e,inset 0 1px 1px #ffffff73;padding:2.5rem;max-width:700px;margin:0 auto}.learning-map-selector:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff59,#ffffff0d);opacity:.6;pointer-events:none;z-index:1}.learning-map-selector:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/assets/frosted_noise-Dz9PY8aI.jpeg);background-size:cover;background-position:center;background-attachment:fixed;opacity:.04;pointer-events:none;z-index:1}.learning-map-selector>*{position:relative;z-index:2}.learning-map-selector h2{font-size:1.6rem;font-weight:600;margin:0 0 .5rem;color:#0f172a}.learning-map-selector .subtitle{font-size:1rem;color:#6b7280;margin:0 0 2rem;line-height:1.5}.selection-area{display:flex;flex-direction:column;gap:1.5rem}.select-label{font-size:1.05rem;font-weight:600;color:#111827;margin-bottom:.35rem;letter-spacing:.01em}.field-explanation{font-size:.9rem;color:#4b5563;line-height:1.5;margin:0 0 .4rem}.custom-select-wrapper{position:relative;display:flex;align-items:center}.learning-map-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border-radius:10px;border:1px solid rgba(0,0,0,.15);font-size:1rem;background:#ffffffe6;color:#1f2937;cursor:pointer;appearance:none;transition:all .2s ease;font-family:Inter,Helvetica Neue,Arial,sans-serif}.learning-map-select:hover:not(:disabled){border-color:#00000040;background:#fff}.learning-map-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.learning-map-select:disabled{opacity:.6;cursor:not-allowed}.select-icon{position:absolute;right:1rem;color:#6b7280;pointer-events:none}.prompt-container{max-width:640px}.ai-prompt-input{width:98%!important;max-width:640px;background:#fffffff2!important;border-radius:12px!important;border:1px solid rgba(15,23,42,.12)!important;box-shadow:0 8px 20px #0f172a0f;line-height:1.6}.generate-button{align-self:flex-start;padding:.85rem 2rem;border-radius:10px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;font-family:Inter,Helvetica Neue,Arial,sans-serif}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 4px 15px #667eea1a}@media(max-width:768px){.dashboard-page{padding-top:70px}.nav-inner{padding:.75rem 1rem}.logo{height:32px;width:32px;font-size:1rem}.logo-img{height:32px;width:auto}.brand-title{font-size:.9rem}.brand-subtitle{font-size:.65rem}.main{padding:1.5rem 1rem}.welcome h2{font-size:1.4rem}.learning-map-selector{padding:1.75rem;max-width:100%}.learning-map-selector h2{font-size:1.3rem}.learning-map-selector .subtitle{font-size:.9rem}.prompt-container{max-width:100%}.ai-prompt-input{width:100%!important;max-width:100%}}@media(max-width:480px){.nav-inner{padding:.75rem 1rem}.nav-actions{gap:.5rem}.logout-button{padding:.4rem .6rem;font-size:.8rem}.logout-button svg{width:14px;height:14px}.main{padding:1rem}.welcome{flex-direction:column;text-align:center;margin-bottom:2rem}.welcome-icon{width:40px;height:40px}.welcome h2{font-size:1.2rem}.welcome p{font-size:.9rem}.learning-map-selector{padding:1.5rem;max-width:100%}.learning-map-selector h2{font-size:1.1rem}.learning-map-selector .subtitle{font-size:.85rem}.selection-area{gap:1rem}.generate-button{align-self:stretch;width:100%}}.ai-loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;color:#fff;text-align:center}.loading-content{background:#ffffff1a;padding:3rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d}.spinner-wrapper{position:relative;display:inline-block;margin-bottom:1.5rem}.spinner-icon{animation:rotate 2s linear infinite;color:#6366f1}.sparkle-icon{position:absolute;top:-5px;right:-5px;color:#fbbf24;animation:pulse 1.5s ease-in-out infinite}.loading-bar-container{width:100%;height:4px;background:#ffffff1a;border-radius:2px;margin-top:1.5rem;overflow:hidden}.loading-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);width:30%;animation:loading-bar 2s infinite ease-in-out}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes loading-bar{0%{transform:translate(-100%)}to{transform:translate(400%)}}.blur-content{filter:blur(4px);pointer-events:none;transition:filter .3s ease}.animate-spin{animation:rotate 1s linear infinite;margin-right:8px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.success-card{padding:3rem;max-width:400px;text-align:center;border:1px solid rgba(255,255,255,.4)}.success-icon-wrapper{position:relative;display:inline-block;margin-bottom:1.5rem}.check-circle{background:#10b9811a;padding:1rem;border-radius:50%}.modal-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.animate-pop{animation:modalPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.sparkle-1{position:absolute;top:-10px;right:-10px;color:#fbbf24;animation:rotate 3s infinite linear}.sparkle-2{position:absolute;bottom:-5px;left:-15px;color:#fbbf24;animation:rotate 3s infinite reverse linear}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-page{min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#1f2937;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.view-lesson-page{min-height:100vh;padding-top:74px;background-image:url(/assets/mountain_bg-B477VaHO.jpeg);background-size:cover;background-position:center;background-attachment:fixed;font-family:Inter,sans-serif}.view-lesson-card{width:95%;max-width:1200px;margin:2rem auto;height:calc(100vh - 160px);background:#ffffff73;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 35px #0000002e;display:flex;overflow:hidden}.view-layout{display:flex;width:100%}body.modal-open{overflow:hidden}.edit-modal-content{width:90%;max-width:1100px;max-height:calc(100vh - 120px);height:auto;background:#fffffff2;color:#0f172a;border-radius:16px;box-shadow:0 30px 80px #00000073;display:flex;flex-direction:column;overflow:hidden;position:relative}.lesson-content-rich h3{border-left:4px solid var(--primary-color);padding-left:10px;margin-top:1.5rem;font-size:1.1rem;color:#555}.highlight-box{background:#6366f10d;padding:1rem;border-radius:8px;border:1px dashed #6366f1}.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.homework-box{background:#fdf2f2;padding:1rem;margin-top:2rem;border-radius:8px}.doc-sidebar{width:320px;border-right:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;background:#fff3}.sidebar-header{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.back-btn-small{background:none;border:none;display:flex;align-items:center;gap:5px;font-size:.8rem;cursor:pointer;opacity:.6}.search-box{display:flex;align-items:center;background:#fffc;padding:5px 10px;border-radius:8px;gap:8px}.search-box input{border:none;background:none;font-size:.85rem;width:100%;outline:none}.doc-list{flex:1;overflow-y:auto;padding:.5rem 1rem}.doc-item{padding:.8rem 1rem;border-radius:10px;margin-bottom:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:#ffffff4d;transition:all .2s ease}.doc-item:hover{background:#fff9}.doc-item.active{background:#0f172a;color:#fff}.doc-info{display:flex;flex-direction:column}.doc-name{font-weight:600;font-size:.85rem}.doc-date{font-size:.7rem;opacity:.7}.content-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.viewer-msg{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.5;text-align:center;padding:1.5rem}.viewer-body{flex:1;overflow-y:auto;padding:2rem 2.5rem}.viewer-title{display:flex;align-items:center;gap:12px;margin-bottom:1rem;padding:0 2.5rem}.meta-row{display:flex;margin-bottom:1.5rem}.meta-tag{font-size:.75rem;background:#0f172a1a;padding:4px 10px;border-radius:5px;font-weight:600}.text-display{white-space:pre-wrap;font-family:Inter,sans-serif;line-height:1.6;color:#374151;padding:1.5rem;background:#ffffff4d;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.text-display-container{margin-top:1.5rem;max-height:70vh;overflow-y:auto;padding-right:10px}.text-display-container::-webkit-scrollbar{width:6px}.text-display-container::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.nav{position:fixed;top:0;width:100%;background:#fff;border-bottom:1px solid rgba(0,0,0,.05);z-index:50}.nav-container{max-width:1200px;margin:auto;padding:0 1.5rem}.nav-inner{display:flex;justify-content:space-between;align-items:center;height:74px}.nav-brand{display:flex;align-items:center;gap:.6rem}.nav-logo-img{height:32px;width:auto;border-radius:5px}.nav-logo-text{font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}.nav-actions{display:flex;align-items:center;gap:1rem}.icon-button{padding:.35rem;border-radius:9999px;background:none;border:none;cursor:pointer;color:#374151}.icon-button:hover{background:#f3f4f6}.logout-button{display:flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:6px;background:#fff;border:1px solid #e5e7eb;font-size:.875rem;font-weight:500;color:#111827;cursor:pointer}.logout-button:hover{background:#f9fafb}.dropdown{position:absolute;right:1.5rem;top:64px;background:#fff;border-radius:8px;box-shadow:0 10px 30px #00000014;overflow:hidden}.dropdown-container{padding:.25rem 0}.dropdown-item{width:100%;text-align:left;padding:.6rem 1rem;background:none;border:none;font-size:.875rem;color:#374151;cursor:pointer}.dropdown-item:hover{background:#f1f5f9}.selection-grid{display:flex;gap:2rem;justify-content:center;align-items:center;padding-top:5rem;max-width:1000px;margin:0 auto}.selection-card{flex:1;background:#ffffff73;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:3rem 2rem;border-radius:20px;text-align:center;border:1px solid rgba(255,255,255,.4);box-shadow:0 10px 30px #0000001a;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem}.selection-card:hover{transform:translateY(-8px);background:#fff9;box-shadow:0 15px 40px #00000026}.selection-icon-wrapper{background:#0f172a;color:#fff;width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.disabled-card{opacity:.7;cursor:not-allowed;filter:grayscale(.5)}.disabled-card:hover{transform:none}.selection-card h2{font-size:1.5rem;color:#0f172a}.selection-card p{color:#4b5563;font-size:.95rem;line-height:1.5}.animate-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.primary-button.outline{background:transparent;border:1px solid #0f172a;color:#0f172a}.edit-textarea{width:100%;min-height:120px;background:#f8fafc;color:#0f172a;border:1px solid #cbd5f5;border-radius:10px;padding:14px;font-size:.95rem;line-height:1.6;resize:vertical}.edit-textarea.tall{min-height:320px}.edit-textarea:focus{outline:none;border-color:#2563eb;background:#fff}.edit-input-title{width:100%;font-size:1.75rem;font-weight:700;color:#0f172a;background:#f8fafc;border:1px solid #cbd5f5;border-radius:8px;padding:8px 12px}.edit-input-title:focus{outline:none;border-color:#2563eb;background:#fff}.lesson-edit-overlay .viewer-body{color:#0f172a}.lesson-edit-overlay .viewer-body:after{content:"";position:sticky;bottom:0;height:24px;background:linear-gradient(to bottom,#fff0,#fff);pointer-events:none}.viewer-header-actions{flex-shrink:0;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.action-btn-primary,.save-btn,.floating-save-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:12px;box-shadow:0 8px 22px #2563eb59,inset 0 1px 1px #fff6;cursor:pointer;transition:all .25s ease}.action-btn-primary:hover,.save-btn:hover,.floating-save-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #2563eb73,inset 0 1px 1px #fff6}.action-btn-primary:active,.save-btn:active,.floating-save-btn:active{transform:translateY(0) scale(.98)}.action-btn-secondary,.edit-btn,.cancel-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;font-size:.9rem;font-weight:600;color:#0f172a;background:#ffffff80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.35);border-radius:12px;box-shadow:0 6px 18px #0000001f,inset 0 1px 1px #ffffff73;cursor:pointer;transition:all .25s ease}.action-btn-secondary:hover,.edit-btn:hover,.cancel-btn:hover{transform:translateY(-2px);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 10px 26px #00000029,inset 0 1px 1px #ffffff8c}.action-btn-secondary:active,.edit-btn:active,.cancel-btn:active{transform:translateY(0) scale(.98)}.action-btn-row{display:flex;gap:.75rem;justify-content:flex-end}.floating-save-btn{margin-top:1.5rem;margin-left:auto}.action-btn-primary svg,.action-btn-secondary svg,.save-btn svg,.edit-btn svg,.cancel-btn svg,.floating-save-btn svg{transition:transform .2s ease}.action-btn-primary:hover svg,.action-btn-secondary:hover svg,.save-btn:hover svg,.edit-btn:hover svg,.cancel-btn:hover svg,.floating-save-btn:hover svg{transform:translate(2px)}.selection-icon-wrapper.secondary{background:linear-gradient(135deg,#6366f1,#a855f7)}.doc-type-badge{font-size:10px;background:#ffffff1a;padding:2px 6px;border-radius:4px;text-transform:uppercase;margin-top:4px;display:inline-block}.reference-meta-card{background:#ffffff0d;padding:20px;border-radius:12px;margin-top:20px}.blob-notice{margin-top:30px;padding:20px;border:1px dashed rgba(255,255,255,.2)}.lesson-manager-layout{display:grid;grid-template-columns:280px 1fr;height:80vh}.class-sidebar{border-right:1px solid rgba(255,255,255,.1);padding:1.5rem}.class-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;cursor:pointer;margin-bottom:8px;background:#fff9;color:#0f172a;font-weight:500;transition:all .2s ease}.class-item:hover{background:#ffffffd9}.class-item.active{background:#2563eb;color:#fff}.class-item.active svg{color:#fff}.assignment-item input{width:100%;background:#f8fafc;color:#0f172a;border:1px solid #cbd5f5;border-radius:6px;padding:6px 10px;font-size:.9rem}.assignment-item input:focus{outline:none;border-color:#2563eb;background:#fff}.lesson-badge input{background:#f8fafc;color:#0f172a;border:1px solid #cbd5f5;border-radius:6px;padding:4px 8px;margin-left:6px}.lesson-grid-container{padding:2rem;overflow-y:auto;position:relative}.lesson-draggable-grid{display:flex;flex-direction:column;gap:12px;margin-top:2rem}.lesson-object{display:flex;align-items:center;background:#ffffffe6;color:#0f172a;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:1rem 1.25rem;cursor:grab;box-shadow:0 8px 24px #00000014;transition:transform .15s ease,box-shadow .15s ease}.lesson-object:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000001f}.lesson-object:active{cursor:grabbing}.drag-handle{padding:0 15px;color:#ffffff4d}.lesson-index{font-weight:700;background:#6366f1;color:#fff;padding:2px 8px;border-radius:4px;font-size:.8rem;margin-right:15px}.lesson-info{flex:1;display:flex;align-items:center;font-size:1rem;font-weight:600;margin:0;color:#0f172a}.lesson-edit-overlay{position:fixed;inset:0;padding-top:74px;padding-bottom:24px;z-index:1000;background:#0f172abf;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto}.lesson-edit-overlay .viewer-body{flex:1;min-height:0;overflow-y:auto;padding:2rem 2.5rem}.close-overlay{position:absolute;top:18px;right:18px;background:#0f172a;color:#fff;border:none;width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.close-overlay:hover{background:#1e293b}.card-actions{display:flex;gap:8px}.download-btn{color:#6366f1;transition:transform .2s}.download-btn:hover{transform:translateY(-2px);background:#6366f11a}.doc-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f1f5f9}.inline-delete-btn{background:transparent;border:none;color:#94a3b8;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.inline-delete-btn:hover{background:#fee2e2;color:#ef4444}.doc-info{display:flex;align-items:center;gap:12px;flex:1;overflow:hidden}.doc-text h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.help-page-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding-top:74px}.help-main{max-width:1100px;margin:0 auto;padding:40px 20px}.help-header{margin-bottom:40px}.back-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:#555;cursor:pointer;margin-bottom:20px;font-weight:500}.help-title-section h1{font-size:2.5rem;color:#2d3436;margin:10px 0}.help-title-section p{color:#636e72;font-size:1.1rem}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.help-card{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #1f26871a;transition:transform .2s}.help-card:hover{transform:translateY(-5px)}.help-card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.help-step-icon{color:#0984e3}.help-card h3{margin:0;color:#2d3436}.help-card p{line-height:1.6;color:#2d3436;font-size:.95rem}.help-link{display:flex;align-items:center;margin-top:15px;color:#0984e3;text-decoration:none;font-weight:600;font-size:.9rem}.support-footer{margin-top:60px;text-align:center;padding:40px;background:#fff6;border-radius:15px}
