:root{--left-logo-image: url(/Roots%20with%20Reach%201.svg);--right-logo-image: url(/Reach-Logo-cropped.svg);--btn-bg: var(--btn-bg, url(/btn-bg.svg))}.landing-page{min-height:100vh;background:var(--app-bg, #f2f3f5);padding:32px 16px;display:grid;place-items:center}.split{position:relative;width:min(1100px,94vw);display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;padding:28px 8px}.split:before{content:"";position:absolute;left:50%;top:8%;transform:translate(-50%);width:2px;height:84%;background:#e5e7eb;border-radius:2px}.col{display:grid;justify-items:center;gap:16px}.logo{width:min(460px,42vw);height:clamp(120px,22vw,220px);background:center / contain no-repeat}.logo-left{background-image:var(--left-logo-image)}.logo-right{background-image:var(--right-logo-image)}.login-btn{width:220px;height:56px;appearance:none;border:0;border-radius:16px;background-image:var(--btn-bg);background-repeat:no-repeat;background-size:cover;background-position:center;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 6px 18px #0000001f;transition:transform .12s ease}.login-btn:hover{transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-label{font:700 16px/1.1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}.blurb{max-width:min(520px,90%);margin:0;font:500 15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;text-align:center}.blurb a{color:#0ea5e9;text-decoration:underline;font-weight:700}@media(max-width:820px){.split{grid-template-columns:1fr;gap:24px}.split:before{display:none}.blurb{text-align:center}}:root{--app-bg: #f2f3f5;--tree-image: url(/bg-tree.svg);--leaf-image: url(/leaf.png);--title-image: url(/rootswithreach.svg);--leaf-w: 350px;--leaf-h: 350px;--leaf-hit-scale: .6;--close-top: 35%;--close-left: 70%;--actions-top: 35%;--actions-left: 67%;--actions-icon: url(/moreicon.svg);--actions-icon-size: 22px;--ease: cubic-bezier(.2,.7,.2,1)}html,body,#root{height:100%}body{margin:0;background:var(--app-bg)}.dash{position:relative;width:100vw;height:100vh;overflow:hidden}.dash-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,1385px);height:min(90vh,1000px);background:var(--tree-image) center / contain no-repeat;opacity:.75;z-index:1;pointer-events:none}.dash-title{position:absolute;left:50%;top:calc(50% + min(90vh,1000px) / 3 + 16px);transform:translate(-50%);width:min(70vw,900px);height:120px;background:var(--title-image) center / contain no-repeat;z-index:2;pointer-events:none}.tree-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,1100px);height:min(90vh,800px);z-index:2;pointer-events:none}.leaf{--hover-scale: 1;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--rotate, 0deg)) scale(calc(var(--scale, 1) * var(--hover-scale)));width:calc(var(--leaf-w) * var(--leaf-hit-scale));height:calc(var(--leaf-h) * var(--leaf-hit-scale));border:0;background-color:transparent;padding:0;cursor:pointer;pointer-events:auto;overflow:visible;transition:transform .32s cubic-bezier(.34,1.56,.64,1),left .32s cubic-bezier(.34,1.56,.64,1),top .32s cubic-bezier(.34,1.56,.64,1),width .32s cubic-bezier(.34,1.56,.64,1),height .32s cubic-bezier(.34,1.56,.64,1),filter .1s ease;z-index:3;animation:leafGrowIn .6s cubic-bezier(.34,1.56,.64,1) backwards}.leaf:nth-child(1){animation-delay:.1s}.leaf:nth-child(2){animation-delay:.2s}.leaf:nth-child(3){animation-delay:.3s}.leaf:nth-child(4){animation-delay:.4s}.leaf:nth-child(5){animation-delay:.5s}.leaf:nth-child(6){animation-delay:.6s}.leaf:nth-child(7){animation-delay:.7s}.leaf:nth-child(8){animation-delay:.8s}.leaf:nth-child(9){animation-delay:.9s}@keyframes leafGrowIn{0%{transform:translate(-50%,-50%) rotate(var(--rotate, 0deg)) scale(0);opacity:0}to{transform:translate(-50%,-50%) rotate(var(--rotate, 0deg)) scale(calc(var(--scale, 1) * var(--hover-scale)));opacity:1}}.leaf:before{content:"";position:absolute;left:50%;top:50%;width:var(--leaf-w);height:var(--leaf-h);transform:translate(-50%,-50%);background:var(--leaf-image) center / contain no-repeat;pointer-events:none}.leaf.flip-y:before{transform:translate(-50%,-50%) scaleX(-1)}.leaf:hover,.leaf:focus-visible{--hover-scale: 1.06;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22));outline:none}.leaf-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-family:"M PLUS 1p",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:700;font-size:18px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);pointer-events:none}.leaf.expanded{--hover-scale: 4.5;left:50%;top:50%;width:var(--leaf-w);height:var(--leaf-h);z-index:99;transition:transform .32s cubic-bezier(.34,1.56,.64,1),left .32s cubic-bezier(.34,1.56,.64,1),top .32s cubic-bezier(.34,1.56,.64,1),width .32s cubic-bezier(.34,1.56,.64,1),height .32s cubic-bezier(.34,1.56,.64,1)}.leaf.expanded:hover,.leaf.expanded:focus-visible{--hover-scale: 4.5}.leaf.expanded .leaf-label{transform:translate(-50%,-115%);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.close-global{position:fixed;top:var(--close-top);left:var(--close-left);transform:translate(-50%,-50%);width:36px;height:36px;appearance:none;background:#000000a6;border:2px solid transparent;border-radius:999px;padding:0;font-size:24px;line-height:1;color:#fff;cursor:pointer;z-index:200;box-shadow:0 6px 16px #0000;transition:border-color .2s ease,background .2s ease,transform .14s var(--ease)}.close-global:hover{transform:translate(-50%,-50%) scale(1.06);background:transparent;border-color:#6b3a17;color:#6b3a17}.close-global:active{transform:translate(-50%,-50%) scale(.98)}.actions-global{position:fixed;top:var(--actions-top);left:var(--actions-left);transform:translate(-50%,-50%);width:36px;height:36px;appearance:none;background:#000000a6;border:2px solid transparent;border-radius:999px;padding:0;cursor:pointer;z-index:205;box-shadow:0 6px 16px #0000;transition:border-color .2s ease,background .2s ease,transform .14s var(--ease);display:grid;place-items:center;font-size:0;color:transparent}.actions-global:before{content:"";width:var(--actions-icon-size);height:var(--actions-icon-size);background:var(--actions-icon) center / contain no-repeat;filter:brightness(0) invert(1);transition:filter .2s ease}.actions-global:hover{transform:translate(-50%,-50%) scale(1.06);background:transparent;border-color:#6b3a17}.actions-global:hover:before{filter:brightness(1) invert(0);background-image:url(/moreicon.svg)}.actions-global:active{transform:translate(-50%,-50%) scale(.98)}.actions-dropdown{position:fixed;top:var(--actions-top);left:var(--actions-left);transform:translate(-50%,calc(-50% + 32px));min-width:160px;background:transparent;border-radius:12px;box-shadow:none;z-index:210;padding:0}.action-item{appearance:none;border:2px solid transparent;background-image:url(/btn-bg.svg);background-repeat:no-repeat;background-size:cover;background-position:center;background-color:transparent;width:100%;text-align:left;padding:10px 12px;border-radius:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;font-weight:700;font-size:14px;cursor:pointer;color:#fff;transition:border-color .2s ease,color .2s ease;box-shadow:0 8px 24px #0003}.action-item:hover{background-image:none;background-color:transparent;border-color:#6b3a17;color:#6b3a17;box-shadow:0 12px 36px #6b3a174d}.action-item.danger{color:#fff}.leaf-body{position:absolute;left:50%;top:58%;transform:translate(-50%,-10%);width:70%;min-height:36px;pointer-events:none;opacity:1}@media(max-width:640px){.tree-stage,.dash-bg{width:92vw;height:auto}.tree-stage{--leaf-w: 200px;--leaf-h: 200px;--leaf-hit-scale: .7}.dash-title{width:min(80vw,700px);height:96px;top:calc(50% + min(90vh,1000px)/2 + 12px)}}.picker-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.picker-filters .field{display:grid;gap:6px}.picker-filters .field input{width:100%}@media(max-width:780px){.picker-filters{grid-template-columns:1fr}}.leaf-action-btn{appearance:none;border:2px solid transparent;background-image:url(/btn-bg.svg);background-repeat:no-repeat;background-size:cover;background-position:center;background-color:transparent;padding:12px 24px;border-radius:12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);cursor:pointer;box-shadow:0 8px 24px #0003;transition:border-color .2s ease,color .2s ease,text-shadow .2s ease,box-shadow .2s ease,transform .2s ease;position:relative}.leaf-action-btn:hover{background-image:none;border-color:#6b3a17;color:#6b3a17;text-shadow:none;box-shadow:0 12px 36px #6b3a174d;transform:translate(-50%,-52%)!important}.leaf-action-btn:active{transform:translate(-50%,-50%) scale(.96)!important;box-shadow:0 6px 16px #6b3a1740}:root{--students-title-image: url(/studentlist.svg);--btn-bg: url(/btn-bg.svg);--upload-icon: url(/uploadicon.svg);--add-icon: url(/addicon.svg);--delete-icon: url(/deleteicon.svg);--check-icon: url(/checkicon.svg)}.students-page{min-height:100vh;padding:24px 16px 56px}.students-title{width:min(60vw,680px);height:100px;margin:0 auto 16px;background:var(--students-title-image) center / contain no-repeat}.filters{width:min(92vw,1100px);margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.field input,.field select{appearance:none;background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;font:500 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;width:100%;box-sizing:border-box}.field input:focus,.field select:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #3b82f626}.sheet-wrap{position:relative;width:min(92vw,1100px);margin:10px auto 0}.sheet{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 10px 30px #0000000f;overflow:hidden}.sheet.managing-overflow{overflow:visible!important}.grid{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff}.grid tbody,.grid tbody tr{background:#fff}.grid thead th{position:sticky;top:0;z-index:5;background:#f8fafc;font:700 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;border-bottom:1px solid #E5E7EB;padding:10px 12px}.grid tbody td{font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;border-bottom:1px solid #F1F5F9;padding:10px 12px;word-break:break-word}.grid th.checkbox,.grid td.checkbox{width:48px;text-align:center}.grid tbody tr:last-child td{border-bottom:0}.grid tbody tr.empty td{text-align:center;color:#6b7280;padding:28px 12px}.sheet-actions{position:fixed;top:50%;right:40px;transform:translateY(-50%);display:grid;gap:12px;z-index:25}.refresh-btn-corner{position:absolute;right:12px;bottom:-60px;z-index:25}.action-btn{width:180px!important;height:48px!important;appearance:none;border:0!important;border-radius:14px;background-color:#6b3a17!important;background-image:var(--btn-bg)!important;background-repeat:no-repeat;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff!important;cursor:pointer;box-shadow:0 8px 24px #00000026;transition:transform .12s ease}.action-btn:hover{transform:translateY(-2px);border-color:transparent!important;box-shadow:0 12px 32px #0003}.action-btn:active{transform:translateY(0)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.action-label{font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.5)}.action-icon-right{width:28px;height:28px;background-repeat:no-repeat;background-position:center;background-size:contain;flex-shrink:0}.action-btn.upload .action-icon-right{background-image:var(--upload-icon)}.action-btn.add .action-icon-right,.action-btn.batch .action-icon-right{background-image:var(--add-icon)}.action-btn.delete .action-icon-right{background-image:var(--delete-icon)}.action-btn.group .action-icon-right{background-image:var(--add-icon);transition:transform .2s ease}.action-btn.group .action-icon-right.rotated{transform:rotate(180deg)}.groups-dropdown-wrapper{position:relative;display:inline-block}.groups-dropdown-wrapper .action-btn{display:block;width:180px}.groups-dropdown-menu{position:absolute;top:46px;left:0;width:180px;background-color:#6b3a17;background-image:var(--btn-bg);background-repeat:no-repeat;background-size:cover;background-position:center;border-radius:0 0 14px 14px;box-shadow:0 12px 32px #0003;z-index:100;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);animation:slideDownReveal .2s cubic-bezier(.4,0,.2,1)}@keyframes slideDownReveal{0%{opacity:0;clip-path:polygon(0 0,100% 0,100% 0,0 0)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}.groups-dropdown-item{appearance:none;border:0;background:transparent;width:100%;text-align:left;padding:14px 24px;font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);cursor:pointer;transition:background-color .15s ease,padding-left .15s ease;border-top:1px solid rgba(255,255,255,.1)}.groups-dropdown-item:first-child{border-top:none;padding-top:16px}.groups-dropdown-item:last-child{padding-bottom:16px}.groups-dropdown-item:hover{background-color:#ffffff1a;padding-left:28px}.groups-dropdown-item:active{background-color:#ffffff26}@media(max-width:1200px){.sheet-actions{right:20px}}@media(max-width:780px){.filters{grid-template-columns:1fr 1fr}.sheet-actions{position:static;transform:none;margin:12px auto 0;grid-auto-flow:column;justify-content:center;gap:8px}.action-btn{width:160px!important;height:44px!important}}@media(max-width:540px){.filters{grid-template-columns:1fr}.sheet-actions{grid-auto-flow:row;width:100%;max-width:400px}.action-btn{width:100%!important;height:44px!important}}.pagination-controls{display:flex;justify-content:flex-start;align-items:center;padding:12px 16px;width:100%;margin:0;background:#fff;border-top:1px solid #E5E7EB;border-radius:0 0 14px 14px;gap:12px;box-sizing:border-box;flex-wrap:wrap}.pagination-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pagination-left label{font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111}.pagination-left select{appearance:none;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:6px 10px;font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;cursor:pointer;box-sizing:border-box}.pagination-left select:hover{border-color:#94a3b8}.pagination-left button{appearance:none;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:6px 14px;font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;cursor:pointer;transition:all .15s ease;box-sizing:border-box}.pagination-left button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.pagination-left button:disabled{opacity:.4;cursor:not-allowed}.page-info{font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;white-space:nowrap}.pagination-right{font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#6b7280}@media(max-width:780px){.pagination-controls{flex-direction:column;align-items:stretch}.pagination-left{flex-wrap:wrap;justify-content:center}.pagination-right{text-align:center}}.students-modal-overlay{position:fixed;inset:0;background:#00000040;z-index:300}.students-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,560px);background:#f2f3f5;border:1px solid #E5E7EB;border-radius:16px;box-shadow:0 20px 50px #0000002e;z-index:310;padding:18px 18px 16px}.students-modal h3{margin:0 0 12px;font:800 18px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111}.modal-fields{display:grid;gap:12px;margin-bottom:14px}.students-modal .field label{font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111}.students-modal .field input{appearance:none;width:100%;background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;font:500 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none}.students-modal .field input:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #3b82f626}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn-secondary,.btn-primary{appearance:none;border:0;border-radius:10px;padding:10px 14px;font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;cursor:pointer}.btn-secondary{background:#fff;color:#111}.btn-primary{background:#111827;color:#fff}.btn-primary:hover{filter:brightness(1.15)}@keyframes slideInFromRight{0%{transform:translate(-48px)}to{transform:translate(0)}}.remove-student-btn:hover{transform:scale(1.15)!important;background:#dc2626!important}.modal-overlay{position:fixed;inset:0;background:#00000059;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #E5E7EB;border-radius:16px;box-shadow:0 20px 60px #00000040;padding:28px 24px 24px;z-index:1001;max-width:98vw;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.modal h3{margin:0 0 20px;font:800 20px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827}.modal-body{color:#374151;font-size:14px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #F1F5F9}.modal .field{display:grid;gap:8px;margin-bottom:16px}.modal .field label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827}.modal .field input,.modal .field textarea,.modal .field select{appearance:none;width:100%;box-sizing:border-box;background:#fff;border:1px solid #D1D5DB;border-radius:10px;padding:11px 13px;font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.modal .field input:focus,.modal .field textarea:focus,.modal .field select:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #3b82f61f}.modal .field textarea{resize:vertical;min-height:120px}.modal-actions .btn-secondary,.modal-actions .btn-primary{appearance:none;border:0;border-radius:10px;padding:11px 20px;font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;cursor:pointer;transition:all .15s ease;outline:none}.modal-actions .btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #D1D5DB}.modal-actions .btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.modal-actions .btn-primary{background:#111827;color:#fff;box-shadow:0 2px 8px #00000026}.modal-actions .btn-primary:hover:not(:disabled){background:#1f2937;box-shadow:0 4px 12px #0003}.modal-actions .btn-primary:disabled,.modal-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-width:320px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{overflow-x:hidden;max-width:100vw}@media(max-width:768px){h1{font-size:2em!important;line-height:1.2}h2{font-size:1.5em!important;line-height:1.3}h3{font-size:1.25em!important}h4,h5,h6{font-size:1.1em!important}body{font-size:14px}}@media(max-width:480px){h1{font-size:1.75em!important}h2{font-size:1.35em!important}body{font-size:13px}}.container,.content-wrapper,.main-content{padding:1rem;max-width:100%}@media(max-width:768px){.container,.content-wrapper,.main-content{padding:.75rem}}@media(max-width:480px){.container,.content-wrapper,.main-content{padding:.5rem}}@media(max-width:768px){table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}@media(max-width:480px){table.stack-mobile{display:block;white-space:normal}table.stack-mobile thead{display:none}table.stack-mobile tbody,table.stack-mobile tr,table.stack-mobile td{display:block;width:100%}table.stack-mobile tr{margin-bottom:1rem;border:1px solid #ddd;border-radius:8px;padding:.5rem}table.stack-mobile td{text-align:right;padding:.5rem;position:relative;padding-left:50%}table.stack-mobile td:before{content:attr(data-label);position:absolute;left:.5rem;font-weight:700;text-align:left}}}@media(max-width:768px){button,.btn,input[type=submit],input[type=button]{padding:.5rem 1rem;font-size:14px;min-height:44px;min-width:44px}.button-group{flex-direction:column;gap:.5rem}.button-group button{width:100%}}@media(max-width:768px){input,textarea,select{font-size:16px!important;padding:.75rem;min-height:44px}label{font-size:14px;margin-bottom:.5rem;display:block}form .form-row,form .form-group{flex-direction:column}form .form-row>*,form .form-group>*{width:100%!important;margin-bottom:.75rem}}@media(max-width:768px){.modal,.modal-content,[class*=modal]{width:95vw!important;max-width:95vw!important;margin:.5rem auto;max-height:90vh;overflow-y:auto}.modal-header,.modal-body,.modal-footer{padding:1rem}}@media(max-width:768px){aside,nav,.sidebar,[class*=sidebar]{width:85vw!important;max-width:320px!important}nav a,nav button,.sidebar a,.sidebar button{min-height:44px;padding:.75rem 1rem;display:flex;align-items:center}}@media(max-width:768px){.grid,[class*=grid-]{grid-template-columns:1fr!important;gap:1rem}.flex-row{flex-direction:column}.flex-row>*{width:100%}}img,video,iframe{max-width:100%;height:auto}@media(max-width:768px){img,video{width:100%}}@media(max-width:768px){a,button,input,select,textarea,[role=button],[onclick]{min-height:44px;min-width:44px}.clickable,.interactive{padding:.5rem}}.hide-mobile{display:block}@media(max-width:768px){.hide-mobile{display:none!important}}.show-mobile{display:none}@media(max-width:768px){.show-mobile{display:block!important}}@media(max-width:768px){.section,.card,.panel{padding:1rem;margin-bottom:1rem}ul,ol{padding-left:1.5rem}li{margin-bottom:.5rem}}@media(max-width:768px){.scrollable,.overflow-auto{-webkit-overflow-scrolling:touch;overflow-x:auto}}.mobile-orientation-warning{display:none;position:fixed;inset:0;background:#000000f2;color:#fff;z-index:9999;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center}.mobile-orientation-warning.show{display:flex}.orientation-icon{font-size:4rem;margin-bottom:1.5rem;animation:rotate-pulse 2s ease-in-out infinite}@keyframes rotate-pulse{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-90deg) scale(1.1)}75%{transform:rotate(-90deg) scale(.9)}}.mobile-orientation-warning h2{font-size:1.5rem;margin-bottom:1rem}.mobile-orientation-warning p{font-size:1rem;opacity:.8;max-width:300px}@media(max-width:768px)and (orientation:portrait){.mobile-orientation-warning.active{display:flex}}@media(max-width:768px){@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@media(max-width:768px){.dash{min-height:100vh;overflow-y:auto}.tree-stage{width:95vw!important;height:auto!important;min-height:80vh}.square-btn{--btn-w: 60px !important;--btn-h: 60px !important;padding:.5rem!important}.square-btn .btn-label{font-size:10px!important}.menu-btn{top:1rem!important;left:1rem!important}.account-btn{top:1rem!important;right:1rem!important}}@media(max-width:768px){.student-list-container{padding:.5rem}.student-list-table{font-size:12px}.filter-bar{flex-direction:column;gap:.5rem}.filter-bar input,.filter-bar select{width:100%}}@media(max-width:768px){.notebook-entry{padding:.75rem}.notebook-editor{min-height:200px}}@media(max-width:768px){.profile-container{padding:1rem}.profile-avatar{width:80px!important;height:80px!important}.profile-fields{gap:.75rem}}@media(max-width:768px){.messaging-container{flex-direction:column}.conversation-list{width:100%!important;max-height:200px;overflow-y:auto}.message-thread{width:100%!important}}@media(max-width:768px){.report-filters{flex-direction:column}.report-chart{overflow-x:auto}.report-table{font-size:11px}}@media print{.mobile-orientation-warning,.sidebar,nav,button,.hide-print{display:none!important}body{font-size:12pt;color:#000;background:#fff}a{color:#000;text-decoration:underline}}.tooltip-label{position:relative;cursor:pointer}.tooltip-label .tooltip-text{visibility:hidden;opacity:0;width:220px;background:#222;color:#fff;text-align:left;border-radius:4px;padding:6px 10px;position:absolute;z-index:1002;bottom:120%;left:0;transition:opacity .2s;font-size:.95em}.tooltip-label:hover .tooltip-text{visibility:visible;opacity:1}:root{--notebook-title-image: url(/Notebook.svg);--prev-icon: url(/backward-arrow.svg);--next-icon: url(/forward-arrow.svg);--save-icon: url(/btn-bg.svg);--last-icon: url(/bg-tree.svg);--check-icon: url(/checkicon.svg);--paper-bg: #fff;--paper-line: #e5e7eb;--paper-margin: 28px;--note-line-height: 28px}.notebook-page{min-height:100vh;background:var(--app-bg, #f2f3f5);padding:24px 16px 40px}.notebook-title{width:min(70vw,820px);height:100px;margin:0 auto 16px;background:var(--notebook-title-image, var(--coach-title-image, none)) center / contain no-repeat}.notebook-container{width:min(96vw,1400px);margin:0 auto;display:grid;grid-template-columns:1fr 280px;gap:12px;align-items:start}.notebook-panel{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 4px 12px #0000000f;overflow:hidden;position:sticky;top:20px;max-height:calc(100vh - 200px);display:flex;flex-direction:column}.panel-tabs{display:flex;border-bottom:1px solid #E5E7EB;background:#f8fafc}.tab-btn{flex:1;padding:12px;border:0;background:transparent;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b;transition:color .12s,background .12s;position:relative}.tab-btn.active{color:#111;background:#fff}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#3b82f6}.panel-content{flex:1;overflow-y:auto;padding:16px}.add-notebook-btn{width:100%;padding:10px;border:1px dashed #cbd5e1;border-radius:8px;background:transparent;cursor:pointer;font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#475569;transition:background .12s,border-color .12s;margin-bottom:12px}.add-notebook-btn:hover{background:#f1f5f9;border-color:#94a3b8}.notebook-list,.bookmark-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.notebook-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #E5E7EB;transition:background .12s,border-color .12s}.notebook-item.active{background:#eef2ff;border-color:#c7d2fe}.notebook-item:hover{background:#f8fafc;border-color:#cbd5e1}.notebook-name{flex:1;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-name-input{flex:1;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none}.notebook-actions{display:flex;gap:4px}.rename-btn,.delete-btn{border:0;background:transparent;cursor:pointer;font-size:16px;padding:4px 8px;color:#64748b;transition:color .12s}.rename-btn:hover{color:#3b82f6}.delete-btn:hover{color:#ef4444}.bookmark-item{padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #E5E7EB;cursor:pointer;transition:background .12s,border-color .12s}.bookmark-item:hover{background:#fef3c7;border-color:#fbbf24}.bookmark-label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;margin-bottom:4px}.bookmark-notebook{font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b}.empty-message{text-align:center;color:#94a3b8;font:500 14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;padding:20px}.notebook-shell{position:relative;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:12px;min-width:0;padding-right:90px}.page-btn{width:60px;height:60px;border:0;border-radius:999px;background:#0009;cursor:pointer;transition:transform .12s ease,background .12s ease,opacity .12s ease;box-shadow:0 6px 16px #0003}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-btn:hover{transform:translateY(-1px);background:#000000bf}.page-btn:active{transform:translateY(0)}.page-btn.prev{background-image:var(--prev-icon);background-position:center;background-repeat:no-repeat;background-size:56%}.page-btn.next{background-image:var(--next-icon);background-position:center;background-repeat:no-repeat;background-size:56%}.page-btn.prev:disabled{background-image:var(--prev-disabled-icon, var(--prev-icon));filter:grayscale(.15)}.page-btn.next:disabled{background-image:var(--last-icon, var(--next-disabled-icon, var(--next-icon)));filter:grayscale(.15)}.notebook-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 10px 30px #0000000f;padding:14px;display:grid;gap:12px;position:relative}.notebook-card-wrapper{position:relative;width:100%;min-height:700px}.card-header{position:absolute;top:8px;right:14px;z-index:5}.controls-row{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(180px,.4fr);gap:10px}.field{display:grid;gap:6px}.field label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111}.title-input{appearance:none;width:100%;max-width:420px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;height:44px;box-sizing:border-box}.title-input:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #3b82f626}.tags-field,.tags-input{position:relative}.tags-input .chips{display:flex;flex-wrap:wrap;gap:6px;background:none;border:none;border-radius:0;padding:0}.tags-input .chips input::placeholder{color:#64748b;font-weight:500;opacity:1}.tags-input .chips input{appearance:none;width:100%;max-width:420px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;height:44px;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.tags-input .chips input:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #3b82f626}.chip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:999px;padding:6px 10px;font:600 12px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.chip-x{appearance:none;border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:inherit}.tags-suggest{position:absolute;left:0;right:0;margin-top:6px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 10px 30px #0000001f;max-height:220px;overflow:auto;z-index:10}.suggest-item{width:100%;display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:0;background:transparent;cursor:pointer;font-weight:600}.suggest-item:hover{background:#f8fafc}.s-id{color:#64748b;font-weight:700;font-size:12px}.paper{border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;background:linear-gradient(transparent var(--paper-margin),rgba(0,0,0,0) var(--paper-margin)) top left / 100% var(--paper-margin) no-repeat,repeating-linear-gradient(to bottom,var(--paper-line),var(--paper-line) 1px,transparent 1px,transparent var(--note-line-height)),var(--paper-bg)}.note{width:100%;min-height:min(60vh,620px);box-sizing:border-box;border:0;outline:none;resize:vertical;background:transparent;padding:calc(var(--paper-margin) + 8px) 12px 12px 16px;font:500 15px/var(--note-line-height) ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;overflow-y:auto;overflow-x:hidden}.bottom-row{display:flex;justify-content:flex-end;align-items:center;gap:10px}.bookmark-toggle{border:0;background:transparent;cursor:pointer;font-size:28px;color:#cbd5e1;transition:color .12s,transform .12s;padding:4px 8px;line-height:1}.bookmark-toggle:hover{color:#fbbf24;transform:scale(1.1)}.bookmark-toggle.active{color:#fbbf24}.bookmark-toggle:disabled{opacity:.5;cursor:not-allowed}.delete-btn-page{padding:10px 20px;border:1px solid #ef4444;border-radius:10px;background:#fff;color:#ef4444;cursor:pointer;font:600 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s,transform .12s;box-shadow:0 2px 6px #00000014}.delete-btn-page:hover{background:#fef2f2;transform:translateY(-1px)}.delete-btn-page:active{transform:translateY(0)}.delete-btn-page:disabled{opacity:.4;cursor:not-allowed;transform:none}.save-btn{padding:10px 20px;border:0;border-radius:10px;background:var(--save-icon) center / cover no-repeat;color:#fff;cursor:pointer;font:600 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s,transform .12s;box-shadow:0 6px 18px #0000001f;display:inline-flex;align-items:center;justify-content:center}.save-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.save-btn:active{transform:translateY(0)}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-label{font:700 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}.save-indicator{position:absolute;right:-80px;bottom:0;font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#059669;opacity:0;transition:opacity .24s ease;white-space:nowrap}.save-indicator.show{opacity:1}.notebook-progress-spot{position:fixed;right:20px;bottom:20px;z-index:350}.notebook-loader{width:50px;height:50px;border:8px solid #f3f3f3;border-top:8px solid #000000;border-radius:50%;animation:spin 1s linear infinite}.notebook-success-check{width:60px;height:60px;background:var(--check-icon) center/contain no-repeat}.page-counter{padding:6px 10px;border-radius:8px;background:var(--app-bg, #f2f3f5);color:#111827;border:1px solid #E5E7EB;font:700 12px/1 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;box-shadow:0 2px 6px #0000000f;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .12s,border-color .12s}.page-counter:hover{background:#fff;border-color:#cbd5e1}.page-jump{display:flex;gap:4px;padding:4px;border-radius:8px;background:#fff;border:1px solid #cbd5e1;box-shadow:0 4px 12px #0000001a}.jump-input{width:70px;padding:4px 6px;border:1px solid #E5E7EB;border-radius:6px;font:600 12px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none}.jump-input:focus{border-color:#94a3b8}.jump-go-btn{padding:4px 10px;border:0;border-radius:6px;background:#3b82f6;color:#fff;cursor:pointer;font:600 12px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s}.jump-go-btn:hover{background:#2563eb}@media(max-width:900px){.notebook-container{grid-template-columns:1fr}.notebook-panel{position:static;max-height:400px}.notebook-shell{grid-template-columns:48px 1fr 48px}.page-btn{width:48px;height:48px;background-size:58%}.controls-row{grid-template-columns:1fr}}.messaging-page{min-height:100vh;background:var(--app-bg, #f2f3f5);padding:24px 16px 40px}.messaging-header{max-width:1200px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:center}.messaging-header h1{font:800 32px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin:0}.compose-btn{padding:12px 24px;border:0;border-radius:10px;background:#3b82f6;color:#fff;cursor:pointer;font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;box-shadow:0 4px 12px #3b82f64d;transition:transform .12s,background .12s}.compose-btn:hover{background:#2563eb;transform:translateY(-1px)}.compose-btn:active{transform:translateY(0)}.messaging-tabs{max-width:1200px;margin:0 auto 24px;display:flex;gap:8px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.messaging-tabs .tab{flex:1;padding:12px 16px;border:0;border-radius:8px;background:transparent;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b;transition:background .12s,color .12s;position:relative}.messaging-tabs .tab:hover{background:#f8fafc;color:#111827}.messaging-tabs .tab.active{background:#3b82f6;color:#fff}.messaging-tabs .tab .badge{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:10px;background:#ef4444;color:#fff;font-size:11px;font-weight:700}.messaging-content{max-width:1200px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 12px #0000000f;padding:24px;min-height:600px}.announcements-section{display:flex;flex-direction:column;gap:16px}.announcement-actions{display:flex;justify-content:flex-end}.new-announcement-btn{padding:10px 20px;border:1px solid #3b82f6;border-radius:8px;background:#fff;color:#3b82f6;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s,color .12s}.new-announcement-btn:hover{background:#eff6ff}.announcement-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.announcement-title-input{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;box-sizing:border-box}.announcement-title-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.announcement-message-input{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font:500 14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;resize:vertical;box-sizing:border-box}.announcement-message-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.target-audience-selector{display:flex;flex-direction:column;gap:8px}.target-audience-selector>label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .12s;background:#fff}.radio-option:hover{background:#f8fafc;border-color:#cbd5e1}.radio-option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.radio-option input[type=radio]:checked+span{font-weight:600;color:#3b82f6}.radio-option span{font:500 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.target-audience-select{flex:1;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font:500 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;background:#fff;cursor:pointer;color:#111827}.target-audience-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.target-audience-badge{font-weight:600;color:#3b82f6;background:#eff6ff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:4px}.form-actions{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{padding:10px 20px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s}.btn-cancel:hover{background:#f8fafc}.btn-post{padding:10px 20px;border:0;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s}.btn-post:hover{background:#2563eb}.btn-post:disabled{opacity:.5;cursor:not-allowed}.announcements-list{display:flex;flex-direction:column;gap:16px}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:box-shadow .12s}.announcement-card.pinned{background:#fffbeb;border-color:#fbbf24}.announcement-card:hover{box-shadow:0 4px 12px #00000014}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.announcement-meta{flex:1}.pin-badge{display:inline-block;padding:4px 8px;border-radius:6px;background:#fef3c7;color:#92400e;font:600 11px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;margin-bottom:8px}.announcement-meta h3{font:700 18px/1.3 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin:0 0 6px}.announcement-author{font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b;margin:0}.announcement-actions-menu{display:flex;gap:4px}.action-btn{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;transition:background .12s,border-color .12s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5}.announcement-message{font:500 14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151;margin:0;white-space:pre-wrap}.messages-section{min-height:500px}.messages-list{display:flex;flex-direction:column;gap:8px}.message-item{padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:background .12s,box-shadow .12s}.message-item:hover{background:#f8fafc;box-shadow:0 2px 8px #0000000f}.message-item.unread{background:#eff6ff;border-color:#93c5fd}.message-item.unread:hover{background:#dbeafe}.message-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.message-from{font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827}.message-time{font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b}.message-subject{font:600 15px/1.3 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151;margin-bottom:4px}.message-preview{font:500 13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-detail{display:flex;flex-direction:column;gap:16px}.back-btn{padding:8px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;align-self:flex-start;transition:background .12s}.back-btn:hover{background:#f8fafc}.message-header h2{font:700 24px/1.3 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin:0 0 8px}.message-meta{display:flex;gap:16px;align-items:center}.message-meta .from{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b}.message-meta .time{font:500 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#9ca3af}.message-body{padding:20px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;font:500 14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151;white-space:pre-wrap;min-height:200px}.message-actions{display:flex;justify-content:flex-end}.btn-delete{padding:10px 20px;border:1px solid #ef4444;border-radius:8px;background:#fff;color:#ef4444;cursor:pointer;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s}.btn-delete:hover{background:#fef2f2}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.compose-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,600px);max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.compose-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.compose-header h2{font:700 20px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin:0}.close-btn{width:32px;height:32px;border:0;border-radius:6px;background:transparent;cursor:pointer;font-size:24px;color:#64748b;transition:background .12s,color .12s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#f8fafc;color:#111827}.compose-form{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151}.recipient-select,.subject-input,.body-textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none;box-sizing:border-box}.recipient-select:focus,.subject-input:focus,.body-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.body-textarea{resize:vertical;min-height:200px}.compose-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn-send{padding:10px 24px;border:0;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s}.btn-send:hover{background:#2563eb}.btn-send:disabled{opacity:.5;cursor:not-allowed}.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:#9ca3af;font:500 16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.direct-messages-section{height:100%}.chat-layout{display:grid;grid-template-columns:320px 1fr;gap:0;height:650px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.conversation-list{background:#f8fafc;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.conversation-list-header{padding:16px;border-bottom:1px solid #e5e7eb;background:#fff;display:flex;justify-content:space-between;align-items:center}.conversation-list-header h3{font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin:0}.status-indicator{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:8px}.status-indicator.online{background:#10b981;box-shadow:0 0 0 2px #10b98133}.status-text{font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#9ca3af}.status-text.offline{color:#ef4444}.conversations{flex:1;overflow-y:auto}.conversation-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid #e5e7eb;transition:background .12s}.conversation-item:hover{background:#f1f5f9}.conversation-item.active{background:#e0f2fe;border-left:3px solid #3b82f6}.conversation-avatar-wrapper{position:relative;flex-shrink:0}.conversation-avatar{width:40px;height:40px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;flex-shrink:0;overflow:hidden}.conversation-avatar .profile-image{width:100%;height:100%;object-fit:cover}.presence-indicator{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:#94a3b8}.presence-indicator.online{background:#10b981;box-shadow:0 0 0 2px #10b98133}.conversation-info{flex:1;min-width:0}.conversation-name{font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827;margin-bottom:4px;display:flex;align-items:center;gap:8px}.unread-badge{display:inline-block;padding:2px 6px;border-radius:10px;background:#ef4444;color:#fff;font:700 10px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.conversation-preview{font:500 12px/1.3 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-preview.unread{color:#111827;font-weight:700}.conversation-preview .message-prefix{color:#64748b;font-weight:500}.chat-area{display:flex;flex-direction:column;background:#fff;height:100%;overflow:hidden}.chat-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#fff}.chat-user-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:40px;height:40px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;overflow:hidden}.chat-avatar .profile-image{width:100%;height:100%;object-fit:cover}.chat-user-name{font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111827}.typing-indicator{display:flex;gap:4px;align-items:center;padding:6px 12px;background:#f1f5f9;border-radius:12px}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#64748b;animation:typing-bounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-messages{flex:1;padding:20px;overflow-y:scroll;display:flex;flex-direction:column;gap:12px;background:#f8fafc;min-height:0}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#555}.load-more-container{display:flex;justify-content:center;padding:8px 0}.load-more-btn{padding:8px 20px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;color:#64748b;cursor:pointer;font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:all .12s;box-shadow:0 2px 4px #0000000f}.load-more-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.load-more-btn:active{transform:translateY(0)}.message{display:flex;flex-direction:column;max-width:70%}.message.own{align-self:flex-end;align-items:flex-end}.message.other{align-self:flex-start;align-items:flex-start}.message-bubble{padding:10px 14px;border-radius:12px;box-shadow:0 1px 2px #0000000f}.message.own .message-bubble{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.message.other .message-bubble{background:#fff;color:#111827;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.message-text{font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;word-wrap:break-word;margin-bottom:4px}.message-meta{font:500 11px/1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;opacity:.7}.message.own .message-meta{color:#fff}.message.other .message-meta{color:#64748b}.read-tag{display:inline-block;margin-top:4px;color:#0369a1;font-size:11px}.typing-bubble{background:#fff!important;border:1px solid #e5e7eb!important;padding:10px 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:60px!important;width:fit-content!important}.typing-dots{display:flex;align-items:center;justify-content:center;gap:4px;height:16px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:#64748b;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.chat-input-container{padding:16px 20px;border-top:1px solid #e5e7eb;background:#fff;display:flex;gap:12px;align-items:center}.chat-input{flex:1;padding:12px 16px;border:1px solid #e5e7eb;border-radius:24px;font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;outline:none}.chat-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chat-input:disabled{background:#f8fafc;color:#9ca3af;cursor:not-allowed}.send-btn{padding:12px 24px;border:0;border-radius:24px;background:#3b82f6;color:#fff;cursor:pointer;font:700 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;transition:background .12s,transform .12s;white-space:nowrap}.send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.02)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:#f8fafc}.chat-empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.chat-empty-state p{font:500 16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#9ca3af;margin:0}@media(max-width:768px){.messaging-header{flex-direction:column;align-items:flex-start;gap:12px}.messaging-tabs{flex-direction:column}.messaging-tabs .tab{text-align:left}.compose-modal{width:95vw}.chat-layout{grid-template-columns:1fr;height:70vh}.conversation-list{display:none}.chat-layout.show-conversations .conversation-list{display:flex}.chat-layout.show-conversations .chat-area{display:none}.message{max-width:85%}}.profile-container{min-height:100vh;background:var(--app-bg, #f2f3f5);padding:40px 20px;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.profile-content{max-width:900px;margin:0 auto}.profile-header{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.profile-header .page-icon{width:min(60vw,680px);height:100px;object-fit:contain}.profile-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 4px 12px #0000000f;overflow:hidden;display:grid;grid-template-columns:1fr;gap:0}.profile-image-section{padding:40px 30px;background:#f9fafb;border-bottom:1px solid #E5E7EB;display:flex;flex-direction:column;align-items:center;gap:20px}.profile-image-container{width:160px;height:160px;border-radius:50%;overflow:hidden;border:4px solid #ffffff;box-shadow:0 4px 12px #00000026;background:#fff;display:flex;align-items:center;justify-content:center}.profile-image{width:100%;height:100%;object-fit:cover}.profile-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280}.profile-image-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.btn-upload,.btn-delete{all:unset;box-sizing:border-box;display:inline-block;padding:12px 24px;margin:0;background-image:url(/btn-bg.svg);background-repeat:no-repeat;background-size:cover;background-position:center;border:2px solid transparent;border-radius:12px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;color:#fff;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;opacity:1!important;transition:transform .12s ease!important;transform:translateY(0);will-change:transform}.btn-upload:hover,.btn-delete:hover{transform:translateY(-1px);opacity:1!important;border-color:transparent!important}.btn-upload:focus,.btn-delete:focus{opacity:1!important;outline:none!important}.btn-upload:active,.btn-delete:active{opacity:1!important;transform:translateY(0)}.btn-upload:disabled,.btn-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-status{font-size:14px;color:#3b82f6;font-weight:500}.upload-success{font-size:14px;color:#059669;font-weight:500;padding:8px 16px;background:#d1fae5;border-radius:8px}.upload-error{font-size:14px;color:#dc2626;font-weight:500;padding:8px 16px;background:#fee2e2;border-radius:8px}.upload-hint{font-size:12px;color:#6b7280;text-align:center}.profile-info-section{padding:40px 30px}.profile-info-title{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 24px}.profile-info-grid{display:grid;gap:24px}.profile-info-item{display:flex;flex-direction:column;gap:8px}.profile-info-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.profile-info-value{font-size:16px;font-weight:500;color:#1f2937;padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.profile-info-value-editable{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:500;color:#1f2937;padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.btn-edit{appearance:none;border:none;background:transparent;color:#6b7280;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .12s ease,background .12s ease}.btn-edit:hover{color:#3b82f6;background:#e5e7eb}.btn-edit:active{background:#d1d5db}.profile-edit-field{display:flex;flex-direction:column;gap:8px}.profile-input{font-size:16px;font-weight:500;color:#1f2937;padding:12px 16px;background:#fff;border-radius:8px;border:2px solid #3b82f6;outline:none;font-family:inherit}.profile-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.profile-input:disabled{opacity:.6;cursor:not-allowed}.profile-edit-actions{display:flex;gap:8px}.btn-save,.btn-cancel-edit{appearance:none;border:2px solid transparent;background-image:url(/btn-bg.svg);background-repeat:no-repeat;background-size:cover;background-position:center;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:transform .12s ease;flex:1}.btn-save:hover,.btn-cancel-edit:hover{transform:translateY(-1px)}.btn-save:active,.btn-cancel-edit:active{transform:translateY(0)}.btn-save:disabled,.btn-cancel-edit:disabled{opacity:.6;cursor:not-allowed;transform:none}.role-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-admin{background:#fee2e2;color:#991b1b}.role-badge.role-super{background:#ede9fe;color:#6b21a8}.role-badge.role-user{background:#dbeafe;color:#1e40af}.profile-loading,.profile-error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;font-weight:500;color:#111}.profile-error{color:#dc2626}@media(min-width:640px){.profile-info-grid{grid-template-columns:repeat(2,1fr)}.profile-info-item:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:639px){.profile-container{padding:20px 10px}.profile-title{font-size:24px;margin-bottom:20px}.profile-image-section{padding:30px 20px}.profile-image-container{width:120px;height:120px}.profile-info-section{padding:30px 20px}.profile-info-title{font-size:20px}}.activity-log-container{padding:32px;max-width:1400px;margin:0 auto;background-color:#f2f3f5;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.activity-log-header{margin-bottom:32px;display:flex;align-items:center;justify-content:center}.activity-log-header .page-icon{width:min(60vw,680px);height:100px;object-fit:contain}.loading-message,.error-message,.no-activities{background-color:#fff;padding:24px;border-radius:12px;text-align:center;color:#7f8c8d;border:1px solid #e1e4e8}.error-message{color:#e74c3c;background-color:#fee;border-color:#fcc}.activity-table-wrapper{background-color:#fff;border-radius:12px;overflow:hidden;border:1px solid #e1e4e8;box-shadow:0 1px 3px #0000000d}.activity-table{width:100%;border-collapse:collapse;font-size:14px}.activity-table thead{background-color:#f8f9fa;border-bottom:2px solid #e1e4e8}.activity-table th{text-align:left;padding:16px;font-weight:600;color:#2c3e50;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.activity-table tbody tr{border-bottom:1px solid #e1e4e8;transition:background-color .12s ease}.activity-table tbody tr:hover{background-color:#f8f9fa}.activity-table tbody tr:last-child{border-bottom:none}.activity-table td{padding:16px;color:#495057;vertical-align:top}.activity-date{white-space:nowrap;color:#6c757d;font-size:13px}.activity-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge-create{background-color:#d4edda;color:#155724}.badge-update{background-color:#d1ecf1;color:#0c5460}.badge-delete{background-color:#f8d7da;color:#721c24}.badge-default{background-color:#e2e3e5;color:#383d41}.activity-entity{font-weight:500;color:#495057;text-transform:capitalize}.activity-summary{color:#495057;line-height:1.5}@media(max-width:768px){.activity-log-container{padding:16px}.activity-log-header h1{font-size:24px}.activity-table-wrapper{overflow-x:auto}.activity-table{font-size:13px}.activity-table th,.activity-table td{padding:12px 8px}.activity-date{font-size:12px}}:root{--admin-title-image: url(/Admin%20Page.svg);--download-icon: url(/downloadicon.svg)}.admin-reports-page{min-height:100vh;background:var(--app-bg, #f2f3f5);padding:24px 16px 40px}.admin-reports-title{width:min(70vw,820px);height:100px;margin:0 auto 24px;background:var(--admin-title-image) center / contain no-repeat}.admin-reports-container{width:min(92vw,800px);margin:0 auto}.report-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 10px 30px #0000000f;padding:32px}.report-card h2{margin:0 0 16px;font:800 24px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111}.report-description{margin:0 0 12px;font:500 15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151}.report-features{margin:0 0 16px;padding-left:24px;font:500 14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#4b5563}.report-features li{margin-bottom:6px}.report-note{margin:0 0 24px;padding:12px 16px;background:#fef3c7;border:1px solid #FCD34D;border-radius:8px;font:500 14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#92400e}.report-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.term-selector{display:flex;align-items:center;gap:10px}.term-selector label{font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#374151;white-space:nowrap}.term-selector select{appearance:none;padding:10px 36px 10px 14px;border:2px solid #D1D5DB;border-radius:8px;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23374151" d="M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z"/></svg>') no-repeat right 12px center;font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#111;cursor:pointer;transition:border-color .15s ease;min-width:180px}.term-selector select:hover{border-color:#9ca3af}.term-selector select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.term-selector select:disabled{opacity:.5;cursor:not-allowed}.download-btn{width:auto;max-width:300px;height:56px;appearance:none;border:0;border-radius:12px;background-image:var(--btn-bg, linear-gradient(135deg, #667eea 0%, #764ba2 100%));background-repeat:no-repeat;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#fff;cursor:pointer;box-shadow:0 6px 18px #0000001f;transition:transform .12s ease,filter .12s ease}.download-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.download-btn:active{transform:translateY(0)}.download-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.download-label{font:700 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.45)}.download-icon{width:24px;height:24px;background:var(--download-icon) center/contain no-repeat;filter:brightness(0) invert(1)}.message{padding:12px 16px;border-radius:8px;font:600 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;margin-top:12px}.error-message{background:#fee2e2;border:1px solid #FCA5A5;color:#991b1b}.success-message{background:#d1fae5;border:1px solid #6EE7B7;color:#065f46}@media(max-width:640px){.report-card{padding:24px 20px}.report-controls{flex-direction:column;align-items:stretch}.term-selector{width:100%}.term-selector select{flex:1;min-width:0}.download-btn{max-width:100%;width:100%}}.activity-log-modal{display:flex;flex-direction:column;gap:1rem}.activity-log-table-wrap{overflow-x:auto;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:#fff}.activity-log-table{width:100%;border-collapse:collapse}.activity-log-table th,.activity-log-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border, #e5e7eb);vertical-align:top}.activity-log-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.activity-log-table td{font-size:.875rem;color:var(--text-primary, #1f2937)}.activity-log-table tbody tr:last-child td{border-bottom:none}.activity-empty{text-align:center;color:var(--text-secondary, #6b7280);font-style:italic;padding:1.25rem}.activity-detail{display:flex;flex-direction:column;gap:1rem}.activity-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;background:var(--surface, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:.75rem}.activity-detail-meta p{margin:0;font-size:.875rem}.btn-compact{padding:.4rem .75rem;font-size:.75rem}@media(max-width:768px){.activity-detail-meta{grid-template-columns:1fr}}:root{--coach-management-title-image: url(/Coach%20Management.svg)}.coach-management-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.coach-management-title{width:min(70vw,820px);height:100px;margin:0 auto 24px;background:var(--coach-management-title-image) center / contain no-repeat}.coach-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.coach-management-header h1{margin:0;color:var(--text-primary, #1f2937);font:700 1.875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.coaches-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border:1px solid var(--border, #e5e7eb)}.coaches-table{width:100%;border-collapse:collapse}.coaches-table thead{background:var(--surface, #f9fafb)}.coaches-table th,.coaches-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border, #e5e7eb)}.coaches-table th{font:600 .875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:var(--text-primary, #1f2937);text-transform:uppercase;letter-spacing:.05em}.coaches-table td{font:400 .875rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:var(--text-primary, #1f2937)}.coaches-table tbody tr:hover{background:var(--surface, #f9fafb)}.coaches-table tbody tr:last-child td{border-bottom:none}.no-coaches{text-align:center;color:var(--text-secondary, #6b7280);font:italic 400 1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;padding:2rem}.add-coach-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.5rem}.field label{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;font-weight:500;color:var(--text-primary, #1f2937);font-size:.875rem}.field input{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;padding:.75rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}@media(max-width:768px){.coach-management-page{padding:1rem}.coach-management-header{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}.coaches-table-container{overflow-x:auto}.coaches-table{min-width:600px}}.table-action-button{margin-right:.5rem}.caseload-assignment{display:flex;flex-direction:column;gap:1rem}.caseload-list{max-height:400px;overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface, #f9fafb)}.caseload-header{padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border, #e5e7eb);font:500 .875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:var(--text-secondary, #6b7280)}.caseload-item{display:flex;align-items:center;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border, #e5e7eb);cursor:pointer;transition:background-color .2s;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.caseload-item:last-child{border-bottom:none}.caseload-item:hover{background:var(--surface, #f9fafb)}.caseload-item input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;cursor:pointer}.student-info{display:flex;flex-direction:column;gap:.25rem}.student-info strong{color:var(--text-primary, #1f2937);font:500 .875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.student-id{color:var(--text-secondary, #6b7280);font:400 .75rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.student-count{color:var(--primary, #3b82f6);font-weight:500}:root{--supervisor-management-title-image: url(/Supervisor%20Management.svg)}.supervisor-management-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.supervisor-management-title{width:min(70vw,820px);height:100px;margin:0 auto 24px;background:var(--supervisor-management-title-image) center / contain no-repeat}.supervisor-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.supervisor-management-header h1{margin:0;color:var(--text-primary, #1f2937);font:700 1.875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.error-close{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0;margin-left:.5rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.loading-indicator{text-align:center;padding:2rem;color:var(--text-secondary, #6b7280);font:400 1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.supervisors-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border:1px solid var(--border, #e5e7eb)}.supervisors-table{width:100%;border-collapse:collapse}.supervisors-table thead{background:var(--surface, #f9fafb)}.supervisors-table th,.supervisors-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border, #e5e7eb)}.supervisors-table th{font:600 .875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:var(--text-primary, #1f2937);text-transform:uppercase;letter-spacing:.05em}.supervisors-table td{font:400 .875rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:var(--text-primary, #1f2937)}.supervisors-table tbody tr:hover{background:var(--surface, #f9fafb)}.supervisors-table tbody tr:last-child td{border-bottom:none}.no-supervisors{text-align:center;color:var(--text-secondary, #6b7280);font:italic 400 1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;padding:2rem}.status{padding:.25rem .75rem;border-radius:9999px;font:500 .75rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;text-transform:uppercase;letter-spacing:.05em}.status.active{background:#dcfce7;color:#166534}.status.inactive{background:#fee2e2;color:#991b1b}.status.disabled{background:#f3f4f6;color:#6b7280}.btn-danger{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font:500 .875rem/1.2 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;cursor:pointer;transition:background-color .2s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{background:#9ca3af;cursor:not-allowed}.add-supervisor-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:.5rem;width:100%}.field label{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;font-weight:600;color:var(--text-primary, #1f2937);font-size:.875rem}.field input,.field select{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;width:100%;padding:.75rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background:#fff}.field input:focus,.field select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.field-help{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;font-size:.75rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}@media(max-width:768px){.supervisor-management-page{padding:1rem}.supervisor-management-header{flex-direction:column;align-items:stretch}.supervisors-table-container{overflow-x:auto}.supervisors-table{min-width:600px}}.btn-primary{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;background:var(--primary, #3b82f6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #2563eb)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{font-family:"system-ui",-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;background:var(--surface, #f9fafb);color:var(--text-primary, #1f2937);border:1px solid var(--border, #d1d5db);padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.btn-secondary:hover:not(:disabled){background:var(--surface-hover, #f3f4f6);border-color:var(--border-hover, #9ca3af)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.progress-spot{position:fixed;right:20px;bottom:20px;z-index:350}.loader{width:50px;height:50px;border:8px solid #f3f3f3;border-top:8px solid #000000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-check{width:60px;height:60px;background:var(--check-icon) center/contain no-repeat}.notification{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;animation:slideDown .3s ease-out;max-width:500px;width:90%}.notification--exit{animation:slideUp .3s ease-out forwards}.notification__content{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;border-left:4px solid #3b82f6}.notification__content--message{border-left-color:#3b82f6}.notification__content--announcement{border-left-color:#f59e0b}.notification__content--clickable{transition:transform .2s,box-shadow .2s}.notification__content--clickable:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0003,0 0 0 1px #0000000d}.notification__icon{font-size:24px;flex-shrink:0;line-height:1}.notification__text{flex:1;min-width:0}.notification__title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:14px;color:#111827;margin-bottom:4px}.notification__message{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:400;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification__close{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;font-size:24px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.notification__close:hover{background:#f3f4f6;color:#374151}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideUp{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}@media(max-width:640px){.notification{top:10px;width:calc(100% - 20px)}.notification__content{padding:12px 16px}.notification__message{font-size:13px}}:root{--btn-bg: url(/btn-bg.svg);--menu-icon: url(/menuicon.svg);--account-icon: url(/usericon.svg);--sidebar-bg-left: url(/sidebar.svg);--sidebar-bg-right: url(/sidebar.svg);--sidebar-width: 320px;--sidebar-max: 92vw;--sidebar-ease: cubic-bezier(.2,.7,.2,1);--sidebar-duration: .32s;--btn-h: 82px;--btn-w: 132px;--btn-radius: 16px;--btn-gap: 12px;--btn-icon-size: 28px;--profile-img-size: 52px;--accent: #ffffff;--menu-fg: #ffffff;--scrim-bg: rgba(0,0,0,.45)}.btn-layer{position:static;pointer-events:none}.square-btn{position:fixed;z-index:25;width:var(--btn-w);height:var(--btn-h);min-height:var(--btn-h);min-width:var(--btn-w);appearance:none;border:0;border-radius:var(--btn-radius);padding:0 14px;margin:0;background-image:var(--btn-bg);background-repeat:no-repeat;background-size:cover;background-position:center;display:inline-flex;align-items:center;justify-content:center;gap:1px;cursor:pointer;pointer-events:auto;transition:transform .12s ease;text-align:center}.square-btn:hover{transform:translateY(-1px)}.square-btn:active{transform:translateY(0)}.square-btn .btn-icon{width:var(--btn-icon-size);height:var(--btn-icon-size);background-repeat:no-repeat;background-position:center;background-size:contain;flex:0 0 var(--btn-icon-size)}.menu-btn .btn-icon{background-image:var(--menu-icon)}.account-btn .btn-icon{background-image:var(--account-icon)}.square-btn .btn-profile-image{width:var(--profile-img-size);height:var(--profile-img-size);border-radius:50%;object-fit:cover;flex:0 0 var(--profile-img-size);border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0003}.account-btn.has-profile-image{flex-direction:column;padding:8px 10px;gap:4px;height:auto;min-height:96px}.account-btn.has-profile-image .btn-label{font-size:12px;line-height:1.1;white-space:normal;word-break:break-word;text-align:center;max-width:80px}.square-btn .btn-label{font:700 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);padding-inline:4px;white-space:nowrap}.menu-btn{top:calc(env(safe-area-inset-top,0px) + var(--btn-gap));left:calc(env(safe-area-inset-left,0px) + var(--btn-gap))}.account-btn{top:calc(env(safe-area-inset-top,0px) + var(--btn-gap));right:calc(env(safe-area-inset-right,0px) + var(--btn-gap))}.sidebar{position:fixed;top:0;bottom:0;width:min(var(--sidebar-width),var(--sidebar-max));max-width:100%;z-index:40;display:grid;grid-template-rows:auto 1fr;background-repeat:no-repeat;background-size:cover;background-color:#fff;box-shadow:0 10px 30px #0003;transition:transform var(--sidebar-duration) var(--sidebar-ease);color:var(--menu-fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,"M PLUS 1p",sans-serif}.sidebar a,.sidebar a:visited{color:var(--menu-fg)}.sidebar .sidebar-content>h2{color:var(--menu-fg)}.menu-link,.logout-btn,.sidebar-close,.sidebar .sidebar-content{font-family:inherit}.sidebar h2{font-size:20px;font-weight:700;line-height:1.2;margin:0 0 12px;color:var(--menu-fg)}.username-link{text-decoration:none;color:inherit;display:block;padding:8px 12px;margin:-8px -12px 8px;border-radius:12px;transition:background .12s ease}.username-link:hover{background:#00000014}.username-link:active{background:#0000001f}.username-link h2{margin:0}.sidebar--left{left:0;transform:translate(-100%);background-image:var(--sidebar-bg-left);background-position:left center}.sidebar--left.open{transform:translate(0)}.sidebar--right{right:0;transform:translate(100%);background-image:var(--sidebar-bg-right);background-position:right center}.sidebar--right.open{transform:translate(0)}.sidebar-content{padding:20px 20px 28px;overflow:auto}.sidebar-close{appearance:none;background:transparent;border:none;font-size:28px;line-height:1;padding:12px 16px;cursor:pointer;justify-self:end;color:var(--accent)}.scrim{position:fixed;inset:0;background:var(--scrim-bg);border:0;padding:0;margin:0;cursor:pointer;z-index:30}.menu-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.menu-list li{margin:0}.menu-link{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:14px 16px;border-radius:12px;text-decoration:none;color:var(--menu-fg);background:transparent;cursor:pointer;transition:background .12s ease,transform 60ms ease;outline:none;font-size:15px;font-weight:500}.menu-link:hover{background:#00000014}.menu-link:active{transform:translateY(1px);background:#0000001f}.menu-link.active{background:#0000001f;font-weight:600}.menu-link:focus-visible{box-shadow:0 0 0 2px #0ea5e9cc;border-radius:12px}.logout-btn{appearance:none;border:0;background:transparent;color:var(--menu-fg);width:100%;text-align:left;padding:14px 16px;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;transition:background .12s ease,transform 60ms ease}.logout-btn:hover{background:#00000014}.logout-btn:active{transform:translateY(1px);background:#0000001f}.logout-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #0ea5e9cc}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}@media(max-width:640px){:root{--sidebar-max: 96vw;--profile-img-size: 42px}.square-btn{--btn-h: 56px;--btn-w: 112px;--btn-icon-size: 22px;padding:0 10px;gap:8px}.account-btn.has-profile-image{min-height:80px;padding:6px 8px}.account-btn.has-profile-image .btn-label{font-size:11px;max-width:70px}}
