@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Fraunces:ital,opsz,wght@1,9..144,500&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--brand:#3e4a2a;--brand-dark:#202a15;--brand-light:#e7ecda;--saffron:#be9346;--saffron-dark:#93711f;--saffron-light:#efe0bc;--turmeric:#be9346;--accent:#be9346;--gold-pale:#efe0bc;--olive-black:#171f10;--bg:#faf6ec;--surface:#fff;--border:#e3e0d0;--text:#2a2e20;--text-muted:#6e7460;--text-light:#a3ac96;--red:#c0392b;--red-light:#fdf0ef;--green-dark:#3e4a2a;--green:#3e4a2a;--radius:16px;--radius-sm:10px;--shadow:0 2px 16px rgba(46,56,32,.07);--shadow-md:0 8px 28px rgba(46,56,32,.12);--sidebar-w:240px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Manrope,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.app-shell,.sidebar{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--brand);flex-direction:column;position:fixed;top:0;left:0;z-index:100}.sidebar-logo{gap:.6rem;padding:1.6rem 1.25rem 1.25rem;border-bottom:1px solid hsla(0,0%,100%,.12);text-align:center}.logo-text,.sidebar-logo{display:flex;flex-direction:column;align-items:center}.logo-text{line-height:1.3}.logo-name{font-family:Fraunces,serif;font-size:1.75rem;color:#efe0bc;letter-spacing:.06em;font-weight:700}.logo-sub{font-size:.7rem;color:hsla(0,0%,100%,.65);letter-spacing:.14em;text-transform:uppercase}.sidebar-nav{padding:1rem .75rem;flex:1 1;display:flex;flex-direction:column;gap:.15rem}.sidebar-section{font-size:.68rem;font-weight:600;color:hsla(0,0%,100%,.35);text-transform:uppercase;letter-spacing:.1em;padding:.75rem .75rem .35rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:hsla(0,0%,100%,.65);transition:all .15s}.sidebar-link:hover{background:hsla(0,0%,100%,.1);color:#fff}.sidebar-link.active{background:hsla(0,0%,100%,.15);color:#fff;border-left:3px solid #efe0bc;padding-left:calc(.75rem - 3px)}.sidebar-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid hsla(0,0%,100%,.08);font-size:.7rem;color:hsla(0,0%,100%,.3);text-align:center;font-style:italic}.content-area{margin-left:var(--sidebar-w);flex:1 1;display:flex;flex-direction:column;min-height:100vh}.main{max-width:100%;margin:0 auto;padding:2.5rem 3rem 4rem;width:100%}.page-header{margin-bottom:2rem}.page-title{font-family:Fraunces,serif;font-size:2.2rem;font-weight:400;color:var(--text);letter-spacing:-.02em;line-height:1.2}.page-subtitle{margin-top:.35rem;font-size:1rem;color:var(--text-muted)}.welcome-banner{background:var(--brand);border-radius:var(--radius);padding:2.25rem 2.5rem;margin-bottom:1.75rem;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.welcome-banner:after{content:"ॐ";position:absolute;right:2.5rem;font-size:7rem;color:hsla(0,0%,100%,.07);font-family:serif;line-height:1}.welcome-text h2{font-family:Fraunces,serif;font-size:2rem;color:var(--turmeric);margin-bottom:.5rem}.welcome-text p{font-size:1rem;color:hsla(0,0%,100%,.65);max-width:480px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.75rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.75rem;box-shadow:var(--shadow);transition:box-shadow .2s,transform .15s;cursor:pointer}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-number{font-family:Fraunces,serif;font-size:2.75rem;color:var(--saffron);line-height:1.1}.stat-label{margin-top:.35rem;font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.35rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;border:none;transition:background .15s,transform .1s;white-space:nowrap;cursor:pointer}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-saffron{background:var(--saffron);color:#fff}.btn-saffron:hover:not(:disabled){background:var(--saffron-dark)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--red-light);color:var(--red);border:none}.btn-danger:hover:not(:disabled){background:#f9dedd}.btn-sm{padding:.35rem .9rem;font-size:.85rem}.btn-lg{padding:.85rem 2rem;font-size:1.05rem}.tag{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.02em}.tag-green{background:var(--brand-light);color:var(--green-dark)}.tag-amber{background:var(--saffron-light);color:var(--saffron-dark)}.tag-orange{background:#fff4e5;color:#b45309}.tag-red{background:var(--red-light);color:var(--red)}.tag-gray{background:#f1f3f0}.chip,.tag-gray{color:var(--text-muted)}.chip{display:inline-block;padding:.35rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip:hover{border-color:var(--saffron);color:var(--saffron-dark)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-label{font-size:.9rem;font-weight:600;color:var(--text)}.form-input,.form-select,.form-textarea{width:100%;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--saffron);box-shadow:0 0 0 3px rgba(193,127,58,.12)}.form-textarea{resize:vertical;min-height:80px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.col-span-2{grid-column:span 2}.alert{padding:.85rem 1.1rem;border-radius:var(--radius-sm);font-size:.95rem;margin-bottom:1rem}.alert-error{background:var(--red-light);border:1px solid #f5c6c2;color:var(--red)}.alert-success{background:var(--brand-light);border:1px solid #b6e6d6;color:var(--green-dark)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-muted);font-size:1rem}.dots{display:flex;gap:.4rem}.dots span{width:10px;height:10px;border-radius:50%;background:var(--saffron);animation:bounce 1.2s ease-in-out infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th{text-align:left;padding:.85rem 1rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border);white-space:nowrap;background:#fafaf8}td{padding:1rem;border-bottom:1px solid var(--border);vertical-align:middle;font-size:.95rem}tr:last-child td{border-bottom:none}tr:hover td{background:#fafaf8}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;width:120px}.progress-fill{height:100%;background:var(--saffron);border-radius:3px}.pose-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.1rem 1.35rem;margin-bottom:.75rem;transition:box-shadow .2s}.pose-card:hover{box-shadow:var(--shadow)}.pose-header{display:flex;align-items:center;justify-content:space-between}.pose-name{font-weight:600;font-size:1rem;color:var(--text)}.pose-duration-badge{font-size:.8rem;font-weight:600;color:var(--saffron-dark);background:var(--saffron-light);padding:.15rem .6rem;border-radius:999px}.pose-sanskrit{font-style:italic;font-size:.875rem;color:var(--text-muted);margin-top:.15rem}.pose-desc{font-size:.9rem;color:var(--text-muted);margin-top:.4rem;line-height:1.6}.pose-cues{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.pose-mod{margin-top:.5rem;padding:.4rem .75rem;background:var(--saffron-light);border-left:3px solid var(--saffron);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.875rem;color:var(--saffron-dark)}.phase-label{display:inline-block;background:var(--brand);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}.phase-meta{margin-left:.5rem;font-size:.85rem;color:var(--text-muted)}.safety-box{background:var(--red-light);border:1px solid #f5c6c2;border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1.25rem}.safety-box-title{font-weight:700;font-size:.85rem;color:var(--red);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}.safety-box ul{padding-left:1.1rem;font-size:.9rem;color:#7a2020;line-height:1.7}.student-avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-light);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0;border:2px solid var(--brand-light)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem;overflow-x:auto}.tab{padding:.7rem 1.25rem;font-size:.95rem;font-weight:500;color:var(--text-muted);margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:all .15s;background:none;border:none;border-bottom:2px solid transparent}.tab.active,.tab:hover{color:var(--brand)}.tab.active{border-bottom-color:var(--brand);font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media (max-width:768px){.mobile-nav{display:flex!important}.sidebar{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#171f10;padding:8px 0;z-index:100;justify-content:space-around;align-items:center;border-top:1px solid hsla(0,0%,100%,.1)}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;color:hsla(0,0%,100%,.6);font-size:10px;text-decoration:none;background:none;border:none;cursor:pointer;padding:4px 12px}.mobile-nav a.active{color:#efe0bc}.mobile-nav span.icon{font-size:20px}.content-area{margin-left:0}.main{padding:1.5rem 1.25rem 3rem}.page-title{font-size:1.75rem}.grid-2{grid-template-columns:1fr}.col-span-2{grid-column:span 1}.stats-row{grid-template-columns:1fr 1fr}}.nav-brand-text{font-family:Fraunces,serif;font-size:1.3rem;color:#3e4a2a}.nav-brand-sub{font-size:.75rem;font-weight:400;color:#93711f;margin-left:4px;font-family:Manrope,sans-serif}.student-page{margin-left:0!important}@media screen{.app-shell:not(:has(.sidebar)) .content-area{margin-left:0!important}}