:root{background-color:#f5f7fa;font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-style:normal;user-select:none;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;--text-primary: #1c1c1c;--text-secondary: #6b6b6b;color:var(--text-primary)}*{box-sizing:border-box}*::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}body{margin:0;overflow:hidden}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.home{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.home-header{font-size:clamp(16px,2vw,28px);line-height:clamp(16px,2vw,28px);font-weight:600;text-align:center;width:90vw;max-width:500px}.home-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:90vw;max-width:700px}.user-info-container{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0038ff26;border-radius:24px;padding:20px}.user-info{display:flex;width:100%;align-items:center;gap:clamp(4px,1vh,10px);color:var(--text-primary);font-size:clamp(12px,2vw,20px);line-height:clamp(16px,2vw,20px);font-weight:600}.user-info>span{color:var(--text-secondary)}.user-info>svg{width:clamp(16px,2vw,28px);height:clamp(16px,2vw,28px)}.journal-container-inputs{width:100%;display:flex;gap:16px;align-items:center;justify-content:space-between}.journal-input{background:#ff4d004d;padding:12px;border-radius:24px;display:flex;flex-direction:column;align-items:start;gap:8px;width:100%}.journal-table-wrapper{width:100%;max-height:20vh;overflow-y:auto;border-radius:12px}.journal-input__text{font-size:clamp(14px,2vw,18px);line-height:clamp(14px,2vw,20px);font-weight:600}.journal-input>input{background:#f5f7fa;width:100%;height:44px;border:none;outline:none;border-radius:12px;padding:8px 12px;font-size:clamp(14px,2vw,18px);line-height:clamp(14px,2vw,18px);font-weight:500}.journal-input>input::placeholder{color:var(--text-secondary);font-weight:200}.journal-table{width:100%;background:#f5f7fa;border-collapse:collapse}.journal-table tr{height:44px}.journal-table tr>*{width:50%}.journal-table thead tr{border-bottom:2px solid rgba(0,56,255,.5)}.journal-table th,.journal-table td{border-right:2px solid rgba(0,56,255,.5)}.journal-table th:last-child,.journal-table td:last-child{border-right:none}.journal-table tbody tr{border-top:1px solid rgba(0,56,255,.5)}.journal-input__absent{background:none;border:none;outline:none;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4px 8px;text-align:center;font-weight:500;font-size:clamp(14px,2vw,18px);line-height:clamp(14px,2vw,18px)}.journal-input__reason{cursor:pointer;background:none;border:none;outline:none;width:calc(100% - 16px);height:100%;padding:4px 8px;text-align:center;font-weight:500;font-size:clamp(14px,2vw,18px);line-height:clamp(14px,2vw,18px)}.send-button{border:none;outline:none;cursor:pointer;width:100%;height:52px;border-radius:24px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(18px,2vw,24px);line-height:clamp(18px,2vw,24px);background:#ff4d0099;transition:all .3s ease}.send-button:active{scale:.95}.send-button.disabled{cursor:not-allowed;background:#ff4d004d}.send-button.disabled:active{scale:1}.date-button{outline:none;border:none;background:#0038ff33;cursor:pointer;padding:8px 12px;display:flex;align-items:center;justify-content:center;border-radius:12px;height:32px;font-size:clamp(12px,1vw,16px);line-height:clamp(12px,1vw,16px);font-weight:500;transition:all .3s ease}@media(hover:hover){.date-button:hover{background:#0038ff4d}}.bg{width:100vw;height:100vh;position:absolute;top:0;left:0;z-index:-1;overflow:hidden}.bg.bg-home .bg-top,.bg.bg-home .bg-bottom{width:20vw;height:30vh}.bg-top{position:absolute;top:0;right:0;width:40vw;height:50vh;background-image:url(/assets/bg-top-Dg3q0rL5.png);background-size:contain;background-repeat:no-repeat;background-position:top right;z-index:-1}.bg-bottom{position:absolute;bottom:0;left:0;width:40vw;height:50vh;background-image:url(/assets/bg-bottom-mtMCIT5n.png);background-size:contain;background-repeat:no-repeat;background-position:bottom left;z-index:-1}.author{position:absolute;bottom:0;right:0;padding:16px;text-align:center;color:var(--text-secondary);font-weight:500;font-size:clamp(12px,2vw,20px);line-height:clamp(12px,2vw,20px)}.alert-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.alert{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);min-width:360px;max-width:520px;padding:24px 28px;border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 4px 16px #0003;animation:scaleIn .25s ease-out;z-index:9999;background:#f5f7fa}.alert-icon>svg{width:56px;height:56px;display:flex;align-items:center;justify-content:center}.alert-text{flex:1;font-size:18px;font-weight:500;text-align:center}.alert-title{text-align:center}.alert-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px;width:100%}.alert-btn{border:none;outline:none;cursor:pointer;width:100%;height:36px;border-radius:24px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(14px,1.5vw,18px);transition:all .3s ease}.alert-btn:active{scale:.95}.alert-btn.danger{background:#ff4d00b3}.alert-btn.danger:hover{background:#ff4d00cc}.alert-btn.cancel{background:#0038ff4d;color:#fff}.alert-btn.cancel:hover{background:#0038ff66}.alert-btn.primary{background:#0038ffb3;color:#fff}.alert-btn.primary:hover{background:#0038ffcc}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(.9);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.logout-button{position:absolute;top:10px;left:10px;border-radius:50%;width:36px;height:36px;padding:4px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease}@media(hover:hover){.logout-button:hover{background:#ff4d0033}}.loader-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:999;pointer-events:all}.loader-container{position:relative;width:100px;height:100px;display:flex;justify-content:center;align-items:center;background:#f5f7fa;border-radius:24px;box-shadow:0 4px 16px #0003}.loader{width:48px;height:48px;border-radius:50%;position:relative;animation:rotate 1s linear infinite}.loader:before{content:"";box-sizing:border-box;position:absolute;inset:0;border-radius:50%;border:5px solid rgba(0,55,255,.5);animation:prixClipFix 2s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes prixClipFix{0%{clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}25%{clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}50%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}75%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}to{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}}.popup-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.popup{width:380px;background:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 50px #00000040;animation:popupScale .25s ease}.popup h2{margin:0 0 8px;font-size:20px;line-height:20px;font-weight:600;text-align:center}.popup input{background:#f5f7fa;width:100%;height:44px;border:none;outline:none;border-radius:12px;padding:8px 12px;font-size:clamp(14px,2vw,18px);line-height:clamp(14px,2vw,18px);font-weight:500}.popup input::placeholder{color:var(--text-secondary);font-weight:200}.popup-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.btn{border:none;outline:none;cursor:pointer;width:100%;height:36px;border-radius:24px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(14px,1.5vw,18px);line-height:clamp(14px,1.5w,18px);transition:all .3s ease}.btn:active{scale:.95}.btn.cancel{background:#ff4d00b3}.btn.cancel:hover{background:#ff4d00cc}.btn.save{background:#0038ffb3;color:#fff}.btn.save:hover{background:#0038ffcc}.btn:active{transform:scale(.97)}.btn.disabled{background:#0038ff66;cursor:not-allowed}.btn.disabled:hover{background:#0038ff66}.password-text{font-size:12px;line-height:12px;color:var(--text-secondary);margin-top:-8px}@keyframes popupScale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.auth{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.auth-header{font-size:clamp(16px,2vw,28px);line-height:clamp(16px,2vw,28px);font-weight:600;text-align:center;width:90vw;max-width:500px;opacity:0;transform:scale(.95);animation:fadeInUp .3s ease-out forwards;animation-delay:.1s}.auth-form{background:#0038ff0d;border-radius:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;width:90vw;max-width:500px;opacity:0;transform:scale(.95);animation:fadeInScale .3s ease-out forwards;animation-delay:.2s}.auth-form__inputs{display:flex;flex-direction:column;gap:20px;width:100%}.auth-subheader{font-size:clamp(14px,1.5vw,24px);line-height:clamp(16px,1.5vw,24px);font-weight:500;text-align:center;color:var(--text-primary);opacity:0;transform:scale(.95);animation:fadeInScale .3s ease-out forwards;animation-delay:.1s}.auth-input{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.auth-input input{width:100%;height:52px;padding:8px 24px;font-size:24px;line-height:24px;color:var(--text-primary);border:3px solid rgba(0,56,255,.3);background-color:#0038ff1a;border-radius:24px;outline:none}.auth-input input::placeholder{color:var(--text-secondary);font-weight:200}.auth-text{font-size:clamp(12px,1vw,16px);line-height:clamp(12px,1vw,16px);font-weight:300;text-align:center;opacity:0;transform:scale(.95);animation:fadeInScale .3s ease-out forwards;animation-delay:.4s}.auth-button{border:none;outline:none;cursor:pointer;width:100%;height:52px;border-radius:24px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(18px,2vw,24px);line-height:clamp(18px,2vw,24px);background:#ff4d0099;transition:all .3s ease;opacity:0;transform:scale(.95);animation:fadeInScale .3s ease-out forwards;animation-delay:.5s}.auth-button:active{scale:.95}.auth-button.disabled{cursor:not-allowed;background:#ff4d004d}.auth-button.disabled:active{scale:1}svg.error>*{fill:#ff3b30b3}.auth-input.error>input{border-color:#ff3b304d}.auth-text.error{color:#ff3b3099;font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.admin{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:32px}.admin__header{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:36px;font-size:clamp(20px,2vw,28px);line-height:clamp(20px,2vw,28px);font-weight:600}.admin__body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:90vw;max-width:700px}.admin-journals,.admin-teachers{background:#0038ff0d;padding:12px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%}.admin-journals__header,.admin-teachers__header{font-size:clamp(14px,2vw,20px);line-height:clamp(14px,2vw,20px);font-weight:600;display:flex;justify-content:center;align-items:center;gap:16px}.admin-teachers__header>svg{cursor:pointer;padding:4px;border-radius:12px;transition:all .3s ease}@media(hover:hover){.admin-teachers__header>svg:hover{background-color:#0038ff1a}}.admin-journals>div{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;gap:12px}.admin-journals__journal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:auto;background:#0038ff1a;padding:12px;border-radius:12px;text-align:center;font-size:clamp(14px,2vw,20px);line-height:clamp(14px,2vw,20px);font-weight:500;cursor:pointer;transition:all .3s ease}@media(hover:hover){.admin-journals__journal:hover{background:#0038ff33;transform:translateY(-5px)}}.admin-journals__journal>svg{width:128px}.admin-teachers__list{display:flex;flex-direction:column;gap:8px;width:100%;overflow-y:auto;max-height:40vh;border-radius:12px}.admin-teachers__teacher{display:flex;justify-content:space-between;gap:8px;align-items:center;width:100%;height:44px;padding:4px 8px;border-radius:12px;background:#f5f7fa}.teacher__icon{width:clamp(24px,2vw,40px);flex-shrink:0}.teacher__name{width:100%;font-weight:500;font-size:clamp(12px,2vw,18px);line-height:clamp(12px,2vw,18px)}.teacher__classname{width:10%;font-size:clamp(12px,2vw,18px);line-height:clamp(12px,2vw,18px)}.teacher__journal{width:40%;font-size:clamp(12px,2vw,18px);line-height:clamp(12px,2vw,18px)}.admin-teachers__table{width:100%;border-collapse:collapse;background:#f5f7fa;border-radius:16px;overflow:hidden;font-size:clamp(12px,1.8vw,16px);line-height:clamp(12px,1.8vw,16px)}.admin-teachers__table thead{background:#0038ff1a}.admin-teachers__table th{text-align:center;padding:10px 12px;font-weight:600;color:#1f2a44}.admin-teachers__table td{padding:8px 12px;vertical-align:middle}.admin-teachers__table tbody tr{transition:background .2s ease}.admin-teachers__table tbody tr:nth-child(2n){background:#0038ff08}.admin-teachers__table tbody tr:hover{background:#0038ff14}.admin-teachers__table .teacher__icon{width:28px;height:28px}.admin-teachers__table .teacher__name{font-weight:500}.admin-teachers__table .teacher__classname,.admin-teachers__table .teacher__journal{text-align:center;font-weight:500}.admin-teachers__table .teacher__buttons{display:flex;justify-content:center;align-items:center;gap:10px}.admin-teachers__table .teacher__buttons svg{width:36px;height:36px;padding:8px;border-radius:12px;cursor:pointer;transition:all .18s ease}.admin-teachers__table .teacher__buttons svg:first-child{color:#1e40af;background:#1e40af1f}.admin-teachers__table .teacher__buttons svg:first-child:hover{background:#1e40af40;transform:scale(1.08)}.admin-teachers__table .teacher__buttons svg:last-child{color:#b42318;background:#b423181f}.admin-teachers__table .teacher__buttons svg:last-child:hover{background:#b4231840;transform:scale(1.08)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.assistant{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;position:relative}.assistant__header{font-size:clamp(16px,2vw,28px);line-height:clamp(16px,2vw,28px);font-weight:600;text-align:center;width:90vw;max-width:500px;position:absolute;top:32px}.assistant__body{display:flex;gap:32px;align-items:center;justify-content:center;width:100%;height:100%;padding:10%}.body__bear{flex-shrink:1;height:300px;width:300px;flex-direction:column;align-items:center;justify-content:center}.body__bear>img{width:100%}.body__chat{flex:1;background:#0038ff1a;width:100%;max-width:800px;max-height:100%;border-radius:45px;box-shadow:0 0 25px #0038ff1a;padding:20px;display:flex;gap:16px;flex-direction:column;position:relative;overflow-y:scroll;opacity:0;animation:fadeInUp 1s ease forwards .3s}.chat__message{display:flex;align-items:center;padding:8px 16px;font-size:clamp(16px,2vw,18px);font-weight:400;max-width:90%;width:fit-content;border-radius:25px;opacity:0;animation:fadeInUp .3s ease forwards}.chat__message.ai{background:linear-gradient(#ff4d004d,#ff4d004d),#fff;border-bottom-left-radius:0;text-align:left;animation-delay:.5s}.chat__message.user{background:linear-gradient(#0038ff66,#0038ff66),#fff;border-bottom-right-radius:0;text-align:right;align-self:end}.chat__writebar{position:sticky;bottom:0;left:0;width:100%;display:flex;justify-content:center;align-items:center;gap:8px;padding-top:20px}.chat__writebar input{border:none;outline:none;background:#fff;width:100%;height:44px;border-radius:25px;padding:8px 16px;font-size:clamp(16px,2vw,18px)}.chat__writebar span{display:flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:25px;background:#fff;cursor:pointer;transition:all ease .3s}.chat__writebar span:active{scale:.9}
