@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=DM+Sans:wght@300;400;500&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--green-dark:#1a2e1a;--green:#3d7a35;--gold:#c9a84c;--gold-light:#e8c97a;--cream:#f7f3ec;--text:#1a1a1a;--text-muted:#5a5a5a;--border:#00000012}html,body,#root{min-height:100%}body{background:var(--cream);color:var(--text);font-family:DM Sans,sans-serif;overflow-x:hidden}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a2e1af7;border-bottom:1px solid #c9a84c33;justify-content:space-between;align-items:center;height:72px;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0}.logo{align-items:center;gap:12px;text-decoration:none;display:flex}.logo-mark{background:linear-gradient(135deg, var(--gold), var(--gold-light));width:40px;height:40px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:18px;font-weight:900;display:flex}.logo-text{color:#fff;font-family:Playfair Display,serif;font-size:20px;font-weight:700}.logo-text span{color:var(--gold)}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-links a,.nav-links button{color:#fffc;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links button:hover{color:var(--gold)}.nav-actions{align-items:center;gap:12px;display:flex}.nav-cta{background:var(--gold);color:var(--green-dark);cursor:pointer;border:none;border-radius:2px;padding:10px 22px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}.nav-cta:hover{background:var(--gold-light)}.btn-nav-ghost{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:2px;align-items:center;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:13px;text-decoration:none;transition:all .2s;display:inline-flex}.btn-nav-ghost:hover{color:#fff;border-color:#ffffff80}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:linear-gradient(160deg,#1a2e1af5 0%,#1a2e1abf 55%,#1a2e1a73 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='600'%3E%3Crect width='900' height='600' fill='%231a3a1a'/%3E%3Cellipse cx='650' cy='420' rx='380' ry='220' fill='%232d5a27' opacity='0.5'/%3E%3Cellipse cx='150' cy='280' rx='220' ry='130' fill='%233d7a35' opacity='0.3'/%3E%3Cpath d='M0 380 Q250 340 500 365 T900 345 L900 600 L0 600Z' fill='%233d7a35' opacity='0.45'/%3E%3Cpath d='M0 440 Q320 410 560 430 T900 415 L900 600 L0 600Z' fill='%232d5a27' opacity='0.65'/%3E%3C/svg%3E") 50%/cover no-repeat;position:absolute;inset:0}.hero-center{z-index:1;text-align:center;width:100%;max-width:1000px;padding:120px 40px 80px;position:relative}.hero-tag{border:1px solid var(--gold);color:var(--gold);letter-spacing:2px;text-transform:uppercase;border-radius:1px;margin-bottom:20px;padding:6px 16px;font-size:11px;display:inline-block}.hero-center h1{color:#fff;margin-bottom:16px;font-family:Playfair Display,serif;font-size:56px;font-weight:900;line-height:1.05}.hero-center h1 em{color:var(--gold);font-style:normal}.hero-center>p{color:#fff9;max-width:500px;margin:0 auto 44px;font-size:17px;font-weight:300;line-height:1.7}.hero-cards{text-align:left;grid-template-columns:1fr 1fr;gap:16px;display:grid}.hero-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:4px;padding:36px 32px;transition:background .3s}.hero-card:hover{background:#ffffff1c}.hero-card-dark{background:#c9a84c14;border-color:#c9a84c40}.hero-card-dark:hover{background:#c9a84c21}.hero-card-tag{letter-spacing:2px;text-transform:uppercase;color:#ffffff80;margin-bottom:12px;font-size:11px}.hero-card-tag.gold{color:var(--gold)}.hero-card h2{color:#fff;margin-bottom:12px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;line-height:1.2}.hero-card p{color:#ffffff80;margin-bottom:24px;font-size:14px;font-weight:300;line-height:1.7}.hero-card-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-btn-primary{background:var(--gold);color:var(--green-dark);cursor:pointer;border:none;border-radius:2px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .2s}.hero-btn-primary:hover{background:var(--gold-light)}.hero-btn-ghost{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:2px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .2s}.hero-btn-ghost:hover{color:#fff;border-color:#fff9}.hero-btn-outline{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #c9a84c80;border-radius:2px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .2s}.hero-btn-outline:hover{border-color:var(--gold);background:#c9a84c1a}.section{padding:88px 80px}.section-tag{letter-spacing:2.5px;text-transform:uppercase;color:var(--green);margin-bottom:14px;font-size:11px;font-weight:500}.section-title{color:var(--green-dark);margin-bottom:14px;font-family:Playfair Display,serif;font-size:44px;font-weight:700;line-height:1.1}.section-sub{color:var(--text-muted);max-width:520px;font-size:16px;font-weight:300;line-height:1.7}.hvernig-section{background:var(--green-dark)}.hvernig-section .section-tag{color:var(--gold)}.hvernig-section .section-title{color:#fff}.hvernig-section .section-sub{color:#ffffff8c}.skref-grid{border-top:1px solid #ffffff14;grid-template-columns:repeat(4,1fr);margin-top:52px;display:grid}.skref{border-right:1px solid #ffffff14;padding:36px 28px}.skref:last-child{border-right:none}.skref-num{color:#c9a84c2e;margin-bottom:14px;font-family:Playfair Display,serif;font-size:44px;font-weight:900;line-height:1}.skref-title{color:#fff;margin-bottom:9px;font-family:Playfair Display,serif;font-size:17px;font-weight:700}.skref-text{color:#ffffff7a;font-size:14px;font-weight:300;line-height:1.7}.hvernig-virkar{background:var(--cream)}.hvernig-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;display:grid}.hvernig-card{border:1px solid var(--border);background:#fff;padding:36px 28px;position:relative}.hvernig-num{color:var(--gold);opacity:.35;margin-bottom:20px;font-family:Playfair Display,serif;font-size:48px;font-weight:700;line-height:1}.hvernig-title{color:var(--green-dark);margin-bottom:10px;font-family:Playfair Display,serif;font-size:18px;font-weight:700}.hvernig-text{color:var(--text-muted);font-size:14px;font-weight:300;line-height:1.7}@media (width<=1000px){.hvernig-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.hvernig-grid{grid-template-columns:1fr}}.innifalid{background:#fff}.innifalid-layout{grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin-top:52px;display:grid}.feature-list{flex-direction:column;display:flex}.feature-item{border-bottom:1px solid #0000000f;align-items:flex-start;gap:18px;padding:22px 0;display:flex}.feature-item:first-child{border-top:1px solid #0000000f}.feature-icon{background:#3d7a3514;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.feature-title{color:var(--green-dark);margin-bottom:3px;font-size:15px;font-weight:500}.feature-desc{color:var(--text-muted);font-size:14px;font-weight:300;line-height:1.6}.side-quote{background:var(--green-dark);padding:52px 44px}.quote-mark{color:var(--gold);opacity:.28;margin-bottom:22px;font-family:Playfair Display,serif;font-size:72px;line-height:.6;display:block}.quote-text{color:#fff;margin-bottom:20px;font-family:Playfair Display,serif;font-size:21px;font-weight:400;line-height:1.6}.quote-sub{color:#ffffff61;letter-spacing:1px;font-size:13px}.cta-band{background:var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding:56px 80px;display:flex}.cta-band h2{color:var(--green-dark);font-family:Playfair Display,serif;font-size:34px;font-weight:700}.cta-band p{color:#1a2e1a99;margin-top:7px;font-size:15px;font-weight:300}.btn-dark-solid{background:var(--green-dark);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:2px;padding:15px 36px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:opacity .2s}.btn-dark-solid:hover{opacity:.85}footer{background:#0f1f0f;grid-template-columns:2fr 1fr 1fr;gap:44px;padding:52px 80px 28px;display:grid}.footer-logo{color:#fff;font-family:Playfair Display,serif;font-size:21px;font-weight:700}.footer-logo span{color:var(--gold)}.footer-desc{color:#ffffff52;margin-top:10px;font-size:14px;font-weight:300;line-height:1.7}.footer-col h4{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:10px}.footer-col ul{flex-direction:column;gap:9px;list-style:none;display:flex}.footer-col ul li a,.footer-col ul li button{color:#ffffff6b;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;text-decoration:none;transition:color .2s}.footer-col ul li a:hover,.footer-col ul li button:hover{color:var(--gold)}.footer-col ul li a.muted,.footer-col ul li button.muted{color:#ffffff2e;font-size:12px}.footer-bottom{border-top:1px solid #ffffff0d;grid-column:1/-1;justify-content:space-between;margin-top:12px;padding-top:24px;display:flex}.footer-bottom p{color:#ffffff2e;font-size:12px}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:72px;display:grid}.auth-side{background:var(--green-dark);flex-direction:column;justify-content:center;padding:80px 64px;display:flex}.auth-side-tag{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-size:11px}.auth-side h2{color:#fff;margin-bottom:20px;font-family:Playfair Display,serif;font-size:42px;font-weight:700;line-height:1.15}.auth-side p{color:#ffffff80;font-size:15px;font-weight:300;line-height:1.75}.auth-bullets{flex-direction:column;gap:16px;margin-top:40px;display:flex}.auth-bullet{align-items:flex-start;gap:14px;display:flex}.auth-bullet-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.auth-bullet p{color:#fff9;font-size:14px;font-weight:300;line-height:1.6}.auth-form-side{background:var(--cream);flex-direction:column;justify-content:center;padding:80px 64px;display:flex;overflow-y:auto}.auth-form-side h3{color:var(--green-dark);margin-bottom:8px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.auth-form-side>p{color:var(--text-muted);margin-bottom:36px;font-size:14px;font-weight:300}.form-group{margin-bottom:18px}.form-label{color:var(--green-dark);letter-spacing:.5px;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:500;display:block}.form-input{width:100%;color:var(--text);background:#fff;border:1px solid #00000026;border-radius:2px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s}.form-input:focus{border-color:var(--green)}.form-input::placeholder{color:#0000004d}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a5a5a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}textarea.form-input{resize:vertical;min-height:80px;font-family:DM Sans,sans-serif}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-error{color:#c0392b;min-height:18px;margin-top:6px;font-size:13px}.form-submit{background:var(--green-dark);color:#fff;cursor:pointer;border:none;border-radius:2px;width:100%;margin-top:4px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:opacity .2s}.form-submit:hover{opacity:.85}.form-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{color:var(--text-muted);margin-top:18px;font-size:14px}.auth-switch a{color:var(--green);cursor:pointer;font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.back-link{color:var(--text-muted);cursor:pointer;margin-top:14px;font-size:13px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--green)}.portal-wrap{min-height:100vh;padding-top:72px;display:flex}.portal-sidebar{background:var(--green-dark);flex-direction:column;flex-shrink:0;width:268px;height:calc(100vh - 72px);display:flex;position:sticky;top:72px;overflow-y:auto}.sidebar-profile{border-bottom:1px solid #ffffff12;padding:28px 24px 22px}.sidebar-avatar{background:linear-gradient(135deg, var(--gold), var(--gold-light));width:48px;height:48px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-family:Playfair Display,serif;font-size:18px;font-weight:700;display:flex}.sidebar-name{color:#fff;margin-bottom:3px;font-size:15px;font-weight:500}.sidebar-meta{color:#fff6;font-size:12px}.sidebar-badge{color:var(--gold);background:#c9a84c1f;border:1px solid #c9a84c40;border-radius:20px;margin-top:9px;padding:3px 10px;font-size:11px;display:inline-block}.sidebar-nav{flex:1;padding:16px 12px}.sidebar-item{cursor:pointer;color:#ffffff80;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:11px;width:100%;margin-bottom:2px;padding:10px 12px;font-family:inherit;font-size:14px;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover{color:#ffffffd9;background:#ffffff0f}.sidebar-item.active{color:var(--gold);background:#c9a84c1a}.sidebar-item .icon{text-align:center;width:18px;font-size:15px}.sidebar-unread{background:var(--gold);color:var(--green-dark);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff0f;padding:16px 24px}.sidebar-logout{color:#ffffff4d;cursor:pointer;background:0 0;border:none;padding:0;font-family:DM Sans,sans-serif;font-size:13px;transition:color .2s}.sidebar-logout:hover{color:#ffffffb3}.portal-main{flex:1;min-width:0;padding:44px 52px}.portal-header{margin-bottom:36px}.portal-header h1{color:var(--green-dark);margin-bottom:5px;font-family:Playfair Display,serif;font-size:32px;font-weight:700}.portal-header p{color:var(--text-muted);font-size:15px;font-weight:300}.tab-bar{border-bottom:2px solid var(--border);flex-wrap:wrap;margin-bottom:28px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:11px 22px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:color .2s;position:relative}.tab-btn:after{content:"";background:var(--green-dark);height:2px;transition:transform .2s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.tab-btn.active{color:var(--green-dark)}.tab-btn.active:after{transform:scaleX(1)}.discover-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px;display:grid}.discover-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:4px;align-items:center;gap:16px;width:100%;padding:22px 20px;font-family:inherit;transition:all .2s;display:flex}.discover-card:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:0 2px 12px #3d7a3514}.discover-card-icon{background:#3d7a350f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.discover-card-body{min-width:0}.discover-card-title{color:var(--green-dark);align-items:center;gap:7px;margin-bottom:3px;font-size:15px;font-weight:500;display:flex}.discover-card-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:300;overflow:hidden}.discover-badge{background:var(--gold);color:var(--green-dark);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}@media (width<=900px){.discover-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.discover-grid{grid-template-columns:1fr}}.card{border:1px solid var(--border);background:#fff;margin-bottom:20px;padding:28px}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{color:var(--green-dark);font-family:Playfair Display,serif;font-size:19px;font-weight:700}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px;font-weight:300}.empty-icon{opacity:.35;margin-bottom:10px;font-size:36px}.lesson-item{border-bottom:1px solid var(--border);gap:18px;padding:18px 0;display:flex}.lesson-item:last-child{border-bottom:none}.lesson-date{text-align:center;background:#3d7a3512;border-radius:2px;flex-shrink:0;align-self:flex-start;width:52px;padding:9px 6px}.lesson-date-day{color:var(--green-dark);font-family:Playfair Display,serif;font-size:20px;font-weight:700;line-height:1}.lesson-date-mo{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:10px}.lesson-body{flex:1;min-width:0}.lesson-title{color:var(--green-dark);margin-bottom:4px;font-size:15px;font-weight:500}.lesson-notes{color:var(--text-muted);font-size:14px;font-weight:300;line-height:1.6}.lesson-tags{flex-wrap:wrap;gap:8px;margin-top:7px;display:flex}.tag{color:var(--green);background:#3d7a3514;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:500}.tag.gold{color:#9a7015;background:#c9a84c1a}.tag.gold-solid{background:var(--gold);color:var(--green-dark)}.lesson-delete{color:#0000002e;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:flex-start;padding:4px 8px;font-size:15px;transition:color .2s}.lesson-delete:hover{color:#c0392b}.homework-box{border-left:2px solid var(--green);color:var(--text-muted);background:#3d7a350d;margin-top:8px;padding:9px 12px;font-size:13px;line-height:1.5}.video-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.video-card{border:1px solid var(--border);background:#fff;overflow:hidden}.video-thumb{aspect-ratio:16/9;background:var(--green-dark);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.video-thumb iframe{border:none;width:100%;height:100%}.video-thumb video{object-fit:cover;width:100%;height:100%}.video-thumb-icon{opacity:.3;font-size:36px}.video-body{padding:14px 16px}.video-title{color:var(--green-dark);margin-bottom:4px;font-size:14px;font-weight:500}.video-desc{color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.5}.video-date{color:#00000047;margin-top:6px;font-size:11px}.video-footer{align-items:center;gap:12px;padding:0 16px 14px;display:flex}.video-footer a{color:var(--green);font-size:12px;text-decoration:none}.video-footer a:hover{text-decoration:underline}.video-del{color:#00000040;cursor:pointer;background:0 0;border:none;font-family:DM Sans,sans-serif;font-size:12px}.video-del:hover{color:#c0392b}.source-toggle{border:1px solid var(--border);border-radius:2px;margin-bottom:14px;display:flex;overflow:hidden}.source-btn{cursor:pointer;color:var(--text-muted);background:#fff;border:none;flex:1;padding:9px;font-family:DM Sans,sans-serif;font-size:13px;transition:all .2s}.source-btn.active{background:var(--green-dark);color:#fff}.upload-area{text-align:center;cursor:pointer;border:2px dashed #3d7a354d;border-radius:2px;padding:24px;transition:all .2s}.upload-area:hover,.upload-area.drag{border-color:var(--green);background:#3d7a3508}.upload-icon{opacity:.45;margin-bottom:8px;font-size:26px}.upload-text{color:var(--text-muted);font-size:13px;font-weight:300}.upload-hint{color:#0000004d;margin-top:4px;font-size:11px}.upload-progress{background:var(--border);border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.upload-progress-bar{background:var(--green);height:100%;transition:width .3s}.upload-filename{color:var(--green);margin-top:6px;font-size:12px}.messages-wrap{flex-direction:column;display:flex}.messages-list{flex-direction:column;gap:14px;min-height:300px;max-height:460px;padding:16px 0;display:flex;overflow-y:auto}.msg{gap:10px;max-width:72%;display:flex}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg-av{width:34px;height:34px;color:var(--green);background:#3d7a351f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.msg.mine .msg-av{background:var(--green-dark);color:#ffffffbf}.msg-sender{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:500}.msg.mine .msg-sender{text-align:right}.msg-bubble{border:1px solid var(--border);background:#fff;border-radius:2px;padding:10px 14px}.msg.mine .msg-bubble{background:var(--green-dark);border-color:var(--green-dark)}.msg-text{color:var(--text);white-space:pre-wrap;font-size:14px;font-weight:300;line-height:1.6}.msg.mine .msg-text{color:#ffffffe6}.msg-time{color:#00000047;margin-top:5px;font-size:11px}.msg.mine .msg-time{color:#ffffff47}.msg-input-row{border-top:1px solid var(--border);gap:10px;margin-top:8px;padding-top:14px;display:flex}.msg-input{resize:none;border:1px solid #00000024;border-radius:2px;outline:none;flex:1;height:46px;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s}.msg-input:focus{border-color:var(--green)}.msg-send{background:var(--green-dark);color:#fff;cursor:pointer;border:none;border-radius:2px;padding:0 22px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:opacity .2s}.msg-send:hover{opacity:.85}.add-toggle{color:var(--green);cursor:pointer;background:0 0;border:1px dashed #3d7a354d;border-radius:2px;align-items:center;gap:8px;margin-bottom:18px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .2s;display:flex}.add-toggle:hover{border-color:var(--green);background:#3d7a350a}.add-form{background:#3d7a350a;border:1px solid #3d7a3521;margin-bottom:22px;padding:24px}.add-form-title{color:var(--green);letter-spacing:.5px;text-transform:uppercase;margin-bottom:18px;font-size:12px;font-weight:500}.add-form .form-group{margin-bottom:14px}.add-form .form-row{gap:12px;margin-bottom:14px}.add-form-footer{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.btn-save{background:var(--green-dark);color:#fff;cursor:pointer;border:none;border-radius:2px;padding:9px 26px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:opacity .2s}.btn-save:hover{opacity:.85}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:2px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .2s}.btn-cancel:hover{color:var(--text);border-color:#00000038}.teacher-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.t-stat{background:var(--green-dark);padding:26px 28px}.t-stat-num{color:var(--gold);margin-bottom:5px;font-family:Playfair Display,serif;font-size:38px;font-weight:700;line-height:1}.t-stat-label{color:#fff6;text-transform:uppercase;letter-spacing:1px;font-size:11px}.invite-box{background:#c9a84c12;border:1px solid #c9a84c40;margin-bottom:24px;padding:16px 20px}.invite-box-title{color:var(--green-dark);margin-bottom:6px;font-size:13px;font-weight:500}.invite-box-desc{color:var(--text-muted);margin-bottom:10px;font-size:13px;font-weight:300}.invite-row{align-items:center;gap:8px;display:flex}.invite-url{color:var(--green);background:#fff;border:1px solid #00000014;border-radius:2px;outline:none;flex:1;padding:8px 12px;font-family:monospace;font-size:12px}.invite-copy{background:var(--gold);color:var(--green-dark);cursor:pointer;white-space:nowrap;border:none;border-radius:2px;flex-shrink:0;padding:8px 18px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500}.invite-copy:hover{background:var(--gold-light)}.search-bar{margin-bottom:20px;position:relative}.search-bar input{border:1px solid var(--border);background:#fff;border-radius:2px;outline:none;width:100%;padding:11px 14px 11px 40px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s}.search-bar input:focus{border-color:var(--green)}.search-bar:before{content:"🔍";opacity:.35;pointer-events:none;font-size:13px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.student-list{flex-direction:column;gap:2px;display:flex}.student-row{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:18px;width:100%;padding:18px 24px;font-family:inherit;transition:border-color .2s;display:flex}.student-row:hover{border-color:var(--green)}.s-avatar{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-family:Playfair Display,serif;font-size:15px;font-weight:700;display:flex}.s-info{flex:1;min-width:0}.s-name{color:var(--green-dark);margin-bottom:2px;font-size:15px;font-weight:500}.s-meta{color:var(--text-muted);font-size:13px;font-weight:300}.s-stats{gap:24px;display:flex}.s-stat{text-align:center}.s-stat-num{color:var(--green-dark);font-family:Playfair Display,serif;font-size:18px;font-weight:700}.s-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.s-arrow{color:#0000002e;font-size:18px}.student-row:hover .s-arrow{color:var(--green)}.unread-pill{background:var(--gold);color:var(--green-dark);border-radius:10px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700}.detail-header{background:var(--green-dark);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:28px;padding:30px 36px;display:flex}.detail-avatar{background:linear-gradient(135deg, var(--gold), var(--gold-light));width:58px;height:58px;color:var(--green-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:22px;font-weight:700;display:flex}.detail-info{flex:1;min-width:0}.detail-name{color:#fff;margin-bottom:3px;font-family:Playfair Display,serif;font-size:24px;font-weight:700}.detail-meta{color:#ffffff73;font-size:13px}.detail-stats{flex-wrap:wrap;gap:28px;display:flex}.d-stat-num{color:var(--gold);text-align:center;font-family:Playfair Display,serif;font-size:26px;font-weight:700}.d-stat-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:10px}.breadcrumb{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-family:DM Sans,sans-serif;font-size:14px;transition:color .2s;display:flex}.breadcrumb:hover{color:var(--green)}.info-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.info-field label{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.info-field p{color:var(--text);font-size:15px}.goals-box{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.goals-box label{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.goals-box p{color:var(--text-muted);font-size:15px;font-weight:300;line-height:1.7}.week-card{border:1px solid var(--border);background:#fff;margin-bottom:16px;overflow:hidden}.week-card.current{border-color:#c9a84c66}.week-card-header{background:var(--green-dark);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.week-card.current .week-card-header{background:linear-gradient(135deg, var(--green-dark), #2d5a27)}.week-card-title{color:#fff;font-family:Playfair Display,serif;font-size:17px;font-weight:700}.week-card-date{color:#ffffff73;font-size:12px}.week-card-notes{color:var(--text-muted);border-bottom:1px solid var(--border);padding:14px 20px;font-size:14px;font-weight:300;line-height:1.6}.week-day{border-bottom:1px solid var(--border);gap:16px;padding:12px 20px;display:flex}.week-day:last-child{border-bottom:none}.week-day-name{color:var(--green);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;width:96px;padding-top:2px;font-size:11px;font-weight:500}.week-day-content{color:var(--text);font-size:14px;font-weight:300;line-height:1.6}.week-section-label{color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin:12px 0 10px;font-size:11px;font-weight:500}.week-section-label.muted{color:var(--text-muted);margin:24px 0 10px}.plan-day-input{flex-direction:column;gap:4px;display:flex}.plan-days-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px;display:grid}.toast{z-index:999;background:var(--green-dark);color:#fff;border-left:3px solid var(--gold);opacity:0;pointer-events:none;padding:13px 20px;font-size:14px;transition:all .3s;position:fixed;bottom:28px;right:28px;transform:translateY(10px)}.toast.show{opacity:1;transform:translateY(0)}.full-loader{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=900px){.nav{padding:0 20px}.nav-links{display:none}.auth-page{grid-template-columns:1fr}.auth-side{display:none}.auth-form-side{padding:60px 28px}.portal-sidebar{width:220px}.portal-main{padding:28px 24px}.teacher-stats{grid-template-columns:1fr 1fr}.form-row,.plan-days-grid,.info-grid{grid-template-columns:1fr}.innifalid-layout{grid-template-columns:1fr;gap:36px}.skref-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr;padding:36px 24px 24px}.cta-band{padding:36px 24px}.section{padding:56px 24px}.hero-cards{grid-template-columns:1fr}.hero-center h1{font-size:42px}.hero-center{padding:110px 24px 56px}}
