*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}.site-header{z-index:1000;width:100%;position:relative}.notice-bar{color:#1a1a1a;background:linear-gradient(90deg,#f5a300,#f7b500);align-items:center;gap:12px;width:100%;padding:10px 40px;font-size:14px;display:flex;position:relative}.notice-badge{color:#fff;letter-spacing:.5px;white-space:nowrap;background:#d2691e;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;display:flex}.notice-badge:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;display:inline-block}.notice-text{flex:1;font-weight:600}.notice-close{cursor:pointer;padding:0 4px;font-size:16px;font-weight:700}.school-notice-rotator{height:24px;position:relative;overflow:hidden}.school-notice-item{color:#1a1a1a;opacity:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;align-items:center;width:100%;height:100%;font-size:14px;font-weight:600;transition:opacity .5s ease-in-out,transform .5s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;left:0;overflow:hidden;transform:translateY(12px)}.school-notice-item.active{opacity:1;pointer-events:auto;transform:translateY(0)}.show-topbar-container{background:linear-gradient(90deg,#f5a300,#f7b500);border-bottom:2px solid #e09200;justify-content:center;width:100%;display:flex}.show-topbar-btn{color:#1a1a1a;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 20px;font-size:13px;font-weight:700;transition:opacity .2s;display:flex}.show-topbar-btn:hover{opacity:.9;text-decoration:underline}.main-header{background:#fff;justify-content:space-between;align-items:center;width:100%;padding:16px 40px;display:flex;box-shadow:0 2px 5px #0000000d}.school-brand{align-items:center;gap:14px;display:flex}.school-logo{background:#eef1f5;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.school-logo img{object-fit:cover;width:100%;height:100%}.school-name{color:#1e4fa3;font-size:26px;font-weight:800;line-height:1.2}.school-address{color:#8a8a8a;margin-top:2px;font-size:13px}.header-contacts{align-items:center;gap:16px;margin-left:auto;display:flex}.contact-item{align-items:center;gap:10px;display:flex}.contact-icon{color:#1e4fa3;background:#eaf1fb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.contact-label{color:#8a8a8a;font-size:12px;display:block}.contact-value{color:#1a1a1a;font-size:14px;font-weight:700;display:block}.nav-bar{z-index:1000;background:#1e4fa3;width:100%;position:sticky;top:0;box-shadow:0 2px 5px #00000026}.nav-bar-container{justify-content:space-between;align-items:center;width:100%;padding:0 40px;display:flex}.nav-links{list-style:none;display:flex}.nav-links li{position:relative}.nav-links li a{color:#d6e2f5;cursor:pointer;padding:16px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:block}.nav-links li a:hover{color:#fff}.nav-links li.active>a,.nav-links li.active>Link{color:#fff;border-bottom:3px solid #fff}.dropdown-toggle:after{content:" ▼";opacity:.8;font-size:9px}.portal-action-container{align-items:center;display:flex}.portal-login-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c1440e;border:none;border-radius:4px;padding:10px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,transform .1s;display:inline-block}.portal-login-btn:hover{background:#a83a0c}.dropdown{z-index:1001;background:#fff;border-top:3px solid #1e4fa3;border-bottom-right-radius:4px;border-bottom-left-radius:4px;min-width:210px;padding:5px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 5px 15px #00000026}.nav-links li:hover .dropdown{display:block}.dropdown a{border-bottom:1px solid #f2f2f2;transition:background .2s,color .2s;display:block;color:#333!important;padding:10px 20px!important;font-size:13px!important;font-weight:500!important}.dropdown a:last-child{border-bottom:none}.dropdown a:hover{background:#eaf1fb;color:#1e4fa3!important}.hero-slider{justify-content:center;align-items:center;width:100%;height:700px;display:flex;position:relative;overflow:hidden}.slider-wrapper{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.slide{opacity:0;z-index:1;filter:sepia(.15)saturate(1.15);background-position:50%;background-size:cover;width:100%;height:100%;transition:opacity .8s ease-in-out;position:absolute;top:0;left:0}.slide.active{opacity:1;z-index:2}.hero-content{text-align:center;color:#fff;z-index:10;justify-content:center;align-items:center;width:100%;max-width:900px;min-height:200px;padding:20px;display:flex;position:relative}.hero-slide-text{opacity:0;pointer-events:none;width:100%;padding:0 20px;transition:opacity .8s ease-in-out,transform .8s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-40%)}.hero-slide-text.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.hero-slide-text h2{text-shadow:2px 2px 4px #00000080;margin-bottom:20px;font-size:48px;font-weight:700}.hero-slide-text p{text-shadow:1px 1px 3px #00000080;max-width:800px;margin:0 auto;font-size:20px;font-weight:400}.slider-arrow{color:#fff;cursor:pointer;z-index:10;-webkit-user-select:none;user-select:none;background:#0000004d;border:none;border-radius:4px;padding:15px 20px;font-size:24px;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.slider-arrow:hover{background:#1976d2cc}.slider-arrow.prev{left:20px}.slider-arrow.next{right:20px}.slider-dots{z-index:10;gap:10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.dot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:12px;height:12px;transition:background .3s}.dot.active{background:#fff;box-shadow:0 0 8px #1976d2cc}.menu-toggle{cursor:pointer;z-index:1005;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;padding:0;display:none}.menu-toggle .bar{background-color:#1e4fa3;border-radius:2px;width:100%;height:3px;transition:all .3s ease-in-out}.menu-toggle.active .bar:first-child{transform:translateY(8px)rotate(45deg)}.menu-toggle.active .bar:nth-child(2){opacity:0}.menu-toggle.active .bar:nth-child(3){transform:translateY(-9px)rotate(-45deg)}@media (max-width:1024px){.container{padding:0 20px}.menu-toggle{display:flex}.header-contacts{display:none}.main-header{justify-content:space-between;align-items:center;width:100%;padding:16px 20px;display:flex}.school-brand{gap:12px}.school-logo{width:50px;height:50px}.school-name{letter-spacing:.5px;font-size:20px}.school-address{font-size:11px}.nav-bar{z-index:999;background:#1e4fa3;flex-direction:column;align-items:flex-start;width:100%;max-height:0;padding:0;transition:max-height .4s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 10px #00000026}.nav-bar.menu-open{max-height:85vh;overflow-y:auto}.nav-links{flex-direction:column;width:100%;padding:10px 0}.nav-links li{width:100%}.nav-links li a{text-align:left;border-bottom:1px solid #ffffff1a;width:100%;padding:12px 24px;display:block}.nav-links li a:hover{background:#ffffff1a}.nav-links li.active>a{background:#ffffff26;border-bottom:none;font-weight:700}.nav-links li:hover .dropdown{display:none}.dropdown{width:100%;box-shadow:none;background:#0000001a;border-top:none;padding:0;display:none;position:static}.nav-links li.dropdown-active .dropdown,.nav-links li.dropdown-active:hover .dropdown{display:block}.dropdown a{border-bottom:1px solid #ffffff0d;color:#ffffffe6!important;padding:10px 40px!important}.dropdown a:hover{background:#0003;color:#fff!important}.dropdown-toggle:after{content:" ▾";float:right}.portal-action-container{border-top:1px solid #ffffff1a;width:100%;padding:15px 24px}.portal-login-btn{text-align:center;width:100%}}@media (max-width:768px){.main-header{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;display:grid!important}.school-logo{justify-self:start}.school-name{text-align:center;font-size:18px}.school-address{display:none}.menu-toggle{justify-self:end}.notice-bar{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px}.school-notice-rotator{width:100%;height:auto;min-height:40px}.school-notice-item{white-space:normal;text-overflow:clip;text-align:center;justify-content:center;align-items:flex-start;line-height:1.4;position:relative;overflow:visible}.notice-close{align-self:flex-end;position:absolute;top:8px;right:12px}}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.core-identity-section{background:#fdfdfd;padding:40px 0 0;overflow:visible}.section-title{text-align:center;color:#1976d2;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;font-size:32px;position:relative}.section-title:after{content:"";background:#1976d2;border-radius:2px;width:60px;height:4px;margin:12px auto 0;display:block}.identity-grid{flex-wrap:wrap;justify-content:center;gap:30px;padding:20px 0 70px;display:flex;overflow:visible}.card-wrapper{justify-content:center;align-items:flex-start;width:360px;height:360px;display:flex;position:relative}.ring{z-index:1;background:conic-gradient(var(--color) 0deg 270deg, transparent 270deg 360deg);border-radius:50%;width:340px;height:340px;position:absolute;top:0;transform:rotate(-45deg);box-shadow:0 10px 20px #0000001a}.circle-content{z-index:2;text-align:center;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:290px;height:290px;margin-top:35px;padding:24px;display:flex;position:relative;box-shadow:0 10px 25px #00000026}.icon-box{color:#555;margin-bottom:8px;font-size:32px}.circle-content h3{text-transform:uppercase;letter-spacing:1px;color:#333;margin:0 0 6px;font-size:18px}.circle-content p{color:#555;margin:0;font-size:11.5px;line-height:1.5}.card-wrapper:after{content:"";opacity:.12;z-index:0;pointer-events:none;background:#fff;border-radius:50%;width:290px;height:200px;position:absolute;bottom:-150px;left:35px;transform:scaleY(-1);box-shadow:0 10px 25px #00000026;-webkit-mask-image:linear-gradient(#000c,#0000);mask-image:linear-gradient(#000c,#0000)}.orange-theme{--color:#f26522}.orange-theme .icon-box{color:#f26522}.blue-theme{--color:#00bcd4}.blue-theme .icon-box{color:#00bcd4}.yellow-theme{--color:#fbc02d}.yellow-theme .icon-box{color:#fbc02d}.subpage-header{color:#fff;text-align:center;background-color:#0000;background-image:linear-gradient(#1976d2cc,#1976d2cc),url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1200 200\"><rect fill=\"%23666\" width=\"1200\" height=\"200\"/><path fill=\"%23888\" d=\"M0 100 Q300 50 600 100 T1200 100 L1200 200 L0 200 Z\"/></svg>");background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:60px 0}.subpage-header h2{text-shadow:1px 1px 3px #0003;margin-bottom:10px;font-size:38px}.subpage-header p{opacity:.9;font-size:18px}@media (max-width:768px){.identity-grid{flex-direction:column;align-items:center;gap:30px;padding:20px 0 0}.core-identity-section{padding:30px 0 20px}.subpage-content{padding:40px 0}.card-wrapper:after{display:none}.subpage-header{padding:40px 0}.subpage-header h2{font-size:28px}.subpage-header p{font-size:15px}}@media (max-width:400px){.card-wrapper{width:300px;height:300px}.ring{width:280px;height:280px}.circle-content{width:240px;height:240px;margin-top:20px;padding:15px}.circle-content p{font-size:10px;line-height:1.4}.icon-box{margin-bottom:6px;font-size:24px}.circle-content h3{margin-bottom:4px;font-size:14px}}.main-footer{color:#cdd6e2;background:linear-gradient(135deg,#0b1a30 0%,#050d18 100%);border-top:5px solid #1976d2;padding:60px 0 30px;font-size:14px}.footer-grid{grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:40px;display:grid}.footer-col h4{color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;padding-bottom:8px;font-size:18px;position:relative}.footer-col h4:after{content:"";background:#4fa3f7;width:40px;height:3px;display:block;position:absolute;bottom:0;left:0}.footer-motto{color:#4fa3f7;margin-bottom:10px;font-size:16px;font-style:italic;font-weight:700}.footer-desc{color:#9cb1c9;line-height:1.6}.footer-links,.footer-contact{list-style:none}.footer-links li,.footer-contact li{margin-bottom:12px}.footer-links a{color:#9cb1c9;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#4fa3f7}.footer-contact li{color:#9cb1c9;align-items:center;gap:10px;display:flex}.footer-kopa-btn{color:#fff;background:#1976d2;border-radius:4px;margin-top:15px;padding:8px 16px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.footer-kopa-btn:hover{color:#0b1a30;background:#4fa3f7}.footer-bottom{color:#7d93a8;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:20px;font-size:13px;display:flex}.footer-credits{color:#9cb1c9;font-size:12.5px}.footer-credits strong{color:#4fa3f7;font-weight:600}@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}}@media (max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column;gap:10px}}.login-page-container{background:linear-gradient(135deg,#f4f7f6 0%,#e2eafc 100%);justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.login-card{background:#fff;border:1px solid #eef2f6;border-radius:12px;flex-direction:column;gap:24px;width:100%;max-width:450px;padding:40px;display:flex;box-shadow:0 10px 30px #0000000d}.login-card-header{text-align:center}.login-card-header h2{color:#1976d2;margin-bottom:8px;font-size:26px;font-weight:700}.login-card-header p{color:#666;font-size:14px}.login-form{flex-direction:column;gap:18px;display:flex}.login-form .form-group{flex-direction:column;gap:6px;display:flex}.login-form label{color:#444;font-size:13.5px;font-weight:600}.login-form input{border:1px solid #ddd;border-radius:6px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .2s}.login-form input:focus{border-color:#1976d2}.login-btn{color:#fff;cursor:pointer;text-align:center;background:#1976d2;border:none;border-radius:6px;padding:14px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.login-btn:hover{background:#1565c0}.login-btn:active{transform:scale(.98)}.login-error{color:#e53e3e;text-align:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;padding:12px;font-size:14px}.social-login-container{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.google-login-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14.5px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,transform .1s;display:flex;box-shadow:0 1px 3px #0000000d}.google-login-btn:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 3px 8px #00000014}.google-login-btn:active{transform:scale(.99)}.google-icon-svg{flex-shrink:0}.login-divider{text-align:center;color:#94a3b8;letter-spacing:.8px;align-items:center;font-size:11px;font-weight:700;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.login-divider span{padding:0 12px}.login-demo-accounts{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px}.login-demo-accounts h4{color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-top:0;margin-bottom:8px;font-size:13px}.login-demo-accounts p{color:#64748b;margin:4px 0;font-size:12.5px}.login-demo-accounts code{color:#0f172a;background:#e2e8f0;border-radius:3px;padding:2px 5px;font-size:12px}.chat-page-container{background:#f1f5f9;min-height:calc(100vh - 180px);padding:20px 0}.chat-card{background:#fff;border:1px solid #eef2f6;border-radius:12px;grid-template-columns:320px 1fr;height:700px;display:grid;overflow:hidden;box-shadow:0 4px 20px #0000000d}.chat-sidebar{background:#f8fafc;border-right:1px solid #eef2f6;flex-direction:column;height:100%;display:flex}.chat-user-header{background:#fff;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;padding:20px;display:flex}.chat-mode-tabs{background:#f1f5f9;border-bottom:1px solid #e2e8f0;gap:4px;padding:6px;display:flex}.chat-mode-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.chat-mode-tab.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #00000014}.chat-mode-tab:hover:not(.active){color:#334155;background:#ffffff80}.pta-channel-icon{color:#fff;background:linear-gradient(135deg,#1976d2 0%,#0d47a1 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.conversation-item.pta-active{background:#eff6ff;border-color:#bfdbfe}.pta-role-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:12px;align-items:center;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.pta-role-badge.parent{color:#0369a1;background:#e0f2fe}.pta-role-badge.teacher{color:#b45309;background:#fef3c7}.pta-role-badge.admin{color:#b91c1c;background:#fee2e2}.message-sender-name{color:#475569;align-items:center;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.chat-user-info h3{color:#1e293b;margin:0;font-size:16px;font-weight:700}.chat-user-info span{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.logout-icon-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:16px;transition:color .2s;display:flex}.logout-icon-btn:hover{color:#ef4444;background:#fef2f2}.chat-sidebar-actions{background:#fff;border-bottom:1px solid #edf2f7;padding:15px 20px}.sidebar-new-chat-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s;display:flex}.sidebar-new-chat-btn:hover{background:#1565c0}.conversations-list{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.no-conversations{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;font-size:14px;display:flex}.no-conversations i{color:#cbd5e1;font-size:32px}.conversation-item{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.conversation-item:hover{background:#f1f5f9}.conversation-item.active{background:#e0f2fe;border-color:#bae6fd}.conversation-avatar{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:600;display:flex}.conversation-item:nth-child(2n) .conversation-avatar{background:#f97316}.conversation-details{flex:1;min-width:0}.conversation-details-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.conversation-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.conversation-time{color:#94a3b8;white-space:nowrap;font-size:11px}.conversation-preview{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.conversation-student-tag{color:#4a5568;background:#edf2f7;border-radius:4px;margin-top:4px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.conversation-item.active .conversation-student-tag{color:#0369a1;background:#bae6fd}.active-chat-panel{background:#fff;flex-direction:column;height:100%;display:flex}.chat-empty-state{color:#94a3b8;text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:40px;display:flex}.chat-empty-state i{color:#cbd5e1;font-size:64px}.chat-empty-state h3{color:#475569;margin:0;font-size:20px;font-weight:700}.chat-active-header{background:#fff;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header-meta-details{flex-direction:column;display:flex}.header-meta-details h3{color:#1e293b;margin:0;font-size:16px;font-weight:700}.header-meta-subtitle{color:#64748b;margin-top:2px;font-size:12.5px}.header-student-ref{color:#1976d2;font-weight:600}.chat-messages-viewport{background:#f8fafc;flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.message-row{width:100%;display:flex}.message-row.sent{justify-content:flex-end}.message-row.received{justify-content:flex-start}.message-bubble{border-radius:12px;max-width:65%;padding:12px 16px;font-size:14.5px;line-height:1.5;position:relative;box-shadow:0 1px 3px #0000000d}.message-row.sent .message-bubble{color:#fff;background:linear-gradient(135deg,#1976d2 0%,#1565c0 100%);border-bottom-right-radius:2px}.message-row.received .message-bubble{color:#334155;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:2px}.message-meta-timestamp{text-align:right;margin-top:6px;font-size:10px;display:block}.message-row.sent .message-meta-timestamp{color:#ffffffb3}.message-row.received .message-meta-timestamp{color:#94a3b8}.chat-input-bar-container{background:#fff;border-top:1px solid #edf2f7;padding:16px 24px}.chat-input-form{align-items:center;gap:12px;display:flex}.chat-text-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:24px;outline:none;flex:1;padding:12px 20px;font-size:14.5px;transition:border-color .2s,box-shadow .2s}.chat-text-input:focus{background:#fff;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.chat-send-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;transition:background .2s,transform .1s;display:flex;box-shadow:0 4px 10px #1976d233}.chat-send-btn:hover{background:#1565c0;transform:scale(1.05)}.chat-send-btn:active{transform:scale(.95)}.chat-send-btn:disabled{cursor:not-allowed;box-shadow:none;background:#cbd5e1;transform:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{color:#1e293b;margin:0;font-size:18px;font-weight:700}.close-modal-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:20px;transition:color .2s}.close-modal-btn:hover{color:#475569}.modal-form{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-form .form-group{flex-direction:column;gap:6px;display:flex}.modal-form label{color:#334155;font-size:13.5px;font-weight:600}.modal-form select,.modal-form input{border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:10px 12px;font-size:14.5px}.modal-form select:focus,.modal-form input:focus{border-color:#1976d2}.modal-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.modal-actions button{cursor:pointer;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.modal-actions .cancel-btn{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.modal-actions .cancel-btn:hover{background:#e2e8f0}.modal-actions .submit-btn{color:#fff;background:#1976d2;border:none}.modal-actions .submit-btn:hover{background:#1565c0}.header-badge-link{align-items:center;gap:6px;display:flex}.nav-user-indicator{color:#fff;background:#ffffff26;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700}.nav-login-btn{background:#f26522;border-radius:20px;font-weight:700;box-shadow:0 4px 10px #f265224d;color:#fff!important;padding:6px 16px!important;transition:all .2s!important}.nav-login-btn:hover{transform:translateY(-1px);background:#d44d0f!important}.nav-logout-btn{cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:20px;font-size:12.5px;font-weight:700;transition:all .2s;color:#fff!important;padding:4px 14px!important}.nav-logout-btn:hover{background:#ffffff26;border-color:#fff}.skeleton-box{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading-pulse}@keyframes loading-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}img,video,iframe{max-width:100%;height:auto}td,th{overflow-wrap:anywhere;word-break:normal}.email-link,a[href^=mailto\:]{word-break:break-all;overflow-wrap:anywhere}.table-responsive{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;border-radius:8px;width:100%;margin-bottom:20px;overflow-x:auto}.table-responsive::-webkit-scrollbar{height:6px}.table-responsive::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:#94a3b8}.subpage-container{width:100%}.subpage-header{text-align:center;color:#fff;padding:50px 0}.subpage-content{background:#f8fafc;padding:40px 0 60px}@media (max-width:768px){.subpage-header{padding:35px 15px}.subpage-header h2{line-height:1.3;font-size:22px!important}.subpage-header p{font-size:13.5px!important}.subpage-content{padding:20px 0 40px}.chat-page-container{min-height:calc(100vh - 120px);padding:8px 0}.chat-card{border-radius:10px;grid-template-columns:1fr;height:calc(100dvh - 110px);min-height:480px;position:relative;overflow:hidden}.chat-sidebar{border-right:none;width:100%;height:100%;max-height:100%}.active-chat-panel{background:#fff;flex-direction:column;justify-content:space-between;width:100%;height:100%;max-height:100%;display:flex;overflow:hidden}.chat-sidebar.mobile-hidden,.active-chat-panel.mobile-hidden{display:none!important}.chat-mobile-back-btn{color:#1e293b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;font-size:16px;transition:background .2s;display:flex!important}.chat-mobile-back-btn:active{background:#e2e8f0}.chat-active-header{z-index:10;background:#fff;border-bottom:1px solid #edf2f7;flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.header-meta-details{flex:1;min-width:0}.header-meta-details h3{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.header-meta-subtitle{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.chat-messages-viewport{-webkit-overflow-scrolling:touch;background:#f8fafc;flex:auto;gap:12px;min-height:0;padding:14px 12px;overflow-y:auto}.message-bubble{border-radius:12px;max-width:88%;padding:10px 14px;font-size:14px}.chat-input-bar-container{z-index:20;background:#fff;border-top:1px solid #edf2f7;flex-shrink:0;width:100%;padding:10px 12px;position:sticky;bottom:0;box-shadow:0 -2px 10px #00000008}.chat-input-form{align-items:center;gap:8px;width:100%;display:flex}.chat-attach-btn{color:#64748b!important;background:#f1f5f9!important;border:none!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:38px!important;height:38px!important;padding:0!important;font-size:18px!important;display:flex!important}.chat-text-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:20px;outline:none;flex:1;min-width:0;padding:10px 14px;font-size:16px!important}.chat-send-btn{box-shadow:0 2px 6px #1976d240;color:#fff!important;background:#1976d2!important;border:none!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:40px!important;height:40px!important;font-size:15px!important;display:flex!important}.chat-file-preview-bar{margin-bottom:6px;border-radius:6px 6px 0 0!important;padding:6px 10px!important;font-size:11.5px!important}.chat-empty-state{gap:12px;padding:25px 15px}.chat-empty-state i{font-size:44px}.chat-empty-state h3{font-size:17px}.chat-empty-state p{font-size:13px}.chat-mode-tabs{padding:4px}.chat-mode-tab{padding:8px 6px;font-size:12px}.conversation-item{gap:10px;padding:10px 12px}.conversation-avatar{width:40px;height:40px;font-size:16px}}@media (max-width:480px){.container{padding:0 12px}.main-header{padding:12px 14px}.school-name{font-size:15px}.school-logo{width:42px;height:42px}.chat-active-header{padding:10px 12px}.chat-input-bar-container{padding:8px 10px}.login-card{padding:24px 18px}}
